mage-ai 0.9.58__py3-none-any.whl → 0.9.59__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mage-ai might be problematic. Click here for more details.
- mage_ai/api/logging.py +11 -7
- mage_ai/api/policies/BlockPolicy.py +1 -0
- mage_ai/api/policies/CommandCenterItemPolicy.py +56 -0
- mage_ai/api/policies/CustomTemplatePolicy.py +0 -3
- mage_ai/api/policies/GitBranchPolicy.py +8 -1
- mage_ai/api/policies/GitFilePolicy.py +1 -0
- mage_ai/api/policies/PipelinePolicy.py +2 -0
- mage_ai/api/policies/PipelineSchedulePolicy.py +1 -0
- mage_ai/api/policies/VersionControlBranchPolicy.py +98 -0
- mage_ai/api/policies/VersionControlFilePolicy.py +96 -0
- mage_ai/api/policies/VersionControlProjectPolicy.py +92 -0
- mage_ai/api/policies/VersionControlRemotePolicy.py +94 -0
- mage_ai/api/presenters/CommandCenterItemPresenter.py +19 -0
- mage_ai/api/presenters/GitBranchPresenter.py +2 -0
- mage_ai/api/presenters/GitCustomBranchPresenter.py +1 -0
- mage_ai/api/presenters/PipelinePresenter.py +5 -5
- mage_ai/api/presenters/PipelineSchedulePresenter.py +4 -0
- mage_ai/api/presenters/VersionControlBranchPresenter.py +15 -0
- mage_ai/api/presenters/VersionControlFilePresenter.py +15 -0
- mage_ai/api/presenters/VersionControlProjectPresenter.py +14 -0
- mage_ai/api/presenters/VersionControlRemotePresenter.py +15 -0
- mage_ai/api/resources/BlockResource.py +110 -80
- mage_ai/api/resources/CommandCenterItemResource.py +29 -0
- mage_ai/api/resources/FileResource.py +15 -1
- mage_ai/api/resources/FolderResource.py +2 -1
- mage_ai/api/resources/GitBranchResource.py +183 -108
- mage_ai/api/resources/GitCustomBranchResource.py +9 -2
- mage_ai/api/resources/GitFileResource.py +26 -13
- mage_ai/api/resources/KernelResource.py +9 -1
- mage_ai/api/resources/LogResource.py +1 -1
- mage_ai/api/resources/OauthResource.py +4 -5
- mage_ai/api/resources/PipelineResource.py +71 -38
- mage_ai/api/resources/PipelineRunResource.py +7 -2
- mage_ai/api/resources/PullRequestResource.py +12 -3
- mage_ai/api/resources/SearchResultResource.py +4 -4
- mage_ai/api/resources/VersionControlBranchResource.py +85 -0
- mage_ai/api/resources/VersionControlFileResource.py +65 -0
- mage_ai/api/resources/VersionControlProjectResource.py +46 -0
- mage_ai/api/resources/VersionControlRemoteResource.py +64 -0
- mage_ai/authentication/oauth/constants.py +13 -16
- mage_ai/authentication/operation_history/models.py +11 -32
- mage_ai/authentication/operation_history/utils.py +14 -14
- mage_ai/authentication/permissions/constants.py +5 -0
- mage_ai/authentication/providers/active_directory.py +2 -2
- mage_ai/authentication/providers/bitbucket.py +2 -2
- mage_ai/authentication/providers/constants.py +6 -12
- mage_ai/authentication/providers/ghe.py +2 -2
- mage_ai/authentication/providers/google.py +2 -2
- mage_ai/authentication/providers/okta.py +2 -2
- mage_ai/cache/base.py +11 -3
- mage_ai/cache/block.py +116 -32
- mage_ai/cache/block_action_object/__init__.py +52 -43
- mage_ai/cache/constants.py +1 -0
- mage_ai/cache/file.py +114 -0
- mage_ai/cache/pipeline.py +34 -8
- mage_ai/cache/tag.py +51 -10
- mage_ai/cache/utils.py +44 -3
- mage_ai/cluster_manager/kubernetes/workload_manager.py +9 -1
- mage_ai/command_center/__init__.py +0 -0
- mage_ai/command_center/applications/__init__.py +0 -0
- mage_ai/command_center/applications/constants.py +96 -0
- mage_ai/command_center/applications/factory.py +54 -0
- mage_ai/command_center/blocks/__init__.py +0 -0
- mage_ai/command_center/blocks/factory.py +39 -0
- mage_ai/command_center/blocks/utils.py +127 -0
- mage_ai/command_center/constants.py +66 -0
- mage_ai/command_center/factory.py +161 -0
- mage_ai/command_center/files/__init__.py +0 -0
- mage_ai/command_center/files/constants.py +235 -0
- mage_ai/command_center/files/factory.py +86 -0
- mage_ai/command_center/models.py +442 -0
- mage_ai/command_center/pipeline_runs/__init__.py +0 -0
- mage_ai/command_center/pipeline_runs/utils.py +141 -0
- mage_ai/command_center/pipelines/__init__.py +0 -0
- mage_ai/command_center/pipelines/constants.py +118 -0
- mage_ai/command_center/pipelines/factory.py +132 -0
- mage_ai/command_center/pipelines/utils.py +120 -0
- mage_ai/command_center/service.py +45 -0
- mage_ai/command_center/settings.py +37 -0
- mage_ai/command_center/support/__init__.py +0 -0
- mage_ai/command_center/support/constants.py +46 -0
- mage_ai/command_center/triggers/__init__.py +0 -0
- mage_ai/command_center/triggers/factory.py +49 -0
- mage_ai/command_center/triggers/utils.py +463 -0
- mage_ai/command_center/utils.py +30 -0
- mage_ai/data_preparation/executors/azure_container_instance_executor.py +1 -1
- mage_ai/data_preparation/executors/block_executor.py +68 -19
- mage_ai/data_preparation/executors/ecs_block_executor.py +2 -2
- mage_ai/data_preparation/executors/executor_factory.py +2 -0
- mage_ai/data_preparation/executors/gcp_cloud_run_block_executor.py +1 -1
- mage_ai/data_preparation/executors/k8s_block_executor.py +2 -2
- mage_ai/data_preparation/executors/pyspark_block_executor.py +7 -1
- mage_ai/data_preparation/git/__init__.py +29 -11
- mage_ai/data_preparation/git/api.py +14 -13
- mage_ai/data_preparation/git/clients/base.py +4 -8
- mage_ai/data_preparation/git/clients/github.py +1 -0
- mage_ai/data_preparation/git/utils.py +5 -7
- mage_ai/data_preparation/models/block/__init__.py +556 -329
- mage_ai/data_preparation/models/block/content.py +111 -0
- mage_ai/data_preparation/models/block/data_integration/mixins.py +1 -0
- mage_ai/data_preparation/models/block/dbt/block.py +29 -19
- mage_ai/data_preparation/models/block/dbt/block_sql.py +50 -260
- mage_ai/data_preparation/models/block/dbt/block_yaml.py +74 -156
- mage_ai/data_preparation/models/block/dbt/dbt_adapter.py +22 -10
- mage_ai/data_preparation/models/block/dbt/profiles.py +19 -15
- mage_ai/data_preparation/models/block/dbt/project.py +3 -0
- mage_ai/data_preparation/models/block/dynamic/constants.py +0 -0
- mage_ai/data_preparation/models/block/dynamic/dynamic_child.py +507 -47
- mage_ai/data_preparation/models/block/dynamic/utils.py +432 -1
- mage_ai/data_preparation/models/block/platform/mixins.py +68 -44
- mage_ai/data_preparation/models/block/r/__init__.py +19 -9
- mage_ai/data_preparation/models/block/sql/__init__.py +34 -20
- mage_ai/data_preparation/models/block/sql/utils/shared.py +4 -1
- mage_ai/data_preparation/models/block/utils.py +176 -71
- mage_ai/data_preparation/models/constants.py +7 -0
- mage_ai/data_preparation/models/file.py +21 -2
- mage_ai/data_preparation/models/pipeline.py +20 -8
- mage_ai/data_preparation/models/project/__init__.py +12 -7
- mage_ai/data_preparation/models/project/constants.py +1 -0
- mage_ai/data_preparation/models/triggers/__init__.py +7 -0
- mage_ai/data_preparation/models/utils.py +20 -0
- mage_ai/data_preparation/models/variable.py +113 -15
- mage_ai/data_preparation/shared/utils.py +6 -3
- mage_ai/data_preparation/storage/base_storage.py +17 -0
- mage_ai/data_preparation/storage/gcs_storage.py +4 -0
- mage_ai/data_preparation/storage/local_storage.py +15 -0
- mage_ai/data_preparation/storage/s3_storage.py +4 -0
- mage_ai/data_preparation/templates/data_exporters/qdrant.py +0 -1
- mage_ai/data_preparation/templates/data_loaders/qdrant.py +2 -1
- mage_ai/data_preparation/variable_manager.py +1 -0
- mage_ai/io/base.py +4 -1
- mage_ai/io/bigquery.py +25 -16
- mage_ai/io/clickhouse.py +3 -0
- mage_ai/io/druid.py +3 -0
- mage_ai/io/mongodb.py +1 -1
- mage_ai/io/pinot.py +3 -0
- mage_ai/io/postgres.py +13 -0
- mage_ai/io/snowflake.py +4 -0
- mage_ai/io/spark.py +8 -3
- mage_ai/io/sql.py +6 -0
- mage_ai/orchestration/db/__init__.py +26 -19
- mage_ai/orchestration/db/cache.py +4 -3
- mage_ai/orchestration/db/models/schedules.py +72 -16
- mage_ai/orchestration/db/models/schedules_project_platform.py +2 -3
- mage_ai/orchestration/pipeline_scheduler_original.py +19 -11
- mage_ai/orchestration/pipeline_scheduler_project_platform.py +20 -11
- mage_ai/presenters/interactions/constants.py +1 -0
- mage_ai/presenters/interactions/models.py +4 -3
- mage_ai/presenters/pages/models/client_pages/pipeline_schedules.py +1 -1
- mage_ai/server/constants.py +1 -1
- mage_ai/server/frontend_dist/404.html +11 -11
- mage_ai/server/frontend_dist/_next/static/PPQxHOmWVJ0iQFzG2rc8m/_buildManifest.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/1235.c9ed47779baccc05.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/125-029194ff22eb33a5.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/1557-4f7485c2e2228f77.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/2474-8e702cea23ddd16d.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/2479-727fa69ee9be6fab.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/26-38bc9380422f3900.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/2717-3e7ea8543b3825b7.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/3366-420721116ea5a665.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/3449-a9c98239582cd6f0.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/3548-13563a1ff815f922.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/3943-9e0a8ba0db34b35f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/4371-ef23f95888d6cd11.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/4632.a4171dbf46b31c7c.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/523-be11ad59861d00ca.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/5457-d582b00545b4cb5e.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/5831-2abc4063e887a03e.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/6085-692d2f784c0504f2.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/635-1e8857c2b6dde289.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/7022-0d52dd8868621fb0.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/7264-d05f4b7088533f6f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/7361-b3d661ec743bfadf.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/737-cc6467310a130dd9.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/{4495-4f0340aa82e0c623.js → 7674-9ec4fe64b5bf64d5.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/8038-85d715c8c8394827.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/8095-bdce03896ef9639a.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/8146-6bed4e7401e067e6.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/8192-0c0b91523a38c4ca.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/8432-f736d101fc6d9215.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/8513-d207733b485c8d03.js +1 -0
- mage_ai/server/{frontend_dist_base_path_template/_next/static/chunks/9264-e7e040a54d34360c.js → frontend_dist/_next/static/chunks/9264-7cd9cd0ba86ec5e4.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/9265-d2a1aaec75ec69b8.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/9440-54add041c392517f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/9624-59b2f803f9c88cd6.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/9832-67896490f6e8a014.js +1 -0
- mage_ai/server/{frontend_dist_base_path_template/_next/static/chunks/bd1a647f.fe5d87096be24a62.js → frontend_dist/_next/static/chunks/bd1a647f.04f7913662092327.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/404-7cabe357906f44f2.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/_app-a11bd2ebe11b3fd2.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/block-layout-ffca51945cd154ef.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/compute-3ba957769292db80.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/files-45679fd18b3edd82.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/global-data-products/[...slug]-95735a218106aa99.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{global-data-products-cf98c2e4d20fd92c.js → global-data-products-81d6c7fd9a9cff38.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/global-hooks/[...slug]-eb4421d51fb7368f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/global-hooks-a8c712e20512fede.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/files-f1be1d4735ba6919.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/settings-febe676687966276.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/users/[user]-70efe222130490b5.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/users/new-0914c36b3c8fd59f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/{users-81e6e5319a59cd07.js → users-4f12e989e7809ef9.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage-809d4c99b44991a1.js +1 -0
- mage_ai/server/{frontend_dist_base_path_template/_next/static/chunks/pages/oauth-0436d395963cd27a.js → frontend_dist/_next/static/chunks/pages/oauth-aa9079c8dbaea3a5.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/overview-4e30fb5b18383b71.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipeline-runs-5d31c3aace39182d.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/backfills/[...slug]-85a80ee66f60a65c.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/backfills-0bd74047e257e6d9.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/dashboard-80619dc504d0103b.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-3cc8d74ff8525bfd.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/logs-cdc379ff24ff8858.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runs-03396d6086003e16.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runtime-d6d920758654f6d9.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors-27727bb87be506c3.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/runs/[run]-16aab67743651a0b.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/runs-e3ca1bedb660b252.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/settings-9d58701fe7213727.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/syncs-0041fd76ee15e49f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/triggers/[...slug]-780be9a2da697915.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/triggers-db8bb970b1f2273f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines-a3422b0ab1dbacd7.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/platform/global-hooks/[...slug]-987a1603f4201943.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/platform/global-hooks-3dc8bf89cab2722b.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/account/profile-43d3f2a5071b9537.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/platform/preferences-c97b1a39b22c112a.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/platform/settings-49efb66da67554ca.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/permissions/{[...slug]-be6aaec07c138656.js → [...slug]-5117d3555972484c.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/permissions-ee1c19d4a192ae4d.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/preferences-4dc5724486ee3396.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/roles/{[...slug]-f380d293cff7592b.js → [...slug]-fa095aac732368c3.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/{roles-ddce04fae28bd7f6.js → roles-db6d71f8692a33e7.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/sync-data-99c6a263d2ab9553.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/users/{[...slug]-213a43564fdfbe17.js → [...slug]-9d881ac0a3db9baa.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/users-bee414d57c4b55d7.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/sign-in-e7030e1a7a9e88e1.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/templates/[...slug]-312afc9a3f8d0a4f.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/templates-e5300c340aa94c6b.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/terminal-fa7ca0c86142d146.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/test-bd51b3918b39329e.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/triggers-5158a9d98d2459e8.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/version-control-5ce099a7abb354ff.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/{webpack-fea697dd168c6d0c.js → webpack-efa55343114c8128.js} +1 -1
- mage_ai/server/{frontend_dist_base_path_template/_next/static/css/d1e8e64d0b07af2f.css → frontend_dist/_next/static/css/b59541b123fd7191.css} +1 -1
- mage_ai/server/frontend_dist/block-layout.html +3 -3
- mage_ai/server/frontend_dist/compute.html +11 -11
- mage_ai/server/frontend_dist/files.html +11 -11
- mage_ai/server/frontend_dist/global-data-products/[...slug].html +11 -11
- mage_ai/server/frontend_dist/global-data-products.html +11 -11
- mage_ai/server/frontend_dist/global-hooks/[...slug].html +11 -11
- mage_ai/server/frontend_dist/global-hooks.html +11 -11
- mage_ai/server/frontend_dist/index.html +3 -3
- mage_ai/server/frontend_dist/manage/files.html +11 -11
- mage_ai/server/frontend_dist/manage/settings.html +11 -11
- mage_ai/server/frontend_dist/manage/users/[user].html +11 -11
- mage_ai/server/frontend_dist/manage/users/new.html +11 -11
- mage_ai/server/frontend_dist/manage/users.html +11 -11
- mage_ai/server/frontend_dist/manage.html +11 -11
- mage_ai/server/frontend_dist/oauth.html +8 -8
- mage_ai/server/frontend_dist/overview.html +11 -11
- mage_ai/server/frontend_dist/pipeline-runs.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills/[...slug].html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/dashboard.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/edit.html +3 -3
- mage_ai/server/frontend_dist/pipelines/[pipeline]/logs.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runs.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runtime.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/runs/[run].html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/runs.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/settings.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/syncs.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers/[...slug].html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers.html +11 -11
- mage_ai/server/frontend_dist/pipelines/[pipeline].html +3 -3
- mage_ai/server/frontend_dist/pipelines.html +11 -11
- mage_ai/server/frontend_dist/platform/global-hooks/[...slug].html +11 -11
- mage_ai/server/frontend_dist/platform/global-hooks.html +11 -11
- mage_ai/server/frontend_dist/settings/account/profile.html +11 -11
- mage_ai/server/frontend_dist/settings/platform/preferences.html +11 -11
- mage_ai/server/frontend_dist/settings/platform/settings.html +11 -11
- mage_ai/server/frontend_dist/settings/workspace/permissions/[...slug].html +11 -11
- mage_ai/server/frontend_dist/settings/workspace/permissions.html +11 -11
- mage_ai/server/frontend_dist/settings/workspace/preferences.html +11 -11
- mage_ai/server/frontend_dist/settings/workspace/roles/[...slug].html +11 -11
- mage_ai/server/frontend_dist/settings/workspace/roles.html +11 -11
- mage_ai/server/frontend_dist/settings/workspace/sync-data.html +11 -11
- mage_ai/server/frontend_dist/settings/workspace/users/[...slug].html +11 -11
- mage_ai/server/frontend_dist/settings/workspace/users.html +11 -11
- mage_ai/server/frontend_dist/settings.html +3 -3
- mage_ai/server/frontend_dist/sign-in.html +41 -41
- mage_ai/server/frontend_dist/templates/[...slug].html +11 -11
- mage_ai/server/frontend_dist/templates.html +11 -11
- mage_ai/server/frontend_dist/terminal.html +11 -11
- mage_ai/server/frontend_dist/test.html +3 -5
- mage_ai/server/frontend_dist/triggers.html +11 -11
- mage_ai/server/frontend_dist/version-control.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/404.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1235.c9ed47779baccc05.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/125-029194ff22eb33a5.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1557-4f7485c2e2228f77.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2474-8e702cea23ddd16d.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2479-727fa69ee9be6fab.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/26-38bc9380422f3900.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2717-3e7ea8543b3825b7.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3366-420721116ea5a665.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3449-a9c98239582cd6f0.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3548-13563a1ff815f922.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3943-9e0a8ba0db34b35f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/4371-ef23f95888d6cd11.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/4632.a4171dbf46b31c7c.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/523-be11ad59861d00ca.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/5457-d582b00545b4cb5e.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/5831-2abc4063e887a03e.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/6085-692d2f784c0504f2.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/635-1e8857c2b6dde289.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/7022-0d52dd8868621fb0.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/7264-d05f4b7088533f6f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/7361-b3d661ec743bfadf.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/737-cc6467310a130dd9.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/{4495-4f0340aa82e0c623.js → 7674-9ec4fe64b5bf64d5.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8038-85d715c8c8394827.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8095-bdce03896ef9639a.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8146-6bed4e7401e067e6.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8192-0c0b91523a38c4ca.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8432-f736d101fc6d9215.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8513-d207733b485c8d03.js +1 -0
- mage_ai/server/{frontend_dist/_next/static/chunks/9264-e7e040a54d34360c.js → frontend_dist_base_path_template/_next/static/chunks/9264-7cd9cd0ba86ec5e4.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9265-d2a1aaec75ec69b8.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9440-54add041c392517f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9624-59b2f803f9c88cd6.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9832-67896490f6e8a014.js +1 -0
- mage_ai/server/{frontend_dist/_next/static/chunks/bd1a647f.fe5d87096be24a62.js → frontend_dist_base_path_template/_next/static/chunks/bd1a647f.04f7913662092327.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/404-7cabe357906f44f2.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/_app-a11bd2ebe11b3fd2.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/block-layout-ffca51945cd154ef.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/compute-3ba957769292db80.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/files-45679fd18b3edd82.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/global-data-products/[...slug]-95735a218106aa99.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/{global-data-products-cf98c2e4d20fd92c.js → global-data-products-81d6c7fd9a9cff38.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/global-hooks/[...slug]-eb4421d51fb7368f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/global-hooks-a8c712e20512fede.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/files-f1be1d4735ba6919.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/settings-febe676687966276.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/users/[user]-70efe222130490b5.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/users/new-0914c36b3c8fd59f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/{users-81e6e5319a59cd07.js → users-4f12e989e7809ef9.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage-809d4c99b44991a1.js +1 -0
- mage_ai/server/{frontend_dist/_next/static/chunks/pages/oauth-0436d395963cd27a.js → frontend_dist_base_path_template/_next/static/chunks/pages/oauth-aa9079c8dbaea3a5.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/overview-4e30fb5b18383b71.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipeline-runs-5d31c3aace39182d.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/backfills/[...slug]-85a80ee66f60a65c.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/backfills-0bd74047e257e6d9.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/dashboard-80619dc504d0103b.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/edit-3cc8d74ff8525bfd.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/logs-cdc379ff24ff8858.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runs-03396d6086003e16.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runtime-d6d920758654f6d9.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/monitors-27727bb87be506c3.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/runs/[run]-16aab67743651a0b.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/runs-e3ca1bedb660b252.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/settings-9d58701fe7213727.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/syncs-0041fd76ee15e49f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/triggers/[...slug]-780be9a2da697915.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/triggers-db8bb970b1f2273f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines-a3422b0ab1dbacd7.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/platform/global-hooks/[...slug]-987a1603f4201943.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/platform/global-hooks-3dc8bf89cab2722b.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/account/profile-43d3f2a5071b9537.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/platform/preferences-c97b1a39b22c112a.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/platform/settings-49efb66da67554ca.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/permissions/{[...slug]-be6aaec07c138656.js → [...slug]-5117d3555972484c.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/permissions-ee1c19d4a192ae4d.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/preferences-4dc5724486ee3396.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/roles/{[...slug]-f380d293cff7592b.js → [...slug]-fa095aac732368c3.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/{roles-ddce04fae28bd7f6.js → roles-db6d71f8692a33e7.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/sync-data-99c6a263d2ab9553.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/users/{[...slug]-213a43564fdfbe17.js → [...slug]-9d881ac0a3db9baa.js} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/users-bee414d57c4b55d7.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/sign-in-e7030e1a7a9e88e1.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/templates/[...slug]-312afc9a3f8d0a4f.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/templates-e5300c340aa94c6b.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/terminal-fa7ca0c86142d146.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/test-bd51b3918b39329e.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/triggers-5158a9d98d2459e8.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/version-control-5ce099a7abb354ff.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/{webpack-d30cb09c85b4c4f0.js → webpack-bd35e1c7bd7b5a9a.js} +1 -1
- mage_ai/server/{frontend_dist/_next/static/css/d1e8e64d0b07af2f.css → frontend_dist_base_path_template/_next/static/css/b59541b123fd7191.css} +1 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/do4WOsw7lNhouR0mtPTFi/_buildManifest.js +1 -0
- mage_ai/server/frontend_dist_base_path_template/block-layout.html +3 -3
- mage_ai/server/frontend_dist_base_path_template/compute.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/files.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/global-data-products/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/global-data-products.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/global-hooks/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/global-hooks.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/index.html +3 -3
- mage_ai/server/frontend_dist_base_path_template/manage/files.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/manage/settings.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/manage/users/[user].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/manage/users/new.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/manage/users.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/manage.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/oauth.html +8 -8
- mage_ai/server/frontend_dist_base_path_template/overview.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipeline-runs.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/backfills/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/backfills.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/dashboard.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/edit.html +3 -3
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/logs.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/monitors/block-runs.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/monitors/block-runtime.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/monitors.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/runs/[run].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/runs.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/settings.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/syncs.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/triggers/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline]/triggers.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/pipelines/[pipeline].html +3 -3
- mage_ai/server/frontend_dist_base_path_template/pipelines.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/platform/global-hooks/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/platform/global-hooks.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/account/profile.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/platform/preferences.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/platform/settings.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/permissions/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/permissions.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/preferences.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/roles/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/roles.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/sync-data.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/users/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings/workspace/users.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/settings.html +3 -3
- mage_ai/server/frontend_dist_base_path_template/sign-in.html +39 -39
- mage_ai/server/frontend_dist_base_path_template/templates/[...slug].html +11 -11
- mage_ai/server/frontend_dist_base_path_template/templates.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/terminal.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/test.html +3 -5
- mage_ai/server/frontend_dist_base_path_template/triggers.html +11 -11
- mage_ai/server/frontend_dist_base_path_template/version-control.html +11 -11
- mage_ai/server/logger.py +8 -2
- mage_ai/server/server.py +18 -1
- mage_ai/services/aws/ecs/config.py +3 -3
- mage_ai/services/aws/ecs/ecs.py +2 -2
- mage_ai/services/search/block_action_objects.py +59 -5
- mage_ai/settings/models/configuration_option.py +3 -1
- mage_ai/settings/platform/__init__.py +54 -18
- mage_ai/settings/repo.py +5 -4
- mage_ai/shared/custom_logger.py +213 -0
- mage_ai/shared/environments.py +4 -0
- mage_ai/shared/files.py +52 -1
- mage_ai/shared/models.py +2 -1
- mage_ai/shared/parsers.py +8 -1
- mage_ai/shared/path_fixer.py +62 -5
- mage_ai/shared/retry.py +4 -0
- mage_ai/shared/strings.py +4 -0
- mage_ai/tests/api/endpoints/test_blocks.py +101 -1
- mage_ai/tests/api/operations/base/test_base_with_user_permissions.py +4 -1
- mage_ai/tests/base_test.py +21 -2
- mage_ai/tests/cache/test_pipeline_cache.py +11 -8
- mage_ai/tests/data_preparation/executors/test_block_executor.py +55 -45
- mage_ai/tests/data_preparation/git/test_api.py +4 -4
- mage_ai/tests/data_preparation/models/block/dbt/test_block.py +75 -43
- mage_ai/tests/data_preparation/models/block/dbt/test_block_sql.py +329 -329
- mage_ai/tests/data_preparation/models/block/dbt/test_block_yaml.py +296 -296
- mage_ai/tests/data_preparation/models/block/dbt/test_dbt_adapter.py +2 -2
- mage_ai/tests/data_preparation/models/block/dbt/test_dbt_cli.py +4 -4
- mage_ai/tests/data_preparation/models/block/dbt/test_profiles.py +2 -2
- mage_ai/tests/data_preparation/models/block/dbt/test_project.py +2 -2
- mage_ai/tests/data_preparation/models/block/dbt/test_sources.py +2 -2
- mage_ai/tests/data_preparation/models/block/dynamic/test_dynamic_child_block_factory.py +477 -474
- mage_ai/tests/data_preparation/models/block/dynamic/test_dynamic_helpers.py +25 -24
- mage_ai/tests/data_preparation/models/block/platform/test_mixins.py +16 -25
- mage_ai/tests/data_preparation/models/block/test_utils.py +8 -8
- mage_ai/tests/data_preparation/models/test_block.py +6 -8
- mage_ai/tests/data_preparation/models/test_project.py +10 -5
- mage_ai/tests/data_preparation/models/test_variable.py +51 -4
- mage_ai/tests/orchestration/test_pipeline_scheduler_project_platform.py +1 -0
- mage_ai/version_control/__init__.py +0 -0
- mage_ai/version_control/models.py +288 -0
- {mage_ai-0.9.58.dist-info → mage_ai-0.9.59.dist-info}/METADATA +6 -6
- {mage_ai-0.9.58.dist-info → mage_ai-0.9.59.dist-info}/RECORD +490 -476
- mage_ai/server/frontend_dist/_next/static/0XnQ0C0nTr1w0o9CGC7wQ/_buildManifest.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1124-d8fc76201b83b376.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1154-2f262f7eb38ebaa1.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1235.53172e14801844e5.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1550-32333b36ac6b061b.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1557-7cfe722a9b83b935.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1598-dd776e3a92e9cccd.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1751-5adf859690505d7b.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1952-b2197a87dd67d8e0.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2056-0ea1faa46646a77e.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2213-52267f1e9ef5751c.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2474-352ae192b826d896.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2512-46141494a1b75897.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2717-accc279ae116b1b9.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2852872c-15b31a7081e6a868.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2886-9e73e1f48f248741.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2920.86a65e5f26ff1795.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3437-6055fd5aa82880f6.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3449-214fce1a0e623b47.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3494-23a9cc2cd649abac.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3745-3662911c364d917b.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3763-70c7eb1fc203c903.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3943-a49377acc514e77f.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/4052-f89c85d2c8f51931.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/4296-14eaf96d6479e673.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/4804-1254a474f238d078.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/5283-9df961e430a79bea.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/5457-b373ebdf4d05d8e2.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/5499-bc2528f8e18f61a6.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/5810-e66141c1271bced6.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/5849-f30d8694e3318a81.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/5896-7b8e36634d7d94eb.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/6043-728790621ca9014c.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/6050-e48b7f97e96bbcb6.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/6285-648f9a732e100b2f.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/6639-74eefed142e14ea6.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/6965-c613d1834c8ed92d.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/7022-ea92cb336bd1aab8.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/7361-06ef4c642a8fe8c4.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/7858-677c641010ac9160.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/8125-b9d53e425b6ddc7e.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/8146-fb8f445644e573b0.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/8432-0ace6fb7bdbc6864.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/844-1e171f361e63b36d.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/9269-40e2101f56399dcc.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/9302-913007e2f801ad65.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/9440-c51bf1e8f271cb25.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/9624-89a4b20eb3b3c754.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/976-0a8c2c4d7acd957b.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/9775-c1142b1312e8f95d.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/404-5ddd12931e0e3e41.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/_app-ec5e62e8e5bb4e4c.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/block-layout-44d7291d8f29eb36.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/compute-a6661a9c3647532a.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/files-26b899d3adb4ed19.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/global-data-products/[...slug]-9bd164317e652311.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/global-hooks/[...slug]-c87d46dc53e35638.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/global-hooks-24785a5ed4eb340d.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/files-2c5fd116ecfacb33.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/settings-8c9285af31efa3fd.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/users/[user]-ec7e0419a64ae3b2.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/users/new-039e083cc068da54.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage-8e4d4f6edc515265.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/overview-b73185fdcb7a131c.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipeline-runs-97b3335bf60f8b07.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/backfills/[...slug]-83de126136539668.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/backfills-50f45e96892cfb63.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/dashboard-5fe0f1de6fd365f8.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-306db9e11fa94d21.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/logs-ebea4be0562b08e3.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runs-f09d21d5c2661504.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runtime-61e770f155ae22ef.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors-d347a4614130e2ab.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/runs/[run]-056c5e5080a3754f.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/runs-208fa8de91f152bc.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/settings-a32e02f46a816eb3.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/syncs-8012388b15f0e0a5.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/triggers/[...slug]-6714c72f90923cfb.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/triggers-afc0525ef27fe1f2.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines-a91e7d86cd0540d9.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/platform/global-hooks/[...slug]-7c8e5a8908fe9c83.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/platform/global-hooks-be0684d1527587d8.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/account/profile-147660a34351147c.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/platform/preferences-ec5f01b683920ced.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/platform/settings-28aa4512c0e23ec5.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/permissions-a2850b2e0a282d16.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/preferences-b1df80674dca4713.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/sync-data-41abcd2241958dc8.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/users-a2c5859f53b5e9e1.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/sign-in-1aea2a0c373bc6ae.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/templates/[...slug]-e7485742708215d2.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/templates-b4086d30a89d6801.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/terminal-3cd171f43f0a0df8.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/test-6a22493285c47ba2.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/triggers-ad20a31dde4fe59b.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/version-control-267952b4c87927c7.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/RC0Yenm06LvZI-RWFoT5C/_buildManifest.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1124-d8fc76201b83b376.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1154-2f262f7eb38ebaa1.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1235.53172e14801844e5.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1550-32333b36ac6b061b.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1557-7cfe722a9b83b935.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1598-dd776e3a92e9cccd.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1751-5adf859690505d7b.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/1952-b2197a87dd67d8e0.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2056-0ea1faa46646a77e.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2213-52267f1e9ef5751c.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2474-352ae192b826d896.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2512-46141494a1b75897.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2717-accc279ae116b1b9.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2852872c-15b31a7081e6a868.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2886-9e73e1f48f248741.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/2920.86a65e5f26ff1795.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3437-6055fd5aa82880f6.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3449-214fce1a0e623b47.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3494-23a9cc2cd649abac.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3745-3662911c364d917b.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3763-70c7eb1fc203c903.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/3943-a49377acc514e77f.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/4052-f89c85d2c8f51931.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/4296-14eaf96d6479e673.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/4804-1254a474f238d078.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/5283-9df961e430a79bea.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/5457-b373ebdf4d05d8e2.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/5499-bc2528f8e18f61a6.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/5810-e66141c1271bced6.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/5849-f30d8694e3318a81.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/5896-7b8e36634d7d94eb.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/6043-728790621ca9014c.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/6050-e48b7f97e96bbcb6.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/6285-648f9a732e100b2f.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/6639-74eefed142e14ea6.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/6965-c613d1834c8ed92d.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/7022-ea92cb336bd1aab8.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/7361-06ef4c642a8fe8c4.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/7858-677c641010ac9160.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8125-b9d53e425b6ddc7e.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8146-fb8f445644e573b0.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/8432-0ace6fb7bdbc6864.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/844-1e171f361e63b36d.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9269-40e2101f56399dcc.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9302-913007e2f801ad65.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9440-c51bf1e8f271cb25.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9624-89a4b20eb3b3c754.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/976-0a8c2c4d7acd957b.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/9775-c1142b1312e8f95d.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/404-5ddd12931e0e3e41.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/_app-ec5e62e8e5bb4e4c.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/block-layout-44d7291d8f29eb36.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/compute-a6661a9c3647532a.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/files-26b899d3adb4ed19.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/global-data-products/[...slug]-9bd164317e652311.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/global-hooks/[...slug]-c87d46dc53e35638.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/global-hooks-24785a5ed4eb340d.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/files-2c5fd116ecfacb33.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/settings-8c9285af31efa3fd.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/users/[user]-ec7e0419a64ae3b2.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage/users/new-039e083cc068da54.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/manage-8e4d4f6edc515265.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/overview-b73185fdcb7a131c.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipeline-runs-97b3335bf60f8b07.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/backfills/[...slug]-83de126136539668.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/backfills-50f45e96892cfb63.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/dashboard-5fe0f1de6fd365f8.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/edit-306db9e11fa94d21.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/logs-ebea4be0562b08e3.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runs-f09d21d5c2661504.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runtime-61e770f155ae22ef.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/monitors-d347a4614130e2ab.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/runs/[run]-056c5e5080a3754f.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/runs-208fa8de91f152bc.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/settings-a32e02f46a816eb3.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/syncs-8012388b15f0e0a5.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/triggers/[...slug]-6714c72f90923cfb.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines/[pipeline]/triggers-afc0525ef27fe1f2.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/pipelines-a91e7d86cd0540d9.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/platform/global-hooks/[...slug]-7c8e5a8908fe9c83.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/platform/global-hooks-be0684d1527587d8.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/account/profile-147660a34351147c.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/platform/preferences-ec5f01b683920ced.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/platform/settings-28aa4512c0e23ec5.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/permissions-a2850b2e0a282d16.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/preferences-b1df80674dca4713.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/sync-data-41abcd2241958dc8.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/settings/workspace/users-a2c5859f53b5e9e1.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/sign-in-1aea2a0c373bc6ae.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/templates/[...slug]-e7485742708215d2.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/templates-b4086d30a89d6801.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/terminal-3cd171f43f0a0df8.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/test-6a22493285c47ba2.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/triggers-ad20a31dde4fe59b.js +0 -1
- mage_ai/server/frontend_dist_base_path_template/_next/static/chunks/pages/version-control-267952b4c87927c7.js +0 -1
- /mage_ai/server/frontend_dist/_next/static/{0XnQ0C0nTr1w0o9CGC7wQ → PPQxHOmWVJ0iQFzG2rc8m}/_ssgManifest.js +0 -0
- /mage_ai/server/frontend_dist_base_path_template/_next/static/{RC0Yenm06LvZI-RWFoT5C → do4WOsw7lNhouR0mtPTFi}/_ssgManifest.js +0 -0
- {mage_ai-0.9.58.dist-info → mage_ai-0.9.59.dist-info}/LICENSE +0 -0
- {mage_ai-0.9.58.dist-info → mage_ai-0.9.59.dist-info}/WHEEL +0 -0
- {mage_ai-0.9.58.dist-info → mage_ai-0.9.59.dist-info}/entry_points.txt +0 -0
- {mage_ai-0.9.58.dist-info → mage_ai-0.9.59.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2920],{17761:function(t,e){"use strict";e.Z=function(t){var e={};return function(n){return void 0===e[n]&&(e[n]=t(n)),e[n]}}},59383:function(t,e,n){"use strict";n.r(e),n.d(e,{ScrollOffset:function(){return Ut},animate:function(){return ft},animateStyle:function(){return it},createAnimate:function(){return dt},createMotionState:function(){return _e},createStyleString:function(){return Ee},createStyles:function(){return be},getAnimationData:function(){return P},getStyleName:function(){return Q},glide:function(){return Nt},inView:function(){return Rt},mountedStates:function(){return xe},resize:function(){return $t},scroll:function(){return re},spring:function(){return Dt},stagger:function(){return ut},style:function(){return J},timeline:function(){return xt},withControls:function(){return at}});const i={duration:.3,delay:0,endDelay:0,repeat:0,easing:"ease"},o=()=>{},r=t=>t,s=t=>"object"===typeof t&&Boolean(t.createAnimation),a=t=>"number"===typeof t,l=t=>Array.isArray(t)&&!a(t[0]),c=(t,e,n)=>-n*t+n*e+t,u=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function h(t,e){const n=t[t.length-1];for(let i=1;i<=e;i++){const o=u(0,e,i);t.push(c(n,1,o))}}function d(t){const e=[0];return h(e,t-1),e}function f(t,e){return l(t)?t[((t,e,n)=>{const i=e-t;return((n-t)%i+i)%i+t})(0,t.length,e)]:t}const p=(t,e,n)=>Math.min(Math.max(n,t),e);function y(t,e=d(t.length),n=r){const i=t.length,o=i-e.length;return o>0&&h(e,o),o=>{let r=0;for(;r<i-2&&!(o<e[r+1]);r++);let s=p(0,1,u(e[r],e[r+1],o));return s=f(n,r)(s),c(t[r],t[r+1],s)}}const v=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t;function m(t,e,n,i){if(t===e&&n===i)return r;const o=e=>function(t,e,n,i,o){let r,s,a=0;do{s=e+(n-e)/2,r=v(s,i,o)-t,r>0?n=s:e=s}while(Math.abs(r)>1e-7&&++a<12);return s}(e,0,1,t,n);return t=>0===t||1===t?t:v(o(t),e,i)}const g=t=>"function"===typeof t,x=t=>Array.isArray(t)&&a(t[0]),_={ease:m(.25,.1,.25,1),"ease-in":m(.42,0,1,1),"ease-in-out":m(.42,0,.58,1),"ease-out":m(0,0,.58,1)},b=/\((.*?)\)/;function w(t){if(g(t))return t;if(x(t))return m(...t);if(_[t])return _[t];if(t.startsWith("steps")){const e=b.exec(t);if(e){const t=e[1].split(",");return((t,e="end")=>n=>{const i=(n="end"===e?Math.min(n,.999):Math.max(n,.001))*t,o="end"===e?Math.floor(i):Math.ceil(i);return p(0,1,o/t)})(parseFloat(t[0]),t[1].trim())}}return r}class E{constructor(t,e=[0,1],{easing:n,duration:o=i.duration,delay:a=i.delay,endDelay:c=i.endDelay,repeat:u=i.repeat,offset:h,direction:d="normal"}={}){if(this.startTime=null,this.rate=1,this.t=0,this.cancelTimestamp=null,this.easing=r,this.duration=0,this.totalDuration=0,this.repeat=0,this.playState="idle",this.finished=new Promise(((t,e)=>{this.resolve=t,this.reject=e})),n=n||i.easing,s(n)){const t=n.createAnimation(e);n=t.easing,e=t.keyframes||e,o=t.duration||o}this.repeat=u,this.easing=l(n)?r:w(n),this.updateDuration(o);const f=y(e,h,l(n)?n.map(w):r);this.tick=e=>{var n;let i=0;i=void 0!==this.pauseTime?this.pauseTime:(e-this.startTime)*this.rate,this.t=i,i/=1e3,i=Math.max(i-a,0),"finished"===this.playState&&void 0===this.pauseTime&&(i=this.totalDuration);const o=i/this.duration;let r=Math.floor(o),s=o%1;!s&&o>=1&&(s=1),1===s&&r--;const l=r%2;("reverse"===d||"alternate"===d&&l||"alternate-reverse"===d&&!l)&&(s=1-s);const u=i>=this.totalDuration?1:Math.min(s,1),h=f(this.easing(u));t(h);void 0===this.pauseTime&&("finished"===this.playState||i>=this.totalDuration+c)?(this.playState="finished",null===(n=this.resolve)||void 0===n||n.call(this,h)):"idle"!==this.playState&&(this.frameRequestId=requestAnimationFrame(this.tick))},this.play()}play(){const t=performance.now();this.playState="running",void 0!==this.pauseTime?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t),this.cancelTimestamp=this.startTime,this.pauseTime=void 0,this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState="paused",this.pauseTime=this.t}finish(){this.playState="finished",this.tick(0)}stop(){var t;this.playState="idle",void 0!==this.frameRequestId&&cancelAnimationFrame(this.frameRequestId),null===(t=this.reject)||void 0===t||t.call(this,!1)}cancel(){this.stop(),this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t,this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){void 0!==this.pauseTime||0===this.rate?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}class k{setAnimation(t){this.animation=t,null===t||void 0===t||t.finished.then((()=>this.clearAnimation())).catch((()=>{}))}clearAnimation(){this.animation=this.generator=void 0}}const S=new WeakMap;function P(t){return S.has(t)||S.set(t,{transforms:[],values:new Map}),S.get(t)}function O(t,e){-1===t.indexOf(e)&&t.push(e)}function T(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const C=["","X","Y","Z"],M={x:"translateX",y:"translateY",z:"translateZ"},D={syntax:"<angle>",initialValue:"0deg",toDefaultUnit:t=>t+"deg"},N={translate:{syntax:"<length-percentage>",initialValue:"0px",toDefaultUnit:t=>t+"px"},rotate:D,scale:{syntax:"<number>",initialValue:1,toDefaultUnit:r},skew:D},A=new Map,R=t=>`--motion-${t}`,j=["x","y","z"];["translate","scale","rotate","skew"].forEach((t=>{C.forEach((e=>{j.push(t+e),A.set(R(t+e),N[t])}))}));const L=(t,e)=>j.indexOf(t)-j.indexOf(e),I=new Set(j),z=t=>I.has(t),B=t=>t.sort(L).reduce(X,"").trim(),X=(t,e)=>`${t} ${e}(var(${R(e)}))`,H=t=>t.startsWith("--"),Y=new Set;const $=t=>1e3*t,V=t=>t/1e3,G=(t,e)=>document.createElement("div").animate(t,e),U={cssRegisterProperty:()=>"undefined"!==typeof CSS&&Object.hasOwnProperty.call(CSS,"registerProperty"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate"),partialKeyframes:()=>{try{G({opacity:[1]})}catch(t){return!1}return!0},finished:()=>Boolean(G({opacity:[0,1]},{duration:.001}).finished),linearEasing:()=>{try{G({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0}},W={},q={};for(const ke in U)q[ke]=()=>(void 0===W[ke]&&(W[ke]=U[ke]()),W[ke]);const F=(t,e)=>g(t)?q.linearEasing()?`linear(${((t,e)=>{let n="";const i=Math.round(e/.015);for(let o=0;o<i;o++)n+=t(u(0,i-1,o))+", ";return n.substring(0,n.length-2)})(t,e)})`:i.easing:x(t)?K(t):t,K=([t,e,n,i])=>`cubic-bezier(${t}, ${e}, ${n}, ${i})`;const Z=t=>Array.isArray(t)?t:[t];function Q(t){return M[t]&&(t=M[t]),z(t)?R(t):t}const J={get:(t,e)=>{e=Q(e);let n=H(e)?t.style.getPropertyValue(e):getComputedStyle(t)[e];if(!n&&0!==n){const t=A.get(e);t&&(n=t.initialValue)}return n},set:(t,e,n)=>{e=Q(e),H(e)?t.style.setProperty(e,n):t.style[e]=n}};function tt(t,e=!0){if(t&&"finished"!==t.playState)try{t.stop?t.stop():(e&&t.commitStyles(),t.cancel())}catch(n){}}const et=t=>"string"===typeof t;function nt(t,e){var n;let i=(null===e||void 0===e?void 0:e.toDefaultUnit)||r;const o=t[t.length-1];if(et(o)){const t=(null===(n=o.match(/(-?[\d.]+)([a-z%]*)/))||void 0===n?void 0:n[2])||"";t&&(i=e=>e+t)}return i}function it(t,e,n,r={},c){const u=window.__MOTION_DEV_TOOLS_RECORD,h=!1!==r.record&&u;let d,{duration:f=i.duration,delay:p=i.delay,endDelay:y=i.endDelay,repeat:v=i.repeat,easing:m=i.easing,persist:x=!1,direction:_,offset:b,allowWebkitAcceleration:w=!1}=r;const E=P(t),S=z(e);let T=q.waapi();S&&((t,e)=>{M[e]&&(e=M[e]);const{transforms:n}=P(t);O(n,e),t.style.transform=B(n)})(t,e);const C=Q(e),D=function(t,e){return t.has(e)||t.set(e,new k),t.get(e)}(E.values,C),N=A.get(C);return tt(D.animation,!(s(m)&&D.generator)&&!1!==r.record),()=>{const i=()=>{var e,n;return null!==(n=null!==(e=J.get(t,C))&&void 0!==e?e:null===N||void 0===N?void 0:N.initialValue)&&void 0!==n?n:0};let E=function(t,e){for(let n=0;n<t.length;n++)null===t[n]&&(t[n]=n?t[n-1]:e());return t}(Z(n),i);const k=nt(E,N);if(s(m)){const t=m.createAnimation(E,"opacity"!==e,i,C,D);m=t.easing,E=t.keyframes||E,f=t.duration||f}if(H(C)&&(q.cssRegisterProperty()?function(t){if(!Y.has(t)){Y.add(t);try{const{syntax:e,initialValue:n}=A.has(t)?A.get(t):{};CSS.registerProperty({name:t,inherits:!1,syntax:e,initialValue:n})}catch(e){}}}(C):T=!1),S&&!q.linearEasing()&&(g(m)||l(m)&&m.some(g))&&(T=!1),T){N&&(E=E.map((t=>a(t)?N.toDefaultUnit(t):t))),1!==E.length||q.partialKeyframes()&&!h||E.unshift(i());const e={delay:$(p),duration:$(f),endDelay:$(y),easing:l(m)?void 0:F(m,f),direction:_,iterations:v+1,fill:"both"};d=t.animate({[C]:E,offset:b,easing:l(m)?m.map((t=>F(t,f))):void 0},e),d.finished||(d.finished=new Promise(((t,e)=>{d.onfinish=t,d.oncancel=e})));const n=E[E.length-1];d.finished.then((()=>{x||(J.set(t,C,n),d.cancel())})).catch(o),w||(d.playbackRate=1.000001)}else if(c&&S)E=E.map((t=>"string"===typeof t?parseFloat(t):t)),1===E.length&&E.unshift(parseFloat(i())),d=new c((e=>{J.set(t,C,k?k(e):e)}),E,Object.assign(Object.assign({},r),{duration:f,easing:m}));else{const e=E[E.length-1];J.set(t,C,N&&a(e)?N.toDefaultUnit(e):e)}return h&&u(t,e,E,{duration:f,delay:p,easing:m,repeat:v,offset:b},"motion-one"),D.setAnimation(d),d}}const ot=(t,e)=>t[e]?Object.assign(Object.assign({},t),t[e]):Object.assign({},t);function rt(t,e){var n;return"string"===typeof t?e?(null!==(n=e[t])&&void 0!==n||(e[t]=document.querySelectorAll(t)),t=e[t]):t=document.querySelectorAll(t):t instanceof Element&&(t=[t]),Array.from(t||[])}const st=t=>t(),at=(t,e,n=i.duration)=>new Proxy({animations:t.map(st).filter(Boolean),duration:n,options:e},lt),lt={get:(t,e)=>{const n=t.animations[0];switch(e){case"duration":return t.duration;case"currentTime":return V((null===n||void 0===n?void 0:n[e])||0);case"playbackRate":case"playState":return null===n||void 0===n?void 0:n[e];case"finished":return t.finished||(t.finished=Promise.all(t.animations.map(ct)).catch(o)),t.finished;case"stop":return()=>{t.animations.forEach((t=>tt(t)))};case"forEachNative":return e=>{t.animations.forEach((n=>e(n,t)))};default:return"undefined"===typeof(null===n||void 0===n?void 0:n[e])?void 0:()=>t.animations.forEach((t=>t[e]()))}},set:(t,e,n)=>{switch(e){case"currentTime":n=$(n);case"currentTime":case"playbackRate":for(let i=0;i<t.animations.length;i++)t.animations[i][e]=n;return!0}return!1}},ct=t=>t.finished;function ut(t=.1,{start:e=0,from:n=0,easing:i}={}){return(o,r)=>{const s=a(n)?n:function(t,e){if("first"===t)return 0;{const n=e-1;return"last"===t?n:n/2}}(n,r),l=Math.abs(s-o);let c=t*l;if(i){const e=r*t;c=w(i)(c/e)*e}return e+c}}function ht(t,e,n){return g(t)?t(e,n):t}function dt(t){return function(e,n,i={}){const o=(e=rt(e)).length,r=[];for(let s=0;s<o;s++){const a=e[s];for(const e in n){const l=ot(i,e);l.delay=ht(l.delay,s,o);const c=it(a,e,n[e],l,t);r.push(c)}}return at(r,i,i.duration)}}const ft=dt(E);var pt=n(45008),yt=n(61287);function vt(t,e,n,i){var o;return a(e)?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):"<"===e?n:null!==(o=i.get(e))&&void 0!==o?o:t}function mt(t,e,n,i,o,r){!function(t,e,n){for(let i=0;i<t.length;i++){const o=t[i];o.at>e&&o.at<n&&(T(t,o),i--)}}(t,o,r);for(let s=0;s<e.length;s++)t.push({value:e[s],at:c(o,r,i[s]),easing:f(n,s)})}function gt(t,e){return t.at===e.at?null===t.value?1:-1:t.at-e.at}function xt(t,e={}){var n;const o=function(t,e={}){var{defaultOptions:n={}}=e,o=(0,pt._T)(e,["defaultOptions"]);const r=[],a=new Map,l={},c=new Map;let f=0,p=0,y=0;for(let u=0;u<t.length;u++){const e=t[u];if(et(e)){c.set(e,p);continue}if(!Array.isArray(e)){c.set(e.name,vt(p,e.at,f,c));continue}const[o,r,v={}]=e;void 0!==v.at&&(p=vt(p,v.at,f,c));let m=0;const g=rt(o,l),x=g.length;for(let t=0;t<x;t++){const e=_t(g[t],a);for(const o in r){const a=bt(o,e);let l=Z(r[o]);const c=ot(v,o);let{duration:u=n.duration||i.duration,easing:f=n.easing||i.easing}=c;if(s(f)){(0,yt.invariant)("opacity"===o||l.length>1,"spring must be provided 2 keyframes within timeline()");const t=f.createAnimation(l,"opacity"!==o,(()=>0),o);f=t.easing,l=t.keyframes||l,u=t.duration||u}const g=ht(v.delay,t,x)||0,_=p+g,b=_+u;let{offset:w=d(l.length)}=c;1===w.length&&0===w[0]&&(w[1]=1);const E=w.length-l.length;E>0&&h(w,E),1===l.length&&l.unshift(null),mt(a,l,f,w,_,b),m=Math.max(g+u,m),y=Math.max(b,y)}}f=p,p+=m}return a.forEach(((t,e)=>{for(const s in t){const a=t[s];a.sort(gt);const l=[],c=[],h=[];for(let t=0;t<a.length;t++){const{at:e,value:n,easing:o}=a[t];l.push(n),c.push(u(0,y,e)),h.push(o||i.easing)}0!==c[0]&&(c.unshift(0),l.unshift(l[0]),h.unshift("linear")),1!==c[c.length-1]&&(c.push(1),l.push(null)),r.push([e,s,l,Object.assign(Object.assign(Object.assign({},n),{duration:y,easing:h,offset:c}),o)])}})),r}(t,e),r=o.map((t=>it(...t,E))).filter(Boolean);return at(r,e,null===(n=o[0])||void 0===n?void 0:n[3].duration)}function _t(t,e){return!e.has(t)&&e.set(t,{}),e.get(t)}function bt(t,e){return e[t]||(e[t]=[]),e[t]}const wt=100,Et=10,kt=1;function St(t,e){return e?t*(1e3/e):0}function Pt(t,e,n){const i=Math.max(e-5,0);return St(n-t(i),e-i)}const Ot=({stiffness:t=wt,damping:e=Et,mass:n=kt,from:i=0,to:o=1,velocity:r=0,restSpeed:s=2,restDistance:a=.5}={})=>{r=r?V(r):0;const l={done:!1,hasReachedTarget:!1,current:i,target:o},c=o-i,u=Math.sqrt(t/n)/1e3,h=((t=wt,e=Et,n=kt)=>e/(2*Math.sqrt(t*n)))(t,e,n);let d;if(h<1){const t=u*Math.sqrt(1-h*h);d=e=>o-Math.exp(-h*u*e)*((h*u*c-r)/t*Math.sin(t*e)+c*Math.cos(t*e))}else d=t=>o-Math.exp(-u*t)*(c+(u*c-r)*t);return t=>{l.current=d(t);const e=0===t?r:Pt(d,t,l.current),n=Math.abs(e)<=s,c=Math.abs(o-l.current)<=a;var u,h,f;return l.done=n&&c,l.hasReachedTarget=(u=i,h=o,f=l.current,u<h&&f>=h||u>h&&f<=h),l}};function Tt(t){return a(t)&&!isNaN(t)}function Ct(t){return et(t)?parseFloat(t):t}function Mt(t){const e=new WeakMap;return(n={})=>{const i=new Map,o=(e=0,o=100,r=0,s=!1)=>{const a=`${e}-${o}-${r}-${s}`;return i.has(a)||i.set(a,t(Object.assign({from:e,to:o,velocity:r,restSpeed:s?.05:2,restDistance:s?.01:.5},n))),i.get(a)},s=(t,n)=>(e.has(t)||e.set(t,function(t,e=r){let n,i=10,o=t(0);const s=[e(o.current)];for(;!o.done&&i<1e4;)o=t(i),s.push(e(o.done?o.target:o.current)),void 0===n&&o.hasReachedTarget&&(n=i),i+=10;const a=i-10;return 1===s.length&&s.push(o.current),{keyframes:s,duration:a/1e3,overshootDuration:(null!==n&&void 0!==n?n:a)/1e3}}(t,n)),e.get(t));return{createAnimation:(t,e=!0,n,i,a)=>{let l,c,u,h=0,d=r;const f=t.length;if(e){d=nt(t,i?A.get(Q(i)):void 0);if(u=Ct(t[f-1]),f>1&&null!==t[0])c=Ct(t[0]);else{const t=null===a||void 0===a?void 0:a.generator;if(t){const{animation:e,generatorStartTime:n}=a,i=(null===e||void 0===e?void 0:e.startTime)||n||0,o=(null===e||void 0===e?void 0:e.currentTime)||performance.now()-i,r=t(o).current;c=r,h=Pt((e=>t(e).current),o,r)}else n&&(c=Ct(n()))}}if(Tt(c)&&Tt(u)){const t=o(c,u,h,null===i||void 0===i?void 0:i.includes("scale"));l=Object.assign(Object.assign({},s(t,d)),{easing:"linear"}),a&&(a.generator=t,a.generatorStartTime=performance.now())}if(!l){l={easing:"ease",duration:s(o(0,100)).overshootDuration}}return l}}}}const Dt=Mt(Ot),Nt=Mt((({from:t=0,velocity:e=0,power:n=.8,decay:i=.325,bounceDamping:o,bounceStiffness:r,changeTarget:s,min:a,max:l,restDistance:c=.5,restSpeed:u})=>{i=$(i);const h={hasReachedTarget:!1,done:!1,current:t,target:t},d=t=>void 0===a?l:void 0===l||Math.abs(a-t)<Math.abs(l-t)?a:l;let f=n*e;const p=t+f,y=void 0===s?p:s(p);h.target=y,y!==p&&(f=y-t);const v=t=>-f*Math.exp(-t/i),m=t=>y+v(t),g=t=>{const e=v(t),n=m(t);h.done=Math.abs(e)<=c,h.current=h.done?y:n};let x,_;const b=t=>{var e;(e=h.current,void 0!==a&&e<a||void 0!==l&&e>l)&&(x=t,_=Ot({from:h.current,to:d(h.current),velocity:Pt(m,t,h.current),damping:o,stiffness:r,restDistance:c,restSpeed:u}))};return b(0),t=>{let e=!1;return _||void 0!==x||(e=!0,g(t),b(t)),void 0!==x&&t>x?(h.hasReachedTarget=!0,_(t-x)):(h.hasReachedTarget=!1,!e&&g(t),h)}})),At={any:0,all:1};function Rt(t,e,{root:n,margin:i,amount:o="any"}={}){if("undefined"===typeof IntersectionObserver)return()=>{};const r=rt(t),s=new WeakMap,a=new IntersectionObserver((t=>{t.forEach((t=>{const n=s.get(t.target);if(t.isIntersecting!==Boolean(n))if(t.isIntersecting){const n=e(t);g(n)?s.set(t.target,n):a.unobserve(t.target)}else n&&(n(t),s.delete(t.target))}))}),{root:n,rootMargin:i,threshold:"number"===typeof o?o:At[o]});return r.forEach((t=>a.observe(t))),()=>a.disconnect()}const jt=new WeakMap;let Lt;function It({target:t,contentRect:e,borderBoxSize:n}){var i;null===(i=jt.get(t))||void 0===i||i.forEach((i=>{i({target:t,contentSize:e,get size(){return function(t,e){if(e){const{inlineSize:t,blockSize:n}=e[0];return{width:t,height:n}}return t instanceof SVGElement&&"getBBox"in t?t.getBBox():{width:t.offsetWidth,height:t.offsetHeight}}(t,n)}})}))}function zt(t){t.forEach(It)}function Bt(t,e){Lt||"undefined"!==typeof ResizeObserver&&(Lt=new ResizeObserver(zt));const n=rt(t);return n.forEach((t=>{let n=jt.get(t);n||(n=new Set,jt.set(t,n)),n.add(e),null===Lt||void 0===Lt||Lt.observe(t)})),()=>{n.forEach((t=>{const n=jt.get(t);null===n||void 0===n||n.delete(e),(null===n||void 0===n?void 0:n.size)||null===Lt||void 0===Lt||Lt.unobserve(t)}))}}const Xt=new Set;let Ht;function Yt(t){return Xt.add(t),Ht||(Ht=()=>{const t={width:window.innerWidth,height:window.innerHeight},e={target:window,size:t,contentSize:t};Xt.forEach((t=>t(e)))},window.addEventListener("resize",Ht)),()=>{Xt.delete(t),!Xt.size&&Ht&&(Ht=void 0)}}function $t(t,e){return g(t)?Yt(t):Bt(t,e)}const Vt={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function Gt(t,e,n,i){const o=n[e],{length:r,position:s}=Vt[e],a=o.current,l=n.time;o.current=t["scroll"+s],o.scrollLength=t["scroll"+r]-t["client"+r],o.offset.length=0,o.offset[0]=0,o.offset[1]=o.scrollLength,o.progress=u(0,o.scrollLength,o.current);const c=i-l;o.velocity=c>50?0:St(o.current-a,c)}const Ut={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},Wt={start:0,center:.5,end:1};function qt(t,e,n=0){let i=0;if(void 0!==Wt[t]&&(t=Wt[t]),et(t)){const e=parseFloat(t);t.endsWith("px")?i=e:t.endsWith("%")?t=e/100:t.endsWith("vw")?i=e/100*document.documentElement.clientWidth:t.endsWith("vh")?i=e/100*document.documentElement.clientHeight:t=e}return a(t)&&(i=e*t),n+i}const Ft=[0,0];function Kt(t,e,n,i){let o=Array.isArray(t)?t:Ft,r=0,s=0;return a(t)?o=[t,t]:et(t)&&(o=(t=t.trim()).includes(" ")?t.split(" "):[t,Wt[t]?t:"0"]),r=qt(o[0],n,i),s=qt(o[1],e),r-s}const Zt={x:0,y:0};function Qt(t,e,n){let{offset:i=Ut.All}=n;const{target:o=t,axis:r="y"}=n,s="y"===r?"height":"width",a=o!==t?function(t,e){let n={x:0,y:0},i=t;for(;i&&i!==e;)if(i instanceof HTMLElement)n.x+=i.offsetLeft,n.y+=i.offsetTop,i=i.offsetParent;else if(i instanceof SVGGraphicsElement&&"getBBox"in i){const{top:t,left:e}=i.getBBox();for(n.x+=e,n.y+=t;i&&"svg"!==i.tagName;)i=i.parentNode}return n}(o,t):Zt,l=o===t?{width:t.scrollWidth,height:t.scrollHeight}:{width:o.clientWidth,height:o.clientHeight},c={width:t.clientWidth,height:t.clientHeight};e[r].offset.length=0;let u=!e[r].interpolate;const h=i.length;for(let d=0;d<h;d++){const t=Kt(i[d],c[s],l[s],a[r]);u||t===e[r].interpolatorOffsets[d]||(u=!0),e[r].offset[d]=t}u&&(e[r].interpolate=y(d(h),e[r].offset),e[r].interpolatorOffsets=[...e[r].offset]),e[r].progress=e[r].interpolate(e[r].current)}function Jt(t,e,n,i={}){const o=i.axis||"y";return{measure:()=>function(t,e=t,n){if(n.x.targetOffset=0,n.y.targetOffset=0,e!==t){let i=e;for(;i&&i!=t;)n.x.targetOffset+=i.offsetLeft,n.y.targetOffset+=i.offsetTop,i=i.offsetParent}n.x.targetLength=e===t?e.scrollWidth:e.clientWidth,n.y.targetLength=e===t?e.scrollHeight:e.clientHeight,n.x.containerLength=t.clientWidth,n.y.containerLength=t.clientHeight}(t,i.target,n),update:e=>{!function(t,e,n){Gt(t,"x",e,n),Gt(t,"y",e,n),e.time=n}(t,n,e),(i.offset||i.target)&&Qt(t,n,i)},notify:g(e)?()=>e(n):te(e,n[o])}}function te(t,e){return t.pause(),t.forEachNative(((t,{easing:e})=>{var n,i;if(t.updateDuration)e||(t.easing=r),t.updateDuration(1);else{const o={duration:1e3};e||(o.easing="linear"),null===(i=null===(n=t.effect)||void 0===n?void 0:n.updateTiming)||void 0===i||i.call(n,o)}})),()=>{t.currentTime=e.progress}}const ee=new WeakMap,ne=new WeakMap,ie=new WeakMap,oe=t=>t===document.documentElement?window:t;function re(t,e={}){var{container:n=document.documentElement}=e,i=(0,pt._T)(e,["container"]);let o=ie.get(n);o||(o=new Set,ie.set(n,o));const r=Jt(n,t,{time:0,x:{current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0},y:{current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}},i);if(o.add(r),!ee.has(n)){const t=()=>{const t=performance.now();for(const e of o)e.measure();for(const e of o)e.update(t);for(const e of o)e.notify()};ee.set(n,t);const e=oe(n);window.addEventListener("resize",t,{passive:!0}),n!==document.documentElement&&ne.set(n,$t(n,t)),e.addEventListener("scroll",t,{passive:!0})}const s=ee.get(n),a=requestAnimationFrame(s);return()=>{var e;"function"!==typeof t&&t.stop(),cancelAnimationFrame(a);const i=ie.get(n);if(!i)return;if(i.delete(r),i.size)return;const o=ee.get(n);ee.delete(n),o&&(oe(n).removeEventListener("scroll",o),null===(e=ne.get(n))||void 0===e||e(),window.removeEventListener("resize",o))}}function se(t,e){return function(t){return"object"===typeof t}(t)?t:t&&e?e[t]:void 0}let ae;function le(){if(!ae)return;const t=ae.sort(ue).map(he);t.forEach(de),t.forEach(de),ae=void 0}function ce(t){ae?O(ae,t):(ae=[t],requestAnimationFrame(le))}const ue=(t,e)=>t.getDepth()-e.getDepth(),he=t=>t.animateUpdates(),de=t=>t.next(),fe=(t,e)=>new CustomEvent(t,{detail:{target:e}});function pe(t,e,n){t.dispatchEvent(new CustomEvent(e,{detail:{originalEvent:n}}))}function ye(t,e,n){t.dispatchEvent(new CustomEvent(e,{detail:{originalEntry:n}}))}const ve=(t,e,n)=>i=>{i.pointerType&&"mouse"!==i.pointerType||(n(),pe(t,e,i))},me={inView:{isActive:t=>Boolean(t.inView),subscribe:(t,{enable:e,disable:n},{inViewOptions:i={}})=>{const{once:o}=i,r=(0,pt._T)(i,["once"]);return Rt(t,(i=>{if(e(),ye(t,"viewenter",i),!o)return e=>{n(),ye(t,"viewleave",e)}}),r)}},hover:{isActive:t=>Boolean(t.hover),subscribe:(t,{enable:e,disable:n})=>{const i=ve(t,"hoverstart",e),o=ve(t,"hoverend",n);return t.addEventListener("pointerenter",i),t.addEventListener("pointerleave",o),()=>{t.removeEventListener("pointerenter",i),t.removeEventListener("pointerleave",o)}}},press:{isActive:t=>Boolean(t.press),subscribe:(t,{enable:e,disable:n})=>{const i=e=>{n(),pe(t,"pressend",e),window.removeEventListener("pointerup",i)},o=n=>{e(),pe(t,"pressstart",n),window.addEventListener("pointerup",i)};return t.addEventListener("pointerdown",o),()=>{t.removeEventListener("pointerdown",o),window.removeEventListener("pointerup",i)}}}},ge=["initial","animate",...Object.keys(me),"exit"],xe=new WeakMap;function _e(t={},e){let n,i=e?e.getDepth()+1:0;const r={initial:!0,animate:!0},s={},a={};for(const o of ge)a[o]="string"===typeof t[o]?t[o]:null===e||void 0===e?void 0:e.getContext()[o];const l=!1===t.initial?"animate":"initial";let c=se(t[l]||a[l],t.variants)||{},u=(0,pt._T)(c,["transition"]);const h=Object.assign({},u);const d=(t,e)=>()=>{r[t]=e,ce(p)},f=()=>{for(const e in me){const i=me[e].isActive(t),o=s[e];i&&!o?s[e]=me[e].subscribe(n,{enable:d(e,!0),disable:d(e,!1)},t):!i&&o&&(o(),delete s[e])}},p={update:e=>{n&&(t=e,f(),ce(p))},setActive:(t,e)=>{n&&(r[t]=e,ce(p))},animateUpdates:function*(){var e,i;const s=u;u={};const a={};for(const n of ge){if(!r[n])continue;const o=se(t[n]);if(o)for(const n in o)"transition"!==n&&(u[n]=o[n],a[n]=ot(null!==(i=null!==(e=o.transition)&&void 0!==e?e:t.transition)&&void 0!==i?i:{},n))}const l=new Set([...Object.keys(u),...Object.keys(s)]),c=[];l.forEach((t=>{var e,i,o;void 0===u[t]&&(u[t]=h[t]),i=s[t],o=u[t],typeof i===typeof o&&(Array.isArray(i)&&Array.isArray(o)?function(t,e){const n=e.length;if(n!==t.length)return!1;for(let i=0;i<n;i++)if(e[i]!==t[i])return!1;return!0}(i,o):i===o)||(null!==(e=h[t])&&void 0!==e||(h[t]=J.get(n,t)),c.push(it(n,t,u[t],a[t],E)))})),yield;const d=c.map((t=>t())).filter(Boolean);if(!d.length)return;const f=u;n.dispatchEvent(fe("motionstart",f)),Promise.all(d.map((t=>t.finished))).then((()=>{n.dispatchEvent(fe("motioncomplete",f))})).catch(o)},getDepth:()=>i,getTarget:()=>u,getOptions:()=>t,getContext:()=>a,mount:t=>((0,yt.invariant)(Boolean(t),"Animation state must be mounted with valid Element"),n=t,xe.set(n,p),f(),()=>{xe.delete(n),function(t){ae&&T(ae,t)}(p);for(const t in s)s[t]()}),isMounted:()=>Boolean(n)};return p}function be(t){const e={},n=[];for(let i in t){const o=t[i];z(i)&&(M[i]&&(i=M[i]),n.push(i),i=R(i));let r=Array.isArray(o)?o[0]:o;const s=A.get(i);s&&(r=a(o)?s.toDefaultUnit(o):o),e[i]=r}return n.length&&(e.transform=B(n)),e}const we=t=>`-${t.toLowerCase()}`;function Ee(t={}){const e=be(t);let n="";for(const i in e)n+=i.startsWith("--")?i:i.replace(/[A-Z]/g,we),n+=`: ${e[i]}; `;return n}},93103:function(t,e){"use strict";var n={};Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){void 0===e&&(e={});var i=JSON.stringify({text:t,options:e});if(n[i])return n[i];e.font=e.font||"Times",e.fontSize=e.fontSize||"16px",e.fontWeight=e.fontWeight||"normal",e.width=e.width||"auto";var o=function(t,e){var n=document.createElement("div"),i=document.createTextNode(t);return n.appendChild(i),n.style.fontFamily=e.font,n.style.fontSize=e.fontSize,n.style.fontWeight=e.fontWeight,n.style.position="absolute",n.style.visibility="hidden",n.style.left="-999px",n.style.top="-999px",n.style.width=e.width,n.style.height="auto",document.body.appendChild(n),n}(t,e),r={width:o.offsetWidth,height:o.offsetHeight};return function(t){t.parentNode.removeChild(t)}(o),n[i]=r,r}},63588:function(t,e){var n;!function(){"use strict";var i={}.hasOwnProperty;function o(){for(var t=[],e=0;e<arguments.length;e++){var n=arguments[e];if(n){var r=typeof n;if("string"===r||"number"===r)t.push(n);else if(Array.isArray(n)){if(n.length){var s=o.apply(null,n);s&&t.push(s)}}else if("object"===r){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){t.push(n.toString());continue}for(var a in n)i.call(n,a)&&n[a]&&t.push(a)}}}return t.join(" ")}t.exports?(o.default=o,t.exports=o):void 0===(n=function(){return o}.apply(e,[]))||(t.exports=n)}()},32177:function(t){var e;"undefined"!==typeof self&&self,e=function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";t.exports=n(1)},function(t,e,n){"use strict";var i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=n(2),r=function t(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];for(var r in n)n.hasOwnProperty(r)&&-1===o.indexOf(r)&&(e.hasOwnProperty(r)&&"undefined"!==typeof e[r]?"object"===i(e[r])&&t(e[r],n[r]):e[r]=n[r]);return e};t.exports=r,t.exports.copy=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return e[0]=o(e[0]),r.apply(void 0,e)}},function(t,e,n){"use strict";var i,o,r,s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};r=function(){return function(e){if(/number|string|boolean/.test("undefined"===typeof e?"undefined":s(e)))return e;if(e instanceof Date)return new Date(e.getTime());var n=e instanceof Array?[]:{};return function e(n,i){for(var o in n){var r=n[o];if(r instanceof Date){var s=new Date(r.getTime());t(i,o,s)}else if(r instanceof Function)t(i,o,s=r);else if(r instanceof Array){var a=t(i,o,s=[]);e(r,a)}else r instanceof Object?(a=t(i,o,s={}),e(r,a)):t(i,o,s=r)}}(e,n),n};function t(t,e,n){return t instanceof Array?(t.push(n),t[t.length-1]):t instanceof Object?(t[e]=n,t[e]):void 0}},"object"===s(e)?t.exports=r():void 0===(o="function"===typeof(i=r)?i.call(e,n,e,t):i)||(t.exports=o)}])},t.exports=e()},6050:function(t){"use strict";var e={ellipse:"\u2026",chars:[" ","-"],max:140,truncate:!0};t.exports=function(t,n,i){if("string"!==typeof t||0===t.length)return"";if(0===n)return"";for(var o in i=i||{},e)null!==i[o]&&"undefined"!==typeof i[o]||(i[o]=e[o]);return i.max=n||i.max,function(t,e,n,i,o){if(t.length<e)return t;for(var r=0,s="",a=Math.floor(e/2),l="middle"===o?a:e-n.length,c=0,u=t.length;c<u;c++)if(s=t.charAt(c),-1!==i.indexOf(s)&&"middle"!==o&&(r=c),!(c<l))return 0===r?o?t.substring(0,l-1)+n+("middle"===o?t.substring(t.length-a,t.length):""):"":t.substring(0,r)+n;return t}(t,i.max,i.ellipse,i.chars,i.truncate)}},8474:function(t,e,n){var i;!function(){"use strict";var o=!("undefined"===typeof window||!window.document||!window.document.createElement),r={canUseDOM:o,canUseWorkers:"undefined"!==typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};void 0===(i=function(){return r}.call(e,n,e,t))||(t.exports=i)}()},80626:function(t,e,n){"use strict";var i=n(17761),o=/^((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)-.*))$/,r=(0,i.Z)((function(t){return o.test(t)||111===t.charCodeAt(0)&&110===t.charCodeAt(1)&&t.charCodeAt(2)<91}));e.Z=r},61287:function(t,e,n){"use strict";n.r(e),n.d(e,{invariant:function(){return o},warning:function(){return i}});var i=function(){},o=function(){}},93093:function(t,e,n){"use strict";n.r(e),n.d(e,{Matrix2D:function(){return a},Point2D:function(){return i},Vector2D:function(){return r}});var i=class{constructor(t=0,e=0){this.x=t,this.y=e}clone(){return new this.constructor(this.x,this.y)}add(t){return new this.constructor(this.x+t.x,this.y+t.y)}subtract(t){return new this.constructor(this.x-t.x,this.y-t.y)}multiply(t){return new this.constructor(this.x*t,this.y*t)}divide(t){return new this.constructor(this.x/t,this.y/t)}equals(t){return this.x===t.x&&this.y===t.y}precisionEquals(t,e){return Math.abs(this.x-t.x)<e&&Math.abs(this.y-t.y)<e}lerp(t,e){const n=1-e;return new this.constructor(this.x*n+t.x*e,this.y*n+t.y*e)}distanceFrom(t){const e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)}min(t){return new this.constructor(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new this.constructor(Math.max(this.x,t.x),Math.max(this.y,t.y))}transform(t){return new this.constructor(t.a*this.x+t.c*this.y+t.e,t.b*this.x+t.d*this.y+t.f)}toString(){return`point(${this.x},${this.y})`}};class o{constructor(t=0,e=0){this.x=t,this.y=e}static fromPoints(t,e){return new o(e.x-t.x,e.y-t.y)}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}magnitude(){return this.x*this.x+this.y*this.y}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}determinant(t){return this.x*t.y-this.y*t.x}unit(){return this.divide(this.length())}add(t){return new this.constructor(this.x+t.x,this.y+t.y)}subtract(t){return new this.constructor(this.x-t.x,this.y-t.y)}multiply(t){return new this.constructor(this.x*t,this.y*t)}divide(t){return new this.constructor(this.x/t,this.y/t)}angleBetween(t){let e=this.dot(t)/(this.length()*t.length());e=Math.max(-1,Math.min(e,1));const n=Math.acos(e);return this.cross(t)<0?-n:n}perp(){return new this.constructor(-this.y,this.x)}perpendicular(t){return this.subtract(this.project(t))}project(t){const e=this.dot(t)/t.dot(t);return t.multiply(e)}transform(t){return new this.constructor(t.a*this.x+t.c*this.y,t.b*this.x+t.d*this.y)}equals(t){return this.x===t.x&&this.y===t.y}precisionEquals(t,e){return Math.abs(this.x-t.x)<e&&Math.abs(this.y-t.y)<e}toString(){return`vector(${this.x},${this.y})`}}var r=o;class s{constructor(t=1,e=0,n=0,i=1,o=0,r=0){this.a=t,this.b=e,this.c=n,this.d=i,this.e=o,this.f=r}static translation(t,e){return new s(1,0,0,1,t,e)}static scaling(t){return new s(t,0,0,t,0,0)}static scalingAt(t,e){return new s(t,0,0,t,e.x-e.x*t,e.y-e.y*t)}static nonUniformScaling(t,e){return new s(t,0,0,e,0,0)}static nonUniformScalingAt(t,e,n){return new s(t,0,0,e,n.x-n.x*t,n.y-n.y*e)}static rotation(t){const e=Math.cos(t),n=Math.sin(t);return new s(e,n,-n,e,0,0)}static rotationAt(t,e){const n=Math.cos(t),i=Math.sin(t);return new s(n,i,-i,n,e.x-e.x*n+e.y*i,e.y-e.y*n-e.x*i)}static rotationFromVector(t){const e=t.unit(),n=e.x,i=e.y;return new s(n,i,-i,n,0,0)}static xFlip(){return new s(-1,0,0,1,0,0)}static yFlip(){return new s(1,0,0,-1,0,0)}static xSkew(t){const e=Math.tan(t);return new s(1,0,e,1,0,0)}static ySkew(t){const e=Math.tan(t);return new s(1,e,0,1,0,0)}multiply(t){return this.isIdentity()?t:t.isIdentity()?this:new this.constructor(this.a*t.a+this.c*t.b,this.b*t.a+this.d*t.b,this.a*t.c+this.c*t.d,this.b*t.c+this.d*t.d,this.a*t.e+this.c*t.f+this.e,this.b*t.e+this.d*t.f+this.f)}inverse(){if(this.isIdentity())return this;const t=this.a*this.d-this.b*this.c;if(0===t)throw new Error("Matrix is not invertible");const e=1/t,n=this.f*this.c-this.e*this.d,i=this.e*this.b-this.f*this.a;return new this.constructor(this.d*e,-this.b*e,-this.c*e,this.a*e,n*e,i*e)}translate(t,e){return new this.constructor(this.a,this.b,this.c,this.d,this.a*t+this.c*e+this.e,this.b*t+this.d*e+this.f)}scale(t){return new this.constructor(this.a*t,this.b*t,this.c*t,this.d*t,this.e,this.f)}scaleAt(t,e){const n=e.x-t*e.x,i=e.y-t*e.y;return new this.constructor(this.a*t,this.b*t,this.c*t,this.d*t,this.a*n+this.c*i+this.e,this.b*n+this.d*i+this.f)}scaleNonUniform(t,e){return new this.constructor(this.a*t,this.b*t,this.c*e,this.d*e,this.e,this.f)}scaleNonUniformAt(t,e,n){const i=n.x-t*n.x,o=n.y-e*n.y;return new this.constructor(this.a*t,this.b*t,this.c*e,this.d*e,this.a*i+this.c*o+this.e,this.b*i+this.d*o+this.f)}rotate(t){const e=Math.cos(t),n=Math.sin(t);return new this.constructor(this.a*e+this.c*n,this.b*e+this.d*n,this.a*-n+this.c*e,this.b*-n+this.d*e,this.e,this.f)}rotateAt(t,e){const n=Math.cos(t),i=Math.sin(t),o=e.x,r=e.y,s=this.a*n+this.c*i,a=this.b*n+this.d*i,l=this.c*n-this.a*i,c=this.d*n-this.b*i;return new this.constructor(s,a,l,c,(this.a-s)*o+(this.c-l)*r+this.e,(this.b-a)*o+(this.d-c)*r+this.f)}rotateFromVector(t){const e=t.unit(),n=e.x,i=e.y;return new this.constructor(this.a*n+this.c*i,this.b*n+this.d*i,this.a*-i+this.c*n,this.b*-i+this.d*n,this.e,this.f)}flipX(){return new this.constructor(-this.a,-this.b,this.c,this.d,this.e,this.f)}flipY(){return new this.constructor(this.a,this.b,-this.c,-this.d,this.e,this.f)}skewX(t){const e=Math.tan(t);return new this.constructor(this.a,this.b,this.c+this.a*e,this.d+this.b*e,this.e,this.f)}skewY(t){const e=Math.tan(t);return new this.constructor(this.a+this.c*e,this.b+this.d*e,this.c,this.d,this.e,this.f)}isIdentity(){return 1===this.a&&0===this.b&&0===this.c&&1===this.d&&0===this.e&&0===this.f}isInvertible(){return this.a*this.d-this.b*this.c!==0}getScale(){return{scaleX:Math.sqrt(this.a*this.a+this.c*this.c),scaleY:Math.sqrt(this.b*this.b+this.d*this.d)}}getDecomposition(){const t=.5*(this.a+this.d),e=.5*(this.a-this.d),n=.5*(this.b+this.c),i=.5*(this.b-this.c),o=Math.sqrt(t*t+i*i),r=Math.sqrt(e*e+n*n),s=o+r,a=o-r,l=Math.atan2(n,e),c=Math.atan2(i,t),u=.5*(c-l),h=.5*(c+l);return{translation:this.constructor.translation(this.e,this.f),rotation:this.constructor.rotation(h),scale:this.constructor.nonUniformScaling(s,a),rotation0:this.constructor.rotation(u)}}equals(t){return this.a===t.a&&this.b===t.b&&this.c===t.c&&this.d===t.d&&this.e===t.e&&this.f===t.f}precisionEquals(t,e){return Math.abs(this.a-t.a)<e&&Math.abs(this.b-t.b)<e&&Math.abs(this.c-t.c)<e&&Math.abs(this.d-t.d)<e&&Math.abs(this.e-t.e)<e&&Math.abs(this.f-t.f)<e}toString(){return`matrix(${this.a},${this.b},${this.c},${this.d},${this.e},${this.f})`}}s.IDENTITY=new s,s.IDENTITY.isIdentity=()=>!0;var a=s},21073:function(t,e,n){"use strict";n.r(e),n.d(e,{AffineShapes:function(){return D},Intersection:function(){return C},IntersectionArgs:function(){return b},IntersectionQuery:function(){return j},Matrix2D:function(){return i.Matrix2D},Point2D:function(){return i.Point2D},ShapeInfo:function(){return b},Shapes:function(){return M},SvgShapes:function(){return A},Vector2D:function(){return i.Vector2D}});var i=n(93093);function o(t){return"number"===typeof t?t?t<0?-1:1:t===t?t:NaN:NaN}class r{constructor(...t){this.coefs=[];for(let e=t.length-1;e>=0;e--)this.coefs.push(t[e]);this._variable="t",this._s=0}static interpolate(t,e,n,i,o){if(t.constructor!==Array||e.constructor!==Array)throw new TypeError("xs and ys must be arrays");if(isNaN(n)||isNaN(i)||isNaN(o))throw new TypeError("n, offset, and x must be numbers");let r,s,a=0;const l=new Array(n),c=new Array(n);let u=0,h=Math.abs(o-t[i]);for(r=0;r<n;r++){const n=Math.abs(o-t[i+r]);n<h&&(u=r,h=n),l[r]=c[r]=e[i+r]}s=e[i+u],u--;for(let d=1;d<n;d++){for(r=0;r<n-d;r++){const e=t[i+r]-o,n=t[i+r+d]-o,s=l[r+1]-c[r];let a=e-n;if(0===a)throw new RangeError("Unable to interpolate polynomial. Two numbers in n were identical (to within roundoff)");a=s/a,c[r]=n*a,l[r]=e*a}a=2*(u+1)<n-d?l[u+1]:c[u--],s+=a}return{y:s,dy:a}}static newtonSecantBisection(t,e,n,i,r,s){let a,l,c,u,h,d,f,p=0,y=0;a=t;const v=Math.pow(10,-14),m="number"===typeof r&&"number"===typeof s;if(m){if(r>s)throw new RangeError("Min must be greater than max");if(d=e(r),f=e(s),o(d)===o(f))throw new RangeError("Y values of bounds must be of opposite sign")}const g=function(){return Math.abs(c)<=v*Math.abs(a)||y===a-c-a};for(let x=0;x<i;x++){if(l=n(a),0===l){if(0===p)throw new RangeError("df(x) is zero");l=p}if(p=l,h=e(a),c=h/l,u=a-c,g())break;if(m){if(o(h)===o(f))s=a,f=h;else{if(o(h)!==o(d)){a=u;break}r=a,d=h}if(u<r||u>s){if(o(d)===o(f))break;const t=50,e=.25,n=f-d,i=s-r;if(c=0===n?a-(r+.5*i):Math.abs(n/Math.min(d,f))>t?a-(r+i*(.5+(Math.abs(d)<Math.abs(f)?-e:e))):a-(r-d/n*i),u=a-c,g())break}}y=a-u,a=u}return a}clone(){const t=new r;return t.coefs=this.coefs.slice(),t}eval(t){if(isNaN(t))throw new TypeError(`Parameter must be a number. Found '${t}'`);let e=0;for(let n=this.coefs.length-1;n>=0;n--)e=e*t+this.coefs[n];return e}add(t){const e=new r,n=this.getDegree(),i=t.getDegree(),o=Math.max(n,i);for(let r=0;r<=o;r++){const o=r<=n?this.coefs[r]:0,s=r<=i?t.coefs[r]:0;e.coefs[r]=o+s}return e}multiply(t){const e=new r;for(let n=0;n<=this.getDegree()+t.getDegree();n++)e.coefs.push(0);for(let n=0;n<=this.getDegree();n++)for(let i=0;i<=t.getDegree();i++)e.coefs[n+i]+=this.coefs[n]*t.coefs[i];return e}divideEqualsScalar(t){for(let e=0;e<this.coefs.length;e++)this.coefs[e]/=t}simplifyEquals(t=1e-12){for(let e=this.getDegree();e>=0&&Math.abs(this.coefs[e])<=t;e--)this.coefs.pop()}removeZerosEquals(t=1e-15){const e=this.coefs,n=10*t*Math.abs(e.reduce(((t,e)=>Math.abs(e)>Math.abs(t)?e:t)));for(let i=0;i<e.length-1;i++)Math.abs(e[i])<n&&(e[i]=0);return this}monicEquals(){const t=this.coefs;return 1!==t[t.length-1]&&this.divideEqualsScalar(t[t.length-1]),this}toString(){const t=[],e=[];for(let i=this.coefs.length-1;i>=0;i--){let n=Math.round(1e3*this.coefs[i])/1e3;if(0!==n){const o=n<0?" - ":" + ";n=Math.abs(n),i>0&&(1===n?n=this._variable:n+=this._variable),i>1&&(n+="^"+i),e.push(o),t.push(n)}}e[0]=" + "===e[0]?"":"-";let n="";for(let i=0;i<t.length;i++)n+=e[i]+t[i];return n}bisection(t,e,n=1e-6,i=15){let o,r=this.eval(t),s=this.eval(e);if(Math.abs(r)<=n)o=t;else if(Math.abs(s)<=n)o=e;else if(r*s<=0){const a=Math.log(e-t),l=Math.LN10*i,c=Math.ceil((a+l)/Math.LN2);for(let i=0;i<c;i++){o=.5*(t+e);const i=this.eval(o);if(Math.abs(i)<=n)break;i*r<0?(e=o,s=i):(t=o,r=i)}}return o}trapezoid(t,e,n){if(isNaN(t)||isNaN(e)||isNaN(n))throw new TypeError("Parameters must be numbers");const i=e-t;if(1===n){const n=this.eval(t),o=this.eval(e);this._s=.5*i*(n+o)}else{const e=1<<n-2,o=i/e;let r=t+.5*o,s=0;for(let t=0;t<e;t++)s+=this.eval(r),r+=o;this._s=.5*(this._s+i*s/e)}if(isNaN(this._s))throw new TypeError("this._s is NaN");return this._s}simpson(t,e){if(isNaN(t)||isNaN(e))throw new TypeError("Parameters must be numbers");const n=e-t;let i=.5*n*(this.eval(t)+this.eval(e)),o=i,r=4*i/3,s=r,a=i;let l=1;for(let c=2;c<=20;c++){const e=n/l;let c=t+.5*e,u=0;for(let t=1;t<=l;t++)u+=this.eval(c),c+=e;if(o=.5*(o+n*u/l),i=o,r=(4*i-a)/3,Math.abs(r-s)<1e-7*Math.abs(s))break;s=r,a=i,l<<=1}return r}romberg(t,e){if(isNaN(t)||isNaN(e))throw new TypeError("Parameters must be numbers");const n=new Array(21),i=new Array(21);let o={y:0,dy:0};i[0]=1;for(let s=1;s<=20&&(n[s-1]=this.trapezoid(t,e,s),!(s>=3&&(o=r.interpolate(i,n,3,s-3,0),Math.abs(o.dy)<=1e-6*o.y)));s++)n[s]=n[s-1],i[s]=.25*i[s-1];return o.y}zeroErrorEstimate(t){const e=this;if("undefined"===typeof t){const n=e.bounds();t=Math.max(Math.abs(n.minX),Math.abs(n.maxX))}if(t<.001)return 2*Math.abs(e.eval(1e-15));const n=e.coefs.length-1,i=e.coefs[n];return 10*1e-15*e.coefs.reduce(((e,n,o)=>{const r=n/i*Math.pow(t,o);return r>e?r:e}),0)}boundsUpperRealFujiwara(){let t=this.coefs;const e=t.length-1,n=t[e];1!==n&&(t=this.coefs.map((t=>t/n)));const i=t.map(((t,n)=>n<e?Math.pow(Math.abs(0===n?t/2:t),1/(e-n)):t));let o;const r=function(t,e,n){return o(n)&&(t.max<e?(t.nearmax=t.max,t.max=e):t.nearmax<e&&(t.nearmax=e)),t};o=function(n){return n<e&&t[n]<0};const s=i.reduce(r,{max:0,nearmax:0});o=function(n){return n<e&&(e%2===n%2?t[n]<0:t[n]>0)};return{negX:-2*i.reduce(r,{max:0,nearmax:0}).max,posX:2*s.max}}boundsLowerRealFujiwara(){const t=new r;t.coefs=this.coefs.slice().reverse();const e=t.boundsUpperRealFujiwara();return e.negX=1/e.negX,e.posX=1/e.posX,e}bounds(){const t=this.boundsUpperRealFujiwara(),e={minX:t.negX,maxX:t.posX};return 0===t.negX&&0===t.posX||(0===t.negX?e.minX=this.boundsLowerRealFujiwara().posX:0===t.posX&&(e.maxX=this.boundsLowerRealFujiwara().negX),e.minX>e.maxX&&(e.minX=e.maxX=0)),e}boundUpperAbsRouche(){const t=this.coefs,e=t.length-1;return 1+t.reduce(((t,n,i)=>i!==e&&t<(n=Math.abs(n))?n:t),0)/Math.abs(t[e])}boundLowerAbsRouche(){const t=this.coefs,e=t.reduce(((t,e,n)=>0!==n&&t<(e=Math.abs(e))?e:t),0);return Math.abs(t[0])/(Math.abs(t[0])+e)}boundsRealLaguerre(){const t=this.coefs,e=t.length-1,n=-t[e-1]/(e*t[e]),i=t[e-1]*t[e-1]-2*e/(e-1)*t[e]*t[e-2];let o=(e-1)/(e*t[e])*Math.sqrt(i);return o<0&&(o=-o),{minX:n-o,maxX:n+o}}countRootsDescartes(){const t=this.coefs,e=t.length-1,n=t.reduce(((t,e,n)=>(0!==t.prev_a&&0!==e&&(t.prev_a<0===e>0&&t.pos++,n%2===0!==t.prev_a<0===(n%2===1!==e>0)&&t.neg++),t.prev_a=e,t)),{pos:0,neg:0,prev_a:0});return{maxRealPos:n.pos,maxRealNeg:n.neg,minComplex:e-(n.pos+n.neg)}}getDegree(){return this.coefs.length-1}getDerivative(){const t=new r;for(let e=1;e<this.coefs.length;e++)t.coefs.push(e*this.coefs[e]);return t}getRoots(){let t;switch(this.simplifyEquals(),this.getDegree()){case 0:default:t=[];break;case 1:t=this.getLinearRoot();break;case 2:t=this.getQuadraticRoots();break;case 3:t=this.getCubicRoots();break;case 4:t=this.getQuarticRoots()}return t}getRootsInInterval(t,e){const n=[];function i(t){"number"===typeof t&&n.push(t)}if(0===this.getDegree())throw new RangeError("Unexpected empty polynomial");if(1===this.getDegree())i(this.bisection(t,e));else{const n=this.getDerivative().getRootsInInterval(t,e);if(n.length>0){i(this.bisection(t,n[0]));for(let t=0;t<=n.length-2;t++)i(this.bisection(n[t],n[t+1]));i(this.bisection(n[n.length-1],e))}else i(this.bisection(t,e))}return n}getLinearRoot(){const t=[],e=this.coefs[1];return 0!==e&&t.push(-this.coefs[0]/e),t}getQuadraticRoots(){const t=[];if(2===this.getDegree()){const e=this.coefs[2],n=this.coefs[1]/e,i=n*n-4*(this.coefs[0]/e);if(i>0){const e=Math.sqrt(i);t.push(.5*(-n+e)),t.push(.5*(-n-e))}else 0===i&&t.push(.5*-n)}return t}getCubicRoots(){const t=[];if(3===this.getDegree()){const e=this.coefs[3],n=this.coefs[2]/e,i=this.coefs[1]/e,o=(3*i-n*n)/3,r=(2*n*n*n-9*i*n+27*(this.coefs[0]/e))/27,s=n/3;let a=r*r/4+o*o*o/27;const l=r/2,c=this.zeroErrorEstimate();if(Math.abs(a)<=c&&(a=0),a>0){const e=Math.sqrt(a);let n,i=-l+e;n=i>=0?Math.pow(i,1/3):-Math.pow(-i,1/3),i=-l-e,i>=0?n+=Math.pow(i,1/3):n-=Math.pow(-i,1/3),t.push(n-s)}else if(a<0){const e=Math.sqrt(-o/3),n=Math.atan2(Math.sqrt(-a),-l)/3,i=Math.cos(n),r=Math.sin(n),c=Math.sqrt(3);t.push(2*e*i-s),t.push(-e*(i+c*r)-s),t.push(-e*(i-c*r)-s)}else{let e;e=l>=0?-Math.pow(l,1/3):Math.pow(-l,1/3),t.push(2*e-s),t.push(-e-s)}}return t}getQuarticRoots(){let t=[];const e=this.getDegree();if(4===e){const n=new r;n.coefs=this.coefs.slice(),n.divideEqualsScalar(n.coefs[e]);const i=1e-15;Math.abs(n.coefs[0])<10*i*Math.abs(n.coefs[3])&&(n.coefs[0]=0);const s=n.getDerivative(),a=s.getRoots().sort(((t,e)=>t-e)),l=[],c=a.length-1,u=this.bounds(),h=Math.max(Math.abs(u.minX),Math.abs(u.maxX)),d=this.zeroErrorEstimate(h);for(let t=0;t<=c;t++)l.push(n.eval(a[t]));for(let t=0;t<=c;t++)Math.abs(l[t])<d&&(l[t]=0);let f=0;const p=Math.max(.1*(u.maxX-u.minX)/e,i),y=[],v=[];if(c>-1){for(0!==l[0]?o(l[0])!==o(n.eval(a[0]-p)-l[0])&&(y.push(a[0]-p),v.push([u.minX,a[0]])):(t.push(a[0],a[0]),f++);f<c;f++)0===l[f+1]?(t.push(a[f+1],a[f+1]),f++):o(l[f])!==o(l[f+1])&&(y.push((a[f]+a[f+1])/2),v.push([a[f],a[f+1]]));0!==l[c]&&o(l[c])!==o(n.eval(a[c]+p)-l[c])&&(y.push(a[c]+p),v.push([a[c],u.maxX]))}const m=function(t){return n.eval(t)},g=function(t){return s.eval(t)};if(y.length>0)for(f=0;f<y.length;f++)y[f]=r.newtonSecantBisection(y[f],m,g,32,v[f][0],v[f][1]);t=t.concat(y)}return t}}var s=r;class a{constructor(t,e){this.type=t,this.text=e}typeis(t){return this.type===t}}a.UNDEFINED=0,a.COMMAND=1,a.NUMBER=2,a.EOD=3;var l=a;var c=class{constructor(t){null!==t&&void 0!==t||(t=""),this.setPathData(t)}setPathData(t){if("string"!==typeof t)throw new TypeError("The first parameter must be a string");this._pathData=t}getNextToken(){let t=null,e=this._pathData;for(;null===t;)if(null===e||""===e)t=new l(l.EOD,"");else if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([AaCcHhLlMmQqSsTtVvZz])/))t=new l(l.COMMAND,RegExp.$1),e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?\d+(\.\d*)?|[-+]?\.\d+)([eE][-+]?\d+)?)/))throw new SyntaxError(`Unrecognized path data: ${e}`);t=new l(l.NUMBER,RegExp.$1),e=e.substr(RegExp.$1.length)}return this._pathData=e,t}};const u="BOP";class h{constructor(){this._lexer=new c,this._handler=null}parseData(t){if("string"!==typeof t)throw new TypeError(`The first parameter must be a string: ${t}`);null!==this._handler&&"function"===typeof this._handler.beginParse&&this._handler.beginParse();const e=this._lexer;e.setPathData(t);let n=u,i=null,o=e.getNextToken();for(;!1===o.typeis(l.EOD);){let t;const r=[];switch(o.type){case l.COMMAND:if(n===u&&"M"!==o.text&&"m"!==o.text)throw new SyntaxError(`New paths must begin with a moveto command. Found '${o.text}'`);n=o.text,t=h.PARAMCOUNT[o.text.toUpperCase()],o=e.getNextToken();break;case l.NUMBER:if(n===u)throw new SyntaxError(`New paths must begin with a moveto command. Found '${o.text}'`);t=h.PARAMCOUNT[n.toUpperCase()];break;default:throw new SyntaxError(`Unrecognized command type: ${o.type}`)}for(let n=0;n<t;n++){switch(o.type){case l.COMMAND:throw new SyntaxError(`Parameter must be a number. Found '${o.text}'`);case l.NUMBER:r[n]=parseFloat(o.text);break;case l.EOD:throw new SyntaxError("Unexpected end of string");default:throw new SyntaxError(`Unrecognized parameter type. Found type '${o.type}'`)}o=e.getNextToken()}if(null!==this._handler){const t=this._handler,e=h.METHODNAME[n];"a"!==n&&"A"!==n||(r[3]=0!==r[3],r[4]=0!==r[4]),null!==t&&"function"===typeof t[e]&&t[e](...r)}switch(n){case"M":n="L";break;case"m":n="l";break;case"Z":case"z":n="BOP"}if(o===i)throw new SyntaxError(`Parser stalled on '${o.text}'`);i=o}null!==this._handler&&"function"===typeof this._handler.endParse&&this._handler.endParse()}setHandler(t){this._handler=t}}h.PARAMCOUNT={A:7,C:6,H:1,L:2,M:2,Q:4,S:4,T:2,V:1,Z:0},h.METHODNAME={A:"arcAbs",a:"arcRel",C:"curvetoCubicAbs",c:"curvetoCubicRel",H:"linetoHorizontalAbs",h:"linetoHorizontalRel",L:"linetoAbs",l:"linetoRel",M:"movetoAbs",m:"movetoRel",Q:"curvetoQuadraticAbs",q:"curvetoQuadraticRel",S:"curvetoCubicSmoothAbs",s:"curvetoCubicSmoothRel",T:"curvetoQuadraticSmoothAbs",t:"curvetoQuadraticSmoothRel",V:"linetoVerticalAbs",v:"linetoVerticalRel",Z:"closePath",z:"closePath"};var d=h;const f=2*Math.PI;function p(t,e,n,o,r,s,a){r=r*Math.PI/180;const l=Math.cos(r),c=Math.sin(r),u=t.subtract(e).multiply(.5),h=u.x*l+u.y*c,d=u.x*-c+u.y*l,p=h*h,y=d*d,v=p/((n=Math.abs(n))*n)+y/((o=Math.abs(o))*o);if(v>1){const t=Math.sqrt(v);n*=t,o*=t}const m=n*n,g=o*o,x=m*y,_=g*p;let b=(m*g-x-_)/(x+_);Math.abs(b)<1e-6&&(b=0);let w=Math.sqrt(b);s===a&&(w=-w);const E=t.add(e).multiply(.5),k=w*n*d/o,S=w*-o*h/n,P=(h-k)/n,O=(h+k)/n,T=(d-S)/o,C=(d+S)/o,M=new i.Vector2D(1,0).angleBetween(new i.Vector2D(P,T));let D=new i.Vector2D(P,T).angleBetween(new i.Vector2D(-O,-C));return!1===a&&(D-=f),[k*l-S*c+E.x,k*c+S*l+E.y,n,o,M,M+D]}var y=class{constructor(t){this.shapeCreator=t,this.shapes=[],this.firstX=null,this.firstY=null,this.lastX=null,this.lastY=null,this.lastCommand=null}beginParse(){this.shapes=[],this.firstX=null,this.firstY=null,this.lastX=null,this.lastY=null,this.lastCommand=null}addShape(t){this.shapes.push(t)}arcAbs(t,e,n,o,r,s,a){if(0===t||0===e)this.addShape(this.shapeCreator.line(this.lastX,this.lastY,s,a));else{const l=p(new i.Point2D(this.lastX,this.lastY),new i.Point2D(s,a),t,e,n,o,r);this.addShape(this.shapeCreator.arc(...l))}this.lastCommand="A",this.lastX=s,this.lastY=a}arcRel(t,e,n,o,r,s,a){if(0===t||0===e)this.addShape(this.shapeCreator.line(this.lastX,this.lastY,this.lastX+s,this.lastY+a));else{const l=p(new i.Point2D(this.lastX,this.lastY),new i.Point2D(this.lastX+s,this.lastY+a),t,e,n,o,r);this.addShape(this.shapeCreator.arc(...l))}this.lastCommand="a",this.lastX+=s,this.lastY+=a}curvetoCubicAbs(t,e,n,i,o,r){this.addShape(this.shapeCreator.cubicBezier(this.lastX,this.lastY,t,e,n,i,o,r)),this.lastX=o,this.lastY=r,this.lastCommand="C"}curvetoCubicRel(t,e,n,i,o,r){this.addShape(this.shapeCreator.cubicBezier(this.lastX,this.lastY,this.lastX+t,this.lastY+e,this.lastX+n,this.lastY+i,this.lastX+o,this.lastY+r)),this.lastX+=o,this.lastY+=r,this.lastCommand="c"}linetoHorizontalAbs(t){this.addShape(this.shapeCreator.line(this.lastX,this.lastY,t,this.lastY)),this.lastX=t,this.lastCommand="H"}linetoHorizontalRel(t){this.addShape(this.shapeCreator.line(this.lastX,this.lastY,this.lastX+t,this.lastY)),this.lastX+=t,this.lastCommand="h"}linetoAbs(t,e){this.addShape(this.shapeCreator.line(this.lastX,this.lastY,t,e)),this.lastX=t,this.lastY=e,this.lastCommand="L"}linetoRel(t,e){this.addShape(this.shapeCreator.line(this.lastX,this.lastY,this.lastX+t,this.lastY+e)),this.lastX+=t,this.lastY+=e,this.lastCommand="l"}movetoAbs(t,e){this.firstX=t,this.firstY=e,this.lastX=t,this.lastY=e,this.lastCommand="M"}movetoRel(t,e){this.firstX+=t,this.firstY+=e,this.lastX+=t,this.lastY+=e,this.lastCommand="m"}curvetoQuadraticAbs(t,e,n,i){this.addShape(this.shapeCreator.quadraticBezier(this.lastX,this.lastY,t,e,n,i)),this.lastX=n,this.lastY=i,this.lastCommand="Q"}curvetoQuadraticRel(t,e,n,i){this.addShape(this.shapeCreator.quadraticBezier(this.lastX,this.lastY,this.lastX+t,this.lastY+e,this.lastX+n,this.lastY+i)),this.lastX+=n,this.lastY+=i,this.lastCommand="q"}curvetoCubicSmoothAbs(t,e,n,i){let o,r;if(this.lastCommand.match(/^[SsCc]$/)){const t=this.shapes[this.shapes.length-1].args[2];o=2*this.lastX-t.x,r=2*this.lastY-t.y}else o=this.lastX,r=this.lastY;this.addShape(this.shapeCreator.cubicBezier(this.lastX,this.lastY,o,r,t,e,n,i)),this.lastX=n,this.lastY=i,this.lastCommand="S"}curvetoCubicSmoothRel(t,e,n,i){let o,r;if(this.lastCommand.match(/^[SsCc]$/)){const t=this.shapes[this.shapes.length-1].args[2];o=2*this.lastX-t.x,r=2*this.lastY-t.y}else o=this.lastX,r=this.lastY;this.addShape(this.shapeCreator.cubicBezier(this.lastX,this.lastY,o,r,this.lastX+t,this.lastY+e,this.lastX+n,this.lastY+i)),this.lastX+=n,this.lastY+=i,this.lastCommand="s"}curvetoQuadraticSmoothAbs(t,e){let n,i;if(this.lastCommand.match(/^[QqTt]$/)){const t=this.shapes[this.shapes.length-1].args[1];n=2*this.lastX-t.x,i=2*this.lastY-t.y}else n=this.lastX,i=this.lastY;this.addShape(this.shapeCreator.quadraticBezier(this.lastX,this.lastY,n,i,t,e)),this.lastX=t,this.lastY=e,this.lastCommand="T"}curvetoQuadraticSmoothRel(t,e){let n,i;if(this.lastCommand.match(/^[QqTt]$/)){const t=this.shapes[this.shapes.length-1].args[1];n=2*this.lastX-t.x,i=2*this.lastY-t.y}else n=this.lastX,i=this.lastY;this.addShape(this.shapeCreator.quadraticBezier(this.lastX,this.lastY,n,i,this.lastX+t,this.lastY+e)),this.lastX+=t,this.lastY+=e,this.lastCommand="t"}linetoVerticalAbs(t){this.addShape(this.shapeCreator.line(this.lastX,this.lastY,this.lastX,t)),this.lastY=t,this.lastCommand="V"}linetoVerticalRel(t){this.addShape(this.shapeCreator.line(this.lastX,this.lastY,this.lastX,this.lastY+t)),this.lastY+=t,this.lastCommand="v"}closePath(){this.addShape(this.shapeCreator.line(this.lastX,this.lastY,this.firstX,this.firstY)),this.lastX=this.firstX,this.lastY=this.firstY,this.lastCommand="z"}};const v=.5*Math.PI,m=new d;function g(t,e){const n=[];for(const[i,o]of t){let t=null;if("Point2D"===o)t=_(i,e);else if("Number"===o)t=x(i,e);else if("Array<Point2D>"===o||"Point2D[]"===o){const n=[];for(;e.length>0;)n.push(_(i,e));n.length>0&&(t=n)}else{if("Optional<Number>"!==o&&"Number?"!==o)throw new TypeError(`Unrecognized value type: ${o}`);t=x(i,e),null===t&&(t=void 0)}if(null===t)throw new TypeError(`Unable to extract value for ${i}`);n.push(t)}return n}function x(t,e){let n=null;if(e.length>0){const i=e[0],o=typeof i;if("number"===o)return e.shift();if("object"===o)for(const e of t)if(e in i&&"number"===typeof i[e]){n=i[e];break}}return n}function _(t,e){let n=null;if(e.length>0){const o=e[0],r=typeof o;if("number"===r){if(e.length>1){const t=e.shift(),o=e.shift();n=new i.Point2D(t,o)}}else if(Array.isArray(o)&&o.length>1){if(2!==o.length)throw new TypeError(`Unhandled array of length ${o.length}`);{const[t,o]=e.shift();n=new i.Point2D(t,o)}}else if("object"===r)if("x"in o&&"y"in o)n=new i.Point2D(o.x,o.y),e.shift();else for(const e of t)if(Array.isArray(e)){if(e.every((t=>t in o))){n=new i.Point2D(o[e[0]],o[e[1]]);break}}else if(e in o){n=_([],[o[e]]);break}}return n}class b{constructor(t,e){this.name=t,this.args=e}static arc(...t){const e=g([[["center",["centerX","centerY"],["cx","cy"]],"Point2D"],[["radiusX","rx"],"Number"],[["radiusY","ry"],"Number"],[["startRadians"],"Number"],[["endRadians"],"Number"]],t);return new b(b.ARC,e)}static quadraticBezier(...t){const e=g([[["p1",["p1x","p1y"]],"Point2D"],[["p2",["p2x","p2y"]],"Point2D"],[["p3",["p3x","p3y"]],"Point2D"]],t);return new b(b.QUADRATIC_BEZIER,e)}static cubicBezier(...t){const e=g([[["p1",["p1x","p1y"]],"Point2D"],[["p2",["p2x","p2y"]],"Point2D"],[["p3",["p3x","p3y"]],"Point2D"],[["p4",["p4x","p4y"]],"Point2D"]],t);return new b(b.CUBIC_BEZIER,e)}static circle(...t){const e=g([[["center",["centerX","centerY"],["cx","cy"]],"Point2D"],[["radius","r"],"Number"]],t);return new b(b.CIRCLE,e)}static ellipse(...t){const e=g([[["center",["centerX","centerY"],["cx","cy"]],"Point2D"],[["radiusX","rx"],"Number"],[["radiusY","ry"],"Number"]],t);return new b(b.ELLIPSE,e)}static line(...t){const e=g([[["p1",["p1x","p1y"],["x1","y1"]],"Point2D"],[["p2",["p2x","p2y"],["x2","y2"]],"Point2D"]],t);return new b(b.LINE,e)}static path(...t){return m.parseData(t[0]),new b(b.PATH,w.shapes)}static polygon(...t){const e=g([[[],"Array<Point2D>"]],1===t.length&&Array.isArray(t[0])?t[0]:t);return new b(b.POLYGON,e)}static polyline(...t){const e=g([[[],"Array<Point2D>"]],1===t.length&&Array.isArray(t[0])?t[0]:t);return new b(b.POLYLINE,e)}static rectangle(...t){const e=g([[["topLeft",["x","y"],["left","top"]],"Point2D"],[["size",["width","height"],["w","h"]],"Point2D"],[["radiusX","rx"],"Optional<Number>"],[["radiusY","ry"],"Optional<Number>"]],t),n=e[0],o=e[1];e[1]=new i.Point2D(n.x+o.x,n.y+o.y);const r=new b(b.RECTANGLE,e);let s=r.args.pop(),a=r.args.pop();if(a=void 0===a?0:a,s=void 0===s?0:s,0===a&&0===s)return r;const{x:l,y:c}=r.args[0],{x:u,y:h}=r.args[1],d=u-l,f=h-c;0===a&&(a=s),0===s&&(s=a),a>.5*d&&(a=.5*d),s>.5*f&&(s=.5*f);const p=l,y=c,m=l+a,x=c+s,_=u-a,w=h-s,E=u,k=h,S=[b.arc(m,x,a,s,2*v,3*v),b.line(m,y,_,y),b.arc(_,x,a,s,3*v,4*v),b.line(E,x,E,w),b.arc(_,w,a,s,0,v),b.line(_,k,m,k),b.arc(m,w,a,s,v,2*v),b.line(p,w,p,x)];return new b(b.PATH,S)}}b.ARC="Arc",b.QUADRATIC_BEZIER="Bezier2",b.CUBIC_BEZIER="Bezier3",b.CIRCLE="Circle",b.ELLIPSE="Ellipse",b.LINE="Line",b.PATH="Path",b.POLYGON="Polygon",b.POLYLINE="Polyline",b.RECTANGLE="Rectangle";const w=new y(b);m.setHandler(w);const E=2*Math.PI,k=new i.Vector2D(1,0);function S(t){return null===t||void 0===t}function P(t){const e=t%E;return e<0?e+E:e}function O(t){const e=t.slice();return e.push(t[0]),e}class T{constructor(t){this.init(t)}init(t){this.status=t,this.points=[]}static intersect(t,e){let n;if(S(t)||S(e))n=new T("No Intersection");else if("Path"===t.name)n=T.intersectPathShape(t,e);else if("Path"===e.name)n=T.intersectPathShape(e,t);else if("Arc"===t.name)n=T.intersectArcShape(t,e);else if("Arc"===e.name)n=T.intersectArcShape(e,t);else{let i,o;if(t.name<e.name?(i="intersect"+t.name+e.name,o=t.args.concat(e.args)):(i="intersect"+e.name+t.name,o=e.args.concat(t.args)),!(i in T))throw new TypeError("Intersection not available: "+i);n=T[i].apply(null,o)}return n}static intersectPathShape(t,e){const n=new T("No Intersection");for(const i of t.args){const t=T.intersect(i,e);n.appendPoints(t.points)}return n.points.length>0&&(n.status="Intersection"),n}static intersectArcShape(t,e){const[n,o,r,s,a]=t.args,l=new b(b.ELLIPSE,[n,o,r]);return function(t,e,n,o,r,s){if(0===t.points.length)return t;const a=new T("No Intersection");s<r&&([r,s]=[s,r]),(r<0||s<0)&&(r+=E,s+=E);for(const l of t.points){let t=P(k.angleBetween(i.Vector2D.fromPoints(e,l)));t<r&&(t+=E),r<=t&&t<=s&&a.appendPoint(l)}return a.points.length>0&&(a.status="Intersection"),a}(T.intersect(l,e),n,0,0,s,a)}static intersectBezier2Bezier2(t,e,n,o,r,a){let l,c;const u=new T("No Intersection");l=e.multiply(-2);const h=t.add(l.add(n));l=t.multiply(-2),c=e.multiply(2);const d=l.add(c),f=new i.Point2D(t.x,t.y);l=r.multiply(-2);const p=o.add(l.add(a));l=o.multiply(-2),c=r.multiply(2);const y=l.add(c),v=new i.Point2D(o.x,o.y);l=h.x*d.y-d.x*h.y,c=p.x*d.y-d.x*p.y;const m=y.x*d.y-d.x*y.y,g=d.x*(f.y-v.y)+d.y*(-f.x+v.x),x=p.x*h.y-h.x*p.y,_=y.x*h.y-h.x*y.y,b=h.x*(f.y-v.y)+h.y*(-f.x+v.x),w=new s(-x*x,-2*x*_,l*c-_*_-2*x*b,l*m-2*_*b,l*g-b*b).getRoots();for(const i of w)if(0<=i&&i<=1){const t=new s(h.x,d.x,f.x-v.x-i*y.x-i*i*p.x);t.simplifyEquals();const e=t.getRoots(),n=new s(h.y,d.y,f.y-v.y-i*y.y-i*i*p.y);n.simplifyEquals();const o=n.getRoots();if(e.length>0&&o.length>0){const t=1e-4;t:for(const n of e)if(0<=n&&n<=1)for(let e=0;e<o.length;e++)if(Math.abs(n-o[e])<t){u.points.push(p.multiply(i*i).add(y.multiply(i).add(v)));break t}}}return u.points.length>0&&(u.status="Intersection"),u}static intersectBezier2Bezier3(t,e,n,o,r,a,l){let c,u,h,d;const f=new T("No Intersection");c=e.multiply(-2);const p=t.add(c.add(n));c=t.multiply(-2),u=e.multiply(2);const y=c.add(u),v=new i.Point2D(t.x,t.y);c=o.multiply(-1),u=r.multiply(3),h=a.multiply(-3),d=c.add(u.add(h.add(l)));const m=new i.Point2D(d.x,d.y);c=o.multiply(3),u=r.multiply(-6),h=a.multiply(3),d=c.add(u.add(h));const g=new i.Point2D(d.x,d.y);c=o.multiply(-3),u=r.multiply(3),h=c.add(u);const x=new i.Point2D(h.x,h.y),_=new i.Point2D(o.x,o.y),b=v.x*v.x,w=v.y*v.y,E=y.x*y.x,k=y.y*y.y,S=p.x*p.x,P=p.y*p.y,O=_.x*_.x,C=_.y*_.y,M=x.x*x.x,D=x.y*x.y,N=g.x*g.x,A=g.y*g.y,R=m.x*m.x,j=m.y*m.y,L=new s(-2*p.x*p.y*m.x*m.y+S*j+P*R,-2*p.x*p.y*g.x*m.y-2*p.x*p.y*g.y*m.x+2*P*g.x*m.x+2*S*g.y*m.y,-2*p.x*x.x*p.y*m.y-2*p.x*p.y*x.y*m.x-2*p.x*p.y*g.x*g.y+2*x.x*P*m.x+P*N+S*(2*x.y*m.y+A),2*v.x*p.x*p.y*m.y+2*v.y*p.x*p.y*m.x+y.x*y.y*p.x*m.y+y.x*y.y*p.y*m.x-2*_.x*p.x*p.y*m.y-2*p.x*_.y*p.y*m.x-2*p.x*x.x*p.y*g.y-2*p.x*p.y*x.y*g.x-2*v.x*P*m.x-2*v.y*S*m.y+2*_.x*P*m.x+2*x.x*P*g.x-k*p.x*m.x-E*p.y*m.y+S*(2*_.y*m.y+2*x.y*g.y),2*v.x*p.x*p.y*g.y+2*v.y*p.x*p.y*g.x+y.x*y.y*p.x*g.y+y.x*y.y*p.y*g.x-2*_.x*p.x*p.y*g.y-2*p.x*_.y*p.y*g.x-2*p.x*x.x*p.y*x.y-2*v.x*P*g.x-2*v.y*S*g.y+2*_.x*P*g.x-k*p.x*g.x-E*p.y*g.y+M*P+S*(2*_.y*g.y+D),2*v.x*p.x*p.y*x.y+2*v.y*p.x*x.x*p.y+y.x*y.y*p.x*x.y+y.x*y.y*x.x*p.y-2*_.x*p.x*p.y*x.y-2*p.x*_.y*x.x*p.y-2*v.x*x.x*P-2*v.y*S*x.y+2*_.x*x.x*P-k*p.x*x.x-E*p.y*x.y+2*S*_.y*x.y,-2*v.x*v.y*p.x*p.y-v.x*y.x*y.y*p.y-v.y*y.x*y.y*p.x+2*v.x*p.x*_.y*p.y+2*v.y*_.x*p.x*p.y+y.x*_.x*y.y*p.y+y.x*y.y*p.x*_.y-2*_.x*p.x*_.y*p.y-2*v.x*_.x*P+v.x*k*p.x+v.y*E*p.y-2*v.y*S*_.y-_.x*k*p.x-E*_.y*p.y+b*P+w*S+O*P+S*C).getRootsInInterval(0,1);for(const i of L){const t=new s(p.x,y.x,v.x-_.x-i*x.x-i*i*g.x-i*i*i*m.x).getRoots(),e=new s(p.y,y.y,v.y-_.y-i*x.y-i*i*g.y-i*i*i*m.y).getRoots();if(t.length>0&&e.length>0){const n=1e-4;t:for(const o of t)if(0<=o&&o<=1)for(let t=0;t<e.length;t++)if(Math.abs(o-e[t])<n){f.points.push(m.multiply(i*i*i).add(g.multiply(i*i).add(x.multiply(i).add(_))));break t}}}return f.points.length>0&&(f.status="Intersection"),f}static intersectBezier2Circle(t,e,n,i,o){return T.intersectBezier2Ellipse(t,e,n,i,o,o)}static intersectBezier2Ellipse(t,e,n,o,r,a){let l;const c=new T("No Intersection");l=e.multiply(-2);const u=t.add(l.add(n));l=t.multiply(-2);const h=e.multiply(2),d=l.add(h),f=new i.Point2D(t.x,t.y),p=r*r,y=a*a,v=new s(y*u.x*u.x+p*u.y*u.y,2*(y*u.x*d.x+p*u.y*d.y),y*(2*u.x*f.x+d.x*d.x)+p*(2*u.y*f.y+d.y*d.y)-2*(y*o.x*u.x+p*o.y*u.y),2*(y*d.x*(f.x-o.x)+p*d.y*(f.y-o.y)),y*(f.x*f.x+o.x*o.x)+p*(f.y*f.y+o.y*o.y)-2*(y*o.x*f.x+p*o.y*f.y)-p*y).getRoots();for(const i of v)0<=i&&i<=1&&c.points.push(u.multiply(i*i).add(d.multiply(i).add(f)));return c.points.length>0&&(c.status="Intersection"),c}static intersectBezier2Line(t,e,n,o,r){let a;const l=o.min(r),c=o.max(r),u=new T("No Intersection");a=e.multiply(-2);const h=t.add(a.add(n));a=t.multiply(-2);const d=e.multiply(2),f=a.add(d),p=new i.Point2D(t.x,t.y),y=new i.Vector2D(o.y-r.y,r.x-o.x),v=o.x*r.y-r.x*o.y,m=new s(y.dot(h),y.dot(f),y.dot(p)+v).getRoots();for(const i of m)if(0<=i&&i<=1){const s=t.lerp(e,i),a=e.lerp(n,i),h=s.lerp(a,i);o.x===r.x?l.y<=h.y&&h.y<=c.y&&(u.status="Intersection",u.appendPoint(h)):o.y===r.y?l.x<=h.x&&h.x<=c.x&&(u.status="Intersection",u.appendPoint(h)):l.x<=h.x&&h.x<=c.x&&l.y<=h.y&&h.y<=c.y&&(u.status="Intersection",u.appendPoint(h))}return u}static intersectBezier2Polygon(t,e,n,i){return T.intersectBezier2Polyline(t,e,n,O(i))}static intersectBezier2Polyline(t,e,n,i){const o=new T("No Intersection"),{length:r}=i;for(let s=0;s<r-1;s++){const r=i[s],a=i[s+1],l=T.intersectBezier2Line(t,e,n,r,a);o.appendPoints(l.points)}return o.points.length>0&&(o.status="Intersection"),o}static intersectBezier2Rectangle(t,e,n,o,r){const s=o.min(r),a=o.max(r),l=new i.Point2D(a.x,s.y),c=new i.Point2D(s.x,a.y),u=T.intersectBezier2Line(t,e,n,s,l),h=T.intersectBezier2Line(t,e,n,l,a),d=T.intersectBezier2Line(t,e,n,a,c),f=T.intersectBezier2Line(t,e,n,c,s),p=new T("No Intersection");return p.appendPoints(u.points),p.appendPoints(h.points),p.appendPoints(d.points),p.appendPoints(f.points),p.points.length>0&&(p.status="Intersection"),p}static intersectBezier3Bezier3(t,e,n,o,r,a,l,c){let u,h,d,f;const p=new T("No Intersection");u=t.multiply(-1),h=e.multiply(3),d=n.multiply(-3),f=u.add(h.add(d.add(o)));const y=new i.Point2D(f.x,f.y);u=t.multiply(3),h=e.multiply(-6),d=n.multiply(3),f=u.add(h.add(d));const v=new i.Point2D(f.x,f.y);u=t.multiply(-3),h=e.multiply(3),d=u.add(h);const m=new i.Point2D(d.x,d.y),g=new i.Point2D(t.x,t.y);u=r.multiply(-1),h=a.multiply(3),d=l.multiply(-3),f=u.add(h.add(d.add(c)));const x=new i.Point2D(f.x,f.y);u=r.multiply(3),h=a.multiply(-6),d=l.multiply(3),f=u.add(h.add(d));const _=new i.Point2D(f.x,f.y);u=r.multiply(-3),h=a.multiply(3),d=u.add(h);const b=new i.Point2D(d.x,d.y),w=new i.Point2D(r.x,r.y);u=y.x*v.y-v.x*y.y,h=y.x*m.y-m.x*y.y;const E=y.x*g.y-g.x*y.y+w.x*y.y-y.x*w.y,k=b.x*y.y-y.x*b.y,S=_.x*y.y-y.x*_.y,P=x.x*y.y-y.x*x.y;f=y.x*m.y-m.x*y.y;const O=y.x*g.y+v.x*m.y-m.x*v.y-g.x*y.y+w.x*y.y-y.x*w.y,C=b.x*y.y-y.x*b.y,M=_.x*y.y-y.x*_.y,D=x.x*y.y-y.x*x.y,N=v.x*g.y-g.x*v.y+w.x*v.y-v.x*w.y,A=b.x*v.y-v.x*b.y,R=_.x*v.y-v.x*_.y,j=x.x*v.y-v.x*x.y,L=y.x*g.y-g.x*y.y+w.x*y.y-y.x*w.y,I=b.x*y.y-y.x*b.y,z=_.x*y.y-y.x*_.y,B=x.x*y.y-y.x*x.y,X=v.x*g.y-g.x*v.y+w.x*v.y-v.x*w.y,H=b.x*v.y-v.x*b.y,Y=_.x*v.y-v.x*_.y,$=x.x*v.y-v.x*x.y,V=m.x*g.y-g.x*m.y+w.x*m.y-m.x*w.y,G=b.x*m.y-m.x*b.y,U=_.x*m.y-m.x*_.y,W=x.x*m.y-m.x*x.y,q=new s(-P*D*B,-P*D*z-P*M*B-S*D*B,-P*D*I-P*M*z-S*D*z-P*C*B-S*M*B-k*D*B,-P*D*L-P*M*I-S*D*I-P*C*z-S*M*z-k*D*z-P*O*B-S*C*B-k*M*B-E*D*B+h*j*B+P*f*$-u*j*$+u*D*W,-P*M*L-S*D*L-P*C*I-S*M*I-k*D*I-P*O*z-S*C*z-k*M*z-E*D*z+h*j*z-S*O*B-k*C*B-E*M*B+h*R*B+P*f*Y-u*j*Y+S*f*$-u*R*$+u*D*U+u*M*W,-P*C*L-S*M*L-k*D*L-P*O*I-S*C*I-k*M*I-E*D*I+h*j*I-S*O*z-k*C*z-E*M*z+h*R*z-k*O*B-E*C*B+h*A*B+P*f*H-u*j*H+S*f*Y-u*R*Y+k*f*$-u*A*$+u*D*G+u*M*U+u*C*W,-P*O*L-S*C*L-k*M*L-E*D*L+h*j*L-S*O*I-k*C*I-E*M*I+h*R*I-k*O*z-E*C*z+h*A*z-E*O*B+h*N*B+P*f*X-u*j*X+S*f*H-u*R*H+k*f*Y-u*A*Y+E*f*$-u*N*$+u*D*V+u*M*G+u*C*U-h*f*W+u*O*W,-S*O*L-k*C*L-E*M*L+h*R*L-k*O*I-E*C*I+h*A*I-E*O*z+h*N*z+S*f*X-u*R*X+k*f*H-u*A*H+E*f*Y-u*N*Y+u*M*V+u*C*G-h*f*U+u*O*U,-k*O*L-E*C*L+h*A*L-E*O*I+h*N*I+k*f*X-u*A*X+E*f*H-u*N*H+u*C*V-h*f*G+u*O*G,-E*O*L+h*N*L+E*f*X-u*N*X-h*f*V+u*O*V);q.simplifyEquals();const F=q.getRootsInInterval(0,1);for(const i of F){const t=new s(y.x,v.x,m.x,g.x-w.x-i*b.x-i*i*_.x-i*i*i*x.x);t.simplifyEquals();const e=t.getRoots(),n=new s(y.y,v.y,m.y,g.y-w.y-i*b.y-i*i*_.y-i*i*i*x.y);n.simplifyEquals();const o=n.getRoots();if(e.length>0&&o.length>0){const t=1e-4;t:for(const n of e)if(0<=n&&n<=1)for(let e=0;e<o.length;e++)if(Math.abs(n-o[e])<t){p.points.push(x.multiply(i*i*i).add(_.multiply(i*i).add(b.multiply(i).add(w))));break t}}}return p.points.length>0&&(p.status="Intersection"),p}static intersectBezier3Circle(t,e,n,i,o,r){return T.intersectBezier3Ellipse(t,e,n,i,o,r,r)}static intersectBezier3Ellipse(t,e,n,o,r,a,l){let c,u,h,d;const f=new T("No Intersection");c=t.multiply(-1),u=e.multiply(3),h=n.multiply(-3),d=c.add(u.add(h.add(o)));const p=new i.Point2D(d.x,d.y);c=t.multiply(3),u=e.multiply(-6),h=n.multiply(3),d=c.add(u.add(h));const y=new i.Point2D(d.x,d.y);c=t.multiply(-3),u=e.multiply(3),h=c.add(u);const v=new i.Point2D(h.x,h.y),m=new i.Point2D(t.x,t.y),g=a*a,x=l*l,_=new s(p.x*p.x*x+p.y*p.y*g,2*(p.x*y.x*x+p.y*y.y*g),2*(p.x*v.x*x+p.y*v.y*g)+y.x*y.x*x+y.y*y.y*g,2*p.x*x*(m.x-r.x)+2*p.y*g*(m.y-r.y)+2*(y.x*v.x*x+y.y*v.y*g),2*y.x*x*(m.x-r.x)+2*y.y*g*(m.y-r.y)+v.x*v.x*x+v.y*v.y*g,2*v.x*x*(m.x-r.x)+2*v.y*g*(m.y-r.y),m.x*m.x*x-2*m.y*r.y*g-2*m.x*r.x*x+m.y*m.y*g+r.x*r.x*x+r.y*r.y*g-g*x).getRootsInInterval(0,1);for(const i of _)f.points.push(p.multiply(i*i*i).add(y.multiply(i*i).add(v.multiply(i).add(m))));return f.points.length>0&&(f.status="Intersection"),f}static intersectBezier3Line(t,e,n,o,r,a){let l,c,u,h;const d=r.min(a),f=r.max(a),p=new T("No Intersection");l=t.multiply(-1),c=e.multiply(3),u=n.multiply(-3),h=l.add(c.add(u.add(o)));const y=new i.Vector2D(h.x,h.y);l=t.multiply(3),c=e.multiply(-6),u=n.multiply(3),h=l.add(c.add(u));const v=new i.Vector2D(h.x,h.y);l=t.multiply(-3),c=e.multiply(3),u=l.add(c);const m=new i.Vector2D(u.x,u.y),g=new i.Vector2D(t.x,t.y),x=new i.Vector2D(r.y-a.y,a.x-r.x),_=r.x*a.y-a.x*r.y,b=new s(x.dot(y),x.dot(v),x.dot(m),x.dot(g)+_).getRoots();for(const i of b)if(0<=i&&i<=1){const s=t.lerp(e,i),l=e.lerp(n,i),c=n.lerp(o,i),u=s.lerp(l,i),h=l.lerp(c,i),y=u.lerp(h,i);r.x===a.x?d.y<=y.y&&y.y<=f.y&&(p.status="Intersection",p.appendPoint(y)):r.y===a.y?d.x<=y.x&&y.x<=f.x&&(p.status="Intersection",p.appendPoint(y)):d.x<=y.x&&y.x<=f.x&&d.y<=y.y&&y.y<=f.y&&(p.status="Intersection",p.appendPoint(y))}return p}static intersectBezier3Polygon(t,e,n,i,o){return T.intersectBezier3Polyline(t,e,n,i,O(o))}static intersectBezier3Polyline(t,e,n,i,o){const r=new T("No Intersection"),{length:s}=o;for(let a=0;a<s-1;a++){const s=o[a],l=o[a+1],c=T.intersectBezier3Line(t,e,n,i,s,l);r.appendPoints(c.points)}return r.points.length>0&&(r.status="Intersection"),r}static intersectBezier3Rectangle(t,e,n,o,r,s){const a=r.min(s),l=r.max(s),c=new i.Point2D(l.x,a.y),u=new i.Point2D(a.x,l.y),h=T.intersectBezier3Line(t,e,n,o,a,c),d=T.intersectBezier3Line(t,e,n,o,c,l),f=T.intersectBezier3Line(t,e,n,o,l,u),p=T.intersectBezier3Line(t,e,n,o,u,a),y=new T("No Intersection");return y.appendPoints(h.points),y.appendPoints(d.points),y.appendPoints(f.points),y.appendPoints(p.points),y.points.length>0&&(y.status="Intersection"),y}static intersectCircleCircle(t,e,n,o){let r;const s=e+o,a=Math.abs(e-o),l=t.distanceFrom(n);if(l>s)r=new T("Outside");else if(l<a)r=new T("Inside");else{r=new T("Intersection");const s=(e*e-o*o+l*l)/(2*l),a=Math.sqrt(e*e-s*s),c=t.lerp(n,s/l),u=a/l;r.points.push(new i.Point2D(c.x-u*(n.y-t.y),c.y+u*(n.x-t.x))),r.points.push(new i.Point2D(c.x+u*(n.y-t.y),c.y-u*(n.x-t.x)))}return r}static intersectCircleEllipse(t,e,n,i,o){return T.intersectEllipseEllipse(t,e,e,n,i,o)}static intersectCircleLine(t,e,n,i){let o;const r=(i.x-n.x)*(i.x-n.x)+(i.y-n.y)*(i.y-n.y),s=2*((i.x-n.x)*(n.x-t.x)+(i.y-n.y)*(n.y-t.y)),a=s*s-4*r*(t.x*t.x+t.y*t.y+n.x*n.x+n.y*n.y-2*(t.x*n.x+t.y*n.y)-e*e);if(a<0)o=new T("Outside");else if(0===a)o=new T("Tangent");else{const t=Math.sqrt(a),e=(-s+t)/(2*r),l=(-s-t)/(2*r);(e<0||e>1)&&(l<0||l>1)?o=new T(e<0&&l<0||e>1&&l>1?"Outside":"Inside"):(o=new T("Intersection"),0<=e&&e<=1&&o.points.push(n.lerp(i,e)),0<=l&&l<=1&&o.points.push(n.lerp(i,l)))}return o}static intersectCirclePolygon(t,e,n){return T.intersectCirclePolyline(t,e,O(n))}static intersectCirclePolyline(t,e,n){const i=new T("No Intersection"),{length:o}=n;let r;for(let s=0;s<o-1;s++){const o=n[s],a=n[s+1];r=T.intersectCircleLine(t,e,o,a),i.appendPoints(r.points)}return i.points.length>0?i.status="Intersection":i.status=r.status,i}static intersectCircleRectangle(t,e,n,o){const r=n.min(o),s=n.max(o),a=new i.Point2D(s.x,r.y),l=new i.Point2D(r.x,s.y),c=T.intersectCircleLine(t,e,r,a),u=T.intersectCircleLine(t,e,a,s),h=T.intersectCircleLine(t,e,s,l),d=T.intersectCircleLine(t,e,l,r),f=new T("No Intersection");return f.appendPoints(c.points),f.appendPoints(u.points),f.appendPoints(h.points),f.appendPoints(d.points),f.points.length>0?f.status="Intersection":f.status=c.status,f}static intersectEllipseEllipse(t,e,n,o,r,a){const l=[n*n,0,e*e,-2*n*n*t.x,-2*e*e*t.y,n*n*t.x*t.x+e*e*t.y*t.y-e*e*n*n],c=[a*a,0,r*r,-2*a*a*o.x,-2*r*r*o.y,a*a*o.x*o.x+r*r*o.y*o.y-r*r*a*a],u=function(t,e){const n=t[0]*e[1]-e[0]*t[1],i=t[0]*e[2]-e[0]*t[2],o=t[0]*e[3]-e[0]*t[3],r=t[0]*e[4]-e[0]*t[4],a=t[0]*e[5]-e[0]*t[5],l=t[1]*e[2]-e[1]*t[2],c=t[1]*e[4]-e[1]*t[4],u=t[1]*e[5]-e[1]*t[5],h=t[2]*e[3]-e[2]*t[3],d=t[3]*e[4]-e[3]*t[4],f=t[3]*e[5]-e[3]*t[5],p=u+d,y=c-h;return new s(n*l-i*i,n*y+o*l-2*i*r,n*p+o*y-r*r-2*i*a,n*f+o*p-2*r*a,o*f-a*a)}(l,c).getRoots(),h=.001*(l[0]*l[0]+2*l[1]*l[1]+l[2]*l[2]),d=.001*(c[0]*c[0]+2*c[1]*c[1]+c[2]*c[2]),f=new T("No Intersection");for(let p=0;p<u.length;p++){const t=new s(l[0],l[3]+u[p]*l[1],l[5]+u[p]*(l[4]+u[p]*l[2])).getRoots();for(let e=0;e<t.length;e++){let n=(l[0]*t[e]+l[1]*u[p]+l[3])*t[e]+(l[2]*u[p]+l[4])*u[p]+l[5];Math.abs(n)<h&&(n=(c[0]*t[e]+c[1]*u[p]+c[3])*t[e]+(c[2]*u[p]+c[4])*u[p]+c[5],Math.abs(n)<d&&f.appendPoint(new i.Point2D(t[e],u[p])))}}return f.points.length>0&&(f.status="Intersection"),f}static intersectEllipseLine(t,e,n,o,r){let s;const a=new i.Vector2D(o.x,o.y),l=i.Vector2D.fromPoints(o,r),c=new i.Vector2D(t.x,t.y),u=a.subtract(c),h=new i.Vector2D(l.x/(e*e),l.y/(n*n)),d=new i.Vector2D(u.x/(e*e),u.y/(n*n)),f=l.dot(h),p=l.dot(d),y=p*p-f*(t=u.dot(d)-1);if(y<0)s=new T("Outside");else if(y>0){const t=Math.sqrt(y),e=(-p-t)/f,n=(-p+t)/f;(e<0||1<e)&&(n<0||1<n)?s=new T(e<0&&n<0||e>1&&n>1?"Outside":"Inside"):(s=new T("Intersection"),0<=e&&e<=1&&s.appendPoint(o.lerp(r,e)),0<=n&&n<=1&&s.appendPoint(o.lerp(r,n)))}else{const t=-p/f;0<=t&&t<=1?(s=new T("Intersection"),s.appendPoint(o.lerp(r,t))):s=new T("Outside")}return s}static intersectEllipsePolygon(t,e,n,i){return T.intersectEllipsePolyline(t,e,n,O(i))}static intersectEllipsePolyline(t,e,n,i){const o=new T("No Intersection"),{length:r}=i;for(let s=0;s<r-1;s++){const r=i[s],a=i[s+1],l=T.intersectEllipseLine(t,e,n,r,a);o.appendPoints(l.points)}return o.points.length>0&&(o.status="Intersection"),o}static intersectEllipseRectangle(t,e,n,o,r){const s=o.min(r),a=o.max(r),l=new i.Point2D(a.x,s.y),c=new i.Point2D(s.x,a.y),u=T.intersectEllipseLine(t,e,n,s,l),h=T.intersectEllipseLine(t,e,n,l,a),d=T.intersectEllipseLine(t,e,n,a,c),f=T.intersectEllipseLine(t,e,n,c,s),p=new T("No Intersection");return p.appendPoints(u.points),p.appendPoints(h.points),p.appendPoints(d.points),p.appendPoints(f.points),p.points.length>0&&(p.status="Intersection"),p}static intersectLineLine(t,e,n,o){let r;const s=(o.x-n.x)*(t.y-n.y)-(o.y-n.y)*(t.x-n.x),a=(e.x-t.x)*(t.y-n.y)-(e.y-t.y)*(t.x-n.x),l=(o.y-n.y)*(e.x-t.x)-(o.x-n.x)*(e.y-t.y);if(0!==l){const n=s/l,o=a/l;0<=n&&n<=1&&0<=o&&o<=1?(r=new T("Intersection"),r.points.push(new i.Point2D(t.x+n*(e.x-t.x),t.y+n*(e.y-t.y)))):r=new T("No Intersection")}else r=new T(0===s||0===a?"Coincident":"Parallel");return r}static intersectLinePolygon(t,e,n){return T.intersectLinePolyline(t,e,O(n))}static intersectLinePolyline(t,e,n){const i=new T("No Intersection"),{length:o}=n;for(let r=0;r<o-1;r++){const o=n[r],s=n[r+1],a=T.intersectLineLine(t,e,o,s);i.appendPoints(a.points)}return i.points.length>0&&(i.status="Intersection"),i}static intersectLineRectangle(t,e,n,o){const r=n.min(o),s=n.max(o),a=new i.Point2D(s.x,r.y),l=new i.Point2D(r.x,s.y),c=T.intersectLineLine(r,a,t,e),u=T.intersectLineLine(a,s,t,e),h=T.intersectLineLine(s,l,t,e),d=T.intersectLineLine(l,r,t,e),f=new T("No Intersection");return f.appendPoints(c.points),f.appendPoints(u.points),f.appendPoints(h.points),f.appendPoints(d.points),f.points.length>0&&(f.status="Intersection"),f}static intersectPolygonPolygon(t,e){return T.intersectPolylinePolyline(O(t),O(e))}static intersectPolygonPolyline(t,e){return T.intersectPolylinePolyline(O(t),e)}static intersectPolygonRectangle(t,e,n){return T.intersectPolylineRectangle(O(t),e,n)}static intersectPolylinePolyline(t,e){const n=new T("No Intersection"),{length:i}=t;for(let o=0;o<i-1;o++){const i=t[o],r=t[o+1],s=T.intersectLinePolyline(i,r,e);n.appendPoints(s.points)}return n.points.length>0&&(n.status="Intersection"),n}static intersectPolylineRectangle(t,e,n){const o=e.min(n),r=e.max(n),s=new i.Point2D(r.x,o.y),a=new i.Point2D(o.x,r.y),l=T.intersectLinePolyline(o,s,t),c=T.intersectLinePolyline(s,r,t),u=T.intersectLinePolyline(r,a,t),h=T.intersectLinePolyline(a,o,t),d=new T("No Intersection");return d.appendPoints(l.points),d.appendPoints(c.points),d.appendPoints(u.points),d.appendPoints(h.points),d.points.length>0&&(d.status="Intersection"),d}static intersectRectangleRectangle(t,e,n,o){const r=t.min(e),s=t.max(e),a=new i.Point2D(s.x,r.y),l=new i.Point2D(r.x,s.y),c=T.intersectLineRectangle(r,a,n,o),u=T.intersectLineRectangle(a,s,n,o),h=T.intersectLineRectangle(s,l,n,o),d=T.intersectLineRectangle(l,r,n,o),f=new T("No Intersection");return f.appendPoints(c.points),f.appendPoints(u.points),f.appendPoints(h.points),f.appendPoints(d.points),f.points.length>0&&(f.status="Intersection"),f}static intersectRayRay(t,e,n,o){let r;const s=(o.x-n.x)*(t.y-n.y)-(o.y-n.y)*(t.x-n.x),a=(e.x-t.x)*(t.y-n.y)-(e.y-t.y)*(t.x-n.x),l=(o.y-n.y)*(e.x-t.x)-(o.x-n.x)*(e.y-t.y);if(0!==l){const n=s/l;r=new T("Intersection"),r.points.push(new i.Point2D(t.x+n*(e.x-t.x),t.y+n*(e.y-t.y)))}else r=new T(0===s||0===a?"Coincident":"Parallel");return r}appendPoint(t){this.points.push(t)}appendPoints(t){this.points=this.points.concat(t)}}var C=T;var M=class{static arc(t,e,n,i,o,r){return b.arc(...arguments)}static quadraticBezier(t,e,n,i,o,r){return b.quadraticBezier(...arguments)}static cubicBezier(t,e,n,i,o,r,s,a){return b.cubicBezier(...arguments)}static circle(t,e,n){return b.circle(...arguments)}static ellipse(t,e,n,i){return b.ellipse(...arguments)}static line(t,e,n,i){return b.line(...arguments)}static path(t){return b.path(...arguments)}static polygon(t){return b.polygon(...arguments)}static polyline(t){return b.polyline(...arguments)}static rectangle(t,e,n,i,o=0,r=0){return b.rectangle(...arguments)}};var D=class{static arc(t,e,n,i,o){return b.arc(...arguments)}static quadraticBezier(t,e,n){return b.quadraticBezier(...arguments)}static cubicBezier(t,e,n,i){return b.cubicBezier(...arguments)}static circle(t,e){return b.circle(...arguments)}static ellipse(t,e,n){return b.ellipse(...arguments)}static line(t,e){return b.line(...arguments)}static path(t){return b.path(...arguments)}static polygon(t){return b.polygon(...arguments)}static polyline(t){return b.polyline(...arguments)}static rectangle(t,e,n=0,i=0){return b.rectangle(...arguments)}};class N{static circle(t){if(t instanceof SVGCircleElement===!1)throw new TypeError(`Expected SVGCircleElement, but found ${t}`);const e=new i.Point2D(t.cx.baseVal.value,t.cy.baseVal.value),n=t.r.baseVal.value;return b.circle(e,n)}static ellipse(t){if(t instanceof SVGEllipseElement===!1)throw new TypeError(`Expected SVGEllipseElement, but found ${t}`);const e=new i.Point2D(t.cx.baseVal.value,t.cy.baseVal.value),n=t.rx.baseVal.value,o=t.ry.baseVal.value;return b.ellipse(e,n,o)}static line(t){if(t instanceof SVGLineElement===!1)throw new TypeError(`Expected SVGLineElement, but found ${t}`);const e=new i.Point2D(t.x1.baseVal.value,t.y1.baseVal.value),n=new i.Point2D(t.x2.baseVal.value,t.y2.baseVal.value);return b.line(e,n)}static path(t){if(t instanceof SVGPathElement===!1)throw new TypeError(`Expected SVGPathElement, but found ${t}`);const e=t.getAttributeNS(null,"d");return b.path(e)}static polygon(t){if(t instanceof SVGPolygonElement===!1)throw new TypeError(`Expected SVGPolygonElement, but found ${t}`);const e=[];for(let n=0;n<t.points.numberOfItems;n++){const o=t.points.getItem(n);e.push(new i.Point2D(o.x,o.y))}return b.polygon(e)}static polyline(t){if(t instanceof SVGPolylineElement===!1)throw new TypeError(`Expected SVGPolylineElement, but found ${t}`);const e=[];for(let n=0;n<t.points.numberOfItems;n++){const o=t.points.getItem(n);e.push(new i.Point2D(o.x,o.y))}return b.polyline(e)}static rect(t){if(t instanceof SVGRectElement===!1)throw new TypeError(`Expected SVGRectElement, but found ${t}`);return b.rectangle(t.x.baseVal.value,t.y.baseVal.value,t.width.baseVal.value,t.height.baseVal.value,t.rx.baseVal.value,t.ry.baseVal.value)}static element(t){if(t instanceof SVGElement===!1)throw new TypeError(`Expected SVGElement, but found ${t}`);const e=t.tagName;switch(e){case"circle":return N.circle(t);case"ellipse":return N.ellipse(t);case"line":return N.line(t);case"path":return N.path(t);case"polygon":return N.polygon(t);case"polyline":return N.polyline(t);case"rect":return N.rect(t);default:throw new TypeError(`Unrecognized element type: '${e}'`)}}}var A=N;const R={pointInCircle:function(t,e,n){return i.Vector2D.fromPoints(e,t).length()<=n},pointInEllipse:function(t,e,n,i){const o=t.subtract(e);return o.x*o.x/(n*n)+o.y*o.y/(i*i)<=1},pointInPolyline:function(t,e){const{length:n}=e;let i,o=0,r=e[0];for(let s=1;s<=n;s++){const a=e[s%n],l=Math.min(r.y,a.y),c=Math.max(r.y,a.y),u=Math.max(r.x,a.x);r.y!==a.y&&l<t.y&&t.y<=c&&t.x<=u&&(i=(t.y-r.y)*(a.x-r.x)/(a.y-r.y)+r.x,(r.x===a.x||t.x<=i)&&o++),r=a}return o%2===1}};R.pointInPolygon=R.pointInPolyline,R.pointInRectangle=function(t,e,n){return e.x<=t.x&&t.x<n.x&&e.y<=t.y&&t.y<n.y};var j=R},17494:function(t,e,n){var i;!function(o,r,s){if(o){for(var a,l={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},c={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},u={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},h={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},d=1;d<20;++d)l[111+d]="f"+d;for(d=0;d<=9;++d)l[d+96]=d.toString();x.prototype.bind=function(t,e,n){var i=this;return t=t instanceof Array?t:[t],i._bindMultiple.call(i,t,e,n),i},x.prototype.unbind=function(t,e){return this.bind.call(this,t,(function(){}),e)},x.prototype.trigger=function(t,e){var n=this;return n._directMap[t+":"+e]&&n._directMap[t+":"+e]({},t),n},x.prototype.reset=function(){var t=this;return t._callbacks={},t._directMap={},t},x.prototype.stopCallback=function(t,e){if((" "+e.className+" ").indexOf(" mousetrap ")>-1)return!1;if(g(e,this.target))return!1;if("composedPath"in t&&"function"===typeof t.composedPath){var n=t.composedPath()[0];n!==t.target&&(e=n)}return"INPUT"==e.tagName||"SELECT"==e.tagName||"TEXTAREA"==e.tagName||e.isContentEditable},x.prototype.handleKey=function(){var t=this;return t._handleKey.apply(t,arguments)},x.addKeycodes=function(t){for(var e in t)t.hasOwnProperty(e)&&(l[e]=t[e]);a=null},x.init=function(){var t=x(r);for(var e in t)"_"!==e.charAt(0)&&(x[e]=function(e){return function(){return t[e].apply(t,arguments)}}(e))},x.init(),o.Mousetrap=x,t.exports&&(t.exports=x),void 0===(i=function(){return x}.call(e,n,e,t))||(t.exports=i)}function f(t,e,n){t.addEventListener?t.addEventListener(e,n,!1):t.attachEvent("on"+e,n)}function p(t){if("keypress"==t.type){var e=String.fromCharCode(t.which);return t.shiftKey||(e=e.toLowerCase()),e}return l[t.which]?l[t.which]:c[t.which]?c[t.which]:String.fromCharCode(t.which).toLowerCase()}function y(t){return"shift"==t||"ctrl"==t||"alt"==t||"meta"==t}function v(t,e,n){return n||(n=function(){if(!a)for(var t in a={},l)t>95&&t<112||l.hasOwnProperty(t)&&(a[l[t]]=t);return a}()[t]?"keydown":"keypress"),"keypress"==n&&e.length&&(n="keydown"),n}function m(t,e){var n,i,o,r=[];for(n=function(t){return"+"===t?["+"]:(t=t.replace(/\+{2}/g,"+plus")).split("+")}(t),o=0;o<n.length;++o)i=n[o],h[i]&&(i=h[i]),e&&"keypress"!=e&&u[i]&&(i=u[i],r.push("shift")),y(i)&&r.push(i);return{key:i,modifiers:r,action:e=v(i,r,e)}}function g(t,e){return null!==t&&t!==r&&(t===e||g(t.parentNode,e))}function x(t){var e=this;if(t=t||r,!(e instanceof x))return new x(t);e.target=t,e._callbacks={},e._directMap={};var n,i={},o=!1,s=!1,a=!1;function l(t){t=t||{};var e,n=!1;for(e in i)t[e]?n=!0:i[e]=0;n||(a=!1)}function c(t,n,o,r,s,a){var l,c,u,h,d=[],f=o.type;if(!e._callbacks[t])return[];for("keyup"==f&&y(t)&&(n=[t]),l=0;l<e._callbacks[t].length;++l)if(c=e._callbacks[t][l],(r||!c.seq||i[c.seq]==c.level)&&f==c.action&&("keypress"==f&&!o.metaKey&&!o.ctrlKey||(u=n,h=c.modifiers,u.sort().join(",")===h.sort().join(",")))){var p=!r&&c.combo==s,v=r&&c.seq==r&&c.level==a;(p||v)&&e._callbacks[t].splice(l,1),d.push(c)}return d}function u(t,n,i,o){e.stopCallback(n,n.target||n.srcElement,i,o)||!1===t(n,i)&&(function(t){t.preventDefault?t.preventDefault():t.returnValue=!1}(n),function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}(n))}function h(t){"number"!==typeof t.which&&(t.which=t.keyCode);var n=p(t);n&&("keyup"!=t.type||o!==n?e.handleKey(n,function(t){var e=[];return t.shiftKey&&e.push("shift"),t.altKey&&e.push("alt"),t.ctrlKey&&e.push("ctrl"),t.metaKey&&e.push("meta"),e}(t),t):o=!1)}function d(t,e,r,s){function c(e){return function(){a=e,++i[t],clearTimeout(n),n=setTimeout(l,1e3)}}function h(e){u(r,e,t),"keyup"!==s&&(o=p(e)),setTimeout(l,10)}i[t]=0;for(var d=0;d<e.length;++d){var f=d+1===e.length?h:c(s||m(e[d+1]).action);v(e[d],f,s,t,d)}}function v(t,n,i,o,r){e._directMap[t+":"+i]=n;var s,a=(t=t.replace(/\s+/g," ")).split(" ");a.length>1?d(t,a,n,i):(s=m(t,i),e._callbacks[s.key]=e._callbacks[s.key]||[],c(s.key,s.modifiers,{type:s.action},o,t,r),e._callbacks[s.key][o?"unshift":"push"]({callback:n,modifiers:s.modifiers,action:s.action,seq:o,level:r,combo:t}))}e._handleKey=function(t,e,n){var i,o=c(t,e,n),r={},h=0,d=!1;for(i=0;i<o.length;++i)o[i].seq&&(h=Math.max(h,o[i].level));for(i=0;i<o.length;++i)if(o[i].seq){if(o[i].level!=h)continue;d=!0,r[o[i].seq]=1,u(o[i].callback,n,o[i].combo,o[i].seq)}else d||u(o[i].callback,n,o[i].combo);var f="keypress"==n.type&&s;n.type!=a||y(t)||f||l(r),s=d&&"keydown"==n.type},e._bindMultiple=function(t,e,n){for(var i=0;i<t.length;++i)v(t[i],e,n)},f(t,"keypress",h),f(t,"keydown",h),f(t,"keyup",h)}}("undefined"!==typeof window?window:null,"undefined"!==typeof window?document:null)},12962:function(t,e,n){"use strict";n.r(e);var i="undefined"!==typeof window&&"undefined"!==typeof document&&"undefined"!==typeof navigator,o=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(i&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var r=i&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),o))}};function s(t){return t&&"[object Function]"==={}.toString.call(t)}function a(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function l(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function c(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=a(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:c(l(t))}function u(t){return t&&t.referenceNode?t.referenceNode:t}var h=i&&!(!window.MSInputMethodContext||!document.documentMode),d=i&&/MSIE 10/.test(navigator.userAgent);function f(t){return 11===t?h:10===t?d:h||d}function p(t){if(!t)return document.documentElement;for(var e=f(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===a(n,"position")?p(n):n:t?t.ownerDocument.documentElement:document.documentElement}function y(t){return null!==t.parentNode?y(t.parentNode):t}function v(t,e){if(!t||!t.nodeType||!e||!e.nodeType)return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s=r.commonAncestorContainer;if(t!==s&&e!==s||i.contains(o))return function(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||p(t.firstElementChild)===t)}(s)?s:p(s);var a=y(t);return a.host?v(a.host,e):v(t,y(e).host)}function m(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function g(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=m(e,"top"),o=m(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function x(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function _(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],f(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function b(t){var e=t.body,n=t.documentElement,i=f(10)&&getComputedStyle(n);return{height:_("Height",e,n,i),width:_("Width",e,n,i)}}var w=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},E=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),k=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},S=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function P(t){return S({},t,{right:t.left+t.width,bottom:t.top+t.height})}function O(t){var e={};try{if(f(10)){e=t.getBoundingClientRect();var n=m(t,"top"),i=m(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(d){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?b(t.ownerDocument):{},s=r.width||t.clientWidth||o.width,l=r.height||t.clientHeight||o.height,c=t.offsetWidth-s,u=t.offsetHeight-l;if(c||u){var h=a(t);c-=x(h,"x"),u-=x(h,"y"),o.width-=c,o.height-=u}return P(o)}function T(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=f(10),o="HTML"===e.nodeName,r=O(t),s=O(e),l=c(t),u=a(e),h=parseFloat(u.borderTopWidth),d=parseFloat(u.borderLeftWidth);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var p=P({top:r.top-s.top-h,left:r.left-s.left-d,width:r.width,height:r.height});if(p.marginTop=0,p.marginLeft=0,!i&&o){var y=parseFloat(u.marginTop),v=parseFloat(u.marginLeft);p.top-=h-y,p.bottom-=h-y,p.left-=d-v,p.right-=d-v,p.marginTop=y,p.marginLeft=v}return(i&&!n?e.contains(l):e===l&&"BODY"!==l.nodeName)&&(p=g(p,e)),p}function C(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=T(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:m(n),a=e?0:m(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return P(l)}function M(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===a(t,"position"))return!0;var n=l(t);return!!n&&M(n)}function D(t){if(!t||!t.parentElement||f())return document.documentElement;for(var e=t.parentElement;e&&"none"===a(e,"transform");)e=e.parentElement;return e||document.documentElement}function N(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?D(t):v(t,u(e));if("viewport"===i)r=C(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=c(l(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var h=T(a,s,o);if("HTML"!==a.nodeName||M(s))r=h;else{var d=b(t.ownerDocument),f=d.height,p=d.width;r.top+=h.top-h.marginTop,r.bottom=f+h.top,r.left+=h.left-h.marginLeft,r.right=p+h.left}}var y="number"===typeof(n=n||0);return r.left+=y?n:n.left||0,r.top+=y?n:n.top||0,r.right-=y?n:n.right||0,r.bottom-=y?n:n.bottom||0,r}function A(t){return t.width*t.height}function R(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=N(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return S({key:t},a[t],{area:A(a[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,h=t.split("-")[1];return u+(h?"-"+h:"")}function j(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?D(e):v(e,u(n));return T(n,o,i)}function L(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function I(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function z(t,e,n){n=n.split("-")[0];var i=L(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[I(a)],o}function B(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function X(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=B(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&s(n)&&(e.offsets.popper=P(e.offsets.popper),e.offsets.reference=P(e.offsets.reference),e=n(e,t))})),e}function H(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=j(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=R(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=z(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=X(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function Y(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function $(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!==typeof document.body.style[r])return r}return null}function V(){return this.state.isDestroyed=!0,Y(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[$("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function G(t){var e=t.ownerDocument;return e?e.defaultView:window}function U(t,e,n,i){var o="BODY"===t.nodeName,r=o?t.ownerDocument.defaultView:t;r.addEventListener(e,n,{passive:!0}),o||U(c(r.parentNode),e,n,i),i.push(r)}function W(t,e,n,i){n.updateBound=i,G(t).addEventListener("resize",n.updateBound,{passive:!0});var o=c(t);return U(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function q(){this.state.eventsEnabled||(this.state=W(this.reference,this.options,this.state,this.scheduleUpdate))}function F(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,G(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function K(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function Z(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&K(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var Q=i&&/Firefox/i.test(navigator.userAgent);function J(t,e,n){var i=B(t,(function(t){return t.name===e})),o=!!i&&t.some((function(t){return t.name===n&&t.enabled&&t.order<i.order}));if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var tt=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],et=tt.slice(3);function nt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=et.indexOf(t),i=et.slice(n+1).concat(et.slice(0,n));return e?i.reverse():i}var it="flip",ot="clockwise",rt="counterclockwise";function st(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(B(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){return P("%p"===s?n:i)[e]/100*r}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;return r}(t,o,e,n)}))})),c.forEach((function(t,e){t.forEach((function(n,i){K(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var at={shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",u={start:k({},l,r[l]),end:k({},l,r[l]+r[c]-s[c])};t.offsets.popper=S({},s,u[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=K(+n)?[+n,0]:st(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||p(t.instance.popper);t.instance.reference===n&&(n=p(n));var i=$("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=N(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,u=t.offsets.popper,h={primary:function(t){var n=u[t];return u[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(u[t],l[t])),k({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=u[n];return u[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(u[n],l[t]-("right"===t?u.width:u.height))),k({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=S({},u,h[e](t))})),t.offsets.popper=u,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!J(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"===typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,l=r.reference,c=-1!==["left","right"].indexOf(o),u=c?"height":"width",h=c?"Top":"Left",d=h.toLowerCase(),f=c?"left":"top",p=c?"bottom":"right",y=L(i)[u];l[p]-y<s[d]&&(t.offsets.popper[d]-=s[d]-(l[p]-y)),l[d]+y>s[p]&&(t.offsets.popper[d]+=l[d]+y-s[p]),t.offsets.popper=P(t.offsets.popper);var v=l[d]+l[u]/2-y/2,m=a(t.instance.popper),g=parseFloat(m["margin"+h]),x=parseFloat(m["border"+h+"Width"]),_=v-t.offsets.popper[d]-g-x;return _=Math.max(Math.min(s[u]-y,_),0),t.arrowElement=i,t.offsets.arrow=(k(n={},d,Math.round(_)),k(n,f,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(Y(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=N(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=I(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case it:s=[i,o];break;case ot:s=nt(i);break;case rt:s=nt(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=I(i);var c=t.offsets.popper,u=t.offsets.reference,h=Math.floor,d="left"===i&&h(c.right)>h(u.left)||"right"===i&&h(c.left)<h(u.right)||"top"===i&&h(c.bottom)>h(u.top)||"bottom"===i&&h(c.top)<h(u.bottom),f=h(c.left)<h(n.left),p=h(c.right)>h(n.right),y=h(c.top)<h(n.top),v=h(c.bottom)>h(n.bottom),m="left"===i&&f||"right"===i&&p||"top"===i&&y||"bottom"===i&&v,g=-1!==["top","bottom"].indexOf(i),x=!!e.flipVariations&&(g&&"start"===r&&f||g&&"end"===r&&p||!g&&"start"===r&&y||!g&&"end"===r&&v),_=!!e.flipVariationsByContent&&(g&&"start"===r&&p||g&&"end"===r&&f||!g&&"start"===r&&v||!g&&"end"===r&&y),b=x||_;(d||m||b)&&(t.flipped=!0,(d||m)&&(i=s[l+1]),b&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=S({},t.offsets.popper,z(t.instance.popper,t.offsets.reference,t.placement)),t=X(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=I(e),t.offsets.popper=P(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!J(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=B(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=B(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=p(t.instance.popper),l=O(a),c={position:o.position},u=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,s=Math.floor,a=function(t){return t},l=r(o.width),c=r(i.width),u=-1!==["left","right"].indexOf(t.placement),h=-1!==t.placement.indexOf("-"),d=e?u||h||l%2===c%2?r:s:a,f=e?r:a;return{left:d(l%2===1&&c%2===1&&!h&&e?i.left-1:i.left),top:f(i.top),bottom:f(i.bottom),right:d(i.right)}}(t,window.devicePixelRatio<2||!Q),h="bottom"===n?"top":"bottom",d="right"===i?"left":"right",f=$("transform"),y=void 0,v=void 0;if(v="bottom"===h?"HTML"===a.nodeName?-a.clientHeight+u.bottom:-l.height+u.bottom:u.top,y="right"===d?"HTML"===a.nodeName?-a.clientWidth+u.right:-l.width+u.right:u.left,s&&f)c[f]="translate3d("+y+"px, "+v+"px, 0)",c[h]=0,c[d]=0,c.willChange="transform";else{var m="bottom"===h?-1:1,g="right"===d?-1:1;c[h]=v*m,c[d]=y*g,c.willChange=h+", "+d}var x={"x-placement":t.placement};return t.attributes=S({},x,t.attributes),t.styles=S({},c,t.styles),t.arrowStyles=S({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return Z(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach((function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)})),t.arrowElement&&Object.keys(t.arrowStyles).length&&Z(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=j(o,e,t,n.positionFixed),s=R(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),Z(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}},lt={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:at},ct=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=r(this.update.bind(this)),this.options=S({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(S({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=S({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return S({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&s(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return E(t,[{key:"update",value:function(){return H.call(this)}},{key:"destroy",value:function(){return V.call(this)}},{key:"enableEventListeners",value:function(){return q.call(this)}},{key:"disableEventListeners",value:function(){return F.call(this)}}]),t}();ct.Utils=("undefined"!==typeof window?window:n.g).PopperUtils,ct.placements=tt,ct.Defaults=lt,e.default=ct},68891:function(t,e,n){!function(t,e,n,i,o,r,s){"use strict";function a(t){return t&&"object"===typeof t&&"default"in t?t:{default:t}}var l=a(e),c=a(n),u=a(r),h=a(s);const d=({ref:t,open:n=!0,onClickOutside:i,onEscape:o})=>{e.useLayoutEffect((()=>{const e=e=>{const n=t.current;(null===n||void 0===n?void 0:n.contains(e.target))||e.target.closest(".rdk-portal")||3===e.which||null===i||void 0===i||i(e)},r=t=>{27===t.keyCode&&(null===o||void 0===o||o(t))};return n&&(i&&(document.addEventListener("mousedown",e),document.addEventListener("touchstart",e)),r&&document.addEventListener("keydown",r)),()=>{i&&(document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)),r&&document.removeEventListener("keydown",r)}}),[t,i,o,n])},f=e.createContext({close:()=>{}});let p=0;const y=()=>++p,v=t=>{const[n]=e.useState(t||y());return`ref-${n}`},m=t=>{const n=e.useRef(t);n.current=t,e.useLayoutEffect((()=>()=>n.current()),[])},g=e.forwardRef((({children:t,className:n,element:i="div",onMount:r=(()=>{}),onUnmount:s=(()=>{})},a)=>{const l=e.useRef(null),c=e.useRef(!1);return e.useEffect((()=>{n&&l.current&&l.current.setAttribute("class",`${n} rdk-portal`)}),[n,l.current]),e.useLayoutEffect((()=>{l.current=document.createElement(i),null===r||void 0===r||r()}),[]),m((()=>{null===s||void 0===s||s();const t=l.current;t&&document.body.contains(t)&&document.body.removeChild(t)})),e.useImperativeHandle(a,(()=>l.current)),l.current?(c.current||(c.current=!0,l.current.classList.add("rdk-portal"),document.body.appendChild(l.current)),o.createPortal(t,l.current)):null})),x=[],_=990,b=e.forwardRef((({className:t,children:n,onMount:i,onUnmount:o,appendToBody:r=!0},s)=>{const a=v(),[c,u]=e.useState(null),[h,d]=e.useState(null),f=e.useRef(null);return e.useImperativeHandle(s,(()=>f.current)),l.default.createElement(g,{className:t,ref:f,appendToBody:r,onMount:()=>{x.push(a);let t=x.indexOf(a);-1===t&&(t=0),u(t);const e=_+2*t+1;d(e),null===i||void 0===i||i({overlayIndex:e,portalIndex:t,backdropIndex:e})},onUnmount:()=>{null===o||void 0===o||o(),x.splice(x.indexOf(a),1),u(null),d(null)}},n({overlayIndex:h,portalIndex:c,backdropIndex:h}))}));function w(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!==typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}var E={backdrop:"Backdrop-module_backdrop__2tEGU"};w(".Backdrop-module_backdrop__2tEGU {\n position: fixed;\n background: var(--color-layer-transparent);\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n opacity: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n");const k=({portalIndex:t=0,zIndex:e=998,className:n,onClick:o=(()=>{})})=>l.default.createElement(i.motion.div,{className:u.default(E.backdrop,n),initial:{opacity:0},animate:{opacity:.8-t/10},exit:{opacity:0},style:{zIndex:e},onClick:o}),S=({open:t,hasBackdrop:n=!0,closeOnEscape:o=!0,closeOnBackdropClick:r=!0,backdropClassName:s,children:a,onClose:u})=>{const h=e.useRef(null),p=e.useCallback((()=>{r&&(null===u||void 0===u||u())}),[r,u]);return d({ref:h,open:t,onEscape:()=>o&&(null===u||void 0===u?void 0:u())}),l.default.createElement(f.Provider,{value:{close:()=>null===u||void 0===u?void 0:u()}},l.default.createElement(i.AnimatePresence,null,t&&l.default.createElement(b,{ref:h},(({overlayIndex:t,portalIndex:i})=>l.default.createElement(e.Fragment,null,n&&l.default.createElement(k,{zIndex:t,portalIndex:i,onClick:p,className:s}),a({overlayIndex:t,portalIndex:i}),l.default.createElement(c.default,null))))))},P=e.forwardRef((({children:t,className:n,elementType:i="span",trigger:o=["click"],onOpen:r=(()=>{}),onClose:s=(()=>{})},a)=>{const c=e.useCallback((t=>Array.isArray(o)?o.includes(t):t===o),[o]),u=e.useCallback((t=>{c("focus")&&r({type:"focus",nativeEvent:t})}),[r,c]),h=e.useCallback((t=>{c("focus")&&s({type:"focus",nativeEvent:t})}),[s,c]),d=e.useCallback((t=>{c("hover")&&r({type:"hover",nativeEvent:t})}),[r,c]),f=e.useCallback((t=>{c("hover")&&s({type:"hover",nativeEvent:t})}),[s,c]),p=e.useCallback((t=>{c("click")&&r({type:"click",nativeEvent:t}),c("click")||s({type:"hover",nativeEvent:t})}),[r,s,c]),y=e.useCallback((t=>{c("contextmenu")&&(t.preventDefault(),r({type:"contextmenu",nativeEvent:t}))}),[r]),v=c("focus")?-1:void 0,m=i;return l.default.createElement(m,{ref:a,tabIndex:v,onMouseEnter:d,onMouseLeave:f,onFocus:u,onBlur:h,onClick:p,onContextMenu:y,className:n},t)}));function O(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&"function"===typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(t);o<i.length;o++)e.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(t,i[o])&&(n[i[o]]=t[i[o]])}return n}const T=(t,{followCursor:n,placement:i,modifiers:o}={})=>{const r=e.useRef(null),s=e.useRef(null),a=e.useRef({pageX:0,pageY:0}),l=t.current,c=e.useMemo((()=>{const e=t;if(void 0!==e.current)return e.current;const i=t;if(n)return{getBoundingClientRect:()=>({top:a.current.pageY,right:a.current.pageX,bottom:a.current.pageY,left:a.current.pageX,width:0,height:0}),clientWidth:0,clientHeight:0};if(i&&!i.getBoundingClientRect){const{top:e,left:n,width:i,height:o}=t;return{getBoundingClientRect:()=>({top:e,left:n,width:i,bottom:e-o,right:n-i,height:o}),clientWidth:i,clientHeight:o}}return i}),[n,t,l,a]);return e.useLayoutEffect((()=>{let t;const e=({pageX:t,pageY:e})=>{var n;a.current={pageX:t,pageY:e},null===(n=s.current)||void 0===n||n.scheduleUpdate()},l=()=>{t=requestAnimationFrame((()=>{var t;null===(t=s.current)||void 0===t||t.scheduleUpdate()}))};return r.current&&c&&(s.current=new h.default(c,r.current,{placement:i||"top",modifiers:o||{},onCreate:()=>{window.addEventListener("scroll",l),n&&window.addEventListener("mousemove",e)}})),()=>{var i;r.current||(null===(i=s.current)||void 0===i||i.destroy(),cancelAnimationFrame(t),window.removeEventListener("scroll",l),n&&window.removeEventListener("mousemove",e))}}),[r.current]),e.useLayoutEffect((()=>{s.current&&(s.current.reference=c,s.current.scheduleUpdate())}),[c]),[r,s]},C=e.forwardRef((({triggerRef:t,children:n,portalClassName:i,closeOnBodyClick:o=!0,closeOnEscape:r=!0,elementType:s,appendToBody:a=!0,followCursor:c,modifiers:u,placement:h="bottom",onClose:f},p)=>{const[y,v]=e.useState(null),[m,g]=T(t,{followCursor:c,modifiers:u,placement:h});return e.useImperativeHandle(p,(()=>({updatePosition:()=>{var t;null===(t=null===g||void 0===g?void 0:g.current)||void 0===t||t.scheduleUpdate()}}))),d({open:!0,ref:m,onClickOutside:e=>{if(o){let n=null;t.current?n=t.current:void 0!==t.contains&&(n=t),n&&!n.contains(e.target)&&(null===f||void 0===f||f(e))}},onEscape:()=>r&&(null===f||void 0===f?void 0:f())}),e.useEffect((()=>{m&&y&&(m.current.style.zIndex=y)}),[m.current,y]),l.default.createElement(b,{ref:m,className:i,elementType:s,appendToBody:a,onMount:t=>v(t.overlayIndex),onUnmount:()=>v(null)},n)})),M=e.forwardRef(((t,n)=>{var{reference:o,children:r,open:s,content:a,triggerElement:c,triggerClassName:u,trigger:h,onOpen:d,onClose:p}=t,y=O(t,["reference","children","open","content","triggerElement","triggerClassName","trigger","onOpen","onClose"]);const v=e.useRef(!1),m=e.useRef(null),g=e.useRef(null),x=o||m;return e.useImperativeHandle(n,(()=>({updatePosition:()=>{var t;null===(t=g.current)||void 0===t||t.updatePosition()}}))),e.useEffect((()=>{v.current?s?null===d||void 0===d||d():null===p||void 0===p||p():v.current=!0}),[s]),l.default.createElement(f.Provider,{value:{close:()=>null===p||void 0===p?void 0:p()}},r&&l.default.createElement(e.Fragment,null,h?l.default.createElement(P,{elementType:c,ref:m,className:u,trigger:h,onOpen:d,onClose:p},r):r),l.default.createElement(i.AnimatePresence,null,s&&l.default.createElement(C,Object.assign({},y,{ref:g,triggerRef:x,onClose:p}),a)))}));M.defaultProps={trigger:"click"};const D=()=>{const t=e.useContext(f);if(void 0===t)throw new Error("`useOverlay` hook can only be used inside a overlay component.");return t};function N(t){var{children:n,element:i,childRef:o}=t,r=O(t,["children","element","childRef"]);const s=e.useMemo((()=>t=>{const e=i.props;return Object.keys(t).reduce(((n,i)=>{const o=t[i],r=e[i];return n[i]="function"===typeof o&&"function"===typeof r?(...t)=>{o(...t),r(...t)}:"className"===i?u.default(o,r):o,n}),{})}),[r]);if(null===i)return n;const a=o?t=>{"function"===typeof o?o(t):a&&(o.current=t)}:void 0,l=s(r);return e.cloneElement(i,Object.assign(Object.assign(Object.assign({},i.props),l),{children:n,ref:a}))}function A(t){e.useEffect((()=>{if(t)return document.body.style.userSelect="none",()=>{document.body.style.userSelect="initial"}}),[t])}function R(t,e="pointer",n="auto"){l.default.useEffect((()=>{if(t)return document.body.style.cursor=e,()=>{document.body.style.cursor=n}}),[t])}t.Backdrop=k,t.CloneElement=N,t.ConnectedOverlay=M,t.ConnectedOverlayContent=C,t.GlobalOverlay=S,t.OverlayContext=f,t.OverlayPortal=b,t.OverlayTrigger=P,t.Portal=g,t.useCursor=R,t.useExitListener=d,t.useId=v,t.useOverlay=D,t.usePosition=T,t.useUserSelect=A,Object.defineProperty(t,"__esModule",{value:!0})}(e,n(82684),n(73945),n(3686),n(85202),n(63588),n(12962))},47189:function(t,e,n){"use strict";n.r(e),n.d(e,{borderBoxWarn:function(){return a},observerErr:function(){return s}});var i=n(82684);function o(){return o=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},o.apply(this,arguments)}var r=function(t){var e=(0,i.useRef)(t);return e.current=t,e},s="\ud83d\udca1 react-cool-dimensions: the browser doesn't support Resize Observer, please use polyfill: https://github.com/wellyshen/react-cool-dimensions#resizeobserver-polyfill",a="\ud83d\udca1 react-cool-dimensions: the browser doesn't support border-box size, fallback to content-box size. Please see: https://github.com/wellyshen/react-cool-dimensions#border-box-size-measurement";e.default=function(t){var e=void 0===t?{}:t,n=e.useBorderBoxSize,l=e.breakpoints,c=e.updateOnBreakpointChange,u=e.shouldUpdate,h=e.onResize,d=e.polyfill,f=(0,i.useState)({currentBreakpoint:"",width:0,height:0}),p=f[0],y=f[1],v=(0,i.useRef)({}),m=(0,i.useRef)(),g=(0,i.useRef)(),x=(0,i.useRef)(!1),_=(0,i.useRef)(),b=r(h),w=r(u),E=(0,i.useCallback)((function(){g.current&&g.current.disconnect()}),[]),k=(0,i.useCallback)((function(t){t&&t!==_.current&&(E(),_.current=t),g.current&&_.current&&g.current.observe(_.current)}),[E]);return(0,i.useEffect)((function(){if((!("ResizeObserver"in window)||!("ResizeObserverEntry"in window))&&!d)return console.error(s),function(){return null};var t=null;return g.current=new(d||ResizeObserver)((function(e){var i=e[0];t=requestAnimationFrame((function(){var t=i.contentBoxSize,e=i.borderBoxSize,o=i.contentRect,r=t;n&&(e?r=e:x.current||(console.warn(a),x.current=!0));var s=(r=Array.isArray(r)?r[0]:r)?r.inlineSize:o.width,u=r?r.blockSize:o.height;if(s!==v.current.width||u!==v.current.height){v.current={width:s,height:u};var h={currentBreakpoint:"",width:s,height:u,entry:i,observe:k,unobserve:E};l?(h.currentBreakpoint=function(t,e){var n="",i=-1;return Object.keys(t).forEach((function(o){var r=t[o];e>=r&&r>i&&(n=o,i=r)})),n}(l,s),h.currentBreakpoint!==m.current&&(b.current&&b.current(h),m.current=h.currentBreakpoint)):b.current&&b.current(h);var d={currentBreakpoint:h.currentBreakpoint,width:s,height:u,entry:i};w.current&&!w.current(d)||(!w.current&&l&&c?y((function(t){return t.currentBreakpoint!==d.currentBreakpoint?d:t})):y(d))}}))})),k(),function(){E(),t&&cancelAnimationFrame(t)}}),[JSON.stringify(l),n,k,E,c]),o({},p,{observe:k,unobserve:E})}},73051:function(t){var e="undefined"!==typeof Element,n="function"===typeof Map,i="function"===typeof Set,o="function"===typeof ArrayBuffer&&!!ArrayBuffer.isView;function r(t,s){if(t===s)return!0;if(t&&s&&"object"==typeof t&&"object"==typeof s){if(t.constructor!==s.constructor)return!1;var a,l,c,u;if(Array.isArray(t)){if((a=t.length)!=s.length)return!1;for(l=a;0!==l--;)if(!r(t[l],s[l]))return!1;return!0}if(n&&t instanceof Map&&s instanceof Map){if(t.size!==s.size)return!1;for(u=t.entries();!(l=u.next()).done;)if(!s.has(l.value[0]))return!1;for(u=t.entries();!(l=u.next()).done;)if(!r(l.value[1],s.get(l.value[0])))return!1;return!0}if(i&&t instanceof Set&&s instanceof Set){if(t.size!==s.size)return!1;for(u=t.entries();!(l=u.next()).done;)if(!s.has(l.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(t)&&ArrayBuffer.isView(s)){if((a=t.length)!=s.length)return!1;for(l=a;0!==l--;)if(t[l]!==s[l])return!1;return!0}if(t.constructor===RegExp)return t.source===s.source&&t.flags===s.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===s.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===s.toString();if((a=(c=Object.keys(t)).length)!==Object.keys(s).length)return!1;for(l=a;0!==l--;)if(!Object.prototype.hasOwnProperty.call(s,c[l]))return!1;if(e&&t instanceof Element)return!1;for(l=a;0!==l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!t.$$typeof)&&!r(t[c[l]],s[c[l]]))return!1;return!0}return t!==t&&s!==s}t.exports=function(t,e){try{return r(t,e)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},10678:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(82684),r=h(o),s=n(8474),a=n(30660),l=h(n(35168)),c=h(n(61882)),u=n(36090);function h(t){return t&&t.__esModule?t:{default:t}}function d(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function f(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}var p=function(t){function e(){return d(this,e),f(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),i(e,[{key:"componentDidMount",value:function(){s.canUseDOM&&(this.initialHeight=window.innerHeight)}},{key:"componentWillUnmount",value:function(){var t=window.innerHeight-this.initialHeight;t&&window.scrollTo(0,window.pageYOffset+t),this.initialHeight=window.innerHeight}},{key:"render",value:function(){var t=this.props.children;return t?r.default.createElement(a.TouchScrollable,null,t):null}}]),e}(o.PureComponent),y=(0,u.pipe)(c.default,l.default)(p),v=function(t){return t.isActive?r.default.createElement(y,t):t.children};v.defaultProps={accountForScrollbars:!0,children:null,isActive:!0},e.default=v},30660:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TouchScrollable=void 0;var i=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=n(82684),s=n(8474),a=n(36090);function l(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}e.TouchScrollable=function(t){function e(){var t,n,i;l(this,e);for(var o=arguments.length,r=Array(o),s=0;s<o;s++)r[s]=arguments[s];return n=i=c(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(r))),i.getScrollableArea=function(t){i.scrollableArea=t},c(i,n)}return function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"componentDidMount",value:function(){s.canUseEventListeners&&(this.scrollableArea.addEventListener("touchstart",a.preventInertiaScroll,a.listenerOptions),this.scrollableArea.addEventListener("touchmove",a.allowTouchMove,a.listenerOptions))}},{key:"componentWillUnmount",value:function(){s.canUseEventListeners&&(this.scrollableArea.removeEventListener("touchstart",a.preventInertiaScroll,a.listenerOptions),this.scrollableArea.removeEventListener("touchmove",a.allowTouchMove,a.listenerOptions))}},{key:"render",value:function(){var t=this.props,e=t.children,n=function(t,e){var n={};for(var i in t)e.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i]);return n}(t,["children"]);return"function"===typeof e?e(this.getScrollableArea):(0,r.cloneElement)(e,i({ref:this.getScrollableArea},n))}}]),e}(r.PureComponent)},73945:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(10678);Object.defineProperty(e,"default",{enumerable:!0,get:function(){return(t=i,t&&t.__esModule?t:{default:t}).default;var t}});var o=n(30660);Object.defineProperty(e,"TouchScrollable",{enumerable:!0,get:function(){return o.TouchScrollable}})},36090:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.pipe=e.listenerOptions=void 0,e.preventTouchMove=function(t){return t.preventDefault(),!1},e.allowTouchMove=function(t){var e=t.currentTarget;if(e.scrollHeight>e.clientHeight)return t.stopPropagation(),!0;return t.preventDefault(),!1},e.preventInertiaScroll=function(){var t=this.scrollTop,e=this.scrollHeight,n=t+this.offsetHeight;0===t?this.scrollTop=1:n===e&&(this.scrollTop=t-1)},e.isTouchDevice=function(){return!!i.canUseDOM&&("ontouchstart"in window||navigator.maxTouchPoints)},e.camelToKebab=function(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},e.parse=function(t){return isNaN(t)?t:t+"px"},e.getPadding=function(){if(!i.canUseDOM)return 0;var t=parseInt(window.getComputedStyle(document.body).paddingRight,10),e=window.innerWidth-document.documentElement.clientWidth;return t+e},e.getWindowHeight=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(i.canUseDOM)return window.innerHeight*t},e.getDocumentHeight=function(){if(i.canUseDOM)return document.body.clientHeight},e.makeStyleTag=function(){if(!i.canUseDOM)return;var t=document.createElement("style");return t.type="text/css",t.setAttribute("data-react-scrolllock",""),t},e.injectStyles=function(t,e){if(!i.canUseDOM)return;t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))},e.insertStyleTag=function(t){if(!i.canUseDOM)return;(document.head||document.getElementsByTagName("head")[0]).appendChild(t)};var i=n(8474);e.listenerOptions={capture:!1,passive:!1};var o=function(t,e){return function(){return e(t.apply(void 0,arguments))}};e.pipe=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.reduce(o)}},35168:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}();e.default=function(t){return function(e){function n(){var t,e,i;l(this,n);for(var o=arguments.length,r=Array(o),s=0;s<o;s++)r[s]=arguments[s];return e=i=c(this,(t=n.__proto__||Object.getPrototypeOf(n)).call.apply(t,[this].concat(r))),i.addSheet=function(){var t=i.getStyles(),e=(0,a.makeStyleTag)();e&&((0,a.injectStyles)(e,t),(0,a.insertStyleTag)(e),i.sheet=e)},i.getStyles=function(){var t=i.props.accountForScrollbars,e=(0,a.getDocumentHeight)(),n=t?(0,a.getPadding)():null;return"body {\n box-sizing: border-box !important;\n overflow: hidden !important;\n position: relative !important;\n "+(e?"height: "+e+"px !important;":"")+"\n "+(n?"padding-right: "+n+"px !important;":"")+"\n }"},c(i,e)}return function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(n,e),i(n,[{key:"componentDidMount",value:function(){this.addSheet()}},{key:"removeSheet",value:function(){this.sheet&&(this.sheet.parentNode.removeChild(this.sheet),this.sheet=null)}},{key:"componentWillUnmount",value:function(){this.removeSheet()}},{key:"render",value:function(){return s.default.createElement(t,this.props)}}]),n}(r.PureComponent)};var o,r=n(82684),s=(o=r)&&o.__esModule?o:{default:o},a=n(36090);function l(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}},61882:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}();e.default=function(t){return function(e){function n(){return c(this,n),u(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(n,e),i(n,[{key:"componentDidMount",value:function(){a.canUseDOM&&(0,l.isTouchDevice)()&&document.addEventListener("touchmove",l.preventTouchMove,l.listenerOptions)}},{key:"componentWillUnmount",value:function(){a.canUseDOM&&(0,l.isTouchDevice)()&&document.removeEventListener("touchmove",l.preventTouchMove,l.listenerOptions)}},{key:"render",value:function(){return s.default.createElement(t,this.props)}}]),n}(r.PureComponent)};var o,r=n(82684),s=(o=r)&&o.__esModule?o:{default:o},a=n(8474),l=n(36090);function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function u(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}},89274:function(t,e,n){"use strict";n.r(e),n.d(e,{addV:function(){return o},rubberbandIfOutOfBounds:function(){return h},subV:function(){return r},useDrag:function(){return _t},useGesture:function(){return Nt},useHover:function(){return Tt},useMove:function(){return Ot},usePinch:function(){return Et},useScroll:function(){return Mt},useWheel:function(){return St}});var i=n(82684);function o(t,e){return t.map((function(t,n){return t+e[n]}))}function r(t,e){return t.map((function(t,n){return t-e[n]}))}function s(t){return Math.hypot.apply(Math,t)}function a(t,e){void 0===e&&(e=t);var n=s(e),i=0===n?0:1/n,o=e.map((function(t){return i*t}));return{distance:s(t),direction:o}}function l(t,e,n){var i=s(e),o=0===i?0:1/i,r=0===n?0:1/n,a=r*i,l=e.map((function(t){return r*t})),c=e.map((function(t){return o*t}));return{velocities:l,velocity:a,distance:s(t),direction:c}}function c(t){return Math.sign?Math.sign(t):Number(t>0)-Number(t<0)||+t}function u(t,e,n){return 0===e||Math.abs(e)===1/0?function(t,e){return Math.pow(t,5*e)}(t,n):t*e*n/(e+n*t)}function h(t,e,n,i){return void 0===i&&(i=.15),0===i?function(t,e,n){return Math.max(e,Math.min(t,n))}(t,e,n):t<e?-u(e-t,n-e,i)+e:t>n?+u(t-n,n-e,i)+n:t}function d(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function f(){return f=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},f.apply(this,arguments)}function p(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function y(t,e){if(null==t)return{};var n,i,o={},r=Object.keys(t);for(i=0;i<r.length;i++)n=r[i],e.indexOf(n)>=0||(o[n]=t[n]);return o}function v(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function m(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function g(t,e){var n;if("undefined"===typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"===typeof t)return m(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(t,e):void 0}}(t))||e&&t&&"number"===typeof t.length){n&&(t=n);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=t[Symbol.iterator]()).next.bind(n)}function x(){}function _(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return 0===e.length?x:1===e.length?e[0]:function(){for(var t,n,i=g(e);!(n=i()).done;){var o=n.value;t=o.apply(this,arguments)||t}return t}}function b(t,e){if(void 0===t){if(void 0===e)throw new Error("Must define fallback value if undefined is expected");t=e}return Array.isArray(t)?t:[t,t]}function w(t,e){return Object.assign({},e,t||{})}function E(t){if("function"===typeof t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++)n[i-1]=arguments[i];return t.apply(void 0,n)}return t}function k(t,e){void 0===t&&(t={});for(var n={},i=0,o=Object.entries(e);i<o.length;i++){var r=o[i],s=r[0],a=r[1];switch(typeof a){case"function":n[s]=a.call(n,t[s],s,t);break;case"object":n[s]=k(t[s],a);break;case"boolean":a&&(n[s]=t[s])}}return n}var S={threshold:function(t){return void 0===t&&(t=0),b(t)},rubberband:function(t){switch(void 0===t&&(t=0),t){case!0:return b(.15);case!1:return b(0);default:return b(t)}},enabled:function(t){return void 0===t&&(t=!0),t},triggerAllEvents:function(t){return void 0===t&&(t=!1),t},initial:function(t){return void 0===t&&(t=0),"function"===typeof t?t:b(t)}},P=f({},S,{axis:!0,lockDirection:function(t){return void 0===t&&(t=!1),t},bounds:function(t){if(void 0===t&&(t={}),"function"===typeof t)return function(e){return P.bounds(t(e))};var e=t,n=e.left,i=void 0===n?-1/0:n,o=e.right,r=void 0===o?1/0:o,s=e.top,a=void 0===s?-1/0:s,l=e.bottom;return[[i,r],[a,void 0===l?1/0:l]]}}),O="undefined"!==typeof window&&window.document&&window.document.createElement,T={enabled:function(t){return void 0===t&&(t=!0),t},domTarget:!0,window:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){return void 0===t&&(t=O?window:void 0),t})),eventOptions:function(t){var e=void 0===t?{}:t,n=e.passive,i=void 0===n||n,o=e.capture;return{passive:i,capture:void 0!==o&&o}}},C=f({},S,{bounds:function(t,e,n){var i=n.distanceBounds,o=void 0===i?{}:i,r=n.angleBounds,s=void 0===r?{}:r,a=function(t){var e=w(E(o,t),{min:-1/0,max:1/0});return[e.min,e.max]},l=function(t){var e=w(E(s,t),{min:-1/0,max:1/0});return[e.min,e.max]};return"function"!==typeof o&&"function"!==typeof s?[a(),l()]:function(t){return[a(t),l(t)]}}}),M=f({},P,{threshold:function(t,e,n){var i=n.filterTaps,o=void 0!==i&&i,r=n.lockDirection,s=void 0!==r&&r,a=n.axis,l=b(t,o?3:s||(void 0===a?void 0:a)?1:0);return this.filterTaps=o||l[0]+l[1]>0,l},swipeVelocity:function(t){return void 0===t&&(t=.5),b(t)},swipeDistance:function(t){return void 0===t&&(t=60),b(t)},delay:function(t){switch(void 0===t&&(t=0),t){case!0:return 180;case!1:return 0;default:return t}}});function D(t){return void 0===t&&(t={}),k(t,T)}function N(t){return void 0===t&&(t={}),k(t,P)}function A(t){return void 0===t&&(t={}),k(t,C)}function R(t){return void 0===t&&(t={}),k(t,M)}function j(t){var e=t.domTarget,n=t.eventOptions,i=t.window,o=t.enabled,r=y(t,["domTarget","eventOptions","window","enabled"]),s=D({domTarget:e,eventOptions:n,window:i,enabled:o});return s.move=N(r),s}function L(t){var e=t.domTarget,n=t.eventOptions,i=t.window,o=t.enabled,r=y(t,["domTarget","eventOptions","window","enabled"]),s=D({domTarget:e,eventOptions:n,window:i,enabled:o});return s.hover=f({enabled:!0},r),s}function I(t){var e=t.domTarget,n=t.eventOptions,i=t.window,o=t.enabled,r=y(t,["domTarget","eventOptions","window","enabled"]),s=D({domTarget:e,eventOptions:n,window:i,enabled:o});return s.drag=R(r),s}function z(t){var e=t.domTarget,n=t.eventOptions,i=t.window,o=t.enabled,r=y(t,["domTarget","eventOptions","window","enabled"]),s=D({domTarget:e,eventOptions:n,window:i,enabled:o});return s.pinch=A(r),s}function B(t){var e=t.domTarget,n=t.eventOptions,i=t.window,o=t.enabled,r=y(t,["domTarget","eventOptions","window","enabled"]),s=D({domTarget:e,eventOptions:n,window:i,enabled:o});return s.scroll=N(r),s}function X(t){var e=t.domTarget,n=t.eventOptions,i=t.window,o=t.enabled,r=y(t,["domTarget","eventOptions","window","enabled"]),s=D({domTarget:e,eventOptions:n,window:i,enabled:o});return s.wheel=N(r),s}function H(t){return f({_active:!1,_blocked:!1,_intentional:[!1,!1],_movement:[0,0],_initial:[0,0],_bounds:[[-1/0,1/0],[-1/0,1/0]],_lastEventType:void 0,event:void 0,intentional:!1,values:[0,0],velocities:[0,0],delta:[0,0],movement:[0,0],offset:[0,0],lastOffset:[0,0],direction:[0,0],initial:[0,0],previous:[0,0],first:!1,last:!1,active:!1,timeStamp:0,startTime:0,elapsedTime:0,cancel:x,canceled:!1,memo:void 0,args:void 0},t)}function Y(){return{shared:{hovering:!1,scrolling:!1,wheeling:!1,dragging:!1,moving:!1,pinching:!1,touches:0,buttons:0,down:!1,shiftKey:!1,altKey:!1,metaKey:!1,ctrlKey:!1},drag:H({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0,_isTap:!0,_delayedEvent:!1,_pointerId:void 0,tap:!1,swipe:[0,0]}),pinch:H({da:[0,0],vdva:[0,0],origin:void 0,turns:0}),wheel:H({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0}),move:H({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0}),scroll:H({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0})}}var $=new Map,V=function(){function t(t,e){var n=this;void 0===e&&(e=[]),this.controller=t,this.args=e,this.debounced=!0,this.setTimeout=function(t,e){var i;void 0===e&&(e=140),clearTimeout(n.controller.timeouts[n.stateKey]);for(var o=arguments.length,r=new Array(o>2?o-2:0),s=2;s<o;s++)r[s-2]=arguments[s];n.controller.timeouts[n.stateKey]=(i=window).setTimeout.apply(i,[t,e].concat(r))},this.clearTimeout=function(){clearTimeout(n.controller.timeouts[n.stateKey])},this.fireGestureHandler=function(t){if(void 0===t&&(t=!1),n.state._blocked)return n.debounced||(n.state._active=!1,n.clean()),null;if(!t&&!n.state.intentional&&!n.config.triggerAllEvents)return null;if(n.state.intentional){var e=n.state.active,i=n.state._active;n.state.active=i,n.state.first=i&&!e,n.state.last=e&&!i,n.controller.state.shared[n.ingKey]=i}var o=f({},n.controller.state.shared,n.state,n.mapStateValues(n.state)),r=n.handler(o);return n.state.memo=void 0!==r?r:n.state.memo,n.state._active||n.clean(),o}}var e,n,i,s=t.prototype;return s.updateSharedState=function(t){Object.assign(this.controller.state.shared,t)},s.updateGestureState=function(t){Object.assign(this.state,t)},s.checkIntentionality=function(t,e){return{_intentional:t,_blocked:!1}},s.getMovement=function(t){var e=this.config,n=e.initial,i=e.bounds,s=e.rubberband,a=e.threshold,l=this.state,c=l._bounds,u=l._initial,h=l._active,d=l._intentional,p=l.lastOffset,y=l.movement,v=this.getInternalMovement(t,this.state),m=!1===d[0]?G(v[0],a[0]):d[0],g=!1===d[1]?G(v[1],a[1]):d[1],x=this.checkIntentionality([m,g],v);if(x._blocked)return f({},x,{_movement:v,delta:[0,0]});var _,b,w,k,S=x._intentional,P=v;(!1!==S[0]&&!1===d[0]&&(b=E(n,this.state),_=E(i,this.state),u[0]=b[0],c[0]=_[0]),!1!==S[1]&&!1===d[1])&&(b=null!=(w=b)?w:E(n,this.state),_=null!=(k=_)?k:E(i,this.state),u[1]=b[1],c[1]=_[1]);var O=[!1!==S[0]?v[0]-S[0]:u[0],!1!==S[1]?v[1]-S[1]:u[1]],T=o(O,p),C=h?s:[0,0];return O=U(c,o(O,u),C),f({},x,{intentional:!1!==S[0]||!1!==S[1],_initial:u,_movement:P,movement:O,values:t,offset:U(c,T,C),delta:r(O,y)})},s.clean=function(){this.clearTimeout()},e=t,(n=[{key:"config",get:function(){return this.controller.config[this.stateKey]}},{key:"enabled",get:function(){return this.controller.config.enabled&&this.config.enabled}},{key:"state",get:function(){return this.controller.state[this.stateKey]}},{key:"handler",get:function(){return this.controller.handlers[this.stateKey]}}])&&d(e.prototype,n),i&&d(e,i),t}();function G(t,e){return Math.abs(t)>=e&&c(t)*e}function U(t,e,n){var i=e[0],o=e[1],r=n[0],s=n[1],a=t[0],l=a[0],c=a[1],u=t[1],d=u[0],f=u[1];return[h(i,l,c,r),h(o,d,f,s)]}function W(t,e,n){var i=t.state,o=t.args,r=e.timeStamp,s=e.type,a=i.values;return{_lastEventType:s,event:e,timeStamp:r,elapsedTime:n?0:r-i.startTime,args:o,previous:a}}function q(t,e,n){var i=t.state.offset,o=n.timeStamp;return f({},Y()[t.stateKey],{_active:!0,values:e,initial:e,offset:i,lastOffset:i,startTime:o})}function F(t,e){return function(n){for(var i=arguments.length,o=new Array(i>1?i-1:0),r=1;r<i;r++)o[r-1]=arguments[r];return t.call.apply(t,[this,f({},e,{event:n})].concat(o))}}var K=function(t){var e=this;this.classes=t,this.bind=function(){for(var t={},n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];for(var r,s=g(e.classes);!(r=s()).done;){var a=r.value;new a(e,i).addBindings(t)}for(var l=0,c=Object.entries(e.nativeRefs);l<c.length;l++){var u=c[l],h=u[0],d=u[1];it(t,h,F(d,f({},e.state.shared,{args:i})))}return e.config.domTarget?J(e,t):tt(e,t)},this.effect=function(){return e.config.domTarget&&e.bind(),e.clean},this.clean=function(){var t=nt(e.config),n=e.config.eventOptions;t&&rt(t,et(e.domListeners),n),Object.values(e.timeouts).forEach(clearTimeout),function(t){var e=t.config,n=e.window,i=e.eventOptions,o=t.windowListeners;if(!n)return;for(var r in o){rt(n,o[r],i)}t.windowListeners={}}(e)},this.state=Y(),this.timeouts={},this.domListeners=[],this.windowListeners={}};function Z(t,e){var n=t.config,i=t.windowListeners;n.window&&(rt(n.window,i[e],n.eventOptions),delete i[e])}function Q(t,e,n){var i=t.config,o=t.windowListeners;void 0===n&&(n=[]),i.window&&(rt(i.window,o[e],i.eventOptions),ot(i.window,o[e]=n,i.eventOptions))}function J(t,e){var n=t.config,i=t.domListeners,o=nt(n);if(!o)throw new Error("domTarget must be defined");var r=n.eventOptions;rt(o,et(i),r);for(var s=0,a=Object.entries(e);s<a.length;s++){var l=a[s],c=l[0],u=l[1],h=c.slice(2).toLowerCase();i.push([h,_.apply(void 0,u)])}ot(o,i,r)}function tt(t,e){for(var n={},i=t.config.eventOptions.capture?"Capture":"",o=0,r=Object.entries(e);o<r.length;o++){var s=r[o],a=s[0],l=s[1],c=Array.isArray(l)?l:[l];n[a+i]=_.apply(void 0,c)}return n}function et(t){return void 0===t&&(t=[]),t.splice(0,t.length)}function nt(t){var e=t.domTarget;return e&&"current"in e?e.current:e}function it(t,e,n){t[e]||(t[e]=[]),t[e].push(n)}function ot(t,e,n){void 0===e&&(e=[]),void 0===n&&(n={});for(var i,o=g(e);!(i=o()).done;){var r=i.value,s=r[0],a=r[1];t.addEventListener(s,a,n)}}function rt(t,e,n){void 0===e&&(e=[]),void 0===n&&(n={});for(var i,o=g(e);!(i=o()).done;){var r=i.value,s=r[0],a=r[1];t.removeEventListener(s,a,n)}}function st(t,e,n){void 0===n&&(n={});var o=function(t){var e=new Set;t.drag&&e.add($.get("drag"));t.wheel&&e.add($.get("wheel"));t.scroll&&e.add($.get("scroll"));t.move&&e.add($.get("move"));t.pinch&&e.add($.get("pinch"));t.hover&&e.add($.get("hover"));return e}(t),r=i.useMemo((function(){return new K(o)}),[]);return r.config=e,r.handlers=t,r.nativeRefs=n,i.useEffect(r.effect,[]),r.config.domTarget?at:r.bind}function at(){0}var lt=function(t){function e(){return t.apply(this,arguments)||this}p(e,t);var n=e.prototype;return n.getInternalMovement=function(t,e){return r(t,e.initial)},n.checkIntentionality=function(t,e){if(!1===t[0]&&!1===t[1])return{_intentional:t,axis:this.state.axis};var n=e.map(Math.abs),i=n[0],o=n[1],r=this.state.axis||(i>o?"x":i<o?"y":void 0);return this.config.axis||this.config.lockDirection?r?this.config.axis&&r!==this.config.axis?{_intentional:t,_blocked:!0,axis:r}:(t["x"===r?1:0]=!1,{_intentional:t,_blocked:!1,axis:r}):{_intentional:[!1,!1],_blocked:!1,axis:r}:{_intentional:t,_blocked:!1,axis:r}},n.getKinematics=function(t,e){var n=this.getMovement(t);if(!n._blocked){var i=e.timeStamp-this.state.timeStamp;Object.assign(n,l(n.movement,n.delta,i))}return n},n.mapStateValues=function(t){return{xy:t.values,vxvy:t.velocities}},e}(V);function ct(t){if("touches"in t){var e=t.targetTouches,n=t.changedTouches;return e.length>0?e:n}return null}function ut(t){var e="buttons"in t?t.buttons:0,n=ct(t),i=n&&n.length||0;return{touches:i,down:i>0||e>0,buttons:e,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,ctrlKey:t.ctrlKey}}function ht(t){var e=ct(t),n=e?e[0]:t;return[n.clientX,n.clientY]}function dt(t){var e=t.currentTarget,n=e.scrollX,i=e.scrollY,o=e.scrollLeft,r=e.scrollTop;return[n||o||0,i||r||0]}function ft(t){return[t.deltaX,t.deltaY]}function pt(t){return[260*t.scale,t.rotation]}function yt(t){var e,n=t.targetTouches,i=n[0],o=n[1],r=o.clientX-i.clientX,s=o.clientY-i.clientY,a=(o.clientX+i.clientX)/2,l=(o.clientY+i.clientY)/2,c="nativeEvent"in t?t.nativeEvent:t;return{values:[Math.hypot(r,s),null!=(e=c.rotation)?e:-180*Math.atan2(r,s)/Math.PI],origin:[a,l]}}var vt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).ingKey="dragging",e.stateKey="drag",e.onDragStart=function(t){e.enabled&&!e.state._active&&(Q(e.controller,e.stateKey,[["pointermove",e.onDragChange],["pointerup",e.onDragEnd],["pointercancel",e.onDragEnd]]),e.updateGestureState({_pointerId:t.pointerId}),e.config.delay>0?(e.state._delayedEvent=!0,"persist"in t&&"function"===typeof t.persist&&t.persist(),e.setTimeout(e.startDrag.bind(v(e)),e.config.delay,t)):e.startDrag(t))},e.onDragChange=function(t){if(!e.state.canceled&&t.pointerId===e.state._pointerId)if(e.state._active){var n=ut(t);if(n.down){e.updateSharedState(n);var i=ht(t),o=e.getKinematics(i,t),r=W(v(e),t),a=e.state._isTap,l=s(o._movement);a&&l>=3&&(a=!1),e.updateGestureState(f({},r,o,{_isTap:a})),e.fireGestureHandler()}else e.onDragEnd(t)}else e.state._delayedEvent&&(e.clearTimeout(),e.startDrag(t))},e.onDragEnd=function(t){if(t.pointerId===e.state._pointerId){e.state._active=!1,e.updateSharedState({down:!1,buttons:0,touches:0});var n=e.state._isTap,i=e.state.velocities,o=i[0],r=i[1],s=e.state.movement,a=s[0],l=s[1],u=e.state._intentional,h=u[0],d=u[1],p=e.config.swipeVelocity,y=p[0],m=p[1],g=e.config.swipeDistance,x=g[0],_=g[1],b=f({},W(v(e),t),e.getMovement(e.state.values)),w=[0,0];b.elapsedTime<220&&(!1!==h&&Math.abs(o)>y&&Math.abs(a)>x&&(w[0]=c(o)),!1!==d&&Math.abs(r)>m&&Math.abs(l)>_&&(w[1]=c(r))),e.updateGestureState(f({},b,{tap:n,swipe:w})),e.fireGestureHandler(!0===n)}},e.clean=function(){t.prototype.clean.call(v(e)),e.state._delayedEvent=!1,Z(e.controller,e.stateKey)},e.onCancel=function(){e.state.canceled||(e.updateGestureState({canceled:!0}),e.state._active=!1,e.updateSharedState({down:!1,buttons:0,touches:0}),requestAnimationFrame((function(){return e.fireGestureHandler()})))},e.onClick=function(t){e.state._isTap||t.stopPropagation()},e}p(e,t);var n=e.prototype;return n.startDrag=function(t){var e=ht(t);this.updateSharedState(ut(t)),this.updateGestureState(f({},q(this,e,t),W(this,t,!0),{_pointerId:t.pointerId,cancel:this.onCancel})),this.updateGestureState(this.getMovement(e)),this.fireGestureHandler()},n.addBindings=function(t){(it(t,"onPointerDown",this.onDragStart),this.config.filterTaps)&&it(t,this.controller.config.eventOptions.capture?"onClick":"onClickCapture",this.onClick)},e}(lt);function mt(t,e){var n,i,o=[],r=!1;return function(){for(var s=arguments.length,a=new Array(s),l=0;l<s;l++)a[l]=arguments[l];return r&&n===this&&e(a,o)||(i=t.apply(this,a),r=!0,n=this,o=a),i}}function gt(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var n,i,o,r;if(Array.isArray(t)){if((n=t.length)!==e.length)return!1;for(i=n;0!==i--;)if(!gt(t[i],e[i]))return!1;return!0}if("function"===typeof Map&&t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(r=t.entries();!(i=r.next()).done;)if(!e.has(i.value[0]))return!1;for(r=t.entries();!(i=r.next()).done;)if(!gt(i.value[1],e.get(i.value[0])))return!1;return!0}if("function"===typeof Set&&t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(r=t.entries();!(i=r.next()).done;)if(!e.has(i.value[0]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if((n=(o=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(i=n;0!==i--;)if(!Object.prototype.hasOwnProperty.call(e,o[i]))return!1;if("undefined"!==typeof Element&&t instanceof Element)return!1;for(i=n;0!==i--;)if(("_owner"!==o[i]||!t.$$typeof)&&!gt(t[o[i]],e[o[i]]))return!1;return!0}return t!==t&&e!==e}function xt(t,e){try{return gt(t,e)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}function _t(t,e){void 0===e&&(e={}),$.set("drag",vt);var n=(0,i.useRef)();return n.current||(n.current=mt(I,xt)),st({drag:t},n.current(e))}var bt=function(t){function e(){return t.apply(this,arguments)||this}p(e,t);var n=e.prototype;return n.getInternalMovement=function(t,e){var n=e.values[1],i=t[0],o=t[1],s=void 0===o?n:o,a=s-n,l=e.turns;return Math.abs(a)>270&&(l+=c(a)),r([i,s-360*l],e.initial)},n.getKinematics=function(t,e){var n=this.getMovement(t),i=(t[1]-n.movement[1]-this.state.initial[1])/360,o=e.timeStamp-this.state.timeStamp;return f({turns:i},n,l(n.movement,n.delta,o))},n.mapStateValues=function(t){return{da:t.values,vdva:t.velocities}},e}(V),wt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).ingKey="pinching",e.stateKey="pinch",e.pinchShouldStart=function(t){var n=ut(t).touches;return e.enabled&&2===n},e.onPinchStart=function(t){if(e.pinchShouldStart(t)){var n=yt(t),i=n.values,o=n.origin;e.updateSharedState(ut(t)),e.updateGestureState(f({},q(v(e),i,t),W(v(e),t,!0),{cancel:e.onCancel,origin:o})),e.updateGestureState(e.getMovement(i)),e.fireGestureHandler()}},e.onPinchChange=function(t){var n=e.state,i=n.canceled,o=n._active;if(!i&&o){var r=ut(t);e.updateSharedState(r);var s=yt(t),a=s.values,l=s.origin,c=e.getKinematics(a,t);e.updateGestureState(f({},W(v(e),t),c,{origin:l})),e.fireGestureHandler()}},e.onPinchEnd=function(t){e.state.active&&(e.state._active=!1,e.updateSharedState({down:!1,touches:0}),e.updateGestureState(f({},W(v(e),t),e.getMovement(e.state.values))),e.fireGestureHandler())},e.onCancel=function(){e.state.canceled||(e.state._active=!1,e.updateGestureState({canceled:!0}),e.updateSharedState({down:!1,touches:0}),requestAnimationFrame((function(){return e.fireGestureHandler()})))},e.onGestureStart=function(t){if(e.enabled){t.preventDefault();var n=pt(t);e.updateSharedState(ut(t)),e.updateGestureState(f({},q(v(e),n,t),W(v(e),t,!0),{origin:[t.clientX,t.clientY],cancel:e.onCancel})),e.updateGestureState(e.getMovement(n)),e.fireGestureHandler()}},e.onGestureChange=function(t){var n=e.state,i=n.canceled,o=n._active;if(!i&&o){t.preventDefault();var r=ut(t);e.updateSharedState(r);var s=pt(t),a=e.getKinematics(s,t);e.updateGestureState(f({},W(v(e),t),a,{origin:[t.clientX,t.clientY]})),e.fireGestureHandler()}},e.onGestureEnd=function(t){t.preventDefault(),e.state.active&&(e.state._active=!1,e.updateSharedState({down:!1,touches:0}),e.updateGestureState(f({},W(v(e),t),e.getMovement(e.state.values),{origin:[t.clientX,t.clientY]})),e.fireGestureHandler())},e.wheelShouldRun=function(t){return e.enabled&&t.ctrlKey},e.getWheelValuesFromEvent=function(t){var n=ft(t)[1],i=e.state.values,o=i[0],r=i[1];return{values:[o-n,void 0!==r?r:0],origin:[t.clientX,t.clientY],delta:[0,n]}},e.onWheel=function(t){e.wheelShouldRun(t)&&(e.setTimeout(e.onWheelEnd),e.state._active?e.onWheelChange(t):e.onWheelStart(t))},e.onWheelStart=function(t){var n=e.getWheelValuesFromEvent(t),i=n.values,o=n.delta,r=n.origin;t.cancelable&&t.preventDefault(),e.updateSharedState(ut(t)),e.updateGestureState(f({},q(v(e),i,t),W(v(e),t,!0),{initial:e.state.values,offset:i,delta:o,origin:r})),e.updateGestureState(e.getMovement(i)),e.fireGestureHandler()},e.onWheelChange=function(t){e.updateSharedState(ut(t));var n=e.getWheelValuesFromEvent(t),i=n.values,o=n.origin,r=n.delta;e.updateGestureState(f({},W(v(e),t),e.getKinematics(i,t),{origin:o,delta:r})),e.fireGestureHandler()},e.onWheelEnd=function(){e.state._active=!1,e.updateGestureState(e.getMovement(e.state.values)),e.fireGestureHandler()},e}return p(e,t),e.prototype.addBindings=function(t){this.controller.config.domTarget&&("undefined"===typeof window||null!==window.ontouchstart)&&function(){try{return"constructor"in GestureEvent}catch(t){return!1}}()?(it(t,"onGestureStart",this.onGestureStart),it(t,"onGestureChange",this.onGestureChange),it(t,"onGestureEnd",this.onGestureEnd)):(it(t,"onTouchStart",this.onPinchStart),it(t,"onTouchMove",this.onPinchChange),it(t,"onTouchEnd",this.onPinchEnd),it(t,"onTouchCancel",this.onPinchEnd),it(t,"onWheel",this.onWheel))},e}(bt);function Et(t,e){void 0===e&&(e={}),$.set("pinch",wt);var n=(0,i.useRef)();return n.current||(n.current=mt(z,xt)),st({pinch:t},n.current(e))}var kt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).ingKey="wheeling",e.stateKey="wheel",e.debounced=!0,e.handleEvent=function(t){if((!t.ctrlKey||!("pinch"in e.controller.handlers))&&e.enabled){e.setTimeout(e.onEnd),e.updateSharedState(ut(t));var n=o(ft(t),e.state.values);if(e.state._active)e.updateGestureState(f({},W(v(e),t),e.getKinematics(n,t)));else{e.updateGestureState(f({},q(v(e),n,t),W(v(e),t,!0),{initial:e.state.values}));var i=e.getMovement(n),r=a(i.delta);e.updateGestureState(i),e.updateGestureState(r)}e.fireGestureHandler()}},e.onEnd=function(){var t=e.getMovement(e.state.values);e.updateGestureState(t),e.updateGestureState({_active:!1,velocities:[0,0],velocity:0}),e.fireGestureHandler()},e}return p(e,t),e.prototype.addBindings=function(t){it(t,"onWheel",this.handleEvent)},e}(lt);function St(t,e){void 0===e&&(e={}),$.set("wheel",kt);var n=(0,i.useRef)();return n.current||(n.current=mt(X,xt)),st({wheel:t},n.current(e))}var Pt=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).ingKey="moving",e.stateKey="move",e.debounced=!0,e.onMove=function(t){e.enabled&&(e.setTimeout(e.onMoveEnd),e.state._active?e.onMoveChange(t):e.onMoveStart(t))},e.onMoveStart=function(t){e.updateSharedState(ut(t));var n=ht(t);e.updateGestureState(f({},q(v(e),n,t),W(v(e),t,!0))),e.updateGestureState(e.getMovement(n)),e.fireGestureHandler()},e.onMoveChange=function(t){e.updateSharedState(ut(t));var n=ht(t);e.updateGestureState(f({},W(v(e),t),e.getKinematics(n,t))),e.fireGestureHandler()},e.onMoveEnd=function(){var t=e.state.values;e.updateGestureState(e.getMovement(t)),e.updateGestureState({velocities:[0,0],velocity:0,_active:!1}),e.fireGestureHandler()},e.onPointerEnter=function(t){if(e.controller.state.shared.hovering=!0,e.controller.config.enabled){if(e.controller.config.hover.enabled){var n=ht(t),i=f({},e.controller.state.shared,e.state,W(v(e),t,!0),{values:n,active:!0,hovering:!0});e.controller.handlers.hover(f({},i,e.mapStateValues(i)))}"move"in e.controller.handlers&&e.onMoveStart(t)}},e.onPointerLeave=function(t){if(e.controller.state.shared.hovering=!1,"move"in e.controller.handlers&&e.onMoveEnd(),e.controller.config.hover.enabled){var n=ht(t),i=f({},e.controller.state.shared,e.state,W(v(e),t),{values:n,active:!1});e.controller.handlers.hover(f({},i,e.mapStateValues(i)))}},e}return p(e,t),e.prototype.addBindings=function(t){"move"in this.controller.handlers&&it(t,"onPointerMove",this.onMove),"hover"in this.controller.handlers&&(it(t,"onPointerEnter",this.onPointerEnter),it(t,"onPointerLeave",this.onPointerLeave))},e}(lt);function Ot(t,e){void 0===e&&(e={}),$.set("move",Pt);var n=(0,i.useRef)();return n.current||(n.current=mt(j,xt)),st({move:t},n.current(e))}function Tt(t,e){void 0===e&&(e={}),$.set("hover",Pt);var n=(0,i.useRef)();return n.current||(n.current=mt(L,xt)),st({hover:t},n.current(e))}var Ct=function(t){function e(){var e;return(e=t.apply(this,arguments)||this).ingKey="scrolling",e.stateKey="scroll",e.debounced=!0,e.handleEvent=function(t){if(e.enabled){e.clearTimeout(),e.setTimeout(e.onEnd);var n=dt(t);if(e.updateSharedState(ut(t)),e.state._active)e.updateGestureState(f({},W(v(e),t),e.getKinematics(n,t)));else{e.updateGestureState(f({},q(v(e),n,t),W(v(e),t,!0),{initial:e.state.values}));var i=e.getMovement(n),o=a(i.delta);e.updateGestureState(i),e.updateGestureState(o)}e.fireGestureHandler()}},e.onEnd=function(){e.state._active=!1,e.updateGestureState(f({},e.getMovement(e.state.values),{velocities:[0,0],velocity:0})),e.fireGestureHandler()},e}return p(e,t),e.prototype.addBindings=function(t){it(t,"onScroll",this.handleEvent)},e}(lt);function Mt(t,e){void 0===e&&(e={}),$.set("scroll",Ct);var n=(0,i.useRef)();return n.current||(n.current=mt(B,xt)),st({scroll:t},n.current(e))}var Dt=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function Nt(t,e){void 0===e&&(e={});var n=function(t){var e={},n={},i=new Set;for(var o in t)Dt.test(o)?(i.add(RegExp.lastMatch),n[o]=t[o]):e[o]=t[o];return[n,e,i]}(t),i=n[0],o=n[1],r=n[2];$.set("drag",vt),$.set("hover",Pt),$.set("move",Pt),$.set("pinch",wt),$.set("scroll",Ct),$.set("wheel",kt);var s=function(t,e){void 0===t&&(t={}),void 0===e&&(e=new Set);var n=t,i=n.drag,o=n.wheel,r=n.move,s=n.scroll,a=n.pinch,l=n.hover,c=D({eventOptions:n.eventOptions,window:n.window,domTarget:n.domTarget,enabled:n.enabled});return e.has("onDrag")&&(c.drag=R(i)),e.has("onWheel")&&(c.wheel=N(o)),e.has("onScroll")&&(c.scroll=N(s)),e.has("onMove")&&(c.move=N(r)),e.has("onPinch")&&(c.pinch=A(a)),e.has("onHover")&&(c.hover=f({enabled:!0},l)),c}(e,r),a={};return r.has("onDrag")&&(a.drag=At(i,"onDrag")),r.has("onWheel")&&(a.wheel=At(i,"onWheel")),r.has("onScroll")&&(a.scroll=At(i,"onScroll")),r.has("onMove")&&(a.move=At(i,"onMove")),r.has("onPinch")&&(a.pinch=At(i,"onPinch")),r.has("onHover")&&(a.hover=i.onHover),st(a,s,o)}function At(t,e){var n=e+"Start",i=e+"End";return function(o){var r=void 0;return o.first&&n in t&&t[n](o),e in t&&(r=t[e](o)),o.last&&i in t&&t[i](o),r}}},74529:function(t,e,n){!function(t,e,n,i,o,r,s,a,l,c,u,h,d,f,p,y,v,m){function g(t){return t&&"object"===typeof t&&"default"in t?t:{default:t}}var x=g(s),_=g(a),b=g(l),w=g(c),E=g(u),k=g(h),S=g(f),P=g(v);function O(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&"function"===typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(t);o<i.length;o++)e.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(t,i[o])&&(n[i[o]]=t[i[o]])}return n}const T=35,C=50,M=50,D=30,N=10;function A(t){let e={height:0,width:0};return t&&(e=b.default(t,{font:"Arial, sans-serif",fontSize:"14px"})),e}function R(t){let e=50,n=50,i=50,o=50;return Array.isArray(t)?2===t.length?(e=t[0],i=t[0],o=t[1],n=t[1]):4===t.length&&(e=t[0],n=t[1],i=t[2],o=t[3]):void 0!==t&&(e=t,n=t,i=t,o=t),{top:e,right:n,bottom:i,left:o}}function j(t){const e=t.text?w.default(t.text,T):t.text,n=A(e),i=R(t.nodePadding);let o=t.width;void 0===o&&(e&&t.icon?o=n.width+t.icon.width+D+N:(e?o=n.width+D:t.icon&&(o=t.icon.width+D),o=Math.max(o,C)));let r=t.height;return void 0===r&&(e&&t.icon?r=n.height+t.icon.height:e?r=n.height+D:t.icon&&(r=t.icon.height+D),r=Math.max(r,M)),{text:e,originalText:t.text,width:o,height:r,nodePadding:i,labelHeight:n.height,labelWidth:n.width}}const L={"elk.nodeLabels.placement":"INSIDE V_CENTER H_RIGHT","elk.algorithm":"org.eclipse.elk.layered","elk.direction":"DOWN","org.eclipse.elk.layered.layering.strategy":"INTERACTIVE","org.eclipse.elk.edgeRouting":"ORTHOGONAL","elk.layered.unnecessaryBendpoints":"true","elk.layered.spacing.edgeNodeBetweenLayers":"50","org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment":"BALANCED","org.eclipse.elk.layered.cycleBreaking.strategy":"DEPTH_FIRST","org.eclipse.elk.insideSelfLoops.activate":"true",separateConnectedComponents:"false","spacing.componentComponent":"70",spacing:"75","spacing.nodeNodeBetweenLayers":"70"};function I(t,e,n){const{text:i,width:o,height:r,labelHeight:s,labelWidth:a,nodePadding:l,originalText:c}=j(n),u=t.filter((t=>t.parent===n.id)).map((n=>I(t,e,n))),h=e.filter((t=>t.parent===n.id)).map((t=>z(t))),d=Object.assign({"elk.padding":`[left=${l.left}, top=${l.top}, right=${l.right}, bottom=${l.bottom}]`,portConstraints:"FIXED_ORDER"},n.layoutOptions||{});return{id:n.id,height:r,width:o,children:u,edges:h,ports:n.ports?n.ports.map((t=>({id:t.id,properties:Object.assign(Object.assign({},t),{"port.side":t.side,"port.alignment":t.alignment||"CENTER"})}))):[],layoutOptions:d,properties:Object.assign({},n),labels:i?[{width:a,height:-s/2,text:i,originalText:c}]:[]}}function z(t){var{data:e}=t,n=O(t,["data"]);const i=A(n.text),o=e?{data:e}:{};return Object.assign(Object.assign({id:n.id,source:n.from,target:n.to,properties:Object.assign({},n)},o),{sourcePort:n.fromPort,targetPort:n.toPort,labels:n.text?[{width:i.width/2,height:-i.height/2,text:n.text,layoutOptions:{"elk.edgeLabels.placement":"INSIDE V_CENTER H_CENTER"}}]:[]})}function B(t,e){const n=[],i=[];for(const o of t)if(!o.parent){const i=I(t,e,o);null!==i&&n.push(i)}for(const o of e)if(!o.parent){const t=z(o);null!==t&&i.push(t)}return{children:n,edges:i}}function X(t){var e;for(const n of t){const t=(null===(e=n.labels)||void 0===e?void 0:e.length)>0;if(t&&n.properties.icon){const[t]=n.labels;t.x=n.properties.icon.width+25,n.properties.icon.x=25,n.properties.icon.y=n.height/2}else if(t){const[t]=n.labels;t.x=(n.width-t.width)/2}else n.properties.icon&&(n.properties.icon.x=n.width/2,n.properties.icon.y=n.height/2);n.children&&X(n.children)}return t}const H=(t,e,n)=>{const i=new x.default,o=Object.assign(Object.assign({},L),n);return new _.default(((n,r)=>{i.layout(Object.assign({id:"root"},B(t,e)),{layoutOptions:o}).then((t=>{n(Object.assign(Object.assign({},t),{children:X(t.children)}))})).catch(r)}))};var Y;(Y=t.CanvasPosition||(t.CanvasPosition={})).CENTER="center",Y.TOP="top",Y.LEFT="left",Y.RIGHT="right",Y.BOTTOM="bottom";const $=({maxWidth:e,maxHeight:i,nodes:o=[],edges:r=[],fit:s,pannable:a,defaultPosition:l,direction:c,layoutOptions:u={},zoom:h,setZoom:d,onLayoutChange:f})=>{const p=n.useRef(!1),y=n.useRef(),{observe:v,width:m,height:g}=E.default(),[x,_]=n.useState(null),[b,w]=n.useState([0,0]),[S,P]=n.useState([0,0]),O=a?i:g,T=a?e:m;n.useEffect((()=>{const t=H(o,r,Object.assign({"elk.direction":c},u));return t.then((t=>{k.default(x,t)||(_(t),f(t))})).catch((t=>{"CancelError"!==t.name&&console.error("Layout Error:",t)})),()=>t.cancel()}),[o,r]);const C=n.useCallback((e=>{if(x){const n=(T-x.width*h)/2,i=(O-x.height*h)/2;switch(e){case t.CanvasPosition.CENTER:w([n,i]);break;case t.CanvasPosition.TOP:w([n,0]);break;case t.CanvasPosition.LEFT:w([0,i]);break;case t.CanvasPosition.RIGHT:w([T-x.width*h,i]);break;case t.CanvasPosition.BOTTOM:w([n,O-x.height*h])}}}),[T,O,x,h]),M=n.useCallback((e=>{const n=(T-m)/2,i=(O-g)/2;if(a)switch(e){case t.CanvasPosition.CENTER:P([n,i]);break;case t.CanvasPosition.TOP:P([n,0]);break;case t.CanvasPosition.LEFT:P([0,i]);break;case t.CanvasPosition.RIGHT:P([T-m,i]);break;case t.CanvasPosition.BOTTOM:P([n,O-g])}}),[T,O,m,g,a]),D=n.useCallback((t=>{C(t),M(t)}),[M,C]);n.useEffect((()=>{var t;null===(t=null===y||void 0===y?void 0:y.current)||void 0===t||t.scrollTo(S[0],S[1])}),[S,y]),n.useEffect((()=>{p.current&&l&&C(l)}),[C,h,l]);const N=n.useCallback((()=>{if(x){const e=g/x.height,n=m/x.width,i=Math.min(e,n,1);d(i-1),D(t.CanvasPosition.CENTER)}}),[g,x,m,d,D]);return n.useLayoutEffect((()=>{y.current&&!p.current&&x&&g&&m&&(s?N():l&&D(l),p.current=!0)}),[T,a,O,x,g,s,m,l,D,N,y]),n.useLayoutEffect((()=>{function t(){s?N():l&&D(l)}return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}),[s,D,l,N]),{xy:b,observe:v,containerRef:y,canvasHeight:O,canvasWidth:T,containerWidth:m,containerHeight:g,layout:x,scrollXY:S,positionCanvas:D,fitCanvas:N,setScrollXY:P}},V=({onNodeLink:t,onNodeLinkCheck:e})=>{const[i,o]=n.useState(null),[r,s]=n.useState(null),[a,l]=n.useState(null),[c,u]=n.useState(null),[h,f]=n.useState(null),[p,y]=n.useState(null),v=n.useCallback(((t,e,n,i)=>{l(t.dragType),o(n),s(i)}),[]),m=n.useCallback((({memo:[t],xy:[e,n]},[i,o])=>{const r=new d.Point2D(e,n).transform(t);f([{startPoint:{x:i,y:o},endPoint:r}])}),[]),g=n.useCallback((e=>{i&&c&&p&&t(e,i,c,r),o(null),s(null),u(null),f(null)}),[p,i,r,c,t]),x=n.useCallback(((t,n)=>{if(i&&n){u(n);const o=e(t,i,n,r),s=(void 0===o||o)&&(i.parent===n.parent||"node"===a);y(s)}}),[i,r,a,e]),_=n.useCallback(((t,e)=>{i&&e&&(u(null),y(null))}),[i]);return{dragCoords:h,canLinkNode:p,dragNode:i,dragPort:r,enteredNode:c,onDragStart:v,onDrag:m,onDragEnd:g,onEnter:x,onLeave:_}},G=(t,e,n)=>t<n?t>e?t:e:n,U=({disabled:t=!1,zoom:e=1,minZoom:i=-.5,maxZoom:o=1,onZoomChange:s})=>{const[a,l]=n.useState(e-1),c=n.useRef(null);r.useGesture({onPinch:({offset:[t],event:e})=>{e.preventDefault();const n=G(t/100,i,o);l(n),s(n+1)}},{enabled:!t,domTarget:c,eventOptions:{passive:!1}});const u=n.useCallback((t=>{const e=G(t,i,o);l(e),s(e+1)}),[o,i,s]),h=n.useCallback((()=>{u(a+.1)}),[a,u]),d=n.useCallback((()=>{u(a-.1)}),[a,u]);return{svgRef:c,zoom:a+1,setZoom:u,zoomIn:h,zoomOut:d}},W=n.createContext({}),q=({selections:t,onNodeLink:n,readonly:i,children:o,nodes:r,edges:s,maxHeight:a,fit:l,maxWidth:c,direction:u,layoutOptions:h,pannable:d,defaultPosition:f,zoomable:p,zoom:y,minZoom:v,maxZoom:m,onNodeLinkCheck:g,onLayoutChange:x,onZoomChange:_})=>{const b=U({zoom:y,minZoom:v,maxZoom:m,disabled:!p,onZoomChange:_}),w=$({nodes:r,edges:s,maxHeight:a,maxWidth:c,direction:u,pannable:d,defaultPosition:f,fit:l,layoutOptions:h,zoom:b.zoom,setZoom:b.setZoom,onLayoutChange:x}),E=V({onNodeLink:n,onNodeLinkCheck:g});return e.jsx(W.Provider,Object.assign({value:Object.assign(Object.assign(Object.assign({selections:t,readonly:i,pannable:d},w),b),E)},{children:o}),void 0)},F=()=>{const t=n.useContext(W);if(void 0===t)throw new Error("`useCanvas` hook must be used within a `CanvasContext` component");return t};function K(t,e,n){return null!==n&&e?!(!e||!t)&&(!1!==n||e.id!==t.id):null}function Z({zoom:t,layoutXY:e,containerRef:n}){const{top:i,left:o}=n.current.getBoundingClientRect(),r=e[0]-n.current.scrollLeft+o,s=e[1]-n.current.scrollTop+i;return(new d.Matrix2D).translate(r,s).scale(t).inverse()}function Q(t,e,n){if(!t||!e)return{};const i=e.find((e=>e.id===t));if(i)return i;if(n){const i=e.find((t=>t.id===n));if(null===i||void 0===i?void 0:i.children)return Q(t,i.children,n)}const o=e.filter((t=>{var e;return null===(e=t.children)||void 0===e?void 0:e.length}));for(const r of o){const e=Q(t,r.children,n);if(e&&Object.keys(e).length)return e}return{}}function J(t,e=[]){if(!t)return{};const{parent:n}=t;return n?Q(t.id,e,n):(null===e||void 0===e?void 0:e.find((e=>e.id===t.id)))||{}}const tt=({x:t,y:e,height:i,width:o,onDrag:s,onDragEnd:a,onDragStart:l,node:c,disabled:u})=>{const h=[o/2+t,i+e],d=n.useRef(null),{zoom:f,xy:p,containerRef:y}=F();return r.useDrag((t=>{if("pointerdown"===t.event.type&&(d.current=t.event.currentTarget),t.intentional&&d.current){if(t.first){const e=[Z({containerRef:y,zoom:f,layoutXY:p})];return l(Object.assign(Object.assign({},t),{memo:e}),h,c),e}s(t,h,c),t.last&&(d.current=null,a(t,h,c))}}),{enabled:!u,triggerAllEvents:!0,threshold:5})};function et(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!==typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}var nt={port:"Port-module_port__30o1q",clicker:"Port-module_clicker__ZivO1",disabled:"Port-module_disabled__1SC1t"};et(".Port-module_port__30o1q {\n stroke: #0d0e17;\n fill: #3e405a;\n stroke-width: 2px;\n shape-rendering: geometricPrecision;\n pointer-events: none;\n}\n\n.Port-module_clicker__ZivO1 {\n opacity: 0;\n}\n\n.Port-module_clicker__ZivO1:not(.Port-module_disabled__1SC1t) {\n cursor: crosshair;\n }\n");const it=n.forwardRef((({id:t,x:i,y:r,rx:s,ry:a,disabled:l,style:c,children:u,properties:h,offsetX:d,offsetY:f,className:p,active:y,onDrag:v=(()=>{}),onDragStart:m=(()=>{}),onDragEnd:g=(()=>{}),onEnter:x=(()=>{}),onLeave:_=(()=>{}),onClick:b=(()=>{})},w)=>{const{readonly:E}=F(),[k,P]=n.useState(!1),[O,T]=n.useState(!1),C=i-h.width/2,M=r-h.height/2,D=(t,e)=>{m(t,e,h),P(!0)},N=(t,e)=>{g(t,e,h),P(!1)},A=tt({x:C+d,y:M+f,height:h.height,width:h.width,disabled:l||E||(null===h||void 0===h?void 0:h.disabled),node:h,onDrag:v,onDragStart:D,onDragEnd:N});if(h.hidden)return null;const R=h.disabled||l,j={port:h,isDragging:k,isHovered:O,isDisabled:R,x:i,y:r,rx:s,ry:a,offsetX:d,offsetY:f};return e.jsxs("g",Object.assign({id:t},{children:[e.jsx("rect",Object.assign({},A(),{ref:w,height:h.height+14,width:h.width+14,x:C-7,y:M-7,className:S.default(nt.clicker,{[nt.disabled]:R}),onMouseEnter:t=>{t.stopPropagation(),R||(T(!0),x(t,h))},onMouseLeave:t=>{t.stopPropagation(),R||(T(!1),_(t,h))},onClick:t=>{t.stopPropagation(),R||b(t,h)}}),void 0),e.jsx(o.motion.rect,{style:c,className:S.default(nt.port,p,null===h||void 0===h?void 0:h.className),height:h.height,width:h.width,rx:s,ry:a,initial:{scale:0,opacity:0,x:C,y:M},animate:{x:C,y:M,scale:(k||y||O)&&!R?1.5:1,opacity:1}},`${i}-${r}`),u&&e.jsx(n.Fragment,{children:"function"===typeof u?u(j):u},void 0)]}),void 0)}));var ot={text:"Label-module_text__126dD"};et(".Label-module_text__126dD {\n fill: #d6e7ff;\n pointer-events: none;\n font-size: 14px;\n text-rendering: geometricPrecision;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n");const rt=({text:t,x:n,y:i,style:o,className:r,originalText:s})=>e.jsxs(e.Fragment,{children:[e.jsx("title",{children:s},void 0),e.jsx("g",Object.assign({transform:`translate(${n}, ${i})`},{children:e.jsx("text",Object.assign({className:S.default(ot.text,r),style:o},{children:t}),void 0)}),void 0)]},void 0);var st={deleteX:"Remove-module_deleteX__2x11N",container:"Remove-module_container__19Jsk",drop:"Remove-module_drop__2AwP8",rect:"Remove-module_rect__3vmn2"};et(".Remove-module_deleteX__2x11N {\n stroke: black;\n pointer-events: none;\n}\n\n.Remove-module_container__19Jsk {\n will-change: transform, opacity;\n}\n\n.Remove-module_drop__2AwP8 {\n cursor: pointer;\n opacity: 0;\n}\n\n.Remove-module_rect__3vmn2 {\n shape-rendering: geometricPrecision;\n fill: #ff005d;\n border-radius: 2px;\n pointer-events: none;\n}\n");const at=({size:t=15,className:n,hidden:i,x:r,y:s,onClick:a=(()=>{}),onEnter:l=(()=>{}),onLeave:c=(()=>{})})=>{if(i)return null;const u=t/2,h=r-u,d=s-u;return e.jsxs(o.motion.g,Object.assign({className:S.default(n,st.container),initial:{scale:0,opacity:0,translateX:h,translateY:d},animate:{scale:1,opacity:1,translateX:h,translateY:d},whileHover:{scale:1.2},whileTap:{scale:.8}},{children:[e.jsx("rect",{height:1.5*t,width:1.5*t,className:st.drop,onMouseEnter:l,onMouseLeave:c,onClick:t=>{t.preventDefault(),t.stopPropagation(),a(t)}},void 0),e.jsx("rect",{height:t,width:t,className:st.rect},void 0),e.jsx("line",{x1:"2",y1:t-2,x2:t-2,y2:"2",className:st.deleteX,strokeWidth:"1"},void 0),e.jsx("line",{x1:"2",y1:"2",x2:t-2,y2:t-2,className:st.deleteX,strokeWidth:"1"},void 0)]}),void 0)};function lt({sourceX:t,sourceY:e,targetX:n,targetY:i}){const o=Math.abs(n-t)/2,r=n<t?n+o:n-o,s=Math.abs(i-e)/2;return[r,i<e?i+s:i-s,o,s]}function ct({sourceX:t,sourceY:e,sourcePosition:n="bottom",targetX:i,targetY:o,targetPosition:r="top"}){const s=["left","right"],[a,l]=lt({sourceX:t,sourceY:e,targetX:i,targetY:o});let c=`M${t},${e} C${t},${l} ${i},${l} ${i},${o}`;return s.includes(n)&&s.includes(r)?c=`M${t},${e} C${a},${e} ${a},${o} ${i},${o}`:s.includes(r)?c=`M${t},${e} C${t},${o} ${t},${o} ${i},${o}`:s.includes(n)&&(c=`M${t},${e} C${i},${e} ${i},${e} ${i},${o}`),c}function ut(t){const e=t.getTotalLength()/2,{x:n,y:i}=t.getPointAtLength(e);return{x:n,y:i,angle:180*Math.atan2(n,i)/Math.PI}}function ht(t,e){const n=t.x-e.x,i=t.y-e.y;let o=Math.atan2(-i,-n);return o*=180/Math.PI,o<0&&(o+=360),o}function dt(t,e,n){if(!t)return null;const i=ht(e,n),o=ut(t);return Object.assign(Object.assign({},o),{angle:i})}var ft={plus:"Add-module_plus__30sKV",container:"Add-module_container__1RcJg",drop:"Add-module_drop__W1fxu",rect:"Add-module_rect__3JiVn"};et(".Add-module_plus__30sKV {\n stroke: black;\n pointer-events: none;\n}\n\n.Add-module_container__1RcJg {\n will-change: transform, opacity;\n}\n\n.Add-module_drop__W1fxu {\n cursor: pointer;\n opacity: 0;\n}\n\n.Add-module_rect__3JiVn {\n shape-rendering: geometricPrecision;\n fill: #46FECB;\n border-radius: 2px;\n pointer-events: none;\n}\n");const pt=({x:t,y:n,className:i,size:r=15,hidden:s=!0,onEnter:a=(()=>{}),onLeave:l=(()=>{}),onClick:c=(()=>{})})=>{if(s)return null;const u=r/2,h=t-u,d=n-u;return e.jsxs(o.motion.g,Object.assign({className:S.default(i,ft.container),initial:{scale:0,opacity:0,translateX:h,translateY:d},animate:{scale:1,opacity:1,translateX:h,translateY:d},whileHover:{scale:1.2},whileTap:{scale:.8}},{children:[e.jsx("rect",{height:2*r,width:2*r,className:ft.drop,onClick:t=>{t.preventDefault(),t.stopPropagation(),c(t)},onMouseEnter:a,onMouseLeave:l},void 0),e.jsx("rect",{height:r,width:r,className:ft.rect},void 0),e.jsx("line",{x1:"2",x2:r-2,y1:u,y2:u,className:ft.plus,strokeWidth:"1"},void 0),e.jsx("line",{x1:u,x2:u,y1:"2",y2:r-2,className:ft.plus,strokeWidth:"1"},void 0)]}),void 0)};var yt={edge:"Edge-module_edge__RbmGh",disabled:"Edge-module_disabled__20Zof",selectionDisabled:"Edge-module_selectionDisabled__MVwAS",path:"Edge-module_path__u3LT2",active:"Edge-module_active__2dt5E",deleteHovered:"Edge-module_deleteHovered__ZG2og",clicker:"Edge-module_clicker__3cdd0"};et(".Edge-module_edge__RbmGh.Edge-module_disabled__20Zof {\n pointer-events: none;\n }\n .Edge-module_edge__RbmGh:not(.Edge-module_selectionDisabled__MVwAS):not(.Edge-module_disabled__20Zof):hover .Edge-module_path__u3LT2 {\n stroke: #a5a9e2;\n }\n .Edge-module_edge__RbmGh:not(.Edge-module_selectionDisabled__MVwAS):not(.Edge-module_disabled__20Zof):hover .Edge-module_path__u3LT2.Edge-module_active__2dt5E {\n stroke: #46fecb;\n }\n .Edge-module_edge__RbmGh:not(.Edge-module_selectionDisabled__MVwAS):not(.Edge-module_disabled__20Zof):hover .Edge-module_path__u3LT2.Edge-module_deleteHovered__ZG2og {\n stroke: #ff005d;\n stroke-dasharray: 4 2;\n }\n .Edge-module_edge__RbmGh:not(.Edge-module_selectionDisabled__MVwAS):not(.Edge-module_disabled__20Zof) .Edge-module_clicker__3cdd0 {\n cursor: pointer;\n }\n\n.Edge-module_path__u3LT2 {\n fill: transparent;\n stroke: #485a74;\n pointer-events: none;\n shape-rendering: geometricPrecision;\n stroke-width: 1pt;\n}\n\n.Edge-module_clicker__3cdd0 {\n fill: none;\n stroke: transparent;\n stroke-width: 15px;\n}\n\n.Edge-module_clicker__3cdd0:focus {\n outline: none;\n }\n");const vt=({sections:t,interpolation:o,properties:r,labels:s,className:a,containerClassName:l,disabled:c,removable:u=!0,selectable:h=!0,upsertable:d=!0,style:f,children:y,add:v=e.jsx(pt,{},void 0),remove:m=e.jsx(at,{},void 0),label:g=e.jsx(rt,{},void 0),onClick:x=(()=>{}),onKeyDown:_=(()=>{}),onEnter:b=(()=>{}),onLeave:w=(()=>{}),onRemove:E=(()=>{}),onAdd:k=(()=>{})})=>{const P=n.useRef(null),[O,T]=n.useState(!1),[C,M]=n.useState(null),{selections:D,readonly:N}=F(),A=!!(null===D||void 0===D?void 0:D.length)&&D.includes(null===r||void 0===r?void 0:r.id),R=c||(null===r||void 0===r?void 0:r.disabled),j=h&&!(null===r||void 0===r?void 0:r.selectionDisabled),L=n.useMemo((()=>{if(!(null===t||void 0===t?void 0:t.length))return null;if(t[0].bendPoints){const e=t?[t[0].startPoint,...t[0].bendPoints||[],t[0].endPoint]:[];let n=p.line().x((t=>t.x)).y((t=>t.y));return"linear"!==o&&(n="curved"===o?n.curve(p.curveBundle.beta(1)):o),n(e)}return ct({sourceX:t[0].startPoint.x,sourceY:t[0].startPoint.y,targetX:t[0].endPoint.x,targetY:t[0].endPoint.y})}),[t]);n.useEffect((()=>{(null===t||void 0===t?void 0:t.length)>0&&M(dt(P.current,t[0].startPoint,t[0].endPoint))}),[t]);const I={edge:r,center:C,pathRef:P};return e.jsxs("g",Object.assign({className:S.default(yt.edge,l,{[yt.disabled]:R,[yt.selectionDisabled]:!j})},{children:[e.jsx("path",{ref:P,style:f,className:S.default(yt.path,null===r||void 0===r?void 0:r.className,a,{[yt.active]:A,[yt.deleteHovered]:O}),d:L,markerEnd:"url(#end-arrow)"},void 0),e.jsx("path",{className:yt.clicker,d:L,tabIndex:-1,onClick:t=>{t.preventDefault(),t.stopPropagation(),!R&&j&&x(t,r)},onKeyDown:t=>{t.preventDefault(),t.stopPropagation(),R||_(t,r)},onMouseEnter:t=>{t.stopPropagation(),R||b(t,r)},onMouseLeave:t=>{t.stopPropagation(),R||w(t,r)}},void 0),y&&e.jsx(n.Fragment,{children:"function"===typeof y?y(I):y},void 0),(null===s||void 0===s?void 0:s.length)>0&&s.map(((t,n)=>e.jsx(i.CloneElement,Object.assign({element:g,edgeChildProps:I},t),n))),!R&&C&&!N&&m&&u&&e.jsx(i.CloneElement,Object.assign({element:m},C,{hidden:void 0!==m.props.hidden?m.props.hidden:!A,onClick:t=>{t.preventDefault(),t.stopPropagation(),E(t,r),T(!1)},onEnter:()=>T(!0),onLeave:()=>T(!1)}),void 0),!R&&C&&!N&&v&&d&&e.jsx(i.CloneElement,Object.assign({element:v},C,{onClick:t=>{t.preventDefault(),t.stopPropagation(),k(t,r)}}),void 0)]}),void 0)};vt.defaultProps={interpolation:"curved"};var mt={rect:"Node-module_rect__1Eal3",selectionDisabled:"Node-module_selectionDisabled__2zufG",disabled:"Node-module_disabled__bZzf8",dragging:"Node-module_dragging__24Avg",active:"Node-module_active__1b2HC",unlinkable:"Node-module_unlinkable__p6w5x",deleteHovered:"Node-module_deleteHovered__36-dV",children:"Node-module_children__1kq65"};et(".Node-module_rect__1Eal3 {\n fill: #2b2c3e;\n transition: stroke 100ms ease-in-out;\n stroke: #475872;\n shape-rendering: geometricPrecision;\n stroke-width: 1pt;\n}\n\n .Node-module_rect__1Eal3:not(.Node-module_selectionDisabled__2zufG):not(.Node-module_disabled__bZzf8) {\n cursor: pointer;\n }\n\n .Node-module_rect__1Eal3:not(.Node-module_selectionDisabled__2zufG):not(.Node-module_disabled__bZzf8):hover {\n stroke: #a5a9e2;\n }\n\n .Node-module_rect__1Eal3:not(.Node-module_selectionDisabled__2zufG):not(.Node-module_disabled__bZzf8).Node-module_dragging__24Avg {\n stroke: #a5a9e2;\n }\n\n .Node-module_rect__1Eal3:not(.Node-module_selectionDisabled__2zufG):not(.Node-module_disabled__bZzf8).Node-module_active__1b2HC {\n stroke: #46fecb;\n }\n\n .Node-module_rect__1Eal3:not(.Node-module_selectionDisabled__2zufG):not(.Node-module_disabled__bZzf8).Node-module_unlinkable__p6w5x {\n stroke: #ff005d;\n }\n\n .Node-module_rect__1Eal3:not(.Node-module_selectionDisabled__2zufG):not(.Node-module_disabled__bZzf8).Node-module_deleteHovered__36-dV {\n stroke: #ff005d !important;\n stroke-dasharray: 4 2;\n }\n\n .Node-module_rect__1Eal3:focus {\n outline: none;\n }\n\n .Node-module_rect__1Eal3.Node-module_children__1kq65 {\n fill: transparent;\n stroke: #475872;\n }\n");const gt=({id:t,x:r,y:s,ports:a,labels:l,height:c,width:u,properties:h,animated:d,className:f,rx:p=2,ry:y=2,offsetX:v=0,offsetY:m=0,icon:g,disabled:x,style:_,children:b,nodes:w,edges:E,draggable:k=!0,linkable:P=!0,selectable:T=!0,removable:C=!0,dragType:M="multiportOnly",dragCursor:D="crosshair",childEdge:N=e.jsx(vt,{},void 0),childNode:A=e.jsx(gt,{},void 0),remove:R=e.jsx(at,{},void 0),port:j=e.jsx(it,{},void 0),label:L=e.jsx(rt,{},void 0),onRemove:I,onDrag:z,onDragStart:B,onDragEnd:X,onClick:H,onKeyDown:Y,onEnter:$,onLeave:V})=>{const G=n.useRef(null),U=o.useAnimation(),W=F(),{canLinkNode:q,enteredNode:Z,selections:Q,readonly:J}=W,et=O(W,["canLinkNode","enteredNode","selections","readonly"]),[nt,ot]=n.useState(!1),[st,lt]=n.useState(!1),[ct,ut]=n.useState(!0),ht=(null===Q||void 0===Q?void 0:Q.length)?Q.includes(h.id):null,dt=t.includes("node-drag"),ft=r+v,pt=s+m,yt="multiportOnly"===M&&(null===a||void 0===a?void 0:a.filter((t=>{var e;return!(null===(e=t.properties)||void 0===e?void 0:e.hidden)})).length)>1,xt=x||(null===h||void 0===h?void 0:h.disabled),_t=["port","multiportOnly"].includes(M)?P:k,bt=T&&!(null===h||void 0===h?void 0:h.selectionDisabled),wt=n.useCallback((t=>{let e=null;return t?("all"===M||"port"===M||yt)&&(e="port"):"all"===M||"node"===M?e="node":yt||(e="port"),e}),[M,yt]),Et=n.useCallback((t=>{t?(document.body.classList.add("dragging"),document.body.style.cursor="node"===t?"grab":"crosshair"):(document.body.classList.remove("dragging"),document.body.style.cursor="auto")}),[]),kt=tt({x:ft,y:pt,height:c,width:u,disabled:xt||yt||J||!_t||"port"===M,node:h,onDrag:(...t)=>{!xt&&_t&&(et.onDrag(...t),null===z||void 0===z||z(...t))},onDragStart:(t,e,n,i)=>{!xt&&_t&&(t.dragType=wt(!1),Et(t.dragType),et.onDragStart(t,e,n,i),null===B||void 0===B||B(t,e,n,i),lt(!0))},onDragEnd:(t,e,n,i)=>{!xt&&_t&&(t.dragType=wt(!1),t.srcElement=G.current,et.onDragEnd(t,e,n,i),null===X||void 0===X||X(t,e,n,i),lt(!1),Et(null))}});n.useEffect((()=>((null===Z||void 0===Z?void 0:Z.id)===h.id&&ut(K(h,Z,q)),()=>ut(!0))),[q,Z,h]),n.useEffect((()=>{U.set({opacity:1,translateX:r,translateY:s})}),[U,r,s]);const St={height:c,width:u,x:r,y:s,node:h,nodes:w,edges:E},Pt=n.useCallback((t=>{t.preventDefault(),t.stopPropagation(),!xt&&bt&&(null===H||void 0===H||H(t,h))}),[bt,xt,H,h]),Ot=n.useCallback((t=>{t.preventDefault(),xt||null===Y||void 0===Y||Y(t,h)}),[xt,Y,h]),Tt=n.useCallback((t=>{t.preventDefault(),t.stopPropagation()}),[]),Ct=n.useCallback((t=>{t.stopPropagation(),et.onEnter(t,h),xt||null===$||void 0===$||$(t,h)}),[et,xt,$,h]),Mt=n.useCallback((t=>{t.stopPropagation(),et.onLeave(t,h),xt||null===V||void 0===V||V(t,h)}),[et,xt,V,h]),Dt=n.useCallback(((t,e,n)=>{!xt&&P&&(t.dragType=wt(!0),Et(t.dragType),et.onDragStart(t,e,h,n),null===B||void 0===B||B(t,e,h,n),lt(!0))}),[et,wt,xt,P,B,h,Et]),Nt=n.useCallback(((t,e,n)=>{!xt&&P&&(et.onDrag(t,e,h,n),null===z||void 0===z||z(t,e,h,n))}),[et,xt,P,z,h]),At=n.useCallback(((t,e,n)=>{!xt&&P&&(t.dragType=wt(!0),Et(null),et.onDragEnd(t,e,h,n),null===X||void 0===X||X(t,e,h,n),lt(!1))}),[et,wt,xt,P,X,h,Et]);return e.jsxs(o.motion.g,Object.assign({id:t,initial:{cursor:"initial",opacity:0,translateX:r,translateY:s},animate:U},{children:[e.jsx(o.motion.rect,Object.assign({},kt(),{ref:G,tabIndex:-1,onKeyDown:Ot,onClick:Pt,onTouchStart:Tt,onMouseEnter:Ct,onMouseLeave:Mt,className:S.default(mt.rect,f,null===h||void 0===h?void 0:h.className,{[mt.active]:ht,[mt.disabled]:xt,[mt.unlinkable]:!1===ct&&!dt,[mt.dragging]:st,[mt.children]:(null===w||void 0===w?void 0:w.length)>0,[mt.deleteHovered]:nt,[mt.selectionDisabled]:!bt}),style:_,height:c,width:u,rx:p,ry:y,initial:{opacity:0},animate:{opacity:1,transition:d?{}:{type:!1,duration:0}}}),void 0),b&&e.jsx(n.Fragment,{children:"function"===typeof b?b(St):b},void 0),g&&h.icon&&e.jsx(i.CloneElement,Object.assign({element:g},h.icon),void 0),L&&(null===l||void 0===l?void 0:l.length)>0&&l.map(((t,n)=>e.jsx(i.CloneElement,Object.assign({element:L},t),n))),j&&(null===a||void 0===a?void 0:a.length)>0&&a.map((n=>e.jsx(i.CloneElement,Object.assign({element:j,active:!yt&&st,disabled:xt||!P,offsetX:ft,offsetY:pt,onDragStart:Dt,onDrag:Nt,onDragEnd:At},n,{id:`${t}-port-${n.id}`}),n.id))),!xt&&ht&&!J&&R&&C&&e.jsx(i.CloneElement,{element:R,y:c/2,x:u,onClick:t=>{t.preventDefault(),t.stopPropagation(),null===I||void 0===I||I(t,h),ot(!1)},onEnter:()=>ot(!0),onLeave:()=>ot(!1)},void 0),e.jsxs("g",{children:[(null===E||void 0===E?void 0:E.length)>0&&E.map((n=>{const o="function"===typeof N?N(n):N;return e.jsx(i.CloneElement,Object.assign({element:o,id:`${t}-edge-${n.id}`,disabled:xt},n,{properties:Object.assign(Object.assign({},n.properties),n.data?{data:n.data}:{})}),n.id)})),(null===w||void 0===w?void 0:w.length)>0&&w.map((n=>{var o,r,s,a,l,c,{children:u}=n,h=O(n,["children"]);const f="function"===typeof A?A(h):A,p=null!=(null===(o=f.props)||void 0===o?void 0:o.disabled)?f.props.disabled:x,y=null!=(null===(r=f.props)||void 0===r?void 0:r.animated)?f.props.animated:d,v=null!=(null===(s=f.props)||void 0===s?void 0:s.draggable)?f.props.draggable:k,m=null!=(null===(a=f.props)||void 0===a?void 0:a.linkable)?f.props.linkable:P,g=null!=(null===(l=f.props)||void 0===l?void 0:l.selectable)?f.props.selectable:T,_=null!=(null===(c=f.props)||void 0===c?void 0:c.removable)?f.props.removable:C;return e.jsx(i.CloneElement,Object.assign({element:f,id:`${t}-node-${h.id}`,disabled:p,nodes:u,offsetX:ft,offsetY:pt,animated:y,children:f.props.children,childNode:A,dragCursor:D,dragType:M,childEdge:N,draggable:v,linkable:m,selectable:g,removable:_,onDragStart:B,onDrag:z,onDragEnd:X,onClick:H,onEnter:$,onLeave:V,onKeyDown:Y,onRemove:I},h),h.id)}))]},void 0)]}),void 0)};var xt={arrow:"Arrow-module_arrow__aEgOT"};et(".Arrow-module_arrow__aEgOT {\n pointer-events: none;\n shape-rendering: geometricPrecision;\n fill: #485a74;\n}\n");const _t=({size:t=8,y:n=0,x:i=0,angle:o=0,className:r,style:s})=>e.jsx("path",{style:s,transform:`translate(${i}, ${n}) rotate(${o})`,className:S.default(xt.arrow,r),d:`M0,-${t/2}L${t},0L0,${t/2}`},void 0),bt=({size:t=8,className:n,style:i})=>e.jsx("marker",Object.assign({id:"end-arrow",viewBox:`0 -${t/2} ${t} ${t}`,refX:`${t}`,markerWidth:`${t}`,markerHeight:`${t}`,orient:"auto"},{children:e.jsx(_t,{size:t,style:i,className:n},void 0)}),"end-arrow");var wt={container:"Canvas-module_container__22cN4",pannable:"Canvas-module_pannable__1d7xd",dragNode:"Canvas-module_dragNode__2q6bP"};et(".Canvas-module_container__22cN4.Canvas-module_pannable__1d7xd {\n overflow: auto;\n }\n .Canvas-module_container__22cN4:focus {\n outline: none;\n }\n\n.dragging {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.Canvas-module_dragNode__2q6bP {\n pointer-events: none;\n}\n");const Et=n.forwardRef((({className:t,height:r="100%",width:s="100%",readonly:a,disabled:l=!1,animated:c=!0,arrow:u=e.jsx(bt,{},void 0),node:h=e.jsx(gt,{},void 0),edge:d=e.jsx(vt,{},void 0),dragNode:f=e.jsx(gt,{},void 0),dragEdge:p=e.jsx(vt,{add:null},void 0),onMouseEnter:y=(()=>{}),onMouseLeave:v=(()=>{}),onCanvasClick:m=(()=>{})},g)=>{var x,_,b,w,E;const k=i.useId(),P=F(),{pannable:T,dragCoords:C,dragNode:M,layout:D,containerRef:N,svgRef:A,canvasHeight:R,canvasWidth:j,xy:L,zoom:I,setZoom:z,observe:B,zoomIn:X,zoomOut:H,positionCanvas:Y,fitCanvas:$,setScrollXY:V}=P,G=O(P,["pannable","dragCoords","dragNode","layout","containerRef","svgRef","canvasHeight","canvasWidth","xy","zoom","setZoom","observe","zoomIn","zoomOut","positionCanvas","fitCanvas","setScrollXY"]),[U,W]=n.useState(null);n.useImperativeHandle(g,(()=>Object.assign(Object.assign({},G),{observe:B,zoom:I,xy:L,layout:D,canvasHeight:R,containerRef:N,canvasWidth:j,svgRef:A,positionCanvas:Y,setZoom:z,zoomIn:X,zoomOut:H,fitCanvas:$,setScrollXY:V})));const q=n.useRef(!1),K=n.useMemo((()=>J(M,null===D||void 0===D?void 0:D.children)),[M,null===D||void 0===D?void 0:D.children]),[Z,Q]=n.useState(K),tt=n.useMemo((()=>"function"===typeof f?f(K):f),[f,K]);n.useLayoutEffect((()=>{!q.current&&null!==D&&L[0]>0&&L[1]>0&&(q.current=!0)}),[D,L]);const et=n.useCallback((t=>{W(t.dragType)}),[]),nt=n.useCallback((t=>t&&Array.isArray(t)?t.map((t=>{var{children:n}=t,o=O(t,["children"]);const r="function"===typeof f?f(o):f;return e.jsx(i.CloneElement,Object.assign({element:r,disabled:!0,children:r.props.children,animated:c,nodes:n,childEdge:p,childNode:f},o,{onDragStart:et,id:`${k}-node-${o.id}-node-drag`}),`${k}-node-${o.id}-node-drag`)})):[]),[c,k]);return n.useEffect((()=>{if(K&&Object.keys(K).length>0){const t=Object.assign({},K);t.children=nt(t.children),Q(t)}}),[nt,K,null===D||void 0===D?void 0:D.children]),e.jsx("div",Object.assign({style:{height:r,width:s},className:S.default(wt.container,t,{[wt.pannable]:T}),ref:t=>{B(t),N.current=t},onMouseEnter:y,onMouseLeave:v},{children:e.jsxs("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",id:k,ref:A,height:R,width:j,onClick:m},{children:[null!==u&&e.jsx("defs",{children:e.jsx(i.CloneElement,Object.assign({element:u},u),void 0)},void 0),e.jsxs(o.motion.g,Object.assign({initial:{opacity:0,scale:0,transition:{translateX:!1,translateY:!1}},animate:{opacity:1,translateX:L[0],translateY:L[1],scale:I,transition:c?{velocity:100,translateX:{duration:q.current?.3:0},translateY:{duration:q.current?.3:0},opacity:{duration:.8},when:"beforeChildren"}:{type:!1,duration:0,when:"beforeChildren"}}},{children:[null===(x=null===D||void 0===D?void 0:D.children)||void 0===x?void 0:x.map((t=>{var{children:n}=t,o=O(t,["children"]);const r="function"===typeof h?h(o):h;return e.jsx(i.CloneElement,Object.assign({element:r,disabled:l,children:r.props.children,animated:c,nodes:n,childEdge:d,childNode:h},o,{onDragStart:et,id:`${k}-node-${o.id}`}),o.id)})),null===(_=null===D||void 0===D?void 0:D.edges)||void 0===_?void 0:_.map((t=>{const n="function"===typeof d?d(t):d;return e.jsx(i.CloneElement,Object.assign({element:n,disabled:l,children:n.props.children},t,{properties:Object.assign(Object.assign({},t.properties),t.data?{data:t.data}:{}),id:`${k}-edge-${t.id}`}),t.id)})),null!==C&&p&&"port"===U&&!a&&e.jsx(i.CloneElement,{element:p,id:`${k}-edge-drag`,disabled:!0,sections:C},void 0),null===(b=null===D||void 0===D?void 0:D.children)||void 0===b?void 0:b.map((t=>{var{children:i,ports:r}=t,s=O(t,["children","ports"]);return e.jsx(n.Fragment,{children:(null===r||void 0===r?void 0:r.length)>0&&e.jsx(o.motion.g,Object.assign({animate:{translateX:s.x,translateY:s.y,transition:{duration:0}}},{children:r.map(((t,n)=>e.jsx("use",{xlinkHref:`#${k}-node-${s.id}-port-${t.id}`,style:{pointerEvents:"none"}},n)))}),s.id)},s.id)})),null!==C&&Z&&"node"===U&&!a&&e.jsx(i.CloneElement,Object.assign({},Z,{element:tt,height:(null===(w=null===Z||void 0===Z?void 0:Z.props)||void 0===w?void 0:w.height)||(null===Z||void 0===Z?void 0:Z.height),width:(null===(E=null===Z||void 0===Z?void 0:Z.props)||void 0===E?void 0:E.width)||(null===Z||void 0===Z?void 0:Z.width),id:`${k}-node-drag`,animated:c,className:wt.dragNode,disabled:!0,x:C[0].endPoint.x,y:C[0].endPoint.y}),void 0)]}),void 0)]}),void 0)}),void 0)})),kt=n.forwardRef(((n,i)=>{var{selections:o=[],readonly:r=!1,fit:s=!1,nodes:a=[],edges:l=[],maxHeight:c=2e3,maxWidth:u=2e3,direction:h="DOWN",pannable:d=!0,zoom:f=1,defaultPosition:p=t.CanvasPosition.CENTER,zoomable:y=!0,minZoom:v=-.5,maxZoom:m=1,onNodeLink:g=(()=>{}),onNodeLinkCheck:x=(()=>{}),onLayoutChange:_=(()=>{}),onZoomChange:b=(()=>{}),layoutOptions:w}=n,E=O(n,["selections","readonly","fit","nodes","edges","maxHeight","maxWidth","direction","pannable","zoom","defaultPosition","zoomable","minZoom","maxZoom","onNodeLink","onNodeLinkCheck","onLayoutChange","onZoomChange","layoutOptions"]);return e.jsx(q,Object.assign({layoutOptions:w,nodes:a,edges:l,zoom:f,defaultPosition:p,minZoom:v,maxZoom:m,fit:s,maxHeight:c,maxWidth:u,direction:h,pannable:d,zoomable:y,readonly:r,onLayoutChange:_,selections:o,onZoomChange:b,onNodeLink:g,onNodeLinkCheck:x},{children:e.jsx(Et,Object.assign({ref:i},E),void 0)}),void 0)}));var St={icon:"Icon-module_icon__36fxL"};et(".Icon-module_icon__36fxL {\n pointer-events: none;\n}\n");const Pt=({x:t,y:n,url:i,style:o,className:r,height:s=40,width:a=40})=>e.jsx("g",Object.assign({className:S.default(St.icon,r),transform:`translate(${t-a/2}, ${n-s/2})`},{children:e.jsx("image",{style:o,xlinkHref:i,width:a,height:s},void 0)}),void 0);function Ot(t,e,n,i){const o=e.findIndex((t=>t.id===n.id)),r=Object.assign(Object.assign({},n),{id:`${n.from}-${i.id}`,to:i.id}),s=Object.assign(Object.assign({},n),{id:`${i.id}-${n.to}`,from:i.id});return n.fromPort&&n.toPort&&(r.fromPort=n.fromPort,r.toPort=`${i.id}-to`,s.fromPort=`${i.id}-from`,s.toPort=n.toPort),e.splice(o,1,r,s),{nodes:[...t,i],edges:[...e]}}function Tt(t,e,n,i){Array.isArray(n)||(n=[n]);const o=n.map((t=>t.id)),r=t.filter((t=>!o.includes(t.id))),s=e.filter((t=>!o.includes(t.from)&&!o.includes(t.to)));for(const a of o){const n=e.filter((t=>t.to===a)),o=e.filter((t=>t.from===a));for(const e of n)for(const n of o){const o=t.find((t=>t.id===e.from)),a=t.find((t=>t.id===n.to));if(o&&a){const t=null===i||void 0===i?void 0:i(r,s,o,a);(void 0===t||t)&&s.push({id:`${o.id}-${a.id}`,from:o.id,to:a.id,parent:null===o||void 0===o?void 0:o.parent})}}}return{edges:s,nodes:r}}function Ct(t,e,n){Array.isArray(n)||(n=[n]);const i=[],o=[];for(const r of t)n.some((t=>t===r.id))||i.push(r);for(const r of e)n.some((t=>t===r.from||t===r.to))||o.push(r);return{nodes:i,edges:o}}function Mt(t,e){return e.filter((e=>!(e.to===t||e.from===t)))}function Dt(t,e){const n=(Array.isArray(e)?e:[e]).map((t=>t.id));return t.filter((t=>!n.includes(t.id)))}function Nt(t,e){return{id:`${t.id}-${e.id}`,from:t.id,to:e.id,parent:e.parent}}function At(t,e,n,i){return{nodes:[...t,n],edges:[...e,...i?[Nt(i,n)]:[]]}}const Rt=({selections:t=[],nodes:e=[],edges:i=[],hotkeys:o=["selectAll","deselect","delete"],disabled:r,onSelection:s,onDataChange:a})=>{const[l,c]=n.useState(t),[u,h]=n.useState(!1),d=t=>{if(!r&&!l.includes(t)){const e=[...l,t];null===s||void 0===s||s(e),c(e)}},f=t=>{if(!r&&l.includes(t)){const e=l.filter((e=>e!==t));null===s||void 0===s||s(e),c(e)}},p=t=>{l.includes(t)?f(t):d(t)},v=(t=[])=>{r||(c(t),null===s||void 0===s||s(t))},m=(t,e)=>{t.preventDefault(),t.stopPropagation(),u?p(e.id):v([e.id]),h(!1)},g=t=>{t.preventDefault(),h(t.metaKey||t.ctrlKey)},x=()=>{v(),h(!1)};return y.useHotkeys([{name:"Select All",keys:"mod+a",disabled:!o.includes("selectAll"),category:"Canvas",description:"Select all nodes and edges",callback:t=>{if(t.preventDefault(),!r){const t=e.map((t=>t.id));null===a||void 0===a||a(e,i),null===s||void 0===s||s(t),c(t)}}},{name:"Delete Selections",category:"Canvas",disabled:!o.includes("delete"),description:"Delete selected nodes and edges",keys:"backspace",callback:t=>{if(!r){t.preventDefault();const n=Ct(e,i,l);null===a||void 0===a||a(n.nodes,n.edges),null===s||void 0===s||s([]),c([])}}},{name:"Deselect Selections",category:"Canvas",disabled:!o.includes("deselect"),description:"Deselect selected nodes and edges",keys:"escape",callback:t=>{r||(t.preventDefault(),null===s||void 0===s||s([]),c([]))}}]),{onClick:m,onKeyDown:g,onCanvasClick:x,selections:l,clearSelections:v,addSelection:d,removeSelection:f,toggleSelection:p,setSelections:c}},jt=({nodes:t,edges:e,disabled:i,maxHistory:o=20,onUndoRedo:r})=>{const[s,a]=n.useState(!1),[l,c]=n.useState(!1),u=n.useRef(new P.default({maxLength:o})),h=n.useRef(r);n.useEffect((()=>{h.current=r}),[r]),n.useEffect((()=>{u.current.save({nodes:t,edges:e}),a(u.current.canUndo()),c(u.current.canRedo())}),[t,e]);const d=n.useCallback((()=>{u.current.undo((t=>{const e=u.current.canUndo(),n=u.current.canRedo();a(e),c(n),h.current(Object.assign(Object.assign({},t),{type:"undo",canUndo:e,canRedo:n}))}))}),[]),f=n.useCallback((()=>{u.current.redo((t=>{const e=u.current.canUndo(),n=u.current.canRedo();a(e),c(n),h.current(Object.assign(Object.assign({},t),{type:"redo",canUndo:e,canRedo:n}))}))}),[]),p=n.useCallback(((t,e)=>{u.current.clear(),a(!1),c(!1),h.current({type:"clear",canUndo:!1,canRedo:!1}),u.current.save({nodes:t,edges:e})}),[]);return y.useHotkeys([{name:"Undo",keys:"mod+z",category:"Canvas",description:"Undo changes",callback:t=>{t.preventDefault(),!i&&s&&d()}},{name:"Redo",keys:"mod+shift+z",category:"Canvas",description:"Redo changes",callback:t=>{t.preventDefault(),!i&&l&&f()}}]),{canUndo:s,canRedo:l,count:()=>u.current.count(),history:()=>u.current.history(),clear:p,redo:f,undo:d}},Lt=(t,e)=>{var n;const i=[];if(null===t||void 0===t?void 0:t.length)for(const o of t){let t=o.x,r=o.y;e&&(t=e.x+t,r=e.y+r);const s=[new d.Point2D(t,r),new d.Point2D(t+o.width,r+o.height)];i.push({points:s,node:o}),(null===(n=o.children)||void 0===n?void 0:n.length)&&i.push(...Lt(o.children,o))}return i},It=(t,e)=>{const[n,i]=e.points;let o=0,r=0;return t.x<n.x?o=n.x-t.x:t.x>i.x&&(o=i.x-t.x),t.y<n.y?r=n.y-t.y:t.y>i.y&&(r=i.y-t.y),Math.floor(Math.sqrt(o*o+r*r))},zt=(t,e,n,i)=>{const o=[],r=new d.Point2D(t.x,t.y).transform(e);for(const c of n){const t=m.IntersectionQuery.pointInRectangle(r,c.points[0],c.points[1]),e=It(r,c);o.push({node:c.node,minDist:e,intersects:t})}let s=i,a=null,l=null;for(const c of o)c.minDist<s&&!c.intersects&&(l=c.node.id,s=c.minDist),c.intersects&&(a=c.node.id);return a&&(l&&l!==a||(l=a,s=0)),{intersectedNodeId:a,foundNodeId:l,foundDist:s}},Bt=t=>{var{canvasRef:e,disabled:i,minDistance:o=40}=t,r=O(t,["canvasRef","disabled","minDistance"]);const s=n.useRef(null),a=n.useRef(null),l=n.useRef(null),c=n.useRef(0),u=n.useRef(r);n.useEffect((()=>{u.current=r}),[r]);const[h,d]=n.useState(null),[f,p]=n.useState(null),[y,v]=n.useState(null),m=n.useCallback((()=>{if(i)return;const t=e.current;p(Z(t)),v(Lt(t.layout.children))}),[i]),g=n.useCallback((t=>{if(!f||i)return;const{onMatchChange:e,onIntersects:n,onDistanceChange:r}=u.current,{intersectedNodeId:h,foundNodeId:p,foundDist:v}=zt(t,f,y,o),m=v!==o?v:null;p!==a.current&&(null===e||void 0===e||e(p,v)),h!==s.current&&(null===n||void 0===n||n(h)),r&&m!==l.current&&(cancelAnimationFrame(c.current),c.current=requestAnimationFrame((()=>{r(m)}))),s.current=h,a.current=p,l.current=m,d(p)}),[f,i,o,y]);return n.useEffect((()=>()=>cancelAnimationFrame(c.current))),{match:h,onDragStart:m,onDrag:g,onDragEnd:n.useCallback((()=>{i||(d(null),p(null),v(null))}),[i])}};function Xt(t,e,n){return t.some((t=>t.from===e.id&&t.to===n.id))}function Ht(t,e,n){const i=e.reduce(((t,e)=>(e.to===n&&t.push(e.from),t)),[]),o=t.find((t=>t.id===n));return(null===o||void 0===o?void 0:o.parent)&&i.push(o.parent),t.filter((t=>i.includes(t.id)))}function Yt(t,e,n,i){let o=!1;const r=n=>{const s=Ht(t,e,n);for(const t of s){if(t.id===i.id){o=!0;break}r(t.id)}};return r(n.id),o}const $t=(t,e,n)=>{const i=[],o=n=>{const r=Ht(t,e,n);for(const t of r)i.find((e=>e.id===t.id))||(i.push(t),o(t.id))};return o(n),i};function Vt(t,e){const n=[],i=[];for(const o of t)o.to===e.id&&n.push(o),o.from===e.id&&i.push(o);return{to:n,from:i,all:[...n,...i]}}t.Add=pt,t.Arrow=_t,t.Canvas=kt,t.CanvasContext=W,t.CanvasProvider=q,t.Edge=vt,t.Icon=Pt,t.Label=rt,t.MarkerArrow=bt,t.Node=gt,t.Port=it,t.Remove=at,t.addNodeAndEdge=At,t.checkNodeLinkable=K,t.createEdgeFromNodes=Nt,t.detectCircular=Yt,t.elkLayout=H,t.findNestedNode=Q,t.formatText=j,t.getCoords=Z,t.getDragNodeData=J,t.getEdgesByNode=Vt,t.getParentsForNodeId=$t,t.hasLink=Xt,t.measureText=A,t.parsePadding=R,t.removeAndUpsertNodes=Tt,t.removeEdge=Dt,t.removeEdgesFromNode=Mt,t.removeNode=Ct,t.upsertNode=Ot,t.useCanvas=F,t.useEdgeDrag=V,t.useLayout=$,t.useNodeDrag=tt,t.useProximity=Bt,t.useSelection=Rt,t.useUndo=jt,t.useZoom=U,Object.defineProperty(t,"__esModule",{value:!0})}(e,n(28598),n(82684),n(68891),n(3686),n(89274),n(70913),n(62034),n(93103),n(6050),n(47189),n(73051),n(93093),n(63588),n(17872),n(98400),n(84381),n(21073))},98400:function(t,e,n){!function(t,e,n){"use strict";function i(t){return t&&"object"===typeof t&&"default"in t?t:{default:t}}var o=i(n);const r=(()=>{const t=new Map;let n=[];const i=e=>{e.forEach((e=>{if(!e.disabled)if(e.ref){if(!e.ref.current)return;const n=e.ref.current;t.has(n)||t.set(n,new o.default(n)),t.get(n).bind(e.keys,e.callback,e.action)}else t.get(void 0)||t.set(void 0,o.default),t.get(void 0).bind(e.keys,e.callback,e.action)}))},r=t=>{n=[...n,...t],i(t)},s=e=>{n=n.filter((t=>!e.includes(t))),e.forEach((e=>{var n,i;if(e.ref){if(!e.ref.current)return;null===(n=t.get(e.ref.current))||void 0===n||n.unbind(e.keys,e.action)}else null===(i=t.get(void 0))||void 0===i||i.unbind(e.keys,e.action)}));for(const[i]of t){if(void 0===i){if(n.some((t=>void 0===t.ref)))continue}else if(n.some((t=>{var e;return(null===(e=t.ref)||void 0===e?void 0:e.current)===i})))continue;t.delete(i)}i(n)};return()=>{const[t,i]=e.useState([]);return e.useEffect((()=>{i(n)}),[]),[t,r,s]}})(),s=t=>{const[n,i,o]=r();return e.useLayoutEffect((()=>(t&&i(t),()=>{t&&o(t)})),[t]),e.useMemo((()=>n.reduce(((t,e)=>(t.find((t=>t.keys===e.keys&&t.ref&&e.ref))||t.push(e),t)),[])),[n])},a=navigator.platform.toUpperCase().indexOf("MAC")>=0,l=a?"\u2318":"CTRL";function c(t){return t.replace("modifier",l).replace("mod",l).replace("shift","\u21e7")}t.MODIFIER_KEY=l,t.getHotkeyText=c,t.isMac=a,t.useHotkeyState=r,t.useHotkeys=s,Object.defineProperty(t,"__esModule",{value:!0})}(e,n(82684),n(17494))},45008:function(t,e,n){"use strict";n.d(e,{CR:function(){return s},Jh:function(){return r},_T:function(){return i},ev:function(){return a},mG:function(){return o}});function i(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&"function"===typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(t);o<i.length;o++)e.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(t,i[o])&&(n[i[o]]=t[i[o]])}return n}function o(t,e,n,i){return new(n||(n=Promise))((function(o,r){function s(t){try{l(i.next(t))}catch(e){r(e)}}function a(t){try{l(i.throw(t))}catch(e){r(e)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}l((i=i.apply(t,e||[])).next())}))}function r(t,e){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"===typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,a[0]&&(s=0)),s;)try{if(n=1,i&&(o=2&a[0]?i.return:a[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;switch(i=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,i=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=e.call(t,s)}catch(l){a=[6,l],i=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}Object.create;function s(t,e){var n="function"===typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,o,r=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function a(t,e,n){if(n||2===arguments.length)for(var i,o=0,r=e.length;o<r;o++)!i&&o in e||(i||(i=Array.prototype.slice.call(e,0,o)),i[o]=e[o]);return t.concat(i||Array.prototype.slice.call(e))}Object.create},84381:function(t,e,n){t.exports=n(87840)},26189:function(t){"use strict";var e=Array.isArray,n=Object.keys,i=Object.prototype.hasOwnProperty;t.exports=function t(o,r){if(o===r)return!0;var s,a,l,c=e(o),u=e(r);if(c&&u){if((a=o.length)!=r.length)return!1;for(s=0;s<a;s++)if(!t(o[s],r[s]))return!1;return!0}if(c!=u)return!1;var h=o instanceof Date,d=r instanceof Date;if(h!=d)return!1;if(h&&d)return o.getTime()==r.getTime();var f=o instanceof RegExp,p=r instanceof RegExp;if(f!=p)return!1;if(f&&p)return o.toString()==r.toString();if(o instanceof Object&&r instanceof Object){var y=n(o);if((a=y.length)!==n(r).length)return!1;for(s=0;s<a;s++)if(!i.call(r,y[s]))return!1;for(s=0;s<a;s++)if(!t(o[l=y[s]],r[l]))return!1;return!0}return!1}},87840:function(t,e,n){const i=n(32177),o=n(26189);class r{constructor(t){Object.defineProperties(this,{_opts:{writable:!0},_history:{writable:!0},_position:{writable:!0},_initialState:{writable:!0},_onUpdate:{writable:!0,value:()=>{}},_onBeforeSave:{writable:!0,value:()=>{}},_onMaxLength:{writable:!0,value:()=>{}},_isExceeded:{writable:!0,value:!1},_suspendSave:{writable:!0,value:!1}}),this._opts=i.copy(t,{provider:null,maxLength:20}),this._initiliaze()}_initiliaze(){this._initialState=void 0,this._history=[],this._isExceeded=!1,this._position=0}_checkMaxLength(){this._history.length>this._opts.maxLength?(this._history=this._history.slice(1,this._history.length),this._isExceeded||(this._onMaxLength.call(null,this.current(),this.history(),this),this._isExceeded=!0)):this._isExceeded=!1}_rejectSave(t,e){return o(t,this.current())||!1===e||this._suspendSave}canUndo(){return this._position>1}canRedo(){return this._position<this._history.length}static callbackError(t){if("function"!==typeof t)throw new TypeError("callback must be a function")}import(t=[]){if(!Array.isArray(t))throw new TypeError("Items must be an array");return this._initiliaze(),this._history=t,this._position=this._history.length,this._initialState=t[0],this}history(){return this._history}save(t){"undefined"===typeof t&&"function"===typeof this._opts.provider&&(t=this._opts.provider());let e=this._onBeforeSave.call(null,t,this);return t=e||t,this._rejectSave(t,e)||(this._position<this._history.length&&(this._history=this._history.slice(0,this._position)),"undefined"!==typeof t&&(this._history.push(t),void 0===this._initialState&&(this._initialState=t)),this._checkMaxLength(),this._position=this._history.length,this._onUpdate.call(null,this.current(),"save",this.history(),this)),this}suspendSave(t=!0){return this._suspendSave=t,this}allowedSave(){return!this._suspendSave}clear(){return this._initiliaze(),this._onUpdate.call(null,null,"clear",this.history(),this),this}undo(t){return this.canUndo()&&(this._position--,"function"===typeof t&&t(this.current()),this._onUpdate.call(null,this.current(),"undo",this.history(),this)),this}redo(t){return this.canRedo()&&(this._position++,"function"===typeof t&&t(this.current()),this._onUpdate.call(null,this.current(),"redo",this.history(),this)),this}current(){return this._history.length?this._history[this._position-1]:null}count(){return this._history.length?this._history.length-1:0}initialState(){return this._initialState}onUpdate(t){return r.callbackError(t),this._onUpdate=t,this}onMaxLength(t){return r.callbackError(t),this._onMaxLength=t,this}onBeforeSave(t){return r.callbackError(t),this._onBeforeSave=t,this}}t.exports=r},62034:function(t,e,n){"use strict";n.r(e),n.d(e,{CancelError:function(){return i},default:function(){return o}});class i extends Error{constructor(t){super(t||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}class o{static fn(t){return(...e)=>new o(((n,i,o)=>{e.push(o),t(...e).then(n,i)}))}constructor(t){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise(((e,n)=>{this._reject=n;const i=t=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(t)};Object.defineProperties(i,{shouldReject:{get:()=>this._rejectOnCancel,set:t=>{this._rejectOnCancel=t}}}),t((t=>{this._isCanceled&&i.shouldReject||(this._isPending=!1,e(t))}),(t=>{this._isPending=!1,n(t)}),i)}))}then(t,e){return this._promise.then(t,e)}catch(t){return this._promise.catch(t)}finally(t){return this._promise.finally(t)}cancel(t){if(this._isPending&&!this._isCanceled){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(const t of this._cancelHandlers)t()}catch(e){return void this._reject(e)}this._rejectOnCancel&&this._reject(new i(t))}}get isCanceled(){return this._isCanceled}}Object.setPrototypeOf(o.prototype,Promise.prototype)},17872:function(t,e,n){"use strict";n.r(e),n.d(e,{arc:function(){return D},area:function(){return B},areaRadial:function(){return q},curveBasis:function(){return zt},curveBasisClosed:function(){return Xt},curveBasisOpen:function(){return Yt},curveBumpX:function(){return Q},curveBumpY:function(){return J},curveBundle:function(){return Vt},curveCardinal:function(){return Wt},curveCardinalClosed:function(){return Ft},curveCardinalOpen:function(){return Zt},curveCatmullRom:function(){return te},curveCatmullRomClosed:function(){return ne},curveCatmullRomOpen:function(){return oe},curveLinear:function(){return j},curveLinearClosed:function(){return se},curveMonotoneX:function(){return pe},curveMonotoneY:function(){return ye},curveNatural:function(){return ge},curveStep:function(){return _e},curveStepAfter:function(){return we},curveStepBefore:function(){return be},line:function(){return z},lineRadial:function(){return W},link:function(){return it},linkHorizontal:function(){return ot},linkRadial:function(){return st},linkVertical:function(){return rt},pie:function(){return Y},pointRadial:function(){return F},radialArea:function(){return q},radialLine:function(){return W},stack:function(){return Oe},stackOffsetDiverging:function(){return Ce},stackOffsetExpand:function(){return Te},stackOffsetNone:function(){return Ee},stackOffsetSilhouette:function(){return Me},stackOffsetWiggle:function(){return De},stackOrderAppearance:function(){return Ne},stackOrderAscending:function(){return Re},stackOrderDescending:function(){return Le},stackOrderInsideOut:function(){return Ie},stackOrderNone:function(){return ke},stackOrderReverse:function(){return ze},symbol:function(){return Rt},symbolAsterisk:function(){return lt},symbolCircle:function(){return ct},symbolCross:function(){return ut},symbolDiamond:function(){return ft},symbolDiamond2:function(){return pt},symbolPlus:function(){return yt},symbolSquare:function(){return vt},symbolSquare2:function(){return mt},symbolStar:function(){return bt},symbolTriangle:function(){return Et},symbolTriangle2:function(){return St},symbolWye:function(){return Mt},symbolX:function(){return Dt},symbols:function(){return Nt},symbolsFill:function(){return Nt},symbolsStroke:function(){return At}});const i=Math.PI,o=2*i,r=1e-6,s=o-r;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new a}a.prototype=l.prototype={constructor:a,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,o,r){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+o)+","+(this._y1=+r)},arcTo:function(t,e,n,o,s){t=+t,e=+e,n=+n,o=+o,s=+s;var a=this._x1,l=this._y1,c=n-t,u=o-e,h=a-t,d=l-e,f=h*h+d*d;if(s<0)throw new Error("negative radius: "+s);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(f>r)if(Math.abs(d*c-u*h)>r&&s){var p=n-a,y=o-l,v=c*c+u*u,m=p*p+y*y,g=Math.sqrt(v),x=Math.sqrt(f),_=s*Math.tan((i-Math.acos((v+f-m)/(2*g*x)))/2),b=_/x,w=_/g;Math.abs(b-1)>r&&(this._+="L"+(t+b*h)+","+(e+b*d)),this._+="A"+s+","+s+",0,0,"+ +(d*p>h*y)+","+(this._x1=t+w*c)+","+(this._y1=e+w*u)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,a,l,c){t=+t,e=+e,c=!!c;var u=(n=+n)*Math.cos(a),h=n*Math.sin(a),d=t+u,f=e+h,p=1^c,y=c?a-l:l-a;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+d+","+f:(Math.abs(this._x1-d)>r||Math.abs(this._y1-f)>r)&&(this._+="L"+d+","+f),n&&(y<0&&(y=y%o+o),y>s?this._+="A"+n+","+n+",0,1,"+p+","+(t-u)+","+(e-h)+"A"+n+","+n+",0,1,"+p+","+(this._x1=d)+","+(this._y1=f):y>r&&(this._+="A"+n+","+n+",0,"+ +(y>=i)+","+p+","+(this._x1=t+n*Math.cos(l))+","+(this._y1=e+n*Math.sin(l))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var c=l;function u(t){return function(){return t}}const h=Math.abs,d=Math.atan2,f=Math.cos,p=Math.max,y=Math.min,v=Math.sin,m=Math.sqrt,g=1e-12,x=Math.PI,_=x/2,b=2*x;function w(t){return t>1?0:t<-1?x:Math.acos(t)}function E(t){return t>=1?_:t<=-1?-_:Math.asin(t)}function k(t){return t.innerRadius}function S(t){return t.outerRadius}function P(t){return t.startAngle}function O(t){return t.endAngle}function T(t){return t&&t.padAngle}function C(t,e,n,i,o,r,s,a){var l=n-t,c=i-e,u=s-o,h=a-r,d=h*l-u*c;if(!(d*d<g))return[t+(d=(u*(e-r)-h*(t-o))/d)*l,e+d*c]}function M(t,e,n,i,o,r,s){var a=t-n,l=e-i,c=(s?r:-r)/m(a*a+l*l),u=c*l,h=-c*a,d=t+u,f=e+h,y=n+u,v=i+h,g=(d+y)/2,x=(f+v)/2,_=y-d,b=v-f,w=_*_+b*b,E=o-r,k=d*v-y*f,S=(b<0?-1:1)*m(p(0,E*E*w-k*k)),P=(k*b-_*S)/w,O=(-k*_-b*S)/w,T=(k*b+_*S)/w,C=(-k*_+b*S)/w,M=P-g,D=O-x,N=T-g,A=C-x;return M*M+D*D>N*N+A*A&&(P=T,O=C),{cx:P,cy:O,x01:-u,y01:-h,x11:P*(o/E-1),y11:O*(o/E-1)}}function D(){var t=k,e=S,n=u(0),i=null,o=P,r=O,s=T,a=null;function l(){var l,u,p=+t.apply(this,arguments),k=+e.apply(this,arguments),S=o.apply(this,arguments)-_,P=r.apply(this,arguments)-_,O=h(P-S),T=P>S;if(a||(a=l=c()),k<p&&(u=k,k=p,p=u),k>g)if(O>b-g)a.moveTo(k*f(S),k*v(S)),a.arc(0,0,k,S,P,!T),p>g&&(a.moveTo(p*f(P),p*v(P)),a.arc(0,0,p,P,S,T));else{var D,N,A=S,R=P,j=S,L=P,I=O,z=O,B=s.apply(this,arguments)/2,X=B>g&&(i?+i.apply(this,arguments):m(p*p+k*k)),H=y(h(k-p)/2,+n.apply(this,arguments)),Y=H,$=H;if(X>g){var V=E(X/p*v(B)),G=E(X/k*v(B));(I-=2*V)>g?(j+=V*=T?1:-1,L-=V):(I=0,j=L=(S+P)/2),(z-=2*G)>g?(A+=G*=T?1:-1,R-=G):(z=0,A=R=(S+P)/2)}var U=k*f(A),W=k*v(A),q=p*f(L),F=p*v(L);if(H>g){var K,Z=k*f(R),Q=k*v(R),J=p*f(j),tt=p*v(j);if(O<x&&(K=C(U,W,J,tt,Z,Q,q,F))){var et=U-K[0],nt=W-K[1],it=Z-K[0],ot=Q-K[1],rt=1/v(w((et*it+nt*ot)/(m(et*et+nt*nt)*m(it*it+ot*ot)))/2),st=m(K[0]*K[0]+K[1]*K[1]);Y=y(H,(p-st)/(rt-1)),$=y(H,(k-st)/(rt+1))}}z>g?$>g?(D=M(J,tt,U,W,k,$,T),N=M(Z,Q,q,F,k,$,T),a.moveTo(D.cx+D.x01,D.cy+D.y01),$<H?a.arc(D.cx,D.cy,$,d(D.y01,D.x01),d(N.y01,N.x01),!T):(a.arc(D.cx,D.cy,$,d(D.y01,D.x01),d(D.y11,D.x11),!T),a.arc(0,0,k,d(D.cy+D.y11,D.cx+D.x11),d(N.cy+N.y11,N.cx+N.x11),!T),a.arc(N.cx,N.cy,$,d(N.y11,N.x11),d(N.y01,N.x01),!T))):(a.moveTo(U,W),a.arc(0,0,k,A,R,!T)):a.moveTo(U,W),p>g&&I>g?Y>g?(D=M(q,F,Z,Q,p,-Y,T),N=M(U,W,J,tt,p,-Y,T),a.lineTo(D.cx+D.x01,D.cy+D.y01),Y<H?a.arc(D.cx,D.cy,Y,d(D.y01,D.x01),d(N.y01,N.x01),!T):(a.arc(D.cx,D.cy,Y,d(D.y01,D.x01),d(D.y11,D.x11),!T),a.arc(0,0,p,d(D.cy+D.y11,D.cx+D.x11),d(N.cy+N.y11,N.cx+N.x11),T),a.arc(N.cx,N.cy,Y,d(N.y11,N.x11),d(N.y01,N.x01),!T))):a.arc(0,0,p,L,j,T):a.lineTo(q,F)}else a.moveTo(0,0);if(a.closePath(),l)return a=null,l+""||null}return l.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,i=(+o.apply(this,arguments)+ +r.apply(this,arguments))/2-x/2;return[f(i)*n,v(i)*n]},l.innerRadius=function(e){return arguments.length?(t="function"===typeof e?e:u(+e),l):t},l.outerRadius=function(t){return arguments.length?(e="function"===typeof t?t:u(+t),l):e},l.cornerRadius=function(t){return arguments.length?(n="function"===typeof t?t:u(+t),l):n},l.padRadius=function(t){return arguments.length?(i=null==t?null:"function"===typeof t?t:u(+t),l):i},l.startAngle=function(t){return arguments.length?(o="function"===typeof t?t:u(+t),l):o},l.endAngle=function(t){return arguments.length?(r="function"===typeof t?t:u(+t),l):r},l.padAngle=function(t){return arguments.length?(s="function"===typeof t?t:u(+t),l):s},l.context=function(t){return arguments.length?(a=null==t?null:t,l):a},l}var N=Array.prototype.slice;function A(t){return"object"===typeof t&&"length"in t?t:Array.from(t)}function R(t){this._context=t}function j(t){return new R(t)}function L(t){return t[0]}function I(t){return t[1]}function z(t,e){var n=u(!0),i=null,o=j,r=null;function s(s){var a,l,u,h=(s=A(s)).length,d=!1;for(null==i&&(r=o(u=c())),a=0;a<=h;++a)!(a<h&&n(l=s[a],a,s))===d&&((d=!d)?r.lineStart():r.lineEnd()),d&&r.point(+t(l,a,s),+e(l,a,s));if(u)return r=null,u+""||null}return t="function"===typeof t?t:void 0===t?L:u(t),e="function"===typeof e?e:void 0===e?I:u(e),s.x=function(e){return arguments.length?(t="function"===typeof e?e:u(+e),s):t},s.y=function(t){return arguments.length?(e="function"===typeof t?t:u(+t),s):e},s.defined=function(t){return arguments.length?(n="function"===typeof t?t:u(!!t),s):n},s.curve=function(t){return arguments.length?(o=t,null!=i&&(r=o(i)),s):o},s.context=function(t){return arguments.length?(null==t?i=r=null:r=o(i=t),s):i},s}function B(t,e,n){var i=null,o=u(!0),r=null,s=j,a=null;function l(l){var u,h,d,f,p,y=(l=A(l)).length,v=!1,m=new Array(y),g=new Array(y);for(null==r&&(a=s(p=c())),u=0;u<=y;++u){if(!(u<y&&o(f=l[u],u,l))===v)if(v=!v)h=u,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),d=u-1;d>=h;--d)a.point(m[d],g[d]);a.lineEnd(),a.areaEnd()}v&&(m[u]=+t(f,u,l),g[u]=+e(f,u,l),a.point(i?+i(f,u,l):m[u],n?+n(f,u,l):g[u]))}if(p)return a=null,p+""||null}function h(){return z().defined(o).curve(s).context(r)}return t="function"===typeof t?t:void 0===t?L:u(+t),e="function"===typeof e?e:u(void 0===e?0:+e),n="function"===typeof n?n:void 0===n?I:u(+n),l.x=function(e){return arguments.length?(t="function"===typeof e?e:u(+e),i=null,l):t},l.x0=function(e){return arguments.length?(t="function"===typeof e?e:u(+e),l):t},l.x1=function(t){return arguments.length?(i=null==t?null:"function"===typeof t?t:u(+t),l):i},l.y=function(t){return arguments.length?(e="function"===typeof t?t:u(+t),n=null,l):e},l.y0=function(t){return arguments.length?(e="function"===typeof t?t:u(+t),l):e},l.y1=function(t){return arguments.length?(n=null==t?null:"function"===typeof t?t:u(+t),l):n},l.lineX0=l.lineY0=function(){return h().x(t).y(e)},l.lineY1=function(){return h().x(t).y(n)},l.lineX1=function(){return h().x(i).y(e)},l.defined=function(t){return arguments.length?(o="function"===typeof t?t:u(!!t),l):o},l.curve=function(t){return arguments.length?(s=t,null!=r&&(a=s(r)),l):s},l.context=function(t){return arguments.length?(null==t?r=a=null:a=s(r=t),l):r},l}function X(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function H(t){return t}function Y(){var t=H,e=X,n=null,i=u(0),o=u(b),r=u(0);function s(s){var a,l,c,u,h,d=(s=A(s)).length,f=0,p=new Array(d),y=new Array(d),v=+i.apply(this,arguments),m=Math.min(b,Math.max(-b,o.apply(this,arguments)-v)),g=Math.min(Math.abs(m)/d,r.apply(this,arguments)),x=g*(m<0?-1:1);for(a=0;a<d;++a)(h=y[p[a]=a]=+t(s[a],a,s))>0&&(f+=h);for(null!=e?p.sort((function(t,n){return e(y[t],y[n])})):null!=n&&p.sort((function(t,e){return n(s[t],s[e])})),a=0,c=f?(m-d*x)/f:0;a<d;++a,v=u)l=p[a],u=v+((h=y[l])>0?h*c:0)+x,y[l]={data:s[l],index:a,value:h,startAngle:v,endAngle:u,padAngle:g};return y}return s.value=function(e){return arguments.length?(t="function"===typeof e?e:u(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(i="function"===typeof t?t:u(+t),s):i},s.endAngle=function(t){return arguments.length?(o="function"===typeof t?t:u(+t),s):o},s.padAngle=function(t){return arguments.length?(r="function"===typeof t?t:u(+t),s):r},s}R.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var $=G(j);function V(t){this._curve=t}function G(t){function e(e){return new V(t(e))}return e._curve=t,e}function U(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(G(t)):e()._curve},t}function W(){return U(z().curve($))}function q(){var t=B().curve($),e=t.curve,n=t.lineX0,i=t.lineX1,o=t.lineY0,r=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return U(n())},delete t.lineX0,t.lineEndAngle=function(){return U(i())},delete t.lineX1,t.lineInnerRadius=function(){return U(o())},delete t.lineY0,t.lineOuterRadius=function(){return U(r())},delete t.lineY1,t.curve=function(t){return arguments.length?e(G(t)):e()._curve},t}function F(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}V.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};class K{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}class Z{constructor(t){this._context=t}lineStart(){this._point=0}lineEnd(){}point(t,e){if(t=+t,e=+e,0===this._point++)this._x0=t,this._y0=e;else{const n=F(this._x0,this._y0),i=F(this._x0,this._y0=(this._y0+e)/2),o=F(t,this._y0),r=F(t,e);this._context.moveTo(...n),this._context.bezierCurveTo(...i,...o,...r)}}}function Q(t){return new K(t,!0)}function J(t){return new K(t,!1)}function tt(t){return new Z(t)}function et(t){return t.source}function nt(t){return t.target}function it(t){let e=et,n=nt,i=L,o=I,r=null,s=null;function a(){let a;const l=N.call(arguments),u=e.apply(this,l),h=n.apply(this,l);if(null==r&&(s=t(a=c())),s.lineStart(),l[0]=u,s.point(+i.apply(this,l),+o.apply(this,l)),l[0]=h,s.point(+i.apply(this,l),+o.apply(this,l)),s.lineEnd(),a)return s=null,a+""||null}return a.source=function(t){return arguments.length?(e=t,a):e},a.target=function(t){return arguments.length?(n=t,a):n},a.x=function(t){return arguments.length?(i="function"===typeof t?t:u(+t),a):i},a.y=function(t){return arguments.length?(o="function"===typeof t?t:u(+t),a):o},a.context=function(e){return arguments.length?(null==e?r=s=null:s=t(r=e),a):r},a}function ot(){return it(Q)}function rt(){return it(J)}function st(){const t=it(tt);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const at=m(3);var lt={draw(t,e){const n=.59436*m(e+y(e/28,.75)),i=n/2,o=i*at;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-o,-i),t.lineTo(o,i),t.moveTo(-o,i),t.lineTo(o,-i)}},ct={draw(t,e){const n=m(e/x);t.moveTo(n,0),t.arc(0,0,n,0,b)}},ut={draw(t,e){const n=m(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}};const ht=m(1/3),dt=2*ht;var ft={draw(t,e){const n=m(e/dt),i=n*ht;t.moveTo(0,-n),t.lineTo(i,0),t.lineTo(0,n),t.lineTo(-i,0),t.closePath()}},pt={draw(t,e){const n=.62625*m(e);t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}},yt={draw(t,e){const n=.87559*m(e-y(e/7,2));t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}},vt={draw(t,e){const n=m(e),i=-n/2;t.rect(i,i,n,n)}},mt={draw(t,e){const n=.4431*m(e);t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}};const gt=v(x/10)/v(7*x/10),xt=v(b/10)*gt,_t=-f(b/10)*gt;var bt={draw(t,e){const n=m(.8908130915292852*e),i=xt*n,o=_t*n;t.moveTo(0,-n),t.lineTo(i,o);for(let r=1;r<5;++r){const e=b*r/5,s=f(e),a=v(e);t.lineTo(a*n,-s*n),t.lineTo(s*i-a*o,a*i+s*o)}t.closePath()}};const wt=m(3);var Et={draw(t,e){const n=-m(e/(3*wt));t.moveTo(0,2*n),t.lineTo(-wt*n,-n),t.lineTo(wt*n,-n),t.closePath()}};const kt=m(3);var St={draw(t,e){const n=.6824*m(e),i=n/2,o=n*kt/2;t.moveTo(0,-n),t.lineTo(o,i),t.lineTo(-o,i),t.closePath()}};const Pt=-.5,Ot=m(3)/2,Tt=1/m(12),Ct=3*(Tt/2+1);var Mt={draw(t,e){const n=m(e/Ct),i=n/2,o=n*Tt,r=i,s=n*Tt+n,a=-r,l=s;t.moveTo(i,o),t.lineTo(r,s),t.lineTo(a,l),t.lineTo(Pt*i-Ot*o,Ot*i+Pt*o),t.lineTo(Pt*r-Ot*s,Ot*r+Pt*s),t.lineTo(Pt*a-Ot*l,Ot*a+Pt*l),t.lineTo(Pt*i+Ot*o,Pt*o-Ot*i),t.lineTo(Pt*r+Ot*s,Pt*s-Ot*r),t.lineTo(Pt*a+Ot*l,Pt*l-Ot*a),t.closePath()}},Dt={draw(t,e){const n=.6189*m(e-y(e/6,1.7));t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}};const Nt=[ct,ut,ft,vt,bt,Et,Mt],At=[ct,yt,Dt,St,lt,mt,pt];function Rt(t,e){let n=null;function i(){let i;if(n||(n=i=c()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),i)return n=null,i+""||null}return t="function"===typeof t?t:u(t||ct),e="function"===typeof e?e:u(void 0===e?64:+e),i.type=function(e){return arguments.length?(t="function"===typeof e?e:u(e),i):t},i.size=function(t){return arguments.length?(e="function"===typeof t?t:u(+t),i):e},i.context=function(t){return arguments.length?(n=null==t?null:t,i):n},i}function jt(){}function Lt(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function It(t){this._context=t}function zt(t){return new It(t)}function Bt(t){this._context=t}function Xt(t){return new Bt(t)}function Ht(t){this._context=t}function Yt(t){return new Ht(t)}function $t(t,e){this._basis=new It(t),this._beta=e}It.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Lt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},Bt.prototype={areaStart:jt,areaEnd:jt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},Ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:Lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},$t.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var i,o=t[0],r=e[0],s=t[n]-o,a=e[n]-r,l=-1;++l<=n;)i=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(o+i*s),this._beta*e[l]+(1-this._beta)*(r+i*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Vt=function t(e){function n(t){return 1===e?new It(t):new $t(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Gt(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Ut(t,e){this._context=t,this._k=(1-e)/6}Ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Gt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Wt=function t(e){function n(t){return new Ut(t,e)}return n.tension=function(e){return t(+e)},n}(0);function qt(t,e){this._context=t,this._k=(1-e)/6}qt.prototype={areaStart:jt,areaEnd:jt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Ft=function t(e){function n(t){return new qt(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Kt(t,e){this._context=t,this._k=(1-e)/6}Kt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Zt=function t(e){function n(t){return new Kt(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Qt(t,e,n){var i=t._x1,o=t._y1,r=t._x2,s=t._y2;if(t._l01_a>g){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,o=(o*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>g){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);r=(r*c+t._x1*t._l23_2a-e*t._l12_2a)/u,s=(s*c+t._y1*t._l23_2a-n*t._l12_2a)/u}t._context.bezierCurveTo(i,o,r,s,t._x2,t._y2)}function Jt(t,e){this._context=t,this._alpha=e}Jt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Qt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var te=function t(e){function n(t){return e?new Jt(t,e):new Ut(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ee(t,e){this._context=t,this._alpha=e}ee.prototype={areaStart:jt,areaEnd:jt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Qt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var ne=function t(e){function n(t){return e?new ee(t,e):new qt(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ie(t,e){this._context=t,this._alpha=e}ie.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Qt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var oe=function t(e){function n(t){return e?new ie(t,e):new Kt(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function re(t){this._context=t}function se(t){return new re(t)}function ae(t){return t<0?-1:1}function le(t,e,n){var i=t._x1-t._x0,o=e-t._x1,r=(t._y1-t._y0)/(i||o<0&&-0),s=(n-t._y1)/(o||i<0&&-0),a=(r*o+s*i)/(i+o);return(ae(r)+ae(s))*Math.min(Math.abs(r),Math.abs(s),.5*Math.abs(a))||0}function ce(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function ue(t,e,n){var i=t._x0,o=t._y0,r=t._x1,s=t._y1,a=(r-i)/3;t._context.bezierCurveTo(i+a,o+a*e,r-a,s-a*n,r,s)}function he(t){this._context=t}function de(t){this._context=new fe(t)}function fe(t){this._context=t}function pe(t){return new he(t)}function ye(t){return new de(t)}function ve(t){this._context=t}function me(t){var e,n,i=t.length-1,o=new Array(i),r=new Array(i),s=new Array(i);for(o[0]=0,r[0]=2,s[0]=t[0]+2*t[1],e=1;e<i-1;++e)o[e]=1,r[e]=4,s[e]=4*t[e]+2*t[e+1];for(o[i-1]=2,r[i-1]=7,s[i-1]=8*t[i-1]+t[i],e=1;e<i;++e)n=o[e]/r[e-1],r[e]-=n,s[e]-=n*s[e-1];for(o[i-1]=s[i-1]/r[i-1],e=i-2;e>=0;--e)o[e]=(s[e]-o[e+1])/r[e];for(r[i-1]=(t[i]+o[i-1])/2,e=0;e<i-1;++e)r[e]=2*t[e+1]-o[e+1];return[o,r]}function ge(t){return new ve(t)}function xe(t,e){this._context=t,this._t=e}function _e(t){return new xe(t,.5)}function be(t){return new xe(t,0)}function we(t){return new xe(t,1)}function Ee(t,e){if((o=t.length)>1)for(var n,i,o,r=1,s=t[e[0]],a=s.length;r<o;++r)for(i=s,s=t[e[r]],n=0;n<a;++n)s[n][1]+=s[n][0]=isNaN(i[n][1])?i[n][0]:i[n][1]}function ke(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function Se(t,e){return t[e]}function Pe(t){const e=[];return e.key=t,e}function Oe(){var t=u([]),e=ke,n=Ee,i=Se;function o(o){var r,s,a=Array.from(t.apply(this,arguments),Pe),l=a.length,c=-1;for(const t of o)for(r=0,++c;r<l;++r)(a[r][c]=[0,+i(t,a[r].key,c,o)]).data=t;for(r=0,s=A(e(a));r<l;++r)a[s[r]].index=r;return n(a,s),a}return o.keys=function(e){return arguments.length?(t="function"===typeof e?e:u(Array.from(e)),o):t},o.value=function(t){return arguments.length?(i="function"===typeof t?t:u(+t),o):i},o.order=function(t){return arguments.length?(e=null==t?ke:"function"===typeof t?t:u(Array.from(t)),o):e},o.offset=function(t){return arguments.length?(n=null==t?Ee:t,o):n},o}function Te(t,e){if((i=t.length)>0){for(var n,i,o,r=0,s=t[0].length;r<s;++r){for(o=n=0;n<i;++n)o+=t[n][r][1]||0;if(o)for(n=0;n<i;++n)t[n][r][1]/=o}Ee(t,e)}}function Ce(t,e){if((a=t.length)>0)for(var n,i,o,r,s,a,l=0,c=t[e[0]].length;l<c;++l)for(r=s=0,n=0;n<a;++n)(o=(i=t[e[n]][l])[1]-i[0])>0?(i[0]=r,i[1]=r+=o):o<0?(i[1]=s,i[0]=s+=o):(i[0]=0,i[1]=o)}function Me(t,e){if((n=t.length)>0){for(var n,i=0,o=t[e[0]],r=o.length;i<r;++i){for(var s=0,a=0;s<n;++s)a+=t[s][i][1]||0;o[i][1]+=o[i][0]=-a/2}Ee(t,e)}}function De(t,e){if((o=t.length)>0&&(i=(n=t[e[0]]).length)>0){for(var n,i,o,r=0,s=1;s<i;++s){for(var a=0,l=0,c=0;a<o;++a){for(var u=t[e[a]],h=u[s][1]||0,d=(h-(u[s-1][1]||0))/2,f=0;f<a;++f){var p=t[e[f]];d+=(p[s][1]||0)-(p[s-1][1]||0)}l+=h,c+=d*h}n[s-1][1]+=n[s-1][0]=r,l&&(r-=c/l)}n[s-1][1]+=n[s-1][0]=r,Ee(t,e)}}function Ne(t){var e=t.map(Ae);return ke(t).sort((function(t,n){return e[t]-e[n]}))}function Ae(t){for(var e,n=-1,i=0,o=t.length,r=-1/0;++n<o;)(e=+t[n][1])>r&&(r=e,i=n);return i}function Re(t){var e=t.map(je);return ke(t).sort((function(t,n){return e[t]-e[n]}))}function je(t){for(var e,n=0,i=-1,o=t.length;++i<o;)(e=+t[i][1])&&(n+=e);return n}function Le(t){return Re(t).reverse()}function Ie(t){var e,n,i=t.length,o=t.map(je),r=Ne(t),s=0,a=0,l=[],c=[];for(e=0;e<i;++e)n=r[e],s<a?(s+=o[n],l.push(n)):(a+=o[n],c.push(n));return c.reverse().concat(l)}function ze(t){return ke(t).reverse()}re.prototype={areaStart:jt,areaEnd:jt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},he.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ue(this,this._t0,ce(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,ue(this,ce(this,n=le(this,t,e)),n);break;default:ue(this,this._t0,n=le(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(de.prototype=Object.create(he.prototype)).point=function(t,e){he.prototype.point.call(this,e,t)},fe.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,i,o,r){this._context.bezierCurveTo(e,t,i,n,r,o)}},ve.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var i=me(t),o=me(e),r=0,s=1;s<n;++r,++s)this._context.bezierCurveTo(i[0][r],o[0][r],i[1][r],o[1][r],t[s],e[s]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},xe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}}}}]);
|