@kong-ui-public/entities-plugins 9.90.3 → 9.91.0

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.
@@ -1,6 +1,6 @@
1
- (function(ke,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("marked"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("@kong-ui-public/entities-vaults"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("monaco-editor"),require("@vueuse/core"),require("zod"),require("@kong-ui-public/entities-plugins-icon")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","marked","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","@kong-ui-public/entities-vaults","@kong-ui-public/entities-vaults/dist/style.css","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","monaco-editor","@vueuse/core","zod","@kong-ui-public/entities-plugins-icon"],t):(ke=typeof globalThis<"u"?globalThis:ke||self,t(ke["kong-ui-public-entities-plugins"]={},ke.Vue,ke["kong-ui-public-entities-shared"],ke.marked,ke.VueRouter,ke["kong-ui-public-i18n"],ke.entitiesPluginsMetadata,ke.forms,ke.entitiesVaults,null,ke.KongIcons,ke.Kongponents,ke.entitiesRedisConfigurations,null,ke.monaco,ke.core$1,ke.zod,ke.entitiesPluginsIcon))})(this,function(ke,t,ce,ar,io,Ke,z,Pe,lr,PD,Ne,xe,ao,TD,Am,Ue,fe,lo){"use strict";var AD=Object.defineProperty;var ID=(ke,t,ce)=>t in ke?AD(ke,t,{enumerable:!0,configurable:!0,writable:!0,value:ce}):ke[t]=ce;var He=(ke,t,ce)=>ID(ke,typeof t!="symbol"?t+"":t,ce);function Im(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const sr=Im(Am),Ye={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",confirm_delete:"Yes, delete",view:"View Details",configure_dynamic_ordering:"Configure Dynamic Ordering",go_to_plugins:"Go to Plugins",save:"Save",add_entity:"Add {entity}",remove_entity:"Remove {entity}"},view_configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML, JSON, or Terraform. This allows for straightforward importing into APIOps tools like decK with YAML, Insomnia and cURL with JSON, or Terraform products with Terraform.",yaml:"YAML",terraform:"Terraform",json:"JSON"},delete:{title:"Delete a Plugin",custom_title:"Delete {name}",custom_plugin:"Custom Plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to Delete Custom Plugin",plugin_schema_in_use_message:"The custom plugin schema {name} is being used in this control plane, please delete any existing instances before you delete this schema.",confirmModalText1:"Are you sure you want to delete",confirmModalText2:"Please ensure this plugin is not in use. This delete action cannot be reversed.",confirm_text:"Type {name} to confirm your action",success_message:"Successfully deleted custom plugin {name}"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard",tooltip:"Copy {label}",success_tooltip:"Copied!"},errors:{general:"Plugins could not be retrieved",delete:"The plugin could not be deleted at this time.",copy:"Failed to copy to clipboard",load_results:"Error loading available plugins",load_schema:"Error loading plugin schema"},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact instance name or ID",kongManager:"Filter by exact instance name or ID",select:"Filter plugins"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},plugins:{title:"Plugins",list:{toolbar_actions:{new_plugin:"New plugin"},table_headers:{applied_to:"Applied To",applied_to_badges:{consumer:"Consumer",global:"Global",route:"Route",service:"Service",consumer_group:"Consumer Group"},id:"ID",name:"Name",instance_name:"Instance Name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},empty_state:{title:"Configure a New Plugin",description:"Plugins are used to extend Kong functionality."},empty_state_v2:{title:"Configure your first plugin",description:"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.",create_cta:"New plugin",group:"Plugins created in gateways within this group will automatically appear here.",learn_more:"Learn more"}},meta:{"basic-auth":{name:"Basic Authentication",credential_name:"Basic Auth Credential",description:"Add Basic Authentication to your Services"},"hmac-auth":{name:"HMAC Authentication",credential_name:"HMAC Credential",description:"Add HMAC Authentication to your Services"},"jwt-signer":{name:"JWT Signer",description:"Verify and (re-)sign one or two tokens in a request"},jwt:{name:"JWT",credential_name:"JWT Credential",description:"Verify and authenticate JSON Web Tokens"},"key-auth":{name:"Key Authentication",credential_name:"Key Auth Credential",description:"Add key authentication to your Services"},"key-auth-enc":{name:"Key Authentication Encrypted",credential_name:"Key Auth Encrypted",description:"Add key authentication to your Services with an encrypted token"},"ldap-auth-advanced":{name:"LDAP Authentication Advanced",description:"Integrate Kong with a LDAP server"},"ldap-auth":{name:"LDAP Authentication",description:"Integrate Kong with a LDAP server"},"oauth2-introspection":{name:"OAuth 2.0 Introspection",description:"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},oauth2:{name:"OAuth 2.0 Authentication",credential_name:"OAuth 2.0 Application",description:"Add OAuth 2.0 authentication to your Services"},"openid-connect":{name:"OpenID Connect",description:"Integrate Kong with a third-party OpenID Connect 1.0 Provider"},"mtls-auth":{name:"Mutual TLS Authentication",description:"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{name:"Vault Authentication",description:"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{name:"Bot Detection",description:"Detect and clock bots or custom clients"},cors:{name:"CORS",description:"Allow developers to make requests from the browser"},"ip-restriction":{name:"IP Restriction",description:"Whitelist or blacklist IPs that can make requests"},opa:{name:"OPA",description:"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{name:"Kubernetes Sidecar Injector",description:"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{name:"Request Validator",description:"Validate requests before they reach their upstream Service. "},acl:{name:"ACL",credential_name:"Access Control Group",description:"Control which consumers can access Services"},canary:{name:"Canary Release",description:"Methodically roll out software changes to a subset of users"},"forward-proxy":{name:"Forward Proxy",description:"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{name:"Proxy Caching",description:"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{name:"Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{name:"GraphQL Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{name:"Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{name:"Rate Limiting",description:"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{name:"GraphQL Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},mocking:{name:"Mocking",description:"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{name:"Request Size Limiting",description:"Block requests with bodies greater than a specific size"},"request-termination":{name:"Request Termination",description:"Terminate all requests with a specific response"},"response-ratelimiting":{name:"Response Rate Limiting",description:"Rate-Limiting based on a custom response header value"},"route-by-header":{name:"Route by Header",description:"Route requests based on request headers"},"ai-proxy":{name:"AI Proxy",description:"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{name:"AI Prompt Decorator",description:"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{name:"AI Prompt Template",description:"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{name:"AI Prompt Guard",description:"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{name:"AI Request Transformer",description:"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{name:"AI Response Transformer",description:"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{name:"AI Rate Limiting Advanced",description:"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{name:"AI Azure Content Safety",description:"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{name:"AWS Lambda",description:"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{name:"Azure Functions",description:"Invoke Azure functions"},openwhisk:{name:"OpenWhisk",description:"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{name:"Kong Functions (Pre-Plugins)",description:"Add and manage custom lua functions to run before other plugins"},"post-function":{name:"Kong Functions (Post-Plugins)",description:"Add and manage custom lua functions to run after other plugins"},datadog:{name:"Datadog",description:"Visualize metrics on Datadog"},prometheus:{name:"Prometheus",description:"Export performance metrics to Prometheus"},zipkin:{name:"Zipkin",description:"Propagate zipkin spans and report spans to a zipkin server"},collector:{name:"Collector",description:"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{name:"Response Transformer Advanced",description:"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{name:"Correlation ID",description:"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{name:"Request Transformer Advanced",description:"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{name:"Request Transformer",description:"Modify the request before hitting the upstream server"},"response-transformer":{name:"Response Transformer",description:"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{name:"Route Transformer Advanced",description:"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{name:"Kafka Upstream",description:"Transform requests into Kafka messages in a topic"},degraphql:{name:"DeGraphQL",description:"Transform a GraphQL upstream into a REST API"},"exit-transformer":{name:"Exit Transformer",description:"Customize Kong exit responses sent downstream"},jq:{name:"jq",description:"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{name:"File Log",description:"Append request and response data to a log file on disk"},"http-log":{name:"HTTP Log",description:"Send request and response logs to an HTTP server"},loggly:{name:"Loggly",description:"Send request and response logs to Loggly"},"statsd-advanced":{name:"StatsD Advanced",description:"Send traffic and Kong performance metrics to StatsD"},statsd:{name:"StatsD",description:"Send request and response logs to StatsD"},syslog:{name:"Syslog",description:"Send request and response logs to Syslog"},"tcp-log":{name:"TCP Log",description:"Send request and response logs to a TCP server"},"udp-log":{name:"UDP Log",description:"Send request and response logs to a UDP server"},"kafka-log":{name:"Kafka Log",description:"Publish request and response logs to a Kafka topic"},session:{name:"Session",description:"Sessions for Kong authentication"},"upstream-tls":{name:"Upstream TLS",description:"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{name:"Portal Application Registration",description:"Allow portal developers to register applications against services"},"konnect-application-auth":{name:"Konnect Application Auth",description:"Allow Konnect portal developers to register applications against services"},acme:{name:"ACME",description:"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{name:"gRPC Gateway",description:"Access gRPC services through HTTP REST"},"grpc-web":{name:"gRPC Web",description:"Allow browser clients to call gRPC services"},"upstream-timeout":{name:"Upstream Timeout",description:"Configure read, send and connect timeouts to an upstream"},opentelemetry:{name:"OpenTelemetry",description:"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{name:"WebSocket Validator",description:"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{name:"WebSocket Size Limit",description:"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{name:"TLS Metadata Headers",description:"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{name:"TLS Handshake Modifier",description:"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{name:"OAS Validation",description:"Validate HTTP requests and responses based on an API Specification."},"jwe-decrypt":{name:"Kong JWE Decrypt",description:"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{name:"XML Threat Protection",description:"Reduce the risk of XML attacks by checking the structure of XML payloads."},saml:{name:"SAML",description:"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{name:"AppDynamics",description:"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{name:"JSON Threat Protection",description:"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{name:"Standard Webhooks",description:"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{name:"AI Proxy Advanced",description:"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{name:"AI Semantic Cache",description:"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{name:"AI Semantic Prompt Guard",description:"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{name:"Header Certificate Authentication",description:"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{name:"Upstream OAuth",description:"Configure Kong to obtain a OAuth2 token to consume an upstream API"},confluent:{name:"Confluent",description:"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{name:"Service Protection",description:"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{name:"Injection Protection",description:"Protect against injection attacks by rejecting requests that match common injections patterns."},redirect:{name:"Redirect",description:"Redirect incoming requests to a new URL"},"kafka-consume":{name:"Kafka Consume",description:"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{name:"Confluent Consume",description:"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{name:"Request Callout",description:"Callout to third party APIs as part of request processing."},"ai-sanitizer":{name:"AI Sanitizer",description:"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{name:"AI RAG Injector",description:"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},datakit:{name:"Datakit",description:"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{name:"AI Prompt Compressor",description:"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{name:"Solace Upstream",description:"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{name:"AI AWS GuardRails",description:"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."},ace:{name:"Konnect Access Control Enforcement",description:"Enable Developer Self-Service for Konnect Dev Portals."},"solace-consume":{name:"Solace Consume",description:"Consume messages from Solace and make them available through HTTP endpoints."},"solace-log":{name:"Solace Log",description:"Publish request and response logs to a Solace topic."},"ai-llm-as-judge":{name:"AI LLM Judge",description:"Evaluate LLM responses with an external LLM service and use accuracy scores to drive dynamic load balancing for `llm/v1/chat` requests."},"ai-mcp-proxy":{name:"AI MCP Proxy",description:"Convert APIs into MCP tools, proxy MCP servers, expose multiple MCP tools, and observe MCP traffic in real time."},"ai-gcp-model-armor":{name:"AI GCP Model Armor ",description:"Audit and validate AI Proxy messages with Google Cloud Model Armor before forwarding them to an upstream LLM."},"ai-mcp-oauth2":{name:"AI MCP OAuth2",description:"Secure MCP server access with OAuth2 authentication."},"ai-semantic-response-guard":{name:"AI Semantic Response Guard",description:"Permit or block prompts based on semantic similarity to known LLM responses, preventing misuse of `llm/v1/chat` or `llm/v1/completions` requests."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"Consumer Group ID"},select:{custom_badge_text:"This plugin is data plane node specific",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",view_more:"View more",view_less:"View less",tabs:{kong:{title:"Kong Plugins",description:"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.",empty_title:"No Plugins",empty_description:"No plugins are available."},custom:{title:"Custom Plugins",description:"Custom plugins will be available in this control plane only.",disabled_tooltip:"Custom Plugins are not available with this Gateway. Create a Hybrid or Dedicated Cloud Gateway to leverage Custom Plugins.",empty_title:"No Custom Plugins",empty_description:"No custom plugins have been added to this Control Plane.",create:{name:"Custom Plugin",description:"Upload schema file to create custom plugin"}}},highlighted_plugins:{title:"Highlighted Plugins"}},form:{disable_data_retrieving:"You do not have permission to select {scope}",disable_source_scope_change:"Changing the {scope} is not allowed when configuring a plugin under it",no_selection:"No selection...",fields:{enabled:{label:"Enabled",on_text:"This plugin is Enabled",off_text:"This plugin is Disabled"},instance_name:{label:"Instance Name",help:"A custom name for this plugin instance to help identifying from the list view."},protocols:{label:"Protocols",placeholder:"Select valid protocols for the plugin",placeholderWithDefaultValues:"Select valid protocols for the plugin. Default protocols: {protocols}",help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},tags:{help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Enter list of tags"}},scoping:{label:"Scoped",placeholder:"Search by name or UUID",global:{label:"Global",help:"All services, routes, and consumers"},gateway_service:{label:"Select a gateway service",help:"The Gateway Service to which this plugin configuration will apply",placeholder:"Select a Gateway Service",plural:"Gateway Services"},route:{label:"Select a route",help:"The Route that this Plugin configuration will target",placeholder:"Select a Route",plural:"Routes"},consumer:{label:"Select a consumer",help:"The Consumer that this plugin configuration will target",placeholder:"Select a Consumer",plural:"Consumers"},consumer_group:{label:"Select a consumer group",help:"The Consumer Group that this plugin configuration will target",placeholder:"Select a Consumer Group",plural:"Consumer Groups"}},grouping:{plugin_configuration:{title:"Plugin Configuration",description:"Configuration parameters for this plugin. View advanced parameters for extended configuration.",empty:"This plugin does not have required parameters."},advanced_parameters:{view:"View advanced parameters",hide:"Hide advanced parameters"}},field_rules:{at_least_one_of:"At least one of these parameters is required: {parameters}",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"All of these parameters are required: {parameters}",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{general_info:{title:"General information",description:"Add details to help identify and manage your plugin."},plugin_config:{title:"Plugin configuration",description:"Set the plugin's behavior by defining its configuration settings."}}},"free-form":{"ai-mcp-proxy":{tool_item_label:"Tool #{index}"},"request-callout":{entity_name:"Request callout",by_lua_placeholder:"Enter Lua script here..."},redis_partial:{redis_partial_modal_title:"New shared configuration",partial_created_success_message:"Successfully created a new Redis configuration."},datakit:{description_code:"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.",description_flow:"Configure this plugin by using the flow editor.",description_example:"Start with a use case:",examples:{authenticate:"Authenticate Kong to a third-party service",combine:"Combine multiple API responses",manipulate:"Manipulate request headers"},flow_editor:{mode:"Flow editor",name:"Datakit flow editor",cta:"Go to flow editor",disabled_tooltip:"The flow editor is unavailable. To switch, fix configuration errors or remove unsupported nodes.",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to plugin configuration",node_panel:{title:"Node types",description:"Drag a node onto the canvas to add it to your data flow."},actions:{zoom_in:"Zoom in",zoom_out:"Zoom out",fit_view:"Fit view",auto_layout:"Auto layout",undo:"Undo",redo:"Redo",duplicate:"Duplicate",delete:"Delete",view_docs:"View docs",done:"Done"},node_types:{call:{name:"call",summary:"Call a third-party API",description:"Send an HTTP request and retrieve the response."},jq:{name:"jq",summary:"Transform data and cast variables with jq",description:'The jq node executes a jq script for processing JSON. See the official <a href="https://jqlang.org" target="_blank">jq docs</a> for more details.'},exit:{name:"exit",summary:"Return a response directly to the client",description:"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},property:{name:"property",summary:"Get and set gateway configuration data",description:"Get and set gateway host and request properties."},static:{name:"static",summary:"Define static values to use for call nodes",description:"Emits static values to be used as inputs for other nodes. The static node can help you with hardcoding some known value for an input."},request:{name:"request",description:"Reads incoming client request properties. You cannot specify request node input."},response:{name:"response",description:"Updates properties of the outgoing client response."},service_request:{name:"service request",description:"Updates properties of the request sent to the service being proxied to."},service_response:{name:"service response",description:"Reads response properties from the service being proxied to."}},node_properties:{name:"Name",Configuration:"Configuration",input:{placeholder:"Select output(s)",add_button:"Add an input"},input_name:{label:"Input name",placeholder:"Input name"},timeout:{label:"Timeout(s)"},jq:{label:"jq script"},output_value:{label:"Output value",value_name:"Value name",value:"Value",add_button:"Add a value"},property:{get:"get",set:"set"},errors:{invalid_identifier_format:"{fieldName} must start with a letter or underscore and contain only letters, numbers, underscores, or hyphens",invalid_url_format:"Not a valid URL format",not_empty:"{fieldName} is required",not_float:"{fieldName} must be a float",not_integer:"{fieldName} must be an integer",not_number:"{fieldName} must be a number",not_unique:"{fieldName} must be unique",number_range:"{fieldName} must be between {min} and {max}",string_len_range:"{fieldName} must be between {min} and {max} characters",reserved_node_name:'"{nodeName}" is a reserved node name'}},error:{invalid_connection:"Invalid connection"},confirm:{title:"Connection conflict",message:{confirm:"Are you sure you want to make this change?",switch:"You can either connect all outputs from another node or select individual ones.",override:"Each input can connect to only one output, but one output can connect to many inputs."},proceed:"Yes, update"},phase_mask_help:"You can't add call or exit nodes in the response phase."},code_editor:{mode:"Code editor"}},vault_picker:{component_error:"The vault secret picker is not available"},tag_helper:"Use comma to separate values. eg: value1, value2",foreign_placeholder:"Enter a UUID of {entity}"}},redis:{title:"Redis Configuration",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",open_source:"open source",enterprise:"enterprise",empty_state:"No shared configurations",badge:"Recommended",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."},type_label:{host_port:"Host/Port",sentinel:"Sentinel",cluster:"Cluster"}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current Control Plane",cp_group_label:"Control Plane",realm_group_label:"Realms (Can only select one)"}},sp:{window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window&#39;s counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error message",code_placeholder:"Code message",message_placeholder:"Error message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
1
+ (function(ke,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("marked"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("@kong-ui-public/entities-vaults"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("monaco-editor"),require("@vueuse/core"),require("zod"),require("@kong-ui-public/entities-plugins-icon")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","marked","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","@kong-ui-public/entities-vaults","@kong-ui-public/entities-vaults/dist/style.css","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","monaco-editor","@vueuse/core","zod","@kong-ui-public/entities-plugins-icon"],t):(ke=typeof globalThis<"u"?globalThis:ke||self,t(ke["kong-ui-public-entities-plugins"]={},ke.Vue,ke["kong-ui-public-entities-shared"],ke.marked,ke.VueRouter,ke["kong-ui-public-i18n"],ke.entitiesPluginsMetadata,ke.forms,ke.entitiesVaults,null,ke.KongIcons,ke.Kongponents,ke.entitiesRedisConfigurations,null,ke.monaco,ke.core$1,ke.zod,ke.entitiesPluginsIcon))})(this,function(ke,t,ce,ar,io,Ke,G,Pe,lr,PD,Ne,xe,ao,TD,Am,Ue,fe,lo){"use strict";var AD=Object.defineProperty;var ID=(ke,t,ce)=>t in ke?AD(ke,t,{enumerable:!0,configurable:!0,writable:!0,value:ce}):ke[t]=ce;var He=(ke,t,ce)=>ID(ke,typeof t!="symbol"?t+"":t,ce);function Im(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const sr=Im(Am),Ye={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",confirm_delete:"Yes, delete",view:"View Details",configure_dynamic_ordering:"Configure Dynamic Ordering",go_to_plugins:"Go to Plugins",save:"Save",add_entity:"Add {entity}",remove_entity:"Remove {entity}"},view_configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML, JSON, or Terraform. This allows for straightforward importing into APIOps tools like decK with YAML, Insomnia and cURL with JSON, or Terraform products with Terraform.",yaml:"YAML",terraform:"Terraform",json:"JSON"},delete:{title:"Delete a Plugin",custom_title:"Delete {name}",custom_plugin:"Custom Plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to Delete Custom Plugin",plugin_schema_in_use_message:"The custom plugin schema {name} is being used in this control plane, please delete any existing instances before you delete this schema.",confirmModalText1:"Are you sure you want to delete",confirmModalText2:"Please ensure this plugin is not in use. This delete action cannot be reversed.",confirm_text:"Type {name} to confirm your action",success_message:"Successfully deleted custom plugin {name}"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard",tooltip:"Copy {label}",success_tooltip:"Copied!"},errors:{general:"Plugins could not be retrieved",delete:"The plugin could not be deleted at this time.",copy:"Failed to copy to clipboard",load_results:"Error loading available plugins",load_schema:"Error loading plugin schema"},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact instance name or ID",kongManager:"Filter by exact instance name or ID",select:"Filter plugins"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},plugins:{title:"Plugins",list:{toolbar_actions:{new_plugin:"New plugin"},table_headers:{applied_to:"Applied To",applied_to_badges:{consumer:"Consumer",global:"Global",route:"Route",service:"Service",consumer_group:"Consumer Group"},id:"ID",name:"Name",instance_name:"Instance Name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},empty_state:{title:"Configure a New Plugin",description:"Plugins are used to extend Kong functionality."},empty_state_v2:{title:"Configure your first plugin",description:"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.",create_cta:"New plugin",group:"Plugins created in gateways within this group will automatically appear here.",learn_more:"Learn more"}},meta:{"basic-auth":{name:"Basic Authentication",credential_name:"Basic Auth Credential",description:"Add Basic Authentication to your Services"},"hmac-auth":{name:"HMAC Authentication",credential_name:"HMAC Credential",description:"Add HMAC Authentication to your Services"},"jwt-signer":{name:"JWT Signer",description:"Verify and (re-)sign one or two tokens in a request"},jwt:{name:"JWT",credential_name:"JWT Credential",description:"Verify and authenticate JSON Web Tokens"},"key-auth":{name:"Key Authentication",credential_name:"Key Auth Credential",description:"Add key authentication to your Services"},"key-auth-enc":{name:"Key Authentication Encrypted",credential_name:"Key Auth Encrypted",description:"Add key authentication to your Services with an encrypted token"},"ldap-auth-advanced":{name:"LDAP Authentication Advanced",description:"Integrate Kong with a LDAP server"},"ldap-auth":{name:"LDAP Authentication",description:"Integrate Kong with a LDAP server"},"oauth2-introspection":{name:"OAuth 2.0 Introspection",description:"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},oauth2:{name:"OAuth 2.0 Authentication",credential_name:"OAuth 2.0 Application",description:"Add OAuth 2.0 authentication to your Services"},"openid-connect":{name:"OpenID Connect",description:"Integrate Kong with a third-party OpenID Connect 1.0 Provider"},"mtls-auth":{name:"Mutual TLS Authentication",description:"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{name:"Vault Authentication",description:"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{name:"Bot Detection",description:"Detect and clock bots or custom clients"},cors:{name:"CORS",description:"Allow developers to make requests from the browser"},"ip-restriction":{name:"IP Restriction",description:"Whitelist or blacklist IPs that can make requests"},opa:{name:"OPA",description:"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{name:"Kubernetes Sidecar Injector",description:"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{name:"Request Validator",description:"Validate requests before they reach their upstream Service. "},acl:{name:"ACL",credential_name:"Access Control Group",description:"Control which consumers can access Services"},canary:{name:"Canary Release",description:"Methodically roll out software changes to a subset of users"},"forward-proxy":{name:"Forward Proxy",description:"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{name:"Proxy Caching",description:"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{name:"Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{name:"GraphQL Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{name:"Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{name:"Rate Limiting",description:"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{name:"GraphQL Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},mocking:{name:"Mocking",description:"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{name:"Request Size Limiting",description:"Block requests with bodies greater than a specific size"},"request-termination":{name:"Request Termination",description:"Terminate all requests with a specific response"},"response-ratelimiting":{name:"Response Rate Limiting",description:"Rate-Limiting based on a custom response header value"},"route-by-header":{name:"Route by Header",description:"Route requests based on request headers"},"ai-proxy":{name:"AI Proxy",description:"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{name:"AI Prompt Decorator",description:"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{name:"AI Prompt Template",description:"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{name:"AI Prompt Guard",description:"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{name:"AI Request Transformer",description:"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{name:"AI Response Transformer",description:"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{name:"AI Rate Limiting Advanced",description:"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{name:"AI Azure Content Safety",description:"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{name:"AWS Lambda",description:"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{name:"Azure Functions",description:"Invoke Azure functions"},openwhisk:{name:"OpenWhisk",description:"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{name:"Kong Functions (Pre-Plugins)",description:"Add and manage custom lua functions to run before other plugins"},"post-function":{name:"Kong Functions (Post-Plugins)",description:"Add and manage custom lua functions to run after other plugins"},datadog:{name:"Datadog",description:"Visualize metrics on Datadog"},prometheus:{name:"Prometheus",description:"Export performance metrics to Prometheus"},zipkin:{name:"Zipkin",description:"Propagate zipkin spans and report spans to a zipkin server"},collector:{name:"Collector",description:"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{name:"Response Transformer Advanced",description:"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{name:"Correlation ID",description:"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{name:"Request Transformer Advanced",description:"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{name:"Request Transformer",description:"Modify the request before hitting the upstream server"},"response-transformer":{name:"Response Transformer",description:"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{name:"Route Transformer Advanced",description:"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{name:"Kafka Upstream",description:"Transform requests into Kafka messages in a topic"},degraphql:{name:"DeGraphQL",description:"Transform a GraphQL upstream into a REST API"},"exit-transformer":{name:"Exit Transformer",description:"Customize Kong exit responses sent downstream"},jq:{name:"jq",description:"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{name:"File Log",description:"Append request and response data to a log file on disk"},"http-log":{name:"HTTP Log",description:"Send request and response logs to an HTTP server"},loggly:{name:"Loggly",description:"Send request and response logs to Loggly"},"statsd-advanced":{name:"StatsD Advanced",description:"Send traffic and Kong performance metrics to StatsD"},statsd:{name:"StatsD",description:"Send request and response logs to StatsD"},syslog:{name:"Syslog",description:"Send request and response logs to Syslog"},"tcp-log":{name:"TCP Log",description:"Send request and response logs to a TCP server"},"udp-log":{name:"UDP Log",description:"Send request and response logs to a UDP server"},"kafka-log":{name:"Kafka Log",description:"Publish request and response logs to a Kafka topic"},session:{name:"Session",description:"Sessions for Kong authentication"},"upstream-tls":{name:"Upstream TLS",description:"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{name:"Portal Application Registration",description:"Allow portal developers to register applications against services"},"konnect-application-auth":{name:"Konnect Application Auth",description:"Allow Konnect portal developers to register applications against services"},acme:{name:"ACME",description:"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{name:"gRPC Gateway",description:"Access gRPC services through HTTP REST"},"grpc-web":{name:"gRPC Web",description:"Allow browser clients to call gRPC services"},"upstream-timeout":{name:"Upstream Timeout",description:"Configure read, send and connect timeouts to an upstream"},opentelemetry:{name:"OpenTelemetry",description:"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{name:"WebSocket Validator",description:"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{name:"WebSocket Size Limit",description:"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{name:"TLS Metadata Headers",description:"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{name:"TLS Handshake Modifier",description:"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{name:"OAS Validation",description:"Validate HTTP requests and responses based on an API Specification."},"jwe-decrypt":{name:"Kong JWE Decrypt",description:"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{name:"XML Threat Protection",description:"Reduce the risk of XML attacks by checking the structure of XML payloads."},saml:{name:"SAML",description:"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{name:"AppDynamics",description:"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{name:"JSON Threat Protection",description:"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{name:"Standard Webhooks",description:"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{name:"AI Proxy Advanced",description:"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{name:"AI Semantic Cache",description:"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{name:"AI Semantic Prompt Guard",description:"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{name:"Header Certificate Authentication",description:"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{name:"Upstream OAuth",description:"Configure Kong to obtain a OAuth2 token to consume an upstream API"},confluent:{name:"Confluent",description:"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{name:"Service Protection",description:"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{name:"Injection Protection",description:"Protect against injection attacks by rejecting requests that match common injections patterns."},redirect:{name:"Redirect",description:"Redirect incoming requests to a new URL"},"kafka-consume":{name:"Kafka Consume",description:"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{name:"Confluent Consume",description:"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{name:"Request Callout",description:"Callout to third party APIs as part of request processing."},"ai-sanitizer":{name:"AI Sanitizer",description:"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{name:"AI RAG Injector",description:"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},datakit:{name:"Datakit",description:"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{name:"AI Prompt Compressor",description:"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{name:"Solace Upstream",description:"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{name:"AI AWS GuardRails",description:"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."},ace:{name:"Konnect Access Control Enforcement",description:"Enable Developer Self-Service for Konnect Dev Portals."},"solace-consume":{name:"Solace Consume",description:"Consume messages from Solace and make them available through HTTP endpoints."},"solace-log":{name:"Solace Log",description:"Publish request and response logs to a Solace topic."},"ai-llm-as-judge":{name:"AI LLM Judge",description:"Evaluate LLM responses with an external LLM service and use accuracy scores to drive dynamic load balancing for `llm/v1/chat` requests."},"ai-mcp-proxy":{name:"AI MCP Proxy",description:"Convert APIs into MCP tools, proxy MCP servers, expose multiple MCP tools, and observe MCP traffic in real time."},"ai-gcp-model-armor":{name:"AI GCP Model Armor ",description:"Audit and validate AI Proxy messages with Google Cloud Model Armor before forwarding them to an upstream LLM."},"ai-mcp-oauth2":{name:"AI MCP OAuth2",description:"Secure MCP server access with OAuth2 authentication."},"ai-semantic-response-guard":{name:"AI Semantic Response Guard",description:"Permit or block prompts based on semantic similarity to known LLM responses, preventing misuse of `llm/v1/chat` or `llm/v1/completions` requests."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"Consumer Group ID"},select:{custom_badge_text:"This plugin is data plane node specific",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",view_more:"View more",view_less:"View less",tabs:{kong:{title:"Kong Plugins",description:"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.",empty_title:"No Plugins",empty_description:"No plugins are available."},custom:{title:"Custom Plugins",description:"Custom plugins will be available in this control plane only.",disabled_tooltip:"Custom Plugins are not available with this Gateway. Create a Hybrid or Dedicated Cloud Gateway to leverage Custom Plugins.",empty_title:"No Custom Plugins",empty_description:"No custom plugins have been added to this Control Plane.",create:{name:"Custom Plugin",description:"Upload schema file to create custom plugin"}}},highlighted_plugins:{title:"Highlighted Plugins"}},form:{disable_data_retrieving:"You do not have permission to select {scope}",disable_source_scope_change:"Changing the {scope} is not allowed when configuring a plugin under it",no_selection:"No selection...",fields:{enabled:{label:"Enabled",on_text:"This plugin is Enabled",off_text:"This plugin is Disabled"},instance_name:{label:"Instance Name",help:"A custom name for this plugin instance to help identifying from the list view."},protocols:{label:"Protocols",placeholder:"Select valid protocols for the plugin",placeholderWithDefaultValues:"Select valid protocols for the plugin. Default protocols: {protocols}",help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},tags:{help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Enter list of tags"}},scoping:{label:"Scoped",placeholder:"Search by name or UUID",global:{label:"Global",help:"All services, routes, and consumers"},gateway_service:{label:"Select a gateway service",help:"The Gateway Service to which this plugin configuration will apply",placeholder:"Select a Gateway Service",plural:"Gateway Services"},route:{label:"Select a route",help:"The Route that this Plugin configuration will target",placeholder:"Select a Route",plural:"Routes"},consumer:{label:"Select a consumer",help:"The Consumer that this plugin configuration will target",placeholder:"Select a Consumer",plural:"Consumers"},consumer_group:{label:"Select a consumer group",help:"The Consumer Group that this plugin configuration will target",placeholder:"Select a Consumer Group",plural:"Consumer Groups"}},grouping:{plugin_configuration:{title:"Plugin Configuration",description:"Configuration parameters for this plugin. View advanced parameters for extended configuration.",empty:"This plugin does not have required parameters."},advanced_parameters:{view:"View advanced parameters",hide:"Hide advanced parameters"}},field_rules:{at_least_one_of:"At least one of these parameters is required: {parameters}",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"All of these parameters are required: {parameters}",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{general_info:{title:"General information",description:"Add details to help identify and manage your plugin."},plugin_config:{title:"Plugin configuration",description:"Set the plugin's behavior by defining its configuration settings."}}},"free-form":{"ai-mcp-proxy":{tool_item_label:"Tool #{index}"},"request-callout":{entity_name:"Request callout",by_lua_placeholder:"Enter Lua script here..."},redis_partial:{redis_partial_modal_title:"New shared configuration",partial_created_success_message:"Successfully created a new Redis configuration."},datakit:{description_code:"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.",description_flow:"Configure this plugin by using the flow editor.",description_example:"Start with a use case:",examples:{authenticate:"Authenticate Kong to a third-party service",combine:"Combine multiple API responses",manipulate:"Manipulate request headers"},flow_editor:{mode:"Flow editor",name:"Datakit flow editor",cta:"Go to flow editor",disabled_tooltip:"The flow editor is unavailable. To switch, fix configuration errors or remove unsupported nodes.",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to plugin configuration",node_panel:{title:"Node types",description:"Drag a node onto the canvas to add it to your data flow."},debug:{label:"Enable debugging",description:"Enables detailed error messages in client responses for easier debugging.",help:"Enabling the debug option in Datakit is considered unsafe for production environments, as it can cause arbitrary information to leak into client responses."},actions:{zoom_in:"Zoom in",zoom_out:"Zoom out",fit_view:"Zoom to fit",auto_layout:"Auto layout",undo:"Undo",redo:"Redo",duplicate:"Duplicate",delete:"Delete",view_docs:"View docs",done:"Done"},node_types:{call:{name:"call",summary:"Call a third-party API",description:"Send an HTTP request and retrieve the response."},jq:{name:"jq",summary:"Transform data and cast variables with jq",description:'The jq node executes a jq script for processing JSON. See the official <a href="https://jqlang.org" target="_blank">jq docs</a> for more details.'},exit:{name:"exit",summary:"Return a response directly to the client",description:"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},property:{name:"property",summary:"Get and set gateway configuration data",description:"Get and set gateway host and request properties."},static:{name:"static",summary:"Define static values to use for call nodes",description:"Emits static values to be used as inputs for other nodes. The static node can help you with hardcoding some known value for an input."},request:{name:"request",description:"Reads incoming client request properties. You cannot specify request node input."},response:{name:"response",description:"Updates properties of the outgoing client response."},service_request:{name:"service request",description:"Updates properties of the request sent to the service being proxied to."},service_response:{name:"service response",description:"Reads response properties from the service being proxied to."}},node_properties:{name:"Name",configuration:"Configuration",input:{placeholder:"Select output(s)",add_button:"Add an input"},input_name:{label:"Input name",placeholder:"Input name"},timeout:{label:"Timeout(s)"},jq:{label:"jq script"},output_value:{label:"Output value",value_name:"Value name",value:"Value",add_button:"Add a value"},property:{get:"get",set:"set"},errors:{invalid_identifier_format:"{fieldName} must start with a letter or underscore and contain only letters, numbers, underscores, or hyphens",invalid_url_format:"Not a valid URL format",not_empty:"{fieldName} is required",not_float:"{fieldName} must be a float",not_integer:"{fieldName} must be an integer",not_number:"{fieldName} must be a number",not_unique:"{fieldName} must be unique",number_range:"{fieldName} must be between {min} and {max}",string_len_range:"{fieldName} must be between {min} and {max} characters",reserved_node_name:'"{nodeName}" is a reserved node name'}},error:{invalid_connection:"Invalid connection"},confirm:{title:"Connection conflict",message:{confirm:"Are you sure you want to make this change?",switch:"You can either connect all outputs from another node or select individual ones.",override:"Each input can connect to only one output, but one output can connect to many inputs."},proceed:"Yes, update"},phase_mask_help:"You can't add call or exit nodes in the response phase."},code_editor:{mode:"Code editor"}},vault_picker:{component_error:"The vault secret picker is not available"},tag_helper:"Use comma to separate values. eg: value1, value2",foreign_placeholder:"Enter a UUID of {entity}"}},redis:{title:"Redis Configuration",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",open_source:"open source",enterprise:"enterprise",empty_state:"No shared configurations",badge:"Recommended",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."},type_label:{host_port:"Host/Port",sentinel:"Sentinel",cluster:"Cluster"}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current Control Plane",cp_group_label:"Control Plane",realm_group_label:"Realms (Can only select one)"}},sp:{window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window&#39;s counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error message",code_placeholder:"Code message",message_placeholder:"Error message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
2
2
  If the limit is exceeded and the user receives a 429 error, each additional request within the sliding window (hour)
3
- will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function Ae(){const e=Ke.createI18n("en-us",Ye);return{i18n:e,i18nT:Ke.i18nTComponent(e)}}function Ql(){const{capitalize:e}=ce.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(f,p,m)=>{var h,y,g;if(!(!f||!p||!m))switch(m.type){case"boolean":f[p]={type:ce.ConfigurationSchemaType.BadgeStatus,...f[p]};break;case"string":m.encrypted?f[p]={type:ce.ConfigurationSchemaType.Redacted,...f[p]}:f[p]={type:ce.ConfigurationSchemaType.Text,...f[p]};break;case"set":((h=m.elements)==null?void 0:h.type)==="string"&&(f[p]={type:ce.ConfigurationSchemaType.BadgeTag,...f[p]});break;case"array":n.includes(p)?f[p]={type:ce.ConfigurationSchemaType.BadgeMethod,...f[p]}:((y=m.elements)==null?void 0:y.type)==="string"?m.encrypted?f[p]={type:ce.ConfigurationSchemaType.RedactedArray,...f[p]}:f[p]={type:ce.ConfigurationSchemaType.BadgeTag,...f[p]}:((g=m.elements)==null?void 0:g.type)==="record"&&(f[p]={type:ce.ConfigurationSchemaType.Json,...f[p]});break;case"record":f[p]={type:ce.ConfigurationSchemaType.Json,...f[p]};break;default:f[p]={type:ce.ConfigurationSchemaType.Text,...f[p]};break}},convertToDotNotation:f=>f.replace(/-/g,"."),unFlattenObject:f=>{const p={};for(const m in f){const h=m.split(".");h.reduce((y,g,_)=>y[g]||(y[g]=isNaN(h[_+1])?h.length-1===_?f[m]:{}:[]),p)}return p},dismissField:(f,p,m="redis",h=!1)=>{const y=new RegExp("(?<=-redis-).*");if(typeof f!="object"||f===null)return f;m==="redis"?Object.keys(f).forEach(g=>{g.match(y)&&delete f[g]}):h?f[m]=null:delete f[m],Object.assign(f,p)},isObjectEmpty:f=>Object.keys(f).length===0,unsetNullForeignKey:(f,p)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(f)>-1&&p[f]===null&&(delete p[f],p[f.replace(".id","")]=null)},formatPluginFieldLabel:f=>e(f.replace(/_/g," ")),getTallestPluginCardHeight:f=>{let p=0;if(f.length)for(let m=0;m<f.length;m++){const h=f[m].$el;p=h.offsetHeight>p?h.offsetHeight:p}return p},getToggleVisibility:(f,p)=>{var m,h;if(f&&p){const y=(h=(m=window==null?void 0:window.getComputedStyle(f))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:h.split(" ").length;return p>y}return!0}}}var cr=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(cr||{});const es=[z.PluginGroup.AUTHENTICATION,z.PluginGroup.AI,z.PluginGroup.SECURITY,z.PluginGroup.TRAFFIC_CONTROL,z.PluginGroup.SERVERLESS,z.PluginGroup.ANALYTICS_AND_MONITORING,z.PluginGroup.TRANSFORMATIONS,z.PluginGroup.LOGGING,z.PluginGroup.DEPLOYMENT,z.PluginGroup.WEBSOCKET,z.PluginGroup.CUSTOM_PLUGINS],ts={[z.PluginGroup.AUTHENTICATION]:!1,[z.PluginGroup.AI]:!1,[z.PluginGroup.SECURITY]:!1,[z.PluginGroup.TRAFFIC_CONTROL]:!1,[z.PluginGroup.SERVERLESS]:!1,[z.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[z.PluginGroup.TRANSFORMATIONS]:!1,[z.PluginGroup.LOGGING]:!1,[z.PluginGroup.DEPLOYMENT]:!1,[z.PluginGroup.CUSTOM_PLUGINS]:!1};var on=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(on||{});const rn=e=>{const n=Object.fromEntries(e.fields.map(o=>Object.entries(o)[0]));return"id"in n||(n.id={}),n},an={label:"Tags",name:"tags",type:"input",inputType:"text",valueType:"array",valueArrayType:"string",placeholder:"Enter list of tags",help:"An optional set of strings for grouping and filtering, separated by commas.",hint:"e.g. tag1, tag2, tag3"},In={getColumnFields:rn,tags:an,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(e){const n=e.inputAttributes||{};return delete e.inputAttributes,{type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",newElementButtonLabelClasses:"kong-form-new-element-button-label",inputAttributes:{class:"form-control",style:{minWidth:"200px"},...n},removeElementButtonLabel:"remove",styleClasses:"kong-form-field-wrapper",inputType:"text",valueType:"array",valueArrayType:"string",...e}}}},ns={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:an}]},Pm={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{group:{required:!0,type:"string",hint:"The arbitrary group name to associate to the consumer."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},os={fields:[{username:{}},{password:{inputType:"password"}},{tags:an}]},Tm={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0}},{password:{type:"string",required:!0,encrypted:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Om={class:"field-wrapper"},$m=t.defineComponent({__name:"KeyAuthIdentityRealms",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,i=o,{clearValidationErrors:a,value:l}=Pe.composables.useAbstractFields({model:t.toRef(()=>r.model),schema:r.schema,formOptions:r.formOptions,emitModelUpdated:w=>{i("modelUpdated",w.value,w.model)}}),{i18n:s}=De.useI18n(),{t:c}=s,d={value:"current-cp",label:c("custom_field.key_auth_identity_realms.cp_label"),group:c("custom_field.key_auth_identity_realms.cp_group_label")},u=t.inject(Pe.FORMS_CONFIG),{axiosInstance:f}=ce.useAxios(u==null?void 0:u.axiosRequestConfig),p=()=>{if((u==null?void 0:u.app)==="konnect"){const w=/\b(us|eu|au|me|in)\b/.exec((u==null?void 0:u.apiBaseUrl)||"");if(w)return{region:w[1]}}return{}},m=t.ref(!0),h=t.ref([d]),y=async()=>{if((u==null?void 0:u.app)==="konnect")try{m.value=!0;let w=`${u==null?void 0:u.apiBaseUrl}/v1/realms`;const b=[];do{const x=await f.get(w);x&&x.data&&x.data.data&&b.push(...x.data.data.map(S=>({value:S.id,label:S.name,group:c("custom_field.key_auth_identity_realms.realm_group_label")}))),w=x.data.meta.next?`${u==null?void 0:u.apiBaseUrl}${x.data.meta.next}`:null}while(w);h.value=[d,...b]}catch(w){console.error("Failed to fetch Konnect realms",w)}finally{m.value=!1}},g=t.computed(()=>l.value.map(w=>w.id||"current-cp")),_=w=>{const b=w.includes("current-cp")?[{scope:"cp",id:null}]:[],x=l.value.filter(({scope:L})=>L!=="cp").map(({id:L})=>L),S=w.filter(L=>L!=="current-cp"),T=(x.length!==S.length||x.some(L=>!S.includes(L))?S.filter(L=>!x.includes(L)):S).map(L=>({...p(),scope:"realm",id:L}));l.value=[...b,...T]};return t.watch(l,()=>{l.value||(l.value=[{scope:"cp",id:null}])}),t.onMounted(()=>{y()}),n({clearValidationErrors:a}),(w,b)=>{const x=t.resolveComponent("KMultiselect");return t.openBlock(),t.createElementBlock("div",Om,[t.createVNode(x,{items:h.value,loading:m.value,"model-value":g.value,"onUpdate:modelValue":_},null,8,["items","loading","model-value"])])}}}),Ee=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},Bm=Ee($m,[["__scopeId","data-v-29b128ff"]]),rs={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
3
+ will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function Ae(){const e=Ke.createI18n("en-us",Ye);return{i18n:e,i18nT:Ke.i18nTComponent(e)}}function Ql(){const{capitalize:e}=ce.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(f,p,m)=>{var h,y,g;if(!(!f||!p||!m))switch(m.type){case"boolean":f[p]={type:ce.ConfigurationSchemaType.BadgeStatus,...f[p]};break;case"string":m.encrypted?f[p]={type:ce.ConfigurationSchemaType.Redacted,...f[p]}:f[p]={type:ce.ConfigurationSchemaType.Text,...f[p]};break;case"set":((h=m.elements)==null?void 0:h.type)==="string"&&(f[p]={type:ce.ConfigurationSchemaType.BadgeTag,...f[p]});break;case"array":n.includes(p)?f[p]={type:ce.ConfigurationSchemaType.BadgeMethod,...f[p]}:((y=m.elements)==null?void 0:y.type)==="string"?m.encrypted?f[p]={type:ce.ConfigurationSchemaType.RedactedArray,...f[p]}:f[p]={type:ce.ConfigurationSchemaType.BadgeTag,...f[p]}:((g=m.elements)==null?void 0:g.type)==="record"&&(f[p]={type:ce.ConfigurationSchemaType.Json,...f[p]});break;case"record":f[p]={type:ce.ConfigurationSchemaType.Json,...f[p]};break;default:f[p]={type:ce.ConfigurationSchemaType.Text,...f[p]};break}},convertToDotNotation:f=>f.replace(/-/g,"."),unFlattenObject:f=>{const p={};for(const m in f){const h=m.split(".");h.reduce((y,g,_)=>y[g]||(y[g]=isNaN(h[_+1])?h.length-1===_?f[m]:{}:[]),p)}return p},dismissField:(f,p,m="redis",h=!1)=>{const y=new RegExp("(?<=-redis-).*");if(typeof f!="object"||f===null)return f;m==="redis"?Object.keys(f).forEach(g=>{g.match(y)&&delete f[g]}):h?f[m]=null:delete f[m],Object.assign(f,p)},isObjectEmpty:f=>Object.keys(f).length===0,unsetNullForeignKey:(f,p)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(f)>-1&&p[f]===null&&(delete p[f],p[f.replace(".id","")]=null)},formatPluginFieldLabel:f=>e(f.replace(/_/g," ")),getTallestPluginCardHeight:f=>{let p=0;if(f.length)for(let m=0;m<f.length;m++){const h=f[m].$el;p=h.offsetHeight>p?h.offsetHeight:p}return p},getToggleVisibility:(f,p)=>{var m,h;if(f&&p){const y=(h=(m=window==null?void 0:window.getComputedStyle(f))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:h.split(" ").length;return p>y}return!0}}}var cr=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(cr||{});const es=[G.PluginGroup.AUTHENTICATION,G.PluginGroup.AI,G.PluginGroup.SECURITY,G.PluginGroup.TRAFFIC_CONTROL,G.PluginGroup.SERVERLESS,G.PluginGroup.ANALYTICS_AND_MONITORING,G.PluginGroup.TRANSFORMATIONS,G.PluginGroup.LOGGING,G.PluginGroup.DEPLOYMENT,G.PluginGroup.WEBSOCKET,G.PluginGroup.CUSTOM_PLUGINS],ts={[G.PluginGroup.AUTHENTICATION]:!1,[G.PluginGroup.AI]:!1,[G.PluginGroup.SECURITY]:!1,[G.PluginGroup.TRAFFIC_CONTROL]:!1,[G.PluginGroup.SERVERLESS]:!1,[G.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[G.PluginGroup.TRANSFORMATIONS]:!1,[G.PluginGroup.LOGGING]:!1,[G.PluginGroup.DEPLOYMENT]:!1,[G.PluginGroup.CUSTOM_PLUGINS]:!1};var on=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(on||{});const rn=e=>{const n=Object.fromEntries(e.fields.map(o=>Object.entries(o)[0]));return"id"in n||(n.id={}),n},an={label:"Tags",name:"tags",type:"input",inputType:"text",valueType:"array",valueArrayType:"string",placeholder:"Enter list of tags",help:"An optional set of strings for grouping and filtering, separated by commas.",hint:"e.g. tag1, tag2, tag3"},In={getColumnFields:rn,tags:an,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(e){const n=e.inputAttributes||{};return delete e.inputAttributes,{type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",newElementButtonLabelClasses:"kong-form-new-element-button-label",inputAttributes:{class:"form-control",style:{minWidth:"200px"},...n},removeElementButtonLabel:"remove",styleClasses:"kong-form-field-wrapper",inputType:"text",valueType:"array",valueArrayType:"string",...e}}}},ns={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:an}]},Pm={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{group:{required:!0,type:"string",hint:"The arbitrary group name to associate to the consumer."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},os={fields:[{username:{}},{password:{inputType:"password"}},{tags:an}]},Tm={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0}},{password:{type:"string",required:!0,encrypted:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Om={class:"field-wrapper"},$m=t.defineComponent({__name:"KeyAuthIdentityRealms",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,i=o,{clearValidationErrors:a,value:l}=Pe.composables.useAbstractFields({model:t.toRef(()=>r.model),schema:r.schema,formOptions:r.formOptions,emitModelUpdated:w=>{i("modelUpdated",w.value,w.model)}}),{i18n:s}=De.useI18n(),{t:c}=s,d={value:"current-cp",label:c("custom_field.key_auth_identity_realms.cp_label"),group:c("custom_field.key_auth_identity_realms.cp_group_label")},u=t.inject(Pe.FORMS_CONFIG),{axiosInstance:f}=ce.useAxios(u==null?void 0:u.axiosRequestConfig),p=()=>{if((u==null?void 0:u.app)==="konnect"){const w=/\b(us|eu|au|me|in)\b/.exec((u==null?void 0:u.apiBaseUrl)||"");if(w)return{region:w[1]}}return{}},m=t.ref(!0),h=t.ref([d]),y=async()=>{if((u==null?void 0:u.app)==="konnect")try{m.value=!0;let w=`${u==null?void 0:u.apiBaseUrl}/v1/realms`;const b=[];do{const A=await f.get(w);A&&A.data&&A.data.data&&b.push(...A.data.data.map(S=>({value:S.id,label:S.name,group:c("custom_field.key_auth_identity_realms.realm_group_label")}))),w=A.data.meta.next?`${u==null?void 0:u.apiBaseUrl}${A.data.meta.next}`:null}while(w);h.value=[d,...b]}catch(w){console.error("Failed to fetch Konnect realms",w)}finally{m.value=!1}},g=t.computed(()=>l.value.map(w=>w.id||"current-cp")),_=w=>{const b=w.includes("current-cp")?[{scope:"cp",id:null}]:[],A=l.value.filter(({scope:M})=>M!=="cp").map(({id:M})=>M),S=w.filter(M=>M!=="current-cp"),T=(A.length!==S.length||A.some(M=>!S.includes(M))?S.filter(M=>!A.includes(M)):S).map(M=>({...p(),scope:"realm",id:M}));l.value=[...b,...T]};return t.watch(l,()=>{l.value||(l.value=[{scope:"cp",id:null}])}),t.onMounted(()=>{y()}),n({clearValidationErrors:a}),(w,b)=>{const A=t.resolveComponent("KMultiselect");return t.openBlock(),t.createElementBlock("div",Om,[t.createVNode(A,{items:h.value,loading:m.value,"model-value":g.value,"onUpdate:modelValue":_},null,8,["items","loading","model-value"])])}}}),Ee=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},Bm=Ee($m,[["__scopeId","data-v-29b128ff"]]),rs={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
4
4
  client. If missing, it will be generated for you.`}},{tags:an},{ttl:{help:"Time-to-live value for data"}}]},Vm=e=>{var n;return(e==null?void 0:e.app)==="kongManager"?{fieldsToDelete:["config-identity_realms"],shamefullyTransformPayload:({payload:o})=>{(e!=null&&e.credential&&typeof o.ttl!="number"||Number.isNaN(o.ttl))&&(o.ttl=0)}}:{"config-identity_realms":{component:((n=e==null?void 0:e.experimentalRenders)==null?void 0:n.keyAuthIdentityRealms)??!1?t.markRaw(Bm):null}}},Rm={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{key:{auto:!0,hint:"If left empty, a key will be generated after saving this form.",required:!1,type:"string",unique:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}},{ttl:{between:[0,1e8],description:"Time-to-live value for data",type:"number"}}]},is={fields:[{username:{hint:"The username to use in the HMAC Signature verification."}},{secret:{inputType:"text",submitWhenNull:!1,hint:`The secret to use in the HMAC Signature verification. Note that
5
5
  if this parameter isn’t provided, Kong will generate a value for you and
6
6
  send it as part of the response body.`}},{tags:an}]},Dm={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0,hint:"The username to use in the HMAC Signature verification."}},{secret:{auto:!0,type:"string",hint:"The secret to use in the HMAC Signature verification. Note that if this parameter isn’t provided, Kong will generate a value for you and send it as part of the response body."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Mm={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
@@ -10,7 +10,7 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
10
10
  will be generated for you.`,inputType:"text",encrypted:!0}},{client_secret:{submitWhenNull:!1,hint:`You can optionally set your own unique client_secret. If missing,
11
11
  it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:In.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
12
12
  authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:In.tags}]},Fm={fields:[{id:{uuid:!0,auto:!0,type:"string",description:"A string representing a UUID (universally unique identifier)."}},{created_at:{description:"An integer representing an automatic Unix timestamp in seconds.",timestamp:!0,auto:!0,type:"integer"}},{consumer:{on_delete:"cascade",type:"foreign",reference:"consumers",required:!0}},{name:{required:!0,type:"string"}},{client_id:{required:!1,hint:"You can optionally set your own unique client_id. If missing, it will be generated for you.",unique:!0,auto:!0,type:"string"}},{client_secret:{required:!1,hint:"You can optionally set your own unique client_secret. If missing, it will be generated for you.",auto:!0,type:"string",encrypted:!0}},{hash_secret:{required:!0,type:"boolean",default:!1}},{redirect_uris:{required:!1,hint:"One or more URLs in your app where users will be sent after authorization (RFC 6742 Section 3.1.2)",type:"array",elements:{type:"string"}}},{tags:{elements:{required:!0,type:"string",description:"A string representing a tag."},type:"set",description:"A set of strings representing tags."}},{client_type:{required:!0,default:"confidential",type:"string",one_of:["confidential","public"]}}]},ls={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
13
- client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:an},{ttl:{help:"Time-to-live value for data"}}]},Um=e=>(e==null?void 0:e.app)==="kongManager"?{shamefullyTransformPayload:({payload:n})=>{(e!=null&&e.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{},Km={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}},{ttl:{between:[0,1e8],description:"Time-to-live value for data",type:"number"}}]},Ct={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",nameKey:"plugins.meta.basic-auth.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",nameKey:"plugins.meta.hmac-auth.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",nameKey:"plugins.meta.jwt-signer.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",nameKey:"plugins.meta.jwt.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",nameKey:"plugins.meta.key-auth.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",nameKey:"plugins.meta.key-auth-enc.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",nameKey:"plugins.meta.ldap-auth-advanced.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",nameKey:"plugins.meta.ldap-auth.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",nameKey:"plugins.meta.oauth2-introspection.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",nameKey:"plugins.meta.oauth2.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",nameKey:"plugins.meta.openid-connect.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",nameKey:"plugins.meta.mtls-auth.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",nameKey:"plugins.meta.vault-auth.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",nameKey:"plugins.meta.bot-detection.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",nameKey:"plugins.meta.cors.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",nameKey:"plugins.meta.opa.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP.acl},canary:{descriptionKey:"plugins.meta.canary.description",nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",nameKey:"plugins.meta.proxy-cache.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",nameKey:"plugins.meta.proxy-cache-advanced.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",nameKey:"plugins.meta.rate-limiting-advanced.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",nameKey:"plugins.meta.request-size-limiting.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",nameKey:"plugins.meta.request-termination.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",nameKey:"plugins.meta.response-ratelimiting.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",nameKey:"plugins.meta.route-by-header.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",nameKey:"plugins.meta.aws-lambda.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",nameKey:"plugins.meta.azure-functions.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",nameKey:"plugins.meta.openwhisk.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",nameKey:"plugins.meta.pre-function.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",nameKey:"plugins.meta.post-function.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",nameKey:"plugins.meta.datadog.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",nameKey:"plugins.meta.prometheus.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",nameKey:"plugins.meta.zipkin.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",nameKey:"plugins.meta.collector.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",nameKey:"plugins.meta.response-transformer-advanced.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",nameKey:"plugins.meta.correlation-id.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",nameKey:"plugins.meta.request-transformer-advanced.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",nameKey:"plugins.meta.request-transformer.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",nameKey:"plugins.meta.response-transformer.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",nameKey:"plugins.meta.kafka-upstream.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",nameKey:"plugins.meta.degraphql.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",nameKey:"plugins.meta.exit-transformer.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",nameKey:"plugins.meta.file-log.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",nameKey:"plugins.meta.http-log.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",nameKey:"plugins.meta.loggly.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",nameKey:"plugins.meta.statsd-advanced.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",nameKey:"plugins.meta.statsd.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",nameKey:"plugins.meta.syslog.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",nameKey:"plugins.meta.tcp-log.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",nameKey:"plugins.meta.udp-log.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",nameKey:"plugins.meta.kafka-log.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",nameKey:"plugins.meta.session.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",nameKey:"plugins.meta.upstream-tls.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",nameKey:"plugins.meta.application-registration.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",nameKey:"plugins.meta.konnect-application-auth.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",nameKey:"plugins.meta.acme.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",nameKey:"plugins.meta.grpc-gateway.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",nameKey:"plugins.meta.grpc-web.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",nameKey:"plugins.meta.upstream-timeout.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",nameKey:"plugins.meta.websocket-validator.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",nameKey:"plugins.meta.tls-metadata-headers.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",nameKey:"plugins.meta.tls-handshake-modifier.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",nameKey:"plugins.meta.oas-validation.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",nameKey:"plugins.meta.jwe-decrypt.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",nameKey:"plugins.meta.xml-threat-protection.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",nameKey:"plugins.meta.saml.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",nameKey:"plugins.meta.app-dynamics.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",nameKey:"plugins.meta.json-threat-protection.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",nameKey:"plugins.meta.standard-webhooks.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",nameKey:"plugins.meta.header-cert-auth.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...z.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",nameKey:"plugins.meta.upstream-oauth.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",nameKey:"plugins.meta.confluent.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",nameKey:"plugins.meta.service-protection.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",nameKey:"plugins.meta.injection-protection.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",nameKey:"plugins.meta.redirect.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",nameKey:"plugins.meta.kafka-consume.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",nameKey:"plugins.meta.confluent-consume.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",nameKey:"plugins.meta.request-callout.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-sanitizer"]},"ai-rag-injector":{descriptionKey:"plugins.meta.ai-rag-injector.description",nameKey:"plugins.meta.ai-rag-injector.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",nameKey:"plugins.meta.datakit.name",useUIData:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP.datakit},"ai-prompt-compressor":{descriptionKey:"plugins.meta.ai-prompt-compressor.description",nameKey:"plugins.meta.ai-prompt-compressor.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",nameKey:"plugins.meta.solace-upstream.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["solace-upstream"]},"ai-aws-guardrails":{descriptionKey:"plugins.meta.ai-aws-guardrails.description",nameKey:"plugins.meta.ai-aws-guardrails.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]},ace:{descriptionKey:"plugins.meta.ace.description",nameKey:"plugins.meta.ace.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP.ace},"solace-consume":{descriptionKey:"plugins.meta.solace-consume.description",nameKey:"plugins.meta.solace-consume.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["solace-consume"]},"solace-log":{descriptionKey:"plugins.meta.solace-log.description",nameKey:"plugins.meta.solace-log.name",...z.PLUGIN_GROUP_AND_SCOPE_MAP["solace-log"]},"ai-llm-as-judge":{descriptionKey:"plugins.meta.ai-llm-as-judge.description",nameKey:"plugins.meta.ai-llm-as-judge.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-llm-as-judge"]},"ai-mcp-proxy":{descriptionKey:"plugins.meta.ai-mcp-proxy.description",nameKey:"plugins.meta.ai-mcp-proxy.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-proxy"]},"ai-gcp-model-armor":{descriptionKey:"plugins.meta.ai-gcp-model-armor.description",nameKey:"plugins.meta.ai-gcp-model-armor.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-gcp-model-armor"]},"ai-mcp-oauth2":{descriptionKey:"plugins.meta.ai-mcp-oauth2.description",nameKey:"plugins.meta.ai-mcp-oauth2.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-oauth2"]},"ai-semantic-response-guard":{descriptionKey:"plugins.meta.ai-semantic-response-guard.description",nameKey:"plugins.meta.ai-semantic-response-guard.name",useLegacyForm:!0,...z.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-response-guard"]}},Pn={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:ns,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:rn(ns),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:os,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:rn(os)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:rs,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:rn(rs)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:ls,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:rn(ls)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:as,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:rn(as)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:is,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:rn(is)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Mm,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},jm={acls:Pm,basicauth_credentials:Tm,keyauth_credentials:Rm,keyauth_enc_credentials:Km,oauth2_credentials:Fm,hmacauth_credentials:Dm,jwt_secrets:Lm},Gm=()=>{const{i18n:{t:e}}=Ae(),n={},o={};for(const[i,a]of Object.entries(Ct))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(Pn))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:Pn,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},so={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},qm={"config-prompts-prepend":{...so,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...so,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},zm={"config-templates":{...so,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},Hm={shamefullyTransformPayload:({originalModel:e,model:n,payload:o,schema:r})=>{const i=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},a=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));a("config-embeddings")||(o.config.embeddings=null),a("config-vectordb")||(o.config.vectordb=null)}},Ym={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},Wm={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:In.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Te={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},dr={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Xm={"config-metrics":{...dr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Zm={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Jm={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Qm={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},eg={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},tg={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},ss=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:In.fields.arrayItems({newElementButtonLabel:"Add"})}),tg),ur={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},ng={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},og=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:In.fields.arrayItems({newElementButtonLabel:"Add"})}),ng),cs={"config-add-json":{...Te,label:"Config.Add.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Te,label:"Config.Append.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Te,label:"Config.Remove.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Te,label:"Config.Rename.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Te,label:"Config.Replace.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},rg={...cs,"config-allow-json":{...Te,label:"Config.Allow.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Te,label:"Config.Transform.Functions",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Te,label:"Config.Transform.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},ig={"config-rules":{...so,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},ag={"config-session_redis_cluster_nodes":{...so,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},lg={"config-flow-functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},sg={"config-metrics":{...dr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},cg={"config-metrics":{...dr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},dg={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},ug={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}};var ds=typeof global=="object"&&global&&global.Object===Object&&global,fg=typeof self=="object"&&self&&self.Object===Object&&self,Et=ds||fg||Function("return this")(),ut=Et.Symbol,us=Object.prototype,pg=us.hasOwnProperty,mg=us.toString,co=ut?ut.toStringTag:void 0;function gg(e){var n=pg.call(e,co),o=e[co];try{e[co]=void 0;var r=!0}catch{}var i=mg.call(e);return r&&(n?e[co]=o:delete e[co]),i}var hg=Object.prototype,yg=hg.toString;function _g(e){return yg.call(e)}var bg="[object Null]",wg="[object Undefined]",fs=ut?ut.toStringTag:void 0;function ln(e){return e==null?e===void 0?wg:bg:fs&&fs in Object(e)?gg(e):_g(e)}function Vt(e){return e!=null&&typeof e=="object"}var kg="[object Symbol]";function Vi(e){return typeof e=="symbol"||Vt(e)&&ln(e)==kg}function ps(e,n){for(var o=-1,r=e==null?0:e.length,i=Array(r);++o<r;)i[o]=n(e[o],o,e);return i}var gt=Array.isArray,ms=ut?ut.prototype:void 0,gs=ms?ms.toString:void 0;function hs(e){if(typeof e=="string")return e;if(gt(e))return ps(e,hs)+"";if(Vi(e))return gs?gs.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function sn(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function Cg(e){return e}var Eg="[object AsyncFunction]",Ng="[object Function]",vg="[object GeneratorFunction]",Sg="[object Proxy]";function fr(e){if(!sn(e))return!1;var n=ln(e);return n==Ng||n==vg||n==Eg||n==Sg}var Ri=Et["__core-js_shared__"],ys=function(){var e=/[^.]+$/.exec(Ri&&Ri.keys&&Ri.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function xg(e){return!!ys&&ys in e}var Ag=Function.prototype,Ig=Ag.toString;function cn(e){if(e!=null){try{return Ig.call(e)}catch{}try{return e+""}catch{}}return""}var Pg=/[\\^$.*+?()[\]{}|]/g,Tg=/^\[object .+?Constructor\]$/,Og=Function.prototype,$g=Object.prototype,Bg=Og.toString,Vg=$g.hasOwnProperty,Rg=RegExp("^"+Bg.call(Vg).replace(Pg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Dg(e){if(!sn(e)||xg(e))return!1;var n=fr(e)?Rg:Tg;return n.test(cn(e))}function Mg(e,n){return e==null?void 0:e[n]}function dn(e,n){var o=Mg(e,n);return Dg(o)?o:void 0}var Di=dn(Et,"WeakMap"),_s=Object.create,Lg=function(){function e(){}return function(n){if(!sn(n))return{};if(_s)return _s(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function Fg(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}function Ug(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Kg=800,jg=16,Gg=Date.now;function qg(e){var n=0,o=0;return function(){var r=Gg(),i=jg-(r-o);if(o=r,i>0){if(++n>=Kg)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function zg(e){return function(){return e}}var pr=function(){try{var e=dn(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Hg=pr?function(e,n){return pr(e,"toString",{configurable:!0,enumerable:!1,value:zg(n),writable:!0})}:Cg,Yg=qg(Hg);function Wg(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var Xg=9007199254740991,Zg=/^(?:0|[1-9]\d*)$/;function Mi(e,n){var o=typeof e;return n=n??Xg,!!n&&(o=="number"||o!="symbol"&&Zg.test(e))&&e>-1&&e%1==0&&e<n}function bs(e,n,o){n=="__proto__"&&pr?pr(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function Li(e,n){return e===n||e!==e&&n!==n}var Jg=Object.prototype,Qg=Jg.hasOwnProperty;function Fi(e,n,o){var r=e[n];(!(Qg.call(e,n)&&Li(r,o))||o===void 0&&!(n in e))&&bs(e,n,o)}function uo(e,n,o,r){var i=!o;o||(o={});for(var a=-1,l=n.length;++a<l;){var s=n[a],c=void 0;c===void 0&&(c=e[s]),i?bs(o,s,c):Fi(o,s,c)}return o}var ws=Math.max;function eh(e,n,o){return n=ws(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=ws(r.length-n,0),l=Array(a);++i<a;)l[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=o(l),Fg(e,this,s)}}var th=9007199254740991;function Ui(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=th}function Ki(e){return e!=null&&Ui(e.length)&&!fr(e)}var nh=Object.prototype;function mr(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||nh;return e===o}function oh(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var rh="[object Arguments]";function ks(e){return Vt(e)&&ln(e)==rh}var Cs=Object.prototype,ih=Cs.hasOwnProperty,ah=Cs.propertyIsEnumerable,gr=ks(function(){return arguments}())?ks:function(e){return Vt(e)&&ih.call(e,"callee")&&!ah.call(e,"callee")};function lh(){return!1}var Es=typeof ke=="object"&&ke&&!ke.nodeType&&ke,Ns=Es&&typeof module=="object"&&module&&!module.nodeType&&module,sh=Ns&&Ns.exports===Es,vs=sh?Et.Buffer:void 0,ch=vs?vs.isBuffer:void 0,fo=ch||lh,dh="[object Arguments]",uh="[object Array]",fh="[object Boolean]",ph="[object Date]",mh="[object Error]",gh="[object Function]",hh="[object Map]",yh="[object Number]",_h="[object Object]",bh="[object RegExp]",wh="[object Set]",kh="[object String]",Ch="[object WeakMap]",Eh="[object ArrayBuffer]",Nh="[object DataView]",vh="[object Float32Array]",Sh="[object Float64Array]",xh="[object Int8Array]",Ah="[object Int16Array]",Ih="[object Int32Array]",Ph="[object Uint8Array]",Th="[object Uint8ClampedArray]",Oh="[object Uint16Array]",$h="[object Uint32Array]",Re={};Re[vh]=Re[Sh]=Re[xh]=Re[Ah]=Re[Ih]=Re[Ph]=Re[Th]=Re[Oh]=Re[$h]=!0,Re[dh]=Re[uh]=Re[Eh]=Re[fh]=Re[Nh]=Re[ph]=Re[mh]=Re[gh]=Re[hh]=Re[yh]=Re[_h]=Re[bh]=Re[wh]=Re[kh]=Re[Ch]=!1;function Bh(e){return Vt(e)&&Ui(e.length)&&!!Re[ln(e)]}function ji(e){return function(n){return e(n)}}var Ss=typeof ke=="object"&&ke&&!ke.nodeType&&ke,po=Ss&&typeof module=="object"&&module&&!module.nodeType&&module,Vh=po&&po.exports===Ss,Gi=Vh&&ds.process,Tn=function(){try{var e=po&&po.require&&po.require("util").types;return e||Gi&&Gi.binding&&Gi.binding("util")}catch{}}(),xs=Tn&&Tn.isTypedArray,qi=xs?ji(xs):Bh,Rh=Object.prototype,Dh=Rh.hasOwnProperty;function As(e,n){var o=gt(e),r=!o&&gr(e),i=!o&&!r&&fo(e),a=!o&&!r&&!i&&qi(e),l=o||r||i||a,s=l?oh(e.length,String):[],c=s.length;for(var d in e)(n||Dh.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Mi(d,c)))&&s.push(d);return s}function Is(e,n){return function(o){return e(n(o))}}var Mh=Is(Object.keys,Object),Lh=Object.prototype,Fh=Lh.hasOwnProperty;function Ps(e){if(!mr(e))return Mh(e);var n=[];for(var o in Object(e))Fh.call(e,o)&&o!="constructor"&&n.push(o);return n}function zi(e){return Ki(e)?As(e):Ps(e)}function Uh(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Kh=Object.prototype,jh=Kh.hasOwnProperty;function Gh(e){if(!sn(e))return Uh(e);var n=mr(e),o=[];for(var r in e)r=="constructor"&&(n||!jh.call(e,r))||o.push(r);return o}function Hi(e){return Ki(e)?As(e,!0):Gh(e)}var qh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,zh=/^\w*$/;function Hh(e,n){if(gt(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Vi(e)?!0:zh.test(e)||!qh.test(e)||n!=null&&e in Object(n)}var mo=dn(Object,"create");function Yh(){this.__data__=mo?mo(null):{},this.size=0}function Wh(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Xh="__lodash_hash_undefined__",Zh=Object.prototype,Jh=Zh.hasOwnProperty;function Qh(e){var n=this.__data__;if(mo){var o=n[e];return o===Xh?void 0:o}return Jh.call(n,e)?n[e]:void 0}var ey=Object.prototype,ty=ey.hasOwnProperty;function ny(e){var n=this.__data__;return mo?n[e]!==void 0:ty.call(n,e)}var oy="__lodash_hash_undefined__";function ry(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=mo&&n===void 0?oy:n,this}function un(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}un.prototype.clear=Yh,un.prototype.delete=Wh,un.prototype.get=Qh,un.prototype.has=ny,un.prototype.set=ry;function iy(){this.__data__=[],this.size=0}function hr(e,n){for(var o=e.length;o--;)if(Li(e[o][0],n))return o;return-1}var ay=Array.prototype,ly=ay.splice;function sy(e){var n=this.__data__,o=hr(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():ly.call(n,o,1),--this.size,!0}function cy(e){var n=this.__data__,o=hr(n,e);return o<0?void 0:n[o][1]}function dy(e){return hr(this.__data__,e)>-1}function uy(e,n){var o=this.__data__,r=hr(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function Rt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Rt.prototype.clear=iy,Rt.prototype.delete=sy,Rt.prototype.get=cy,Rt.prototype.has=dy,Rt.prototype.set=uy;var go=dn(Et,"Map");function fy(){this.size=0,this.__data__={hash:new un,map:new(go||Rt),string:new un}}function py(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function yr(e,n){var o=e.__data__;return py(n)?o[typeof n=="string"?"string":"hash"]:o.map}function my(e){var n=yr(this,e).delete(e);return this.size-=n?1:0,n}function gy(e){return yr(this,e).get(e)}function hy(e){return yr(this,e).has(e)}function yy(e,n){var o=yr(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function Dt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Dt.prototype.clear=fy,Dt.prototype.delete=my,Dt.prototype.get=gy,Dt.prototype.has=hy,Dt.prototype.set=yy;var _y="Expected a function";function Yi(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(_y);var o=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=o.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return o.cache=a.set(i,l)||a,l};return o.cache=new(Yi.Cache||Dt),o}Yi.Cache=Dt;var by=500;function wy(e){var n=Yi(e,function(r){return o.size===by&&o.clear(),r}),o=n.cache;return n}var ky=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Cy=/\\(\\)?/g,Ey=wy(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(ky,function(o,r,i,a){n.push(i?a.replace(Cy,"$1"):r||o)}),n});function Wi(e){return e==null?"":hs(e)}function On(e,n){return gt(e)?e:Hh(e,n)?[e]:Ey(Wi(e))}function _r(e){if(typeof e=="string"||Vi(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Xi(e,n){n=On(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[_r(n[o++])];return o&&o==r?e:void 0}function Ts(e,n,o){var r=e==null?void 0:Xi(e,n);return r===void 0?o:r}function Zi(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var Os=ut?ut.isConcatSpreadable:void 0;function Ny(e){return gt(e)||gr(e)||!!(Os&&e&&e[Os])}function vy(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=Ny),i||(i=[]);++a<l;){var s=e[a];o(s)?Zi(i,s):i[i.length]=s}return i}function Sy(e){var n=e==null?0:e.length;return n?vy(e):[]}function $s(e){return Yg(eh(e,void 0,Sy),e+"")}var Ji=Is(Object.getPrototypeOf,Object),xy="[object Object]",Ay=Function.prototype,Iy=Object.prototype,Bs=Ay.toString,Py=Iy.hasOwnProperty,Ty=Bs.call(Object);function Oy(e){if(!Vt(e)||ln(e)!=xy)return!1;var n=Ji(e);if(n===null)return!0;var o=Py.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&Bs.call(o)==Ty}function Vs(e,n,o){var r=-1,i=e.length;n<0&&(n=-n>i?0:i+n),o=o>i?i:o,o<0&&(o+=i),i=n>o?0:o-n>>>0,n>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+n];return a}function $y(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:Vs(e,n,o)}var By="\\ud800-\\udfff",Vy="\\u0300-\\u036f",Ry="\\ufe20-\\ufe2f",Dy="\\u20d0-\\u20ff",My=Vy+Ry+Dy,Ly="\\ufe0e\\ufe0f",Fy="\\u200d",Uy=RegExp("["+Fy+By+My+Ly+"]");function Rs(e){return Uy.test(e)}function Ky(e){return e.split("")}var Ds="\\ud800-\\udfff",jy="\\u0300-\\u036f",Gy="\\ufe20-\\ufe2f",qy="\\u20d0-\\u20ff",zy=jy+Gy+qy,Hy="\\ufe0e\\ufe0f",Yy="["+Ds+"]",Qi="["+zy+"]",ea="\\ud83c[\\udffb-\\udfff]",Wy="(?:"+Qi+"|"+ea+")",Ms="[^"+Ds+"]",Ls="(?:\\ud83c[\\udde6-\\uddff]){2}",Fs="[\\ud800-\\udbff][\\udc00-\\udfff]",Xy="\\u200d",Us=Wy+"?",Ks="["+Hy+"]?",Zy="(?:"+Xy+"(?:"+[Ms,Ls,Fs].join("|")+")"+Ks+Us+")*",Jy=Ks+Us+Zy,Qy="(?:"+[Ms+Qi+"?",Qi,Ls,Fs,Yy].join("|")+")",e_=RegExp(ea+"(?="+ea+")|"+Qy+Jy,"g");function t_(e){return e.match(e_)||[]}function n_(e){return Rs(e)?t_(e):Ky(e)}function o_(e){return function(n){n=Wi(n);var o=Rs(n)?n_(n):void 0,r=o?o[0]:n.charAt(0),i=o?$y(o,1).join(""):n.slice(1);return r[e]()+i}}var r_=o_("toUpperCase");function i_(){this.__data__=new Rt,this.size=0}function a_(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function l_(e){return this.__data__.get(e)}function s_(e){return this.__data__.has(e)}var c_=200;function d_(e,n){var o=this.__data__;if(o instanceof Rt){var r=o.__data__;if(!go||r.length<c_-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Dt(r)}return o.set(e,n),this.size=o.size,this}function Mt(e){var n=this.__data__=new Rt(e);this.size=n.size}Mt.prototype.clear=i_,Mt.prototype.delete=a_,Mt.prototype.get=l_,Mt.prototype.has=s_,Mt.prototype.set=d_;function u_(e,n){return e&&uo(n,zi(n),e)}function f_(e,n){return e&&uo(n,Hi(n),e)}var js=typeof ke=="object"&&ke&&!ke.nodeType&&ke,Gs=js&&typeof module=="object"&&module&&!module.nodeType&&module,p_=Gs&&Gs.exports===js,qs=p_?Et.Buffer:void 0,zs=qs?qs.allocUnsafe:void 0;function m_(e,n){if(n)return e.slice();var o=e.length,r=zs?zs(o):new e.constructor(o);return e.copy(r),r}function g_(e,n){for(var o=-1,r=e==null?0:e.length,i=0,a=[];++o<r;){var l=e[o];n(l,o,e)&&(a[i++]=l)}return a}function Hs(){return[]}var h_=Object.prototype,y_=h_.propertyIsEnumerable,Ys=Object.getOwnPropertySymbols,ta=Ys?function(e){return e==null?[]:(e=Object(e),g_(Ys(e),function(n){return y_.call(e,n)}))}:Hs;function __(e,n){return uo(e,ta(e),n)}var b_=Object.getOwnPropertySymbols,Ws=b_?function(e){for(var n=[];e;)Zi(n,ta(e)),e=Ji(e);return n}:Hs;function w_(e,n){return uo(e,Ws(e),n)}function Xs(e,n,o){var r=n(e);return gt(e)?r:Zi(r,o(e))}function na(e){return Xs(e,zi,ta)}function Zs(e){return Xs(e,Hi,Ws)}var oa=dn(Et,"DataView"),ra=dn(Et,"Promise"),ia=dn(Et,"Set"),Js="[object Map]",k_="[object Object]",Qs="[object Promise]",ec="[object Set]",tc="[object WeakMap]",nc="[object DataView]",C_=cn(oa),E_=cn(go),N_=cn(ra),v_=cn(ia),S_=cn(Di),ft=ln;(oa&&ft(new oa(new ArrayBuffer(1)))!=nc||go&&ft(new go)!=Js||ra&&ft(ra.resolve())!=Qs||ia&&ft(new ia)!=ec||Di&&ft(new Di)!=tc)&&(ft=function(e){var n=ln(e),o=n==k_?e.constructor:void 0,r=o?cn(o):"";if(r)switch(r){case C_:return nc;case E_:return Js;case N_:return Qs;case v_:return ec;case S_:return tc}return n});var x_=Object.prototype,A_=x_.hasOwnProperty;function I_(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&A_.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var br=Et.Uint8Array;function aa(e){var n=new e.constructor(e.byteLength);return new br(n).set(new br(e)),n}function P_(e,n){var o=n?aa(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var T_=/\w*$/;function O_(e){var n=new e.constructor(e.source,T_.exec(e));return n.lastIndex=e.lastIndex,n}var oc=ut?ut.prototype:void 0,rc=oc?oc.valueOf:void 0;function $_(e){return rc?Object(rc.call(e)):{}}function B_(e,n){var o=n?aa(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var V_="[object Boolean]",R_="[object Date]",D_="[object Map]",M_="[object Number]",L_="[object RegExp]",F_="[object Set]",U_="[object String]",K_="[object Symbol]",j_="[object ArrayBuffer]",G_="[object DataView]",q_="[object Float32Array]",z_="[object Float64Array]",H_="[object Int8Array]",Y_="[object Int16Array]",W_="[object Int32Array]",X_="[object Uint8Array]",Z_="[object Uint8ClampedArray]",J_="[object Uint16Array]",Q_="[object Uint32Array]";function eb(e,n,o){var r=e.constructor;switch(n){case j_:return aa(e);case V_:case R_:return new r(+e);case G_:return P_(e,o);case q_:case z_:case H_:case Y_:case W_:case X_:case Z_:case J_:case Q_:return B_(e,o);case D_:return new r;case M_:case U_:return new r(e);case L_:return O_(e);case F_:return new r;case K_:return $_(e)}}function tb(e){return typeof e.constructor=="function"&&!mr(e)?Lg(Ji(e)):{}}var nb="[object Map]";function ob(e){return Vt(e)&&ft(e)==nb}var ic=Tn&&Tn.isMap,rb=ic?ji(ic):ob,ib="[object Set]";function ab(e){return Vt(e)&&ft(e)==ib}var ac=Tn&&Tn.isSet,lb=ac?ji(ac):ab,sb=1,cb=2,db=4,lc="[object Arguments]",ub="[object Array]",fb="[object Boolean]",pb="[object Date]",mb="[object Error]",sc="[object Function]",gb="[object GeneratorFunction]",hb="[object Map]",yb="[object Number]",cc="[object Object]",_b="[object RegExp]",bb="[object Set]",wb="[object String]",kb="[object Symbol]",Cb="[object WeakMap]",Eb="[object ArrayBuffer]",Nb="[object DataView]",vb="[object Float32Array]",Sb="[object Float64Array]",xb="[object Int8Array]",Ab="[object Int16Array]",Ib="[object Int32Array]",Pb="[object Uint8Array]",Tb="[object Uint8ClampedArray]",Ob="[object Uint16Array]",$b="[object Uint32Array]",Ve={};Ve[lc]=Ve[ub]=Ve[Eb]=Ve[Nb]=Ve[fb]=Ve[pb]=Ve[vb]=Ve[Sb]=Ve[xb]=Ve[Ab]=Ve[Ib]=Ve[hb]=Ve[yb]=Ve[cc]=Ve[_b]=Ve[bb]=Ve[wb]=Ve[kb]=Ve[Pb]=Ve[Tb]=Ve[Ob]=Ve[$b]=!0,Ve[mb]=Ve[sc]=Ve[Cb]=!1;function ho(e,n,o,r,i,a){var l,s=n&sb,c=n&cb,d=n&db;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!sn(e))return e;var u=gt(e);if(u){if(l=I_(e),!s)return Ug(e,l)}else{var f=ft(e),p=f==sc||f==gb;if(fo(e))return m_(e,s);if(f==cc||f==lc||p&&!i){if(l=c||p?{}:tb(e),!s)return c?w_(e,f_(l,e)):__(e,u_(l,e))}else{if(!Ve[f])return i?e:{};l=eb(e,f,s)}}a||(a=new Mt);var m=a.get(e);if(m)return m;a.set(e,l),lb(e)?e.forEach(function(g){l.add(ho(g,n,o,g,e,a))}):rb(e)&&e.forEach(function(g,_){l.set(_,ho(g,n,o,_,e,a))});var h=d?c?Zs:na:c?Hi:zi,y=u?void 0:h(e);return Wg(y||e,function(g,_){y&&(_=g,g=e[_]),Fi(l,_,ho(g,n,o,_,e,a))}),l}var Bb=1,Vb=4;function $n(e){return ho(e,Bb|Vb)}var Rb="__lodash_hash_undefined__";function Db(e){return this.__data__.set(e,Rb),this}function Mb(e){return this.__data__.has(e)}function wr(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new Dt;++n<o;)this.add(e[n])}wr.prototype.add=wr.prototype.push=Db,wr.prototype.has=Mb;function Lb(e,n){for(var o=-1,r=e==null?0:e.length;++o<r;)if(n(e[o],o,e))return!0;return!1}function Fb(e,n){return e.has(n)}var Ub=1,Kb=2;function dc(e,n,o,r,i,a){var l=o&Ub,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var d=a.get(e),u=a.get(n);if(d&&u)return d==n&&u==e;var f=-1,p=!0,m=o&Kb?new wr:void 0;for(a.set(e,n),a.set(n,e);++f<s;){var h=e[f],y=n[f];if(r)var g=l?r(y,h,f,n,e,a):r(h,y,f,e,n,a);if(g!==void 0){if(g)continue;p=!1;break}if(m){if(!Lb(n,function(_,w){if(!Fb(m,w)&&(h===_||i(h,_,o,r,a)))return m.push(w)})){p=!1;break}}else if(!(h===y||i(h,y,o,r,a))){p=!1;break}}return a.delete(e),a.delete(n),p}function jb(e){var n=-1,o=Array(e.size);return e.forEach(function(r,i){o[++n]=[i,r]}),o}function Gb(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var qb=1,zb=2,Hb="[object Boolean]",Yb="[object Date]",Wb="[object Error]",Xb="[object Map]",Zb="[object Number]",Jb="[object RegExp]",Qb="[object Set]",e0="[object String]",t0="[object Symbol]",n0="[object ArrayBuffer]",o0="[object DataView]",uc=ut?ut.prototype:void 0,la=uc?uc.valueOf:void 0;function r0(e,n,o,r,i,a,l){switch(o){case o0:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case n0:return!(e.byteLength!=n.byteLength||!a(new br(e),new br(n)));case Hb:case Yb:case Zb:return Li(+e,+n);case Wb:return e.name==n.name&&e.message==n.message;case Jb:case e0:return e==n+"";case Xb:var s=jb;case Qb:var c=r&qb;if(s||(s=Gb),e.size!=n.size&&!c)return!1;var d=l.get(e);if(d)return d==n;r|=zb,l.set(e,n);var u=dc(s(e),s(n),r,i,a,l);return l.delete(e),u;case t0:if(la)return la.call(e)==la.call(n)}return!1}var i0=1,a0=Object.prototype,l0=a0.hasOwnProperty;function s0(e,n,o,r,i,a){var l=o&i0,s=na(e),c=s.length,d=na(n),u=d.length;if(c!=u&&!l)return!1;for(var f=c;f--;){var p=s[f];if(!(l?p in n:l0.call(n,p)))return!1}var m=a.get(e),h=a.get(n);if(m&&h)return m==n&&h==e;var y=!0;a.set(e,n),a.set(n,e);for(var g=l;++f<c;){p=s[f];var _=e[p],w=n[p];if(r)var b=l?r(w,_,p,n,e,a):r(_,w,p,e,n,a);if(!(b===void 0?_===w||i(_,w,o,r,a):b)){y=!1;break}g||(g=p=="constructor")}if(y&&!g){var x=e.constructor,S=n.constructor;x!=S&&"constructor"in e&&"constructor"in n&&!(typeof x=="function"&&x instanceof x&&typeof S=="function"&&S instanceof S)&&(y=!1)}return a.delete(e),a.delete(n),y}var c0=1,fc="[object Arguments]",pc="[object Array]",kr="[object Object]",d0=Object.prototype,mc=d0.hasOwnProperty;function u0(e,n,o,r,i,a){var l=gt(e),s=gt(n),c=l?pc:ft(e),d=s?pc:ft(n);c=c==fc?kr:c,d=d==fc?kr:d;var u=c==kr,f=d==kr,p=c==d;if(p&&fo(e)){if(!fo(n))return!1;l=!0,u=!1}if(p&&!u)return a||(a=new Mt),l||qi(e)?dc(e,n,o,r,i,a):r0(e,n,c,o,r,i,a);if(!(o&c0)){var m=u&&mc.call(e,"__wrapped__"),h=f&&mc.call(n,"__wrapped__");if(m||h){var y=m?e.value():e,g=h?n.value():n;return a||(a=new Mt),i(y,g,o,r,a)}}return p?(a||(a=new Mt),s0(e,n,o,r,i,a)):!1}function gc(e,n,o,r,i){return e===n?!0:e==null||n==null||!Vt(e)&&!Vt(n)?e!==e&&n!==n:u0(e,n,o,r,gc,i)}function f0(e,n){return e!=null&&n in Object(e)}function p0(e,n,o){n=On(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=_r(n[r]);if(!(a=e!=null&&o(e,l)))break;e=e[l]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&Ui(i)&&Mi(l,i)&&(gt(e)||gr(e)))}function m0(e,n){return e!=null&&p0(e,n,f0)}function g0(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function h0(e,n){return n.length<2?e:Xi(e,Vs(n,0,-1))}var y0="[object Map]",_0="[object Set]",b0=Object.prototype,w0=b0.hasOwnProperty;function hc(e){if(e==null)return!0;if(Ki(e)&&(gt(e)||typeof e=="string"||typeof e.splice=="function"||fo(e)||qi(e)||gr(e)))return!e.length;var n=ft(e);if(n==y0||n==_0)return!e.size;if(mr(e))return!Ps(e).length;for(var o in e)if(w0.call(e,o))return!1;return!0}function yo(e,n){return gc(e,n)}function yc(e,n){return n=On(n,e),e=h0(e,n),e==null||delete e[_r(g0(n))]}function k0(e){return Oy(e)?void 0:e}var C0=1,E0=2,N0=4,_c=$s(function(e,n){var o={};if(e==null)return o;var r=!1;n=ps(n,function(a){return a=On(a,e),r||(r=a.length>1),a}),uo(e,Zs(e),o),r&&(o=ho(o,C0|E0|N0,k0));for(var i=n.length;i--;)yc(o,n[i]);return o});function bc(e,n,o,r){if(!sn(e))return e;n=On(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=_r(n[i]),d=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var u=s[c];d=void 0,d===void 0&&(d=sn(u)?u:Mi(n[i+1])?[]:{})}Fi(s,c,d),s=s[c]}return e}function v0(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=Xi(e,l);o(s,l)&&bc(a,On(l,e),s)}return a}function S0(e,n){return v0(e,n,function(o,r){return m0(e,r)})}var sa=$s(function(e,n){return e==null?{}:S0(e,n)});function x0(e,n,o){return e==null?e:bc(e,n,o)}var A0=0;function Cr(e){var n=++A0;return Wi(e)+n}function wc(e,n){return e==null?!0:yc(e,n)}const I0={authentication:{mode:"none"},ssl_verify:!0},fn=e=>{var n,o,r,i,a,l;((o=(n=e.confluent)==null?void 0:n.authentication)==null?void 0:o.mode)==="none"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client,delete e.confluent.authentication.basic),((i=(r=e.confluent)==null?void 0:r.authentication)==null?void 0:i.mode)==="basic"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client),((l=(a=e.confluent)==null?void 0:a.authentication)==null?void 0:l.mode)==="oauth2"&&delete e.confluent.authentication.basic,yo(e.confluent,I0)&&(e.confluent=null)},P0={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;fn((n=e.config)==null?void 0:n.schema_registry)}},T0={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;fn((n=e.config)==null?void 0:n.schema_registry)}},O0={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;fn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{fn(i==null?void 0:i.schema_registry)})}},$0={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;fn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{fn(i==null?void 0:i.schema_registry)})}},B0={shamefullyTransformPayload:({payload:e})=>{var n;fn((n=e.config)==null?void 0:n.schema_registry)}},V0={"config-static_tags":{...dr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},R0={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm"};function ca(e,n){const o=R0[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const da=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),kc={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR")},Cc=Symbol("TOASTER_PROVIDER");function Ec(){return t.inject(da,[])}function D0(e){t.provide(da,e)}const M0=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},Nc=(e,n)=>(e.order??0)-(n.order??0),vc=(e,n)=>M0(e,n)||Nc(e,n)||e.model.localeCompare(n.model),De={useI18n:Ae,usePluginMetaData:Gm,usePluginHelpers:Ql,useSchemas:e=>{const{capitalize:n}=ce.useStringHelpers(),{convertToDotNotation:o}=Ql(),{i18n:{t:r}}=Ae(),i=Ec(),a={"application-registration":{overwriteDefault:!0,formSchema:{...Wm}},datadog:{...Xm},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...sg},"statsd-advanced":{...cg},"route-by-header":{...ig},"ai-prompt-decorator":{...qm},"ai-prompt-template":{...zm},"ai-proxy-advanced":{...Hm},"ai-llm-as-judge":{...Ym},"vault-auth":{...ug},"oas-validation":{...eg},mocking:{...Qm},"rate-limiting":{...ur},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":ur["config-consumer_groups"]}:{...ur},"graphql-rate-limiting-advanced":{...Zm},"injection-protection":{...Jm},"response-ratelimiting":{...ur},"pre-function":{...ss},"post-function":{...ss},"request-transformer-advanced":{...og},"response-transformer":{...cs},"response-transformer-advanced":{...rg},zipkin:{...V0},"upstream-oauth":{...dg},saml:{...ag},"kafka-upstream":{...P0},"solace-consume":{...lg},"key-auth":Vm(e),"key-auth-enc":Um(e),confluent:{...T0},"confluent-consume":{...O0},"kafka-consume":{...$0},"kafka-log":{...B0}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(N,P,T,L)=>{let M={};(P||N)&&(M=P||(N.fields?N.fields:N));const G=l().concat(N.blacklist?N.blacklist:[]),A=Object.keys(M).filter(K=>!G.includes(K)),J=A.indexOf("comparator");J>-1&&A.splice(J,1);let I={fields:[]};const U={};A.forEach(K=>{d(M[K],K,M,U,I,T)});const F=U.name,X=Ct[F],Y=[],j=K=>{const R=["cluster-cache"];for(const D of R)if(K.model.includes(D))return!1;return new RegExp("(?<=-redis-).*").test(K.model)};if(I._supported_redis_partial_type=N._supported_redis_partial_type,I._redis_partial_path=N._redis_partial_path,Pe.getSharedFormName(F)||ca(F,i)||X!=null&&X.useLegacyForm||e!=null&&e.credential||L==="freeform"){if(X!=null&&X.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&N._supported_redis_partial_type){for(const K of I.fields)if(j(K)){Y.push(K);continue}I.fields=I.fields.filter(K=>!j(K)),Y.length&&I.fields.push({id:"_redis",fields:Y,model:"__redis_partial",pluginType:N._isCustomPlugin?"custom":"bundled",redisType:N._supported_redis_partial_type,redisPath:N._redis_partial_path})}I.fields.sort((K,R)=>(K.order=K.order||0,R.order=R.order||0,K.order-R.order))}else{const K=[],R=[],D=[],te=[],W={};if(X!=null&&X.fieldRules){const pe=[...X.fieldRules.atLeastOneOf??[],...X.fieldRules.onlyOneOf??[],...X.fieldRules.mutuallyRequired??[]];if(X.fieldRules.onlyOneOfMutuallyRequired)for(const ge of X.fieldRules.onlyOneOfMutuallyRequired)pe.push(...ge);for(const ge of pe)for(const Z of ge)W[Z.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const pe of I.fields){if(e!=null&&e.enableRedisPartial&&N._supported_redis_partial_type&&j(pe)){te.push(pe);continue}if(pe.pinned){K.push(pe);continue}if(pe.required||W[pe.model]!==void 0){W[pe.model]===!1&&(W[pe.model]=!0),R.push(pe);continue}D.push(pe)}te.length&&D.push({id:"_redis",fields:te,model:"__redis_partial",pluginType:N._isCustomPlugin?"custom":"bundled",redisType:N._supported_redis_partial_type,redisPath:N._redis_partial_path,order:-1});const oe=Object.entries(W).filter(([,pe])=>!pe).map(([pe])=>pe.replace(/-/g,".").replace(/_/g,"-"));oe.length>0&&console.warn(`Unknown checked fields for plugin ${F}: ${oe.join(", ")}`);const ie=[];K.length>0&&ie.push({fields:K.sort(Nc)}),(R.length>0||D.length>0)&&ie.push({fields:R.sort(vc),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:D.sort(vc),triggerLabel:{expand:r("plugins.form.grouping.advanced_parameters.view"),collapse:r("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),I={groups:ie}}return{schema:I,model:U,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=N=>Array.isArray(N.default)||N.default!=null&&typeof N.default!="object"&&N.default!=="function",d=(N,P,T,L,M,G)=>{const A=c(N);return L[P]=A?N.default:null,N.id=P,N.model=P,N.fields&&N.type==="record"?f(N,P,T,L,M,G):(T[P]=N,x(N,L),G&&G[P]&&u(T[P],G[P]),M.fields.push(N)),T},u=(N,P)=>(P&&(Object.assign(N,P),P.label&&(N.label=P.label)),N),f=(N,P,T,L,M,G)=>{N.fields.forEach(A=>{Object.keys(A).forEach(J=>{const I=A[J];T=d(I,P+"-"+J,T,L,M,G)})})},p=(N,P)=>{N.type="input",N.inputType="hidden",N.styleClasses="kong-form-hidden-field-wrapper";const T=e==null?void 0:e.entityId;P[N.model]=T?{id:T}:null},m=N=>{N.type="input",N.inputType="number",N.between&&N.between.length===2&&(N.min=N.between[0],N.max=N.between[1])},h=N=>{Object.prototype.hasOwnProperty.call(N,"one_of")?(N.type="select",N.values=N.one_of,N.selectOptions={hideNoneSelectedText:!0}):(N.type="input",N.inputType="text")},y=N=>{N.type="checkbox",N.default=!0,N.required=!1},g=N=>{if(N.type="object-advanced",N.values.type==="array"){const{type:P}=N.values.elements||{};N.schema={fields:[{schema:{fields:[{...Te,model:N.model,valueArrayType:P==="integer"?"number":P||"string",inputAttributes:{...Te.inputAttributes,type:P==="integer"?"number":"text",inputMode:P==="integer"?"numeric":"text"}}]}}]}}else N.values.fields&&(N.schema={fields:[{type:"object",model:"object",schema:{fields:N.values.fields.map(P=>{const T=Object.keys(P)[0];return{model:T,type:"input",label:n(T),placeholder:T,inputType:P[T].type}})}}]})},_=N=>N.fields.reduce((P,T)=>(T.fields&&T.fields.forEach(L=>{P[L.model]=L}),T.model&&(P[T.model]=T),P),{}),w=(N,P)=>{if(!Pe.customFields.includes(N.model))return;const T=_(N);Pe.customFields.forEach(L=>{Object.keys(T).forEach(M=>{const G=c(T[M]);P[M]=G?T[M].default:null}),delete P[L]})},b=(N,P)=>N.inputType==="hidden"?"":o(n(N.label||P.replace(/_/g," "))),x=(N,P)=>{switch(w(N,P),N.type){case"foreign":p(N,P);break;case"number":m(N),N.attributes={step:"any"};break;case"integer":m(N);break;case"string":h(N);break;case"boolean":y(N);break;case"map":g(N);break}N.inputType==="foreign"&&p(N,P),N.label=b(N,N.model)};function S(N,P){if(P==null||P.type&&P.type!=="record"||typeof N!="object"||N==null)return N;const T={};for(const L of P.fields){const M=Object.keys(L)[0],G=L[M];G.type==="record"?T[M]=S(N[M],G):G.type==="array"&&Array.isArray(N[M])&&G.elements.type==="record"?T[M]=N[M].map(A=>S(A,G.elements)):T[M]=N[M]}return T}return{buildFormSchema:d,parseSchema:s,customSchemas:a,typedefs:In,pruneRecord:S}},useExperimentalFreeForms:Ec,useProvideExperimentalFreeForms:D0},Ze="/v2/control-planes/{controlPlaneId}/core-entities",Qe="/{workspace}",Le={list:{konnect:{all:`${Ze}/plugins`,forEntity:`${Ze}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Qe}/plugins`,forEntity:`${Qe}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Ze}/v1/available-plugins`,streamingCustomPlugins:`${Ze}/custom-plugins`,schemaCustomPluginItem:`${Ze}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${Ze}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Qe}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Ze}/plugins`,forEntity:`${Ze}/{entityType}/{entityId}/plugins`},edit:{all:`${Ze}/plugins/{id}`,forEntity:`${Ze}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Ze}/{resourceEndpoint}`,edit:`${Ze}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Ze}/v1/schemas/json/plugin/validate`,entityGetOne:`${Ze}/{entity}/{id}`,entityGetAll:`${Ze}/{entity}`,entityPeek:`${Ze}/{entity}?size={amount}`},kongManager:{create:{all:`${Qe}/plugins`,forEntity:`${Qe}/{entityType}/{entityId}/plugins`},edit:{all:`${Qe}/plugins/{id}`,forEntity:`${Qe}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Qe}/schemas/plugins/{plugin}`,credential:{create:`${Qe}/{resourceEndpoint}`,edit:`${Qe}/{resourceEndpoint}/{id}`},credentialSchema:`${Qe}/schemas/{plugin}`,validate:`${Qe}/schemas/plugins/validate`,entityGetOne:`${Qe}/{entity}/{id}`,entityGetAll:`${Qe}/{entity}`}},item:{konnect:{all:`${Ze}/plugins/{id}`,forEntity:`${Ze}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Qe}/plugins/{id}`,forEntity:`${Qe}/{entityType}/{entityId}/plugins/{id}`}}},L0={key:0},F0=Ee(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:o}=De.usePluginHelpers(),{i18n:{t:r}}=De.useI18n(),i=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>o(d)).join(".")).join(", "),a=(s,c)=>r(s,{parameters:i(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(a("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(a("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(a("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(u,f)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${f}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",L0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(u,f)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${f}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(p,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${f}-combination-${m}`},t.toDisplayString(i(p)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]),{t:Bn}=Ke.createI18n("en-us",Ye);function ua(e){return e.map(n=>({value:n,label:`${n}`}))}const fa="*",Sc="$",xc=".";function ht(...e){return e.join(xc)}function pa(...e){return ht(Sc,...e)}function Ac(e){return e.startsWith(ht(Sc,""))}function Vn(e){return e.split(xc).filter(n=>n!=="")}function _o(e){const n=Vn(e);return n[n.length-1]}const U0=e=>{var n,o;return e.type==="redis-ce"?Bn("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?Bn("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?Bn("redis.shared_configuration.type_label.cluster"):Bn("redis.shared_configuration.type_label.host_port")},K0={"redis-ce":Bn("redis.shared_configuration.open_source"),"redis-ee":Bn("redis.shared_configuration.enterprise")},j0=e=>K0[e]??"";function G0(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(a=>{const l=a.model.match(o);return l&&!Object.keys(e).includes(l[0])}).map(a=>{const l=a.label.match(r);return{label:l?l[0]:a.label,key:a.model,value:"N/A",type:"text"}})}function q0(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const Ic=Symbol("free-form-data"),Pc=Symbol("free-form-schema"),Tc=Symbol("free-form-field-path"),ma=Symbol("free-form-field-renderer-slots"),Er=Symbol("free-form-field-renderer-matchers-map"),Oc=Symbol("free-form-config"),$c=Symbol("free-form-field-reset-label-path-setting"),Rn="free-form-field-renderers-slot",z0={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function H0(e,n=""){const o={},r=e;return Array.isArray(r.fields)?Object.assign(o,ga(r,n)):e.type==="array"&&e.elements&&Object.assign(o,ha(e,n)),o}function ga(e,n=""){const o={};if(Array.isArray(e.fields))for(const r of e.fields){const i=Object.keys(r)[0],a=r[i],l=n?ht(n,i):i;if(o[l]=a,a.type==="record"&&Array.isArray(a.fields)){const s=ga(a,l);Object.assign(o,s)}else if(a.type==="array"&&a.elements){const s=ha(a,l);Object.assign(o,s)}}return o}function ha(e,n=""){const o={};if(e.elements){const r=e.elements,i=ht(n,fa);if(o[i]=r,r.type==="record"&&Array.isArray(r.fields)){const a=ga(r,i);Object.assign(o,a)}else if(r.type==="array"&&r.elements){const a=ha(r,i);Object.assign(o,a)}}return o}function ya(e){const n=Vn(e).map(o=>/^\d+$/.test(o)?fa:o);return ht(...n)}function Y0(e){const n=t.toValue(e),o=t.computed(()=>n?H0(n):{});function r(u){var f;return u==null?n:(f=o.value)==null?void 0:f[ya(u)]}function i(u,f=!1){const p=r(u);return p?p.default!==void 0?p.default:f||p.required?p.type==="record"?a(p,u):p.type==="array"?[]:null:null:null}function a(u,f){const p={};if(Array.isArray(u.fields))for(const m of u.fields){const h=Object.keys(m)[0],y=f?`${f}.${h}`:h,g=i(y,!1);g!==void 0&&(p[h]=g)}return p}function l(u){return u?i(u,!0):a(r(),"")}function s(u){const f=r(u),p=f!=null&&f.description?ar.marked.parse(f.description,{async:!1}):void 0;return{...z0,"data-testid":`ff-label-${u}`,info:p}}function c(u){var p;const f=r(u);return ua((f==null?void 0:f.one_of)||((p=f.elements)==null?void 0:p.one_of)||[])}function d(u){const f=r(u),p=f==null?void 0:f.default;let m=null;if((f==null?void 0:f.type)==="foreign"&&(p!=null&&p.id))m=p.id;else{if(p==null||typeof p=="object"||p==="")return null;if(Array.isArray(p)){if(p.length===0)return null;m=p.join(", ")}else m=p.toString()}return`Default: ${m}`}return{getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:d}}function Me(){const e=t.inject(Ic),n=t.inject(Pc),o=t.inject(Oc,{});if(!e)throw new Error("useFormShared() called without form data provider.");if(!n)throw new Error("useFormShared() called without schema provider.");return{formData:e,formConfig:o,...n}}const Bc=e=>{const n=t.inject(Tc,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!Ac(r)&&n.value&&(i=ht(n.value,r)),Ac(r)&&(i=i.slice(pa("").length)),i});return t.provide(Tc,o),o},W0=e=>{const{getSchema:n}=Me(),{default:o,...r}=t.useSlots(),i=t.inject(ma),a=t.inject(Er),l=t.computed(()=>{const c=t.toValue(i),d=Object.keys(r).filter(u=>u!==Rn&&u!=="item").reduce((u,f)=>{const p=ya(ht(t.toValue(e),f));return{...u,[p]:r[f]}},{});return c?{...c,...d}:d});t.provide(ma,l);const s=t.toValue(e);return t.computed(()=>{if(o)return;const c=l.value[ya(t.toValue(e))];if(c)return c;for(const[d,u]of a)if(d({path:s,schema:n(s)}))return u})},X0={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function Z0(e){return X0[e.toLocaleLowerCase()]??e}function J0(e,n){const o=t.inject($c,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?ht(r,e):e),l=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(o)],([s,c])=>{var p;const{parentPath:d,isolate:u}=c,f=d?ht(d,e):e;if(s){const m={isolate:()=>{a.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{a.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{a.value=f,l.value.isolate=!1,l.value.parentPath=f}};(p=m[s])==null||p.call(m)}else u&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide($c,l),a}function Q0(e){return Vn(e).map(o=>o.split("_").map(Z0).join(" ")).map(r_).join(" › ")}function ew(e,n){const o=t.toValue(e),r=_o(o),{formConfig:i}=Me(),a=J0(r,n),{getSchema:l}=Me(),s=Vc(e);return t.computed(()=>{var p;const c=a.value??r,d=(p=s.value.parent)!=null&&p.path?l(s.value.parent.path):null,f=(d==null?void 0:d.type)==="array"?"":Q0(c);return i.transformLabel?i.transformLabel(f,o):f})}function yt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=Me(),a=t.toValue(e),l=t.toValue(n),s=ew(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(a)??void 0,labelAttributes:l.labelAttributes??o(a),label:l.label??s.value,required:l.required??((c=i(a))==null?void 0:c.required)}})}function tw(e){var r;const n=Vn(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?ht(o.parent.path,i):i,o={parent:o}}return o}function Vc(e){return t.computed(()=>tw(t.toValue(e)))}function Rc(e){const{formData:n}=Me(),o=Bc(e);return{value:t.computed({get:()=>Ts(n,Vn(o.value)),set:i=>x0(n,Vn(o.value),i)})}}function st(e){const{getSchema:n}=Me(),o=Bc(e),r=W0(o),{value:i}=Rc(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:Vc(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function bo(e){const{getSchema:n}=Me(),o=t.useAttrs();return t.computed(()=>{var i;if(o["data-autofocus"]!==void 0)return!0;if(!e)return!1;const r=t.toValue(e).parent;return r!=null&&r.path?((i=n(r.path))==null?void 0:i.type)==="array":!1})}function Dc(e,n){const o=new WeakMap,r=new Map;function i(){return Cr(`${e}-`)}function a(l,s){if(l==null||typeof l!="object")return`${e}-${s}`;if(o.has(l))return o.get(l);const c=r.has(s)?r.get(s):i();return r.set(s,c),o.set(l,c),c}return t.watch(n,l=>{const s=t.toValue(l),c=new Set;s.forEach((d,u)=>{c.add(u)}),Array.from(r.keys()).forEach(d=>{c.has(d)||r.delete(d)})},{immediate:!0,deep:!0}),{getKey:a}}const nw="__request_callout_";function Mc(){return Cr(nw)}const pn=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=n,i=t.computed(()=>o.multiline?xe.KTextArea:xe.KInput),a=t.ref(o.modelValue);t.watch(()=>o.modelValue,d=>{a.value=d});const{formConfig:l}=Me(),s=d=>{a.value=d,l.updateOnChange||r("update:modelValue",d)},c=()=>{l.updateOnChange&&r("update:modelValue",a.value)};return(d,u)=>(t.openBlock(),t.createBlock(t.unref(i),t.mergeProps(d.$attrs,{"model-value":d.modelValue,resizable:d.multiline?!0:void 0,onChange:c,"onUpdate:modelValue":s}),t.createSlots({_:2},[t.renderList(t.useSlots(),(f,p)=>({name:p,fn:t.withCtx(m=>[t.renderSlot(d.$slots,p,t.normalizeProps(t.guardReactiveProps(m)))])}))]),1040,["model-value","resizable"]))}}),ow=["innerHTML"],Dn=Ee(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:r}=Ae(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=st(t.toRef(()=>e.name)),c=yt(s.path,t.toRef({...i,...o})),d=l==null?void 0:l.value;function u(_){d!==void 0&&_===""&&_!==d?(l.value=null,a("update:modelValue",null)):(l.value=_.trim(),a("update:modelValue",_.trim()))}const f=t.computed(()=>{var _;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((_=s.schema)==null?void 0:_.value).encrypted}),p=t.inject(Pe.AUTOFILL_SLOT,void 0),m=t.computed(()=>{var _;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((_=s.schema.value)!=null&&_.referenceable)}),h=t.computed(()=>({referenceable:m.value})),y=bo(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:_o(e.name)==="name");return(_,w)=>{var x;const b=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(b,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},_.$attrs)),[t.createVNode(pn,t.mergeProps({...t.unref(c),showPasswordMaskToggle:f.value,type:f.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":g.value,"data-autofocus":t.unref(y),"data-testid":`ff-${s.path.value}`,error:_.error,"error-message":_.errorMessage,help:_.help,"model-value":t.unref(l)??"",multiline:_.multiline,"onUpdate:modelValue":u}),t.createSlots({_:2},[(x=t.unref(c).labelAttributes)!=null&&x.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,ow)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline"]),t.unref(p)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(p)),{key:0,schema:h.value,update:u,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],16))}}}),[["__scopeId","data-v-fb5b80e5"]]),rw=["innerHTML"],_a=Ee(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=st(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=yt(i.path,o);return(c,d)=>{var f;const u=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(u,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(xe.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(r)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(f=t.unref(s).labelAttributes)!=null&&f.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,rw)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),Lc=Ee(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(p=>[p,""])),r=Object.fromEntries(n.map(p=>[p,"0"]));function i(p){const m=getComputedStyle(p);return Object.fromEntries(n.map(h=>[h,m.getPropertyValue(h)]))}function a(p){["overflow","transition",...n].forEach(m=>p.style.removeProperty(m))}function l(p){Object.assign(p.style,{overflow:"hidden",transition:"none"})}function s(p){const m=p;Object.assign(m.style,o);const h=i(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...h,transition:""})})}function c(p){a(p)}function d(p){const m=p;Object.assign(m.style,{...i(m),overflow:"hidden"})}function u(p){Object.assign(p.style,r)}function f(p){a(p)}return(p,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:f,onBeforeEnter:l,onBeforeLeave:d,onEnter:s,onLeave:u},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),iw=["data-testid"],aw=["data-testid"],lw=["data-testid"],sw=["innerHTML"],cw={class:"ff-object-field-actions"},dw=["data-testid"],ot=Ee(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultExpanded:{type:Boolean,default:!0},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{},fieldsOrder:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){const n=t.createPropsRestProxy(e,["defaultExpanded","defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,...r}=st(t.toRef(n,"name")),{getSchema:i,getDefault:a}=Me(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),c=t.computed(()=>p.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),d=t.computed(()=>{var g,_;if((g=r.ancestors)!=null&&g.value){const w=r.ancestors.value.parent;if(w!=null&&w.path)return((_=i(w.path))==null?void 0:_.type)==="array"}return!1}),u=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:d.value?"reset":"inherit"),f=yt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:u.value}))),p=t.computed(()=>f.value.required?!0:l.value??e.defaultAdded),m=t.computed(()=>e.asChild!==void 0?e.asChild:d.value),h=t.computed(()=>{let g=r.schema.value.fields;return e.omit&&(g=g.filter(_=>!e.omit.includes(Object.keys(_)[0]))),e.fieldsOrder?g.sort((_,w)=>{const b=Object.keys(_)[0],x=Object.keys(w)[0],S=e.fieldsOrder.indexOf(b),N=e.fieldsOrder.indexOf(x);return S===-1&&N===-1?0:S===-1?1:N===-1?-1:S-N}):g});function y(){l.value=!l.value,l.value?o.value=a(r.path.value):o.value=null}return t.watch(p,g=>{e.collapsible&&(s.value=g)}),t.onBeforeMount(()=>{l.value=!!(o!=null&&o.value)}),(g,_)=>{var b;const w=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(Rn)]))),r.error?(t.openBlock(),t.createBlock(w,{key:0,appearance:"danger",message:r.error.message},null,8,["message"])):m.value?(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},g.$attrs,{"data-testid":`ff-object-${r.path.value}`}),[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,x=>(t.openBlock(),t.createBlock(tt,{key:Object.keys(x)[0],name:Object.keys(x)[0]},null,8,["name"]))),128))],!0)],16,iw)):(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!c.value}],"data-testid":`ff-object-${r.path.value}`},g.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${r.path.value}`},[t.createVNode(t.unref(xe.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${r.path.value}`},{...t.unref(f),required:!1},{"tooltip-attributes":t.unref(f).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(f).label)+" ",1)]),_:2},[(b=t.unref(f).labelAttributes)!=null&&b.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(f).labelAttributes.info},null,8,sw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",cw,[g.collapsible&&p.value?(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${c.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${r.path.value}`,icon:"",onClick:_[0]||(_[0]=x=>s.value=!c.value)},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(f).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:1,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${p.value?"remove":"add"}`),"data-testid":`ff-object-${p.value?"remove":"add"}-btn-${r.path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(Ne.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(Ne.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,lw),t.createVNode(Lc,null,{default:t.withCtx(()=>[c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${r.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,x=>(t.openBlock(),t.createBlock(tt,{key:Object.keys(x)[0],name:Object.keys(x)[0]},null,8,["name"]))),128))],!0)],8,dw)):t.createCommentVNode("",!0)]),_:3})],16,aw))],64)}}}),[["__scopeId","data-v-6f044592"]]),uw=["innerHTML"],Mn=Ee(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=st(t.toRef(()=>e.name)),a=yt(i.path,o),l=t.computed(()=>{var y;const p=(y=i.schema)==null?void 0:y.value;if(typeof p.gt=="number")return{min:p.gt};const[m,h]=p.between??[];return{min:o.min??m,max:o.max??h}}),s=n,c=r.value,d=t.computed(()=>(r==null?void 0:r.value)!=null&&Number.isFinite(r.value)?`${r.value}`:"");function u(p){c!==void 0&&p===""&&Number(p)!==c?(r.value=null,s("update:modelValue",null)):(r.value=p===""?null:Number(p),s("update:modelValue",p===""?null:Number(p)))}const f=bo(i.ancestors);return(p,m)=>{var y;const h=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(pn,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(f),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:"number","onUpdate:modelValue":u}),t.createSlots({_:2},[(y=t.unref(a).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,uw)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-00c065d4"]]),fw=["innerHTML"],Nt=Ee(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean}},setup(e){const n=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:o}=Me(),{value:r,...i}=st(t.toRef(()=>e.name)),a=yt(i.path,n),l=t.computed(()=>e.items?e.items:i.path?o(i.path.value):[]),s=t.computed(()=>{var d;return e.multiple!==void 0?e.multiple:((d=i.schema.value)==null?void 0:d.type)==="set"}),c=t.computed(()=>s.value?xe.KMultiselect:xe.KSelect);return(d,u)=>{var p;const f=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(c),t.mergeProps({key:1},{...n,...t.unref(a)},{modelValue:t.unref(r),"onUpdate:modelValue":u[0]||(u[0]=m=>t.isRef(r)?r.value=m:null),class:"ff-enum-field",clearable:!t.unref(a).required,"data-testid":`ff-${i.path.value}`,items:l.value,"kpop-attributes":{"data-testid":`${i.path.value}-items`}}),t.createSlots({_:2},[(p=t.unref(a).labelAttributes)!=null&&p.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(d.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,fw)],!0)]),key:"0"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-01f60edf"]]);function ba(e,n,o=!0){const{value:r,...i}=st(t.toRef(e,"name")),a=yt(i.path,t.toRef({...e,...t.useAttrs()})),l=t.ref(d(e.initialValue??t.toValue(r)??{},e.keyOrder));function s(){return Cr("ff-kv-field-")}function c(g,_,w){const b=w.indexOf(g),x=w.indexOf(_);return b===-1&&x===-1?0:b===-1?1:x===-1?-1:b-x}function d(g,_){const w=Object.entries(g).map(([b,x])=>({id:s(),key:b,value:x}));return _&&w.sort((b,x)=>c(b.key,x.key,_)),w}function u(){const g={id:s(),key:e.defaultKey||"",value:e.defaultValue||""};return l.value.push(g),g}function f(g){const _=l.value.findIndex(w=>w.id===g);_!==-1&&l.value.splice(_,1)}function p(){l.value=d(e.initialValue||{},e.keyOrder)}function m(g){l.value=d(g,e.keyOrder)}let h=null;t.watch(l,g=>{if(!o)return;const _=g.length?Object.fromEntries(g.map(({key:w,value:b})=>[w,b]).filter(([w])=>w)):null;r.value=_,h=_,n("change",_)},{deep:!0,immediate:!0}),t.watch(()=>r==null?void 0:r.value,g=>{yo(g,h)||y(g)},{deep:!0});function y(g){if(!g){l.value=[];return}const _=new Map;l.value.forEach(S=>{S.key&&_.set(S.key,S)});const w=[],b=Object.keys(g);(e.keyOrder?[...b].sort((S,N)=>c(S,N,e.keyOrder)):b).forEach(S=>{const N=g[S];if(_.has(S)){const P=_.get(S);P.value=N,w.push(P)}else w.push({id:s(),key:S,value:N})}),l.value=w}return{entries:l,addEntry:u,removeEntry:f,reset:p,setValue:m,labelAttrs:a,field:i}}const pw=["data-testid"],mw=["data-testid"],gw=["innerHTML"],hw=["data-testid"],yw=Ee(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}},keyOrder:{}},emits:["change"],setup(e,{expose:n,emit:o}){const r=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{i18n:i}=Ae(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:d,setValue:u,labelAttrs:f,field:p}=ba(r,a),m=t.useTemplateRef("root");async function h(S,N="key"){var P;m.value&&(await t.nextTick(),(P=m.value.querySelector(`[data-${N}-input="${S}"]`))==null||P.focus())}function y(){s();const S=l.value.findIndex(({key:N})=>!N);h(S===-1?l.value.length-1:S)}function g(S){S===l.value.length-1&&s(),h(S+1)}const _=t.inject(Pe.AUTOFILL_SLOT,void 0),w=t.computed(()=>{var S,N;return e.showVaultSecretPicker??!!((N=(S=p.schema.value)==null?void 0:S.values)!=null&&N.referenceable)}),b=t.computed(()=>({referenceable:w.value}));function x(S,N){l.value[S].value=N}return n({reset:d,setValue:u}),(S,N)=>{var M;const P=t.resolveComponent("KAlert"),T=t.resolveComponent("KLabel"),L=t.resolveComponent("KButton");return t.unref(p).error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:t.unref(p).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"ff-kv-field","data-testid":`ff-kv-${t.unref(p).path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${t.unref(p).path.value}`},[t.createVNode(T,t.mergeProps({class:"ff-kv-field-label"},t.unref(f),{"data-testid":`ff-label-${t.unref(p).path.value}`,"tooltip-attributes":t.unref(f).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(f).label)+" ",1)]),_:2},[(M=t.unref(f).labelAttributes)!=null&&M.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(S.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(f).labelAttributes.info},null,8,gw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(L,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(p).path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["data-testid"])],8,mw),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(G,A)=>(t.openBlock(),t.createElementBlock("div",{key:G.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(p).path.value}.${A}`},[t.createVNode(pn,{modelValue:G.key,"onUpdate:modelValue":J=>G.key=J,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":A,"data-testid":`ff-key-${t.unref(p).path.value}.${A}`,placeholder:S.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(J=>h(A,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(pn,{modelValue:G.value,"onUpdate:modelValue":J=>G.value=J,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(p).path.value}.${A}`,"data-value-input":A,placeholder:S.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(J=>g(A),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(_)&&w.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(_)),{key:0,schema:b.value,update:J=>x(A,J),value:G.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),w.value&&!t.unref(_)?(t.openBlock(),t.createBlock(P,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${t.unref(p).path.value}`,message:t.unref(i).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),t.createVNode(L,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(p).path.value}.${A}`,icon:"",onClick:J=>t.unref(c)(G.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,hw))),128))],8,pw))}}}),[["__scopeId","data-v-92e0893d"]]),_w=["data-testid"],bw=["innerHTML"],wa=Ee(t.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{name:{},labelAttributes:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=st(t.toRef(()=>e.name)),s=yt(l.path,t.toRef({...r,...o})),c=t.computed(()=>{var y,g;return((g=(y=l.schema)==null?void 0:y.value)==null?void 0:g.len_min)&&l.schema.value.len_min>0}),d=t.ref("");function u(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function f(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function p(y){d.value=y;const g=f(y),_=!g.length&&c.value?null:g;a.value=_,i("update:modelValue",_)}const m=bo(l.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:_o(e.name)==="name");return t.watch(a,y=>{const g=y?u(y):"";u(f(d.value))!==g&&(d.value=g)},{immediate:!0}),(y,g)=>{var w;const _=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(_,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(pn,t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":h.value,"data-autofocus":t.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":d.value??"","onUpdate:modelValue":p}),t.createSlots({_:2},[(w=t.unref(s).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,bw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,_w))}}}),[["__scopeId","data-v-a27f4ff1"]]),ww=["data-testid"],kw=["innerHTML"],Cw=Ee(t.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{name:{},labelAttributes:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=st(t.toRef(()=>e.name)),s=yt(l.path,t.toRef({...r,...o})),c=t.ref("");function d(p){c.value=p;let m=p||null;try{const h=JSON.parse(p);h&&typeof h=="object"&&(m=h)}catch{}a.value=m,i("update:modelValue",m)}const u=bo(l.ancestors),f=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:_o(e.name)==="name");return t.watch(a,p=>{if(p&&typeof p=="object"){try{const m=JSON.parse(c.value);yo(m,p)||(c.value=JSON.stringify(p,null,2))}catch{c.value=JSON.stringify(p,null,2)}return}c.value=p||""},{immediate:!0}),(p,m)=>{var y;const h=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-json-${l.path.value}`},[t.createVNode(pn,t.mergeProps(t.unref(s),{class:"ff-json-field","data-1p-ignore":f.value,"data-autofocus":t.unref(u),"data-testid":`ff-${l.path.value}`,"model-value":c.value??"",multiline:"","onUpdate:modelValue":d}),t.createSlots({_:2},[(y=t.unref(s).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,kw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,ww))}}}),[["__scopeId","data-v-5749f722"]]),Ew=["innerHTML"],Nw=Ee(t.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{name:{},labelAttributes:{},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:{t:r}}=Ae(),i=t.createPropsRestProxy(e,["showPasswordMaskToggle","name"]),a=n,{value:l,...s}=st(t.toRef(()=>e.name));if(s.error)throw new Error(s.error.message);const c=yt(s.path,t.toRef({...i,...o})),d=l.value?l.value.id:null,u=t.computed(()=>{var y;return c.value.placeholder?c.value.placeholder:r("plugins.free-form.foreign_placeholder",{entity:((y=s.schema.value)==null?void 0:y.reference)??"entity"})}),f=t.ref(d??"");function p(y){d!==void 0&&y===""&&y!==d?(l.value=null,a("update:modelValue",null)):(l.value={id:y.trim()},a("update:modelValue",l.value))}const m=bo(s.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:_o(e.name)==="name");return(y,g)=>{var _;return t.openBlock(),t.createBlock(pn,t.mergeProps(t.unref(c),{class:"ff-foreign-field","data-1p-ignore":h.value,"data-autofocus":t.unref(m),"data-testid":`ff-${s.path.value}`,error:y.error,"error-message":y.errorMessage,help:y.help,"model-value":f.value,placeholder:u.value,"onUpdate:modelValue":p}),t.createSlots({_:2},[(_=t.unref(c).labelAttributes)!=null&&_.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,Ew)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])}}}),[["__scopeId","data-v-b54c028e"]]),tt=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=st(t.toRef(n,"name")),r=t.computed(()=>{var i,a;switch((a=(i=o.schema)==null?void 0:i.value)==null?void 0:a.type){case"string":return"one_of"in o.schema.value?Nt:Dn;case"boolean":return"one_of"in o.schema.value?Nt:_a;case"number":case"integer":return"one_of"in o.schema.value?Nt:Mn;case"array":return Nr;case"set":return q0(o.schema)?wa:Nt;case"record":return ot;case"map":return yw;case"json":return Cw;case"foreign":return Nw;default:return}});return(i,a)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(Rn)]))),t.unref(o).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(o).error.message},null,8,["message"])):t.unref(o).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).renderer.value),{key:1,name:pa(t.unref(o).path.value),onGlobalAction:a[0]||(a[0]=(s,c)=>i.$emit("globalAction",s,c))},null,40,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,name:pa(t.unref(o).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(o).path.value} ${t.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),vw=["data-testid"],Sw=["data-testid"],xw=["innerHTML"],Aw=["data-testid"],Iw={class:"ff-array-field-item-content"},Pw=["data-index","data-testid"],Nr=Ee(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(e,{emit:n}){var N;t.useCssVars(P=>({"3e1c9ee2":S.value}));const o=e,r=n,{i18n:{t:i}}=Ae(),{getDefault:a,getSchema:l}=Me(),{value:s,...c}=st(t.toRef(o,"name")),d=yt(c.path,t.toRef({...o,...t.useAttrs()})),u=t.computed(()=>{if(!c.path)throw new Error("Field path is required for sub-schema retrieval");const P=l(c.path.value);if(!P)throw new Error(`Schema not found for path: ${c.path.value}`);return P.elements}),f=t.computed(()=>o.items??t.toValue(s)??[]),{getKey:p}=Dc("ff-array-field",f),m=t.computed(()=>o.appearance==="card"?xe.KCard:"div");function h(P,T){return typeof o.itemLabel=="function"?o.itemLabel(P,T):o.itemLabel||d.value.label||`Item #${T}`}const y=t.computed(()=>f.value.map((P,T)=>({hash:`#${p(P,T)}`,title:""}))),g=t.ref((N=y.value[0])==null?void 0:N.hash),_=async()=>{var T;const P=a(ht(c.path.value,fa));Array.isArray(s.value)||(s.value=[]),s.value.push(P),r("add"),o.appearance==="tabs"&&(await t.nextTick(),g.value=(T=y.value[y.value.length-1])==null?void 0:T.hash),await t.nextTick(),x(f.value.length+1)},w=async P=>{var T;Array.isArray(s.value)&&s.value.splice(P,1),r("remove",P),o.appearance==="tabs"&&(g.value=(T=y.value[Math.max(0,P-1)])==null?void 0:T.hash)},b=t.useTemplateRef("root");function x(P){var L;if(!b.value)return;const T=Math.max(0,Math.min(P,f.value.length-1));(L=b.value.querySelector(`[data-index="${T}"] [data-autofocus]`))==null||L.focus()}const S=t.computed(()=>{const{appearance:P,stickyTabs:T}=o;return P!=="tabs"||T==null||T===!1?null:typeof T=="number"?`${o.stickyTabs}px`:typeof T=="string"?T:"0"});return(P,T)=>{var J;const L=t.resolveComponent("KAlert"),M=t.resolveComponent("KLabel"),G=t.resolveComponent("KButton"),A=t.resolveComponent("KTabs");return c.error?(t.openBlock(),t.createBlock(L,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:b,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${P.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":P.stickyTabs}]),"data-testid":`ff-array-${c.path.value}`},[t.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${c.path.value}`},[t.createVNode(M,t.mergeProps({class:"ff-array-field-label"},t.unref(d),{"data-testid":`ff-label-${c.path.value}`,"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(J=t.unref(d).labelAttributes)!=null&&J.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(P.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,xw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(G,{appearance:"tertiary","aria-label":t.unref(i)("actions.add_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),"data-testid":`ff-add-item-btn-${c.path.value}`,icon:"",onClick:_},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,Sw),f.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[P.appearance!=="tabs"?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-array-field-container","data-testid":`ff-array-basic-container-${c.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,(I,U)=>(t.openBlock(),t.createBlock(t.unref(m),{key:t.unref(p)(I,U),class:"ff-array-field-item","data-index":U,"data-testid":`ff-array-item-${c.path.value}.${U}`},{default:t.withCtx(()=>[t.createElementVNode("div",Iw,[P.$slots.item?t.renderSlot(P.$slots,"item",{key:0,fieldName:String(U),index:U},void 0,!0):t.createCommentVNode("",!0),u.value.type==="array"&&u.value.elements.type==="string"?(t.openBlock(),t.createBlock(wa,{key:1,help:t.unref(i)("plugins.free-form.tag_helper"),name:String(U)},null,8,["help","name"])):(t.openBlock(),t.createBlock(tt,{key:2,name:String(U)},null,8,["name"]))]),t.createVNode(G,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${U}`,icon:"",onClick:F=>w(U)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,Aw)):(t.openBlock(),t.createBlock(t.unref(xe.KCard),{key:1,"data-testid":`ff-array-tab-container-${c.path.value}`},{default:t.withCtx(()=>[t.createVNode(A,{modelValue:g.value,"onUpdate:modelValue":T[0]||(T[0]=I=>g.value=I),"data-testid":`ff-array-tabs-${c.path.value}`,tabs:y.value},t.createSlots({_:2},[t.renderList(f.value,(I,U)=>({name:t.unref(p)(I,U),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":U,"data-testid":`ff-array-item-${c.path.value}.${U}`},[P.$slots.item?t.renderSlot(P.$slots,"item",{key:0,fieldName:String(U),index:U},void 0,!0):(t.openBlock(),t.createBlock(tt,{key:1,name:String(U)},null,8,["name"]))],8,Pw)])})),t.renderList(f.value,(I,U)=>({name:`${t.unref(p)(I,U)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(h(I,U))+" ",1),t.createVNode(G,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${U}`,icon:"",onClick:t.withModifiers(F=>w(U),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,vw))}}}),[["__scopeId","data-v-3edd064c"]]),wo=Symbol(),Tw=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=Me(),r=t.computed(()=>{const{callouts:l}=o.config;return l==null?[]:l.filter(({name:s})=>{var c;return s&&s!==((c=l[n.index])==null?void 0:c.name)})}),i=t.computed(()=>r.value.map(({[wo]:l,name:s})=>({value:l,label:s}))),a=t.computed(()=>o.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(ot,{name:l.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(Nt,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(ot,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(Nt,t.mergeProps(d,{items:t.unref(ua)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),Ow=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=Me();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[wo]=Mc())}return(r,i)=>(t.openBlock(),t.createBlock(Nr,{appearance:"tabs","item-label":a=>a.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:o},{item:t.withCtx(({index:a,fieldName:l})=>[t.createVNode(Tw,{"field-name":l,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),Fc=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),r=t.inject(Er);if(!r)throw new Error(Er.toString()+"not provided");return o&&r.set(n.match,o),(i,a)=>null}}),pt=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:o}){const r=o,i=t.useSlots(),a=Y0(e.schema);t.provide(Pc,a);const l=m=>{var h;return fr((h=e.config)==null?void 0:h.hasValue)?e.config.hasValue(m):!!m},s=t.computed(()=>{let m=a.getSchema().fields;return e.fieldsOrder?m.sort((h,y)=>{const g=Object.keys(h)[0],_=Object.keys(y)[0],w=e.fieldsOrder.indexOf(g),b=e.fieldsOrder.indexOf(_);return w===-1&&b===-1?0:w===-1?1:b===-1?-1:w-b}):m});let c=!1;const d=t.reactive({});t.provide(Ic,d),t.provide(ma,_c(i,"default",Rn));const u=new Map;t.provide(Er,u),t.provide(Oc,e.config??{}),t.watch(d,m=>{c&&r("change",t.toValue(m))},{deep:!0,immediate:!0});function f(m){Object.keys(d).forEach(h=>{delete d[h]}),Object.assign(d,m)}function p(m){var y;let h;!m||!l(t.toValue(m))?h=a.getDefault():h=$n(t.toValue(m)),fr((y=e.config)==null?void 0:y.prepareFormData)?f(e.config.prepareFormData(h)):f(h),c=!0}return t.onBeforeMount(()=>{p(e.data)}),t.watch(()=>e.data,m=>{p(m)},{deep:!0}),n({getInnerData:()=>t.toRaw(d)}),(m,h)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref(Rn)]))),t.renderSlot(m.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,y=>(t.openBlock(),t.createBlock(tt,{key:Object.keys(y)[0],name:Object.keys(y)[0],onGlobalAction:h[0]||(h[0]=(g,_)=>r("globalAction",g,_))},null,8,["name"]))),128))])]),_:3}))}}),$w={class:"ff-advanced-fields"},vr=Ee(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=Ke.createI18n("en-us",Ye),{getSchema:o}=Me(),r=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref(xe.KCollapse),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=l=>r.value=l),"data-testid":"view-advanced","trigger-label":r.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",$w,[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(tt,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(tt,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(wa,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-54f66af5"]]),Bw=Ee(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:i}}=Ae();function a(d,u=!1){return d.reduce((f,{[wo]:p,name:m})=>(u?f[m]=p:f[p]=m,f),{})}function l(d){var m;const u=$n(d);if(!((m=u.config)!=null&&m.callouts))return u;const{callouts:f}=u.config;f.forEach(h=>{h.request.body.custom=h.request.body.custom??{},h[wo]=Mc()});const p=a(f,!0);return f.forEach(h=>{h.depends_on=h.depends_on.map(y=>p[y])}),u}function s(d){return!!(d!=null&&d.config)}function c(d){var p;if(!d)return;const u=$n(d);if(!((p=u.config)!=null&&p.callouts))throw new Error("data is not correct");const f=a(u.config.callouts);u.config.callouts=u.config.callouts.map(m=>{const{[wo]:h,depends_on:y,...g}=m;return{depends_on:y.map(_=>f[_]).filter(_=>_!=null),...g}}),o("change",u)}return(d,u)=>(t.openBlock(),t.createBlock(pt,{class:"rc-config-form",config:r,data:d.data,schema:d.schema,tag:"div",onChange:c},{[t.unref(Rn)]:t.withCtx(()=>[t.createVNode(Fc,{match:({path:f})=>f.endsWith("by_lua")},{default:t.withCtx(f=>[t.createVNode(Dn,t.mergeProps(f,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(i)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(Fc,{match:({path:f})=>["cluster_nodes","sentinel_nodes"].some(p=>f.endsWith(p))},{default:t.withCtx(f=>[t.createVNode(Nr,t.mergeProps(f,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Ow),t.createVNode(ot,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(ot,{appearance:"card",name:"cache"},{redis:t.withCtx(f=>[t.createVNode(ot,t.mergeProps(f,{"fields-order":["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"]}),null,16)]),_:2},1024)]),_:1}),t.createVNode(vr)]),_:2},1032,["data","schema"]))}}),[["__scopeId","data-v-19d40902"]]),Vw={class:"ff-form-pinned-fields"},Rw={class:"ff-form-config-form"},ka=Ee(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=Ke.createI18n("en-us",Ye),o=e;t.useSlots();function r(u){return t.computed(()=>({fields:t.toValue(u).map(f=>{var p;return(p=o.formSchema)==null?void 0:p.fields.find(m=>m.model===f)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const u=o.schema;u.fields=u.fields.filter(p=>l.includes(Object.keys(p)[0])),u.fields.unshift({instance_name:{type:"string",description:n("plugins.form.fields.instance_name.help")}},{tags:{type:"set",default:[],description:n("plugins.form.fields.tags.help"),elements:{type:"string"}}});const f=u.fields.find(p=>Object.keys(p)[0]==="protocols");return f&&(f.protocols.help=f.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:f.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),f.protocols.description=n("plugins.form.fields.protocols.help")),u}),c=t.ref(!1),d=t.computed(()=>{const u=["config","instance_name","partials","protocols","tags","__ui_data"];return sa(o.model,u)});return(u,f)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Vw,[t.createVNode(t.unref(Pe.VueFormGenerator),{model:u.formModel,options:u.formOptions,schema:t.unref(a),onModelUpdated:u.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(xe.KCollapse),{modelValue:c.value,"onUpdate:modelValue":f[1]||(f[1]=p=>c.value=p),class:"ff-form-config-fields"},{title:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Rw,[t.renderSlot(u.$slots,"default",{class:"ff-form",data:d.value,schema:s.value,onChange:f[0]||(f[0]=(...p)=>u.onFormChange&&u.onFormChange(...p))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),Dw=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(ka,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Bw,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),Mw={key:1},Lw=["innerHTML"],Fw={class:"horizontal-container"},Uw=Ee(t.defineComponent({__name:"RadioField",props:{name:{},labelAttributes:{},multiple:{type:Boolean},items:{},label:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=Me(),a=st(t.toRef(()=>e.name)),l=yt(a.path,r),s=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=d=>{a.value&&(a.value.value=d),o("update:modelValue",d)};return(d,u)=>{var m;const f=t.resolveComponent("KAlert"),p=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Mw,[t.createVNode(p,t.normalizeProps(t.guardReactiveProps(t.unref(l).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(m=t.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,Lw)]),key:"0"}:void 0]),1040),t.createElementVNode("div",Fw,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,h=>(t.openBlock(),t.createBlock(t.unref(xe.KRadio),{key:h.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[u[0]||(u[0]=y=>t.unref(a).value.value=y),c],"card-orientation":"horizontal",label:h.label,"selected-value":h.value},null,8,["model-value","label","selected-value"]))),128))])]))}}}),[["__scopeId","data-v-b5a23a0b"]]),Kw={class:"sp-form-request-limits-subtitle"},jw={class:"sp-form-request-limits-content"},Gw={class:"sp-form-window-type"},qw={class:"sp-form-request-limits-items"},zw={class:"sp-form-request-limits-row"},Hw=["id"],Yw={class:"sp-form-request-limits-actions"},Ww={key:0,class:"sp-form-request-limits-examples"},Xw={class:"sp-form-request-limits-examples-badges"},Ca="config.window_type",Zw=Ee(t.defineComponent({__name:"RequestLimitsForm",setup(e){var g;const{t:n}=Ke.createI18n("en-us",Ye),{formData:o,getSelectItems:r,getSchema:i}=Me(),a=t.computed(()=>{var w,b;const _=(b=(w=o.config)==null?void 0:w.limit)==null?void 0:b.map((x,S)=>{var N,P;return{limit:x,windowSize:(P=(N=o.config)==null?void 0:N.window_size)==null?void 0:P[S]}});return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Dc("request-limits",a),s=_=>{var w,b;p.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(b=o.config.window_size)!=null&&b.length||(o.config.window_size=[null]),o.config.limit.splice(_+1,0,null),o.config.window_size.splice(_+1,0,null))},c=_=>{o.config&&(o.config.limit.splice(_,1),o.config.window_size.splice(_,1))},d=(g=i(Ca))==null?void 0:g.default,u=t.computed(()=>Ts(o,Ca)),f=t.computed(()=>r(Ca).sort((_,w)=>_.value===d?-1:w.value===d?1:0)),p=t.ref(),m={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},h=t.computed(()=>Object.prototype.hasOwnProperty.call(m,u.value)?m[u.value]:[]),y=(_,w)=>{if(w===p.value){t.nextTick(()=>{p.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{p.value=w}),o.config.limit=[_.config.limit],o.config.window_size=[_.config.window_size]};return(_,w)=>{const b=t.resolveComponent("KLabel"),x=t.resolveComponent("KButton"),S=t.resolveComponent("KBadge"),N=t.resolveComponent("KTooltip"),P=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(P,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",Kw,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",jw,[t.createElementVNode("div",Gw,[t.createVNode(Uw,{items:f.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=T=>p.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",qw,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(T,L)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(T,L)},[t.createVNode(b,{for:`sp-form-request-limits-item-${L}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:L+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",zw,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${L}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Mn,{name:`$.config.limit.${L}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Mn,{name:`$.config.window_size.${L}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,Hw),t.createElementVNode("div",Yw,[t.createVNode(x,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(L)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(x,{appearance:"tertiary",onClick:()=>s(L)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",Ww,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",Xw,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(T,L)=>(t.openBlock(),t.createBlock(N,{key:`use-case-${L}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(T.description),1),w[1]||(w[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(T.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(T.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(S,{appearance:p.value===`${u.value}-${L}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>y(T,`${u.value}-${L}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),Jw={id:"sp-form-error-legend",class:"sp-form-error-inputs"},Qw=Ee(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Ke.createI18n("en-us",Ye);return(o,r)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"sp-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Jw,[t.createVNode(Mn,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(Dn,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),ek={class:"partial-config-card"},tk={class:"config-card-row-label"},nk={class:"label-text"},ok=["data-testid"],rk=["data-testid"],ik={key:1},ak=["data-testid"],lk=["data-testid"],sk=Ee(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=Ke.createI18n("en-us",Ye),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},i=e,a=f=>f!=null,l=(f,p)=>a(p)&&["password","sentinel_password"].includes(f)?"password":"text",{convertKeyToTitle:s}=ce.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([f,p])=>{var m,h,y,g;return{key:f,label:((m=r[f])==null?void 0:m.label)??s(f),value:(h=r[f])!=null&&h.formatter?r[f].formatter(p):p,type:((y=r[f])==null?void 0:y.type)??l(f,p),order:((g=r[f])==null?void 0:g.order)??100}}).sort((f,p)=>f.order-p.order).filter(f=>f.type!=="hidden")),d=G0(i.configFields,i.pluginRedisFields||[]),u=t.computed(()=>c.value.concat(d));return(f,p)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",ek,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,({key:h,label:y,value:g,type:_})=>(t.openBlock(),t.createElementBlock("div",{key:h,class:"partial-config-card-row"},[t.createElementVNode("div",tk,[t.createElementVNode("div",nk,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${h}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",ik,[_==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(g)},null,8,["text"])],8,ak)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${h}-plain-text`},t.toDisplayString(g),9,lk))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-no-value`}," – ",8,rk))],8,ok)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),ck=Ee(t.defineComponent({__name:"NewRedisPartialModal",props:{visible:{type:Boolean,default:!1},partialType:{type:String,default:""}},emits:["partialUpdated","partialUpdateFailed","modalClose"],setup(e,{emit:n}){const o=e,{t:r}=Ke.createI18n("en-us",Ye),i=t.inject(Pe.FORMS_CONFIG),a=n,{getMessageFromError:l}=ce.useErrors(),s=t.computed(()=>{switch(o.partialType){case ao.PartialType.REDIS_CE:return ao.PartialType.REDIS_EE;case ao.PartialType.REDIS_EE:return ao.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),d=t.ref(),u=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},f=()=>{a("partialUpdated",{message:r("plugins.free-form.redis_partial.partial_created_success_message"),appearance:"success"}),p()},p=()=>{d.value=void 0,a("modalClose"),t.nextTick(()=>{c.value=!1})};return t.watch(()=>o.visible,m=>{m&&(c.value=!0,t.nextTick(()=>{d.value="#km-modal-footer"}))}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{class:"plugin-redis-partial-form","data-testid":"redis-partial-form-modal","full-screen":"",title:t.unref(r)("plugins.free-form.redis_partial.redis_partial_modal_title"),visible:c.value,onCancel:p},{footer:t.withCtx(()=>h[0]||(h[0]=[t.createElementVNode("div",{id:"km-modal-footer"},null,-1)])),default:t.withCtx(()=>[t.createVNode(t.unref(ao.RedisConfigurationForm),{"action-teleport-target":d.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:p,onError:u,onUpdate:f},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),dk="#52596e",uk="#e0e4ea",fk="#007d60",pk="#6c7489",mk="#0044f4",gk="#5f9aff",hk="#000933",Uc="#d60027",Kc="#afb7c5",ko="12px",yk="16px",Ea="20px",jc="8px",Gc=Symbol("redis-partial-info"),qc={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},zc=["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"],_k={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},bk={key:0,class:"shared-redis-config"},wk={class:"shared-redis-config-title"},kk={class:"redis-config-select","data-testid":"redis-config-select"},Ck={class:"selected-redis-config"},Ek=["data-testid"],Nk={class:"select-item-name","data-testid":"selected-redis-config"},vk={class:"empty-redis-config","data-testid":"empty-redis-config"},Sk={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},xk="1000",Ak=Ee(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var X;const o=n,{t:r}=Ke.createI18n("en-us",Ye),i=e,a=t.inject(Gc),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var Y;return i.redisPath?i.redisPath:(Y=a==null?void 0:a.redisPath)!=null&&Y.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((X=a==null?void 0:a.redisType)==null?void 0:X.value)||"all",d=t.computed(()=>{var Y;return!!((Y=a==null?void 0:a.redisType)!=null&&Y.value)}),u=t.ref(!1),f=t.ref(null),p=t.ref(!l),{getMessageFromError:m}=ce.useErrors(),h=t.ref(i.defaultRedisConfigItem),y=t.ref({}),g=t.ref(),{value:_}=Rc("$.partials"),{value:w}=st(s),b=t.inject(Pe.FORMS_CONFIG),{debouncedQueryChange:x,loading:S,error:N,loadItems:P,results:T}=ce.useDebouncedFilter(b,qc[b.app].getAll,xk,{fetchedItemsKey:"data",searchKeys:["id","name"]}),L=t.computed(()=>N.value?m(N.value):""),M=Y=>{let j=`${b.apiBaseUrl}${qc[b.app].getOne}`;return b.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,(b==null?void 0:b.controlPlaneId)||""):b.app==="kongManager"&&(j=j.replace(/\/{workspace}/gi,b!=null&&b.workspace?`/${b.workspace}`:"")),j=j.replace(/{id}/gi,String(Y)),j},G=t.computed(()=>{const Y=(T.value||[]).map(j=>({label:j.id,name:j.name,value:j.id,type:j.type,tag:U0(j)})).filter(j=>j.type==="redis-ce"||j.type==="redis-ee");return c!=="all"?Y.filter(j=>j.type===c):Y}),{axiosInstance:A}=ce.useAxios(b==null?void 0:b.axiosRequestConfig),J=()=>{p.value?(g.value&&(_.value=g.value,h.value=g.value[0].id,w.value=void 0),w!=null&&w.value&&(y.value=w.value)):(Object.keys(y.value).length&&(w.value=y.value),_!=null&&_.value&&(g.value=_.value),_.value=l?null:void 0)},I=Y=>{P(),o("globalAction","notify",Y)},U=Y=>{o("globalAction","notify",Y)},F=async Y=>{if(Y){h.value=Y,_.value=[{id:Y}],g.value=[{id:Y}],w.value=void 0;try{const j=await A.get(M(Y));if(j.data.config){const K=Object.assign(j.data,j.data.config);delete K.config,f.value=K}}catch(j){console.error(j)}}};return t.watch(()=>p.value,()=>{J()}),t.onBeforeMount(()=>{var Y;if(P(),i.defaultRedisConfigItem||_!=null&&_.value){const j=i.defaultRedisConfigItem||((Y=_==null?void 0:_.value)==null?void 0:Y[0].id);F(j),p.value=!0}else w!=null&&w.value&&(y.value=w.value)}),(Y,j)=>{const K=t.resolveComponent("KBadge"),R=t.resolveComponent("KRadio"),D=t.resolveComponent("KSelect"),te=t.resolveComponent("KCard");return d.value?(t.openBlock(),t.createBlock(te,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",_k,[t.createVNode(R,{modelValue:p.value,"onUpdate:modelValue":j[0]||(j[0]=W=>p.value=W),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:t.unref(r)("redis.shared_configuration.description"),label:t.unref(r)("redis.shared_configuration.label"),"selected-value":!0},{default:t.withCtx(()=>[t.createVNode(K,{appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.createVNode(R,{modelValue:p.value,"onUpdate:modelValue":j[1]||(j[1]=W=>p.value=W),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:t.unref(r)("redis.dedicated_configuration.description"),label:t.unref(r)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),p.value?(t.openBlock(),t.createElementBlock("div",bk,[t.createElementVNode("div",wk,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",kk,[t.createVNode(D,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:G.value,loading:t.unref(S),"model-value":h.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:j[3]||(j[3]=W=>F(W==null?void 0:W.value)),onQueryChange:t.unref(x)},{"selected-item-template":t.withCtx(({item:W})=>[t.createElementVNode("div",Ck,t.toDisplayString(W.name),1)]),"item-template":t.withCtx(({item:W})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${W.name}`},[t.createElementVNode("span",Nk,t.toDisplayString(W.name),1),t.createVNode(K,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(W.tag),1)]),_:2},1024)],8,Ek)]),empty:t.withCtx(()=>[t.createElementVNode("div",vk,t.toDisplayString(t.unref(r)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:j[2]||(j[2]=()=>u.value=!0)},[t.createVNode(t.unref(Ne.AddIcon),{size:t.unref(ko)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(j0)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),f.value?(t.openBlock(),t.createBlock(sk,{key:0,"config-fields":f.value},null,8,["config-fields"])):t.createCommentVNode("",!0),L.value?(t.openBlock(),t.createElementBlock("p",Sk,t.toDisplayString(L.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(ot,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(zc),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(ck,{"partial-type":t.unref(c),visible:u.value,onModalClose:j[4]||(j[4]=W=>u.value=!1),onPartialUpdateFailed:U,onPartialUpdated:I},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(ot,t.mergeProps({key:1},i,{"fields-order":t.unref(zc),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-12b9ad82"]]),Ik=t.defineComponent({__name:"RedisField",emits:["globalAction"],setup(e){const{formData:n}=Me();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(Lc,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock(Ak,{key:0,onGlobalAction:r[0]||(r[0]=(...a)=>o.$emit("globalAction",...a))})):t.createCommentVNode("",!0)]}),_:1}))}}),Pk=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change","globalAction"],setup(e,{emit:n}){const o=n,r={hasValue:a=>!!(a!=null&&a.config)};function i(a){var l;((l=a.config)==null?void 0:l.namespace)===null&&delete a.config.namespace,o("change",a)}return(a,l)=>(t.openBlock(),t.createBlock(pt,{config:r,data:a.data,schema:a.schema,tag:"div",onChange:i},{default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Zw),t.createVNode(Qw)]),_:1}),t.createVNode(vr,null,{default:t.withCtx(()=>[t.createVNode(tt,{name:"config.dictionary_name"}),t.createVNode(tt,{name:"config.lock_dictionary_name"}),t.createVNode(tt,{name:"config.strategy"}),t.createVNode(Ik,{onGlobalAction:l[0]||(l[0]=(...s)=>a.$emit("globalAction",...s))}),t.createVNode(tt,{name:"config.namespace"}),t.createVNode(tt,{name:"config.hide_client_headers"}),t.createVNode(tt,{name:"config.disable_penalty"}),t.createVNode(tt,{name:"config.retry_after_jitter_max"}),t.createVNode(tt,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),Tk=t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},emits:["globalAction"],setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(ka,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Pk,t.mergeProps(a,{onGlobalAction:i[0]||(i[0]=(...l)=>r.$emit("globalAction",...l))}),null,16)]),_:1},16))}}),Ok={class:"ff-standard-layout"},$k={class:"enabled"},Bk={class:"scope"},Vk={key:0,class:"scope-detail"},Hc=Ee(t.defineComponent({__name:"StandardLayout",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Ke.createI18n("en-us",Ye),o=e,r=t.useSlots(),i=t.computed(()=>{var g;return{fields:(g=o.formSchema)==null?void 0:g.fields.filter(_=>_.model==="enabled")}}),a=t.computed(()=>{var g;return(g=o.formSchema)==null?void 0:g.fields.find(_=>_.model==="selectionGroup")}),l=t.computed(()=>(a.value.fields||[]).map(({label:g,description:_})=>({label:g,description:_}))),s=t.computed(()=>a.value.fields[1]),c=t.computed(()=>{var _;const g=["instance_name","protocols","tags"];return{fields:(_=o.formSchema)==null?void 0:_.fields.filter(w=>g.includes(w.model))}}),d=["config"],u=t.computed(()=>{const g=o.schema;return g.fields=g.fields.filter(_=>d.includes(Object.keys(_)[0])),g}),f=t.computed(()=>{const g=["config","partials","__ui_data"];return sa(o.model,g)}),p=sa(o.formModel,["service-id","route-id","consumer-id","consumer_group-id"]),m=t.ref(Object.values(p).some(g=>!!g)),h=t.ref(!0);function y(g,_){p[_]=g,o.onModelUpdated(g,_)}return t.watch(m,g=>{g?Object.keys(p).forEach(_=>{o.onModelUpdated(p[_],_)}):Object.keys(p).forEach(_=>{o.onModelUpdated("",_)})}),(g,_)=>{const w=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Ok,[t.createVNode(t.unref(ce.EntityFormBlock),{description:g.generalInfoDescription??t.unref(n)("plugins.form.sections.general_info.description"),step:1,title:g.generalInfoTitle??t.unref(n)("plugins.form.sections.general_info.title")},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",$k,[t.createVNode(t.unref(Pe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",Bk,[t.createVNode(t.unref(xe.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":_[0]||(_[0]=b=>m.value=b),card:"","card-orientation":"horizontal"},l.value[0],{"selected-value":!1}),null,16,["modelValue"]),t.createVNode(t.unref(xe.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":_[1]||(_[1]=b=>m.value=b),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),m.value?(t.openBlock(),t.createElementBlock("div",Vk,[t.createVNode(t.unref(Pe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:y},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(w,{modelValue:h.value,"onUpdate:modelValue":_[2]||(_[2]=b=>h.value=b),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(Pe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:c.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),_:1},8,["modelValue"])]),_:2},[r["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,r["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,r["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),t.createVNode(t.unref(ce.EntityFormBlock),{description:g.pluginConfigDescription??t.unref(n)("plugins.form.sections.plugin_config.description"),step:2,title:g.pluginConfigTitle??t.unref(n)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(g.$slots,"default",{data:f.value,schema:u.value,onChange:_[3]||(_[3]=(...b)=>g.onFormChange&&g.onFormChange(...b))},void 0,!0)]),_:2},[r["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,r["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,r["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])])}}}),[["__scopeId","data-v-1c3374ec"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Yc(e){return typeof e>"u"||e===null}function Rk(e){return typeof e=="object"&&e!==null}function Dk(e){return Array.isArray(e)?e:Yc(e)?[]:[e]}function Mk(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function Lk(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function Fk(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Uk=Yc,Kk=Rk,jk=Dk,Gk=Lk,qk=Fk,zk=Mk,We={isNothing:Uk,isObject:Kk,toArray:jk,repeat:Gk,isNegativeZero:qk,extend:zk};function Wc(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
13
+ client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:an},{ttl:{help:"Time-to-live value for data"}}]},Um=e=>(e==null?void 0:e.app)==="kongManager"?{shamefullyTransformPayload:({payload:n})=>{(e!=null&&e.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{},Km={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}},{ttl:{between:[0,1e8],description:"Time-to-live value for data",type:"number"}}]},Ct={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",nameKey:"plugins.meta.basic-auth.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",nameKey:"plugins.meta.hmac-auth.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",nameKey:"plugins.meta.jwt-signer.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",nameKey:"plugins.meta.jwt.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",nameKey:"plugins.meta.key-auth.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",nameKey:"plugins.meta.key-auth-enc.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",nameKey:"plugins.meta.ldap-auth-advanced.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",nameKey:"plugins.meta.ldap-auth.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",nameKey:"plugins.meta.oauth2-introspection.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",nameKey:"plugins.meta.oauth2.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",nameKey:"plugins.meta.openid-connect.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",nameKey:"plugins.meta.mtls-auth.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",nameKey:"plugins.meta.vault-auth.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",nameKey:"plugins.meta.bot-detection.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",nameKey:"plugins.meta.cors.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",nameKey:"plugins.meta.opa.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP.acl},canary:{descriptionKey:"plugins.meta.canary.description",nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",nameKey:"plugins.meta.proxy-cache.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",nameKey:"plugins.meta.proxy-cache-advanced.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",nameKey:"plugins.meta.rate-limiting-advanced.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",nameKey:"plugins.meta.request-size-limiting.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",nameKey:"plugins.meta.request-termination.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",nameKey:"plugins.meta.response-ratelimiting.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",nameKey:"plugins.meta.route-by-header.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",nameKey:"plugins.meta.aws-lambda.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",nameKey:"plugins.meta.azure-functions.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",nameKey:"plugins.meta.openwhisk.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",nameKey:"plugins.meta.pre-function.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",nameKey:"plugins.meta.post-function.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",nameKey:"plugins.meta.datadog.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",nameKey:"plugins.meta.prometheus.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",nameKey:"plugins.meta.zipkin.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",nameKey:"plugins.meta.collector.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",nameKey:"plugins.meta.response-transformer-advanced.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",nameKey:"plugins.meta.correlation-id.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",nameKey:"plugins.meta.request-transformer-advanced.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",nameKey:"plugins.meta.request-transformer.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",nameKey:"plugins.meta.response-transformer.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",nameKey:"plugins.meta.kafka-upstream.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",nameKey:"plugins.meta.degraphql.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",nameKey:"plugins.meta.exit-transformer.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",nameKey:"plugins.meta.file-log.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",nameKey:"plugins.meta.http-log.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",nameKey:"plugins.meta.loggly.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",nameKey:"plugins.meta.statsd-advanced.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",nameKey:"plugins.meta.statsd.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",nameKey:"plugins.meta.syslog.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",nameKey:"plugins.meta.tcp-log.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",nameKey:"plugins.meta.udp-log.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",nameKey:"plugins.meta.kafka-log.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",nameKey:"plugins.meta.session.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",nameKey:"plugins.meta.upstream-tls.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",nameKey:"plugins.meta.application-registration.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",nameKey:"plugins.meta.konnect-application-auth.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",nameKey:"plugins.meta.acme.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",nameKey:"plugins.meta.grpc-gateway.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",nameKey:"plugins.meta.grpc-web.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",nameKey:"plugins.meta.upstream-timeout.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",nameKey:"plugins.meta.websocket-validator.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",nameKey:"plugins.meta.tls-metadata-headers.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",nameKey:"plugins.meta.tls-handshake-modifier.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",nameKey:"plugins.meta.oas-validation.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",nameKey:"plugins.meta.jwe-decrypt.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",nameKey:"plugins.meta.xml-threat-protection.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",nameKey:"plugins.meta.saml.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",nameKey:"plugins.meta.app-dynamics.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",nameKey:"plugins.meta.json-threat-protection.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",nameKey:"plugins.meta.standard-webhooks.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",nameKey:"plugins.meta.header-cert-auth.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...G.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",nameKey:"plugins.meta.upstream-oauth.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",nameKey:"plugins.meta.confluent.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",nameKey:"plugins.meta.service-protection.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",nameKey:"plugins.meta.injection-protection.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",nameKey:"plugins.meta.redirect.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",nameKey:"plugins.meta.kafka-consume.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",nameKey:"plugins.meta.confluent-consume.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",nameKey:"plugins.meta.request-callout.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-sanitizer"]},"ai-rag-injector":{descriptionKey:"plugins.meta.ai-rag-injector.description",nameKey:"plugins.meta.ai-rag-injector.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",nameKey:"plugins.meta.datakit.name",useUIData:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP.datakit},"ai-prompt-compressor":{descriptionKey:"plugins.meta.ai-prompt-compressor.description",nameKey:"plugins.meta.ai-prompt-compressor.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",nameKey:"plugins.meta.solace-upstream.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["solace-upstream"]},"ai-aws-guardrails":{descriptionKey:"plugins.meta.ai-aws-guardrails.description",nameKey:"plugins.meta.ai-aws-guardrails.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]},ace:{descriptionKey:"plugins.meta.ace.description",nameKey:"plugins.meta.ace.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP.ace},"solace-consume":{descriptionKey:"plugins.meta.solace-consume.description",nameKey:"plugins.meta.solace-consume.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["solace-consume"]},"solace-log":{descriptionKey:"plugins.meta.solace-log.description",nameKey:"plugins.meta.solace-log.name",...G.PLUGIN_GROUP_AND_SCOPE_MAP["solace-log"]},"ai-llm-as-judge":{descriptionKey:"plugins.meta.ai-llm-as-judge.description",nameKey:"plugins.meta.ai-llm-as-judge.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-llm-as-judge"]},"ai-mcp-proxy":{descriptionKey:"plugins.meta.ai-mcp-proxy.description",nameKey:"plugins.meta.ai-mcp-proxy.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-proxy"]},"ai-gcp-model-armor":{descriptionKey:"plugins.meta.ai-gcp-model-armor.description",nameKey:"plugins.meta.ai-gcp-model-armor.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-gcp-model-armor"]},"ai-mcp-oauth2":{descriptionKey:"plugins.meta.ai-mcp-oauth2.description",nameKey:"plugins.meta.ai-mcp-oauth2.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-oauth2"]},"ai-semantic-response-guard":{descriptionKey:"plugins.meta.ai-semantic-response-guard.description",nameKey:"plugins.meta.ai-semantic-response-guard.name",useLegacyForm:!0,...G.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-response-guard"]}},Pn={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:ns,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:rn(ns),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:os,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:rn(os)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:rs,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:rn(rs)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:ls,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:rn(ls)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:as,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:rn(as)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:is,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:rn(is)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Mm,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},jm={acls:Pm,basicauth_credentials:Tm,keyauth_credentials:Rm,keyauth_enc_credentials:Km,oauth2_credentials:Fm,hmacauth_credentials:Dm,jwt_secrets:Lm},Gm=()=>{const{i18n:{t:e}}=Ae(),n={},o={};for(const[i,a]of Object.entries(Ct))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(Pn))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:Pn,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},so={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},qm={"config-prompts-prepend":{...so,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...so,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},zm={"config-templates":{...so,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},Hm={shamefullyTransformPayload:({originalModel:e,model:n,payload:o,schema:r})=>{const i=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},a=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));a("config-embeddings")||(o.config.embeddings=null),a("config-vectordb")||(o.config.vectordb=null)}},Ym={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},Wm={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:In.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Te={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},dr={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Xm={"config-metrics":{...dr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Zm={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Jm={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Qm={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},eg={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},tg={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},ss=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:In.fields.arrayItems({newElementButtonLabel:"Add"})}),tg),ur={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},ng={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},og=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:In.fields.arrayItems({newElementButtonLabel:"Add"})}),ng),cs={"config-add-json":{...Te,label:"Config.Add.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Te,label:"Config.Append.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Te,label:"Config.Remove.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Te,label:"Config.Rename.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Te,label:"Config.Replace.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},rg={...cs,"config-allow-json":{...Te,label:"Config.Allow.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Te,label:"Config.Transform.Functions",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Te,label:"Config.Transform.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},ig={"config-rules":{...so,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},ag={"config-session_redis_cluster_nodes":{...so,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},lg={"config-flow-functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},sg={"config-metrics":{...dr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},cg={"config-metrics":{...dr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},dg={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},ug={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}};var ds=typeof global=="object"&&global&&global.Object===Object&&global,fg=typeof self=="object"&&self&&self.Object===Object&&self,Et=ds||fg||Function("return this")(),ut=Et.Symbol,us=Object.prototype,pg=us.hasOwnProperty,mg=us.toString,co=ut?ut.toStringTag:void 0;function gg(e){var n=pg.call(e,co),o=e[co];try{e[co]=void 0;var r=!0}catch{}var i=mg.call(e);return r&&(n?e[co]=o:delete e[co]),i}var hg=Object.prototype,yg=hg.toString;function _g(e){return yg.call(e)}var bg="[object Null]",wg="[object Undefined]",fs=ut?ut.toStringTag:void 0;function ln(e){return e==null?e===void 0?wg:bg:fs&&fs in Object(e)?gg(e):_g(e)}function Vt(e){return e!=null&&typeof e=="object"}var kg="[object Symbol]";function Vi(e){return typeof e=="symbol"||Vt(e)&&ln(e)==kg}function ps(e,n){for(var o=-1,r=e==null?0:e.length,i=Array(r);++o<r;)i[o]=n(e[o],o,e);return i}var gt=Array.isArray,ms=ut?ut.prototype:void 0,gs=ms?ms.toString:void 0;function hs(e){if(typeof e=="string")return e;if(gt(e))return ps(e,hs)+"";if(Vi(e))return gs?gs.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function sn(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function Cg(e){return e}var Eg="[object AsyncFunction]",Ng="[object Function]",vg="[object GeneratorFunction]",Sg="[object Proxy]";function fr(e){if(!sn(e))return!1;var n=ln(e);return n==Ng||n==vg||n==Eg||n==Sg}var Ri=Et["__core-js_shared__"],ys=function(){var e=/[^.]+$/.exec(Ri&&Ri.keys&&Ri.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function xg(e){return!!ys&&ys in e}var Ag=Function.prototype,Ig=Ag.toString;function cn(e){if(e!=null){try{return Ig.call(e)}catch{}try{return e+""}catch{}}return""}var Pg=/[\\^$.*+?()[\]{}|]/g,Tg=/^\[object .+?Constructor\]$/,Og=Function.prototype,$g=Object.prototype,Bg=Og.toString,Vg=$g.hasOwnProperty,Rg=RegExp("^"+Bg.call(Vg).replace(Pg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Dg(e){if(!sn(e)||xg(e))return!1;var n=fr(e)?Rg:Tg;return n.test(cn(e))}function Mg(e,n){return e==null?void 0:e[n]}function dn(e,n){var o=Mg(e,n);return Dg(o)?o:void 0}var Di=dn(Et,"WeakMap"),_s=Object.create,Lg=function(){function e(){}return function(n){if(!sn(n))return{};if(_s)return _s(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function Fg(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}function Ug(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Kg=800,jg=16,Gg=Date.now;function qg(e){var n=0,o=0;return function(){var r=Gg(),i=jg-(r-o);if(o=r,i>0){if(++n>=Kg)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function zg(e){return function(){return e}}var pr=function(){try{var e=dn(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Hg=pr?function(e,n){return pr(e,"toString",{configurable:!0,enumerable:!1,value:zg(n),writable:!0})}:Cg,Yg=qg(Hg);function Wg(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var Xg=9007199254740991,Zg=/^(?:0|[1-9]\d*)$/;function Mi(e,n){var o=typeof e;return n=n??Xg,!!n&&(o=="number"||o!="symbol"&&Zg.test(e))&&e>-1&&e%1==0&&e<n}function bs(e,n,o){n=="__proto__"&&pr?pr(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function Li(e,n){return e===n||e!==e&&n!==n}var Jg=Object.prototype,Qg=Jg.hasOwnProperty;function Fi(e,n,o){var r=e[n];(!(Qg.call(e,n)&&Li(r,o))||o===void 0&&!(n in e))&&bs(e,n,o)}function uo(e,n,o,r){var i=!o;o||(o={});for(var a=-1,l=n.length;++a<l;){var s=n[a],c=void 0;c===void 0&&(c=e[s]),i?bs(o,s,c):Fi(o,s,c)}return o}var ws=Math.max;function eh(e,n,o){return n=ws(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=ws(r.length-n,0),l=Array(a);++i<a;)l[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=o(l),Fg(e,this,s)}}var th=9007199254740991;function Ui(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=th}function Ki(e){return e!=null&&Ui(e.length)&&!fr(e)}var nh=Object.prototype;function mr(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||nh;return e===o}function oh(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var rh="[object Arguments]";function ks(e){return Vt(e)&&ln(e)==rh}var Cs=Object.prototype,ih=Cs.hasOwnProperty,ah=Cs.propertyIsEnumerable,gr=ks(function(){return arguments}())?ks:function(e){return Vt(e)&&ih.call(e,"callee")&&!ah.call(e,"callee")};function lh(){return!1}var Es=typeof ke=="object"&&ke&&!ke.nodeType&&ke,Ns=Es&&typeof module=="object"&&module&&!module.nodeType&&module,sh=Ns&&Ns.exports===Es,vs=sh?Et.Buffer:void 0,ch=vs?vs.isBuffer:void 0,fo=ch||lh,dh="[object Arguments]",uh="[object Array]",fh="[object Boolean]",ph="[object Date]",mh="[object Error]",gh="[object Function]",hh="[object Map]",yh="[object Number]",_h="[object Object]",bh="[object RegExp]",wh="[object Set]",kh="[object String]",Ch="[object WeakMap]",Eh="[object ArrayBuffer]",Nh="[object DataView]",vh="[object Float32Array]",Sh="[object Float64Array]",xh="[object Int8Array]",Ah="[object Int16Array]",Ih="[object Int32Array]",Ph="[object Uint8Array]",Th="[object Uint8ClampedArray]",Oh="[object Uint16Array]",$h="[object Uint32Array]",Re={};Re[vh]=Re[Sh]=Re[xh]=Re[Ah]=Re[Ih]=Re[Ph]=Re[Th]=Re[Oh]=Re[$h]=!0,Re[dh]=Re[uh]=Re[Eh]=Re[fh]=Re[Nh]=Re[ph]=Re[mh]=Re[gh]=Re[hh]=Re[yh]=Re[_h]=Re[bh]=Re[wh]=Re[kh]=Re[Ch]=!1;function Bh(e){return Vt(e)&&Ui(e.length)&&!!Re[ln(e)]}function ji(e){return function(n){return e(n)}}var Ss=typeof ke=="object"&&ke&&!ke.nodeType&&ke,po=Ss&&typeof module=="object"&&module&&!module.nodeType&&module,Vh=po&&po.exports===Ss,Gi=Vh&&ds.process,Tn=function(){try{var e=po&&po.require&&po.require("util").types;return e||Gi&&Gi.binding&&Gi.binding("util")}catch{}}(),xs=Tn&&Tn.isTypedArray,qi=xs?ji(xs):Bh,Rh=Object.prototype,Dh=Rh.hasOwnProperty;function As(e,n){var o=gt(e),r=!o&&gr(e),i=!o&&!r&&fo(e),a=!o&&!r&&!i&&qi(e),l=o||r||i||a,s=l?oh(e.length,String):[],c=s.length;for(var d in e)(n||Dh.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Mi(d,c)))&&s.push(d);return s}function Is(e,n){return function(o){return e(n(o))}}var Mh=Is(Object.keys,Object),Lh=Object.prototype,Fh=Lh.hasOwnProperty;function Ps(e){if(!mr(e))return Mh(e);var n=[];for(var o in Object(e))Fh.call(e,o)&&o!="constructor"&&n.push(o);return n}function zi(e){return Ki(e)?As(e):Ps(e)}function Uh(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Kh=Object.prototype,jh=Kh.hasOwnProperty;function Gh(e){if(!sn(e))return Uh(e);var n=mr(e),o=[];for(var r in e)r=="constructor"&&(n||!jh.call(e,r))||o.push(r);return o}function Hi(e){return Ki(e)?As(e,!0):Gh(e)}var qh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,zh=/^\w*$/;function Hh(e,n){if(gt(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Vi(e)?!0:zh.test(e)||!qh.test(e)||n!=null&&e in Object(n)}var mo=dn(Object,"create");function Yh(){this.__data__=mo?mo(null):{},this.size=0}function Wh(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Xh="__lodash_hash_undefined__",Zh=Object.prototype,Jh=Zh.hasOwnProperty;function Qh(e){var n=this.__data__;if(mo){var o=n[e];return o===Xh?void 0:o}return Jh.call(n,e)?n[e]:void 0}var ey=Object.prototype,ty=ey.hasOwnProperty;function ny(e){var n=this.__data__;return mo?n[e]!==void 0:ty.call(n,e)}var oy="__lodash_hash_undefined__";function ry(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=mo&&n===void 0?oy:n,this}function un(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}un.prototype.clear=Yh,un.prototype.delete=Wh,un.prototype.get=Qh,un.prototype.has=ny,un.prototype.set=ry;function iy(){this.__data__=[],this.size=0}function hr(e,n){for(var o=e.length;o--;)if(Li(e[o][0],n))return o;return-1}var ay=Array.prototype,ly=ay.splice;function sy(e){var n=this.__data__,o=hr(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():ly.call(n,o,1),--this.size,!0}function cy(e){var n=this.__data__,o=hr(n,e);return o<0?void 0:n[o][1]}function dy(e){return hr(this.__data__,e)>-1}function uy(e,n){var o=this.__data__,r=hr(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function Rt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Rt.prototype.clear=iy,Rt.prototype.delete=sy,Rt.prototype.get=cy,Rt.prototype.has=dy,Rt.prototype.set=uy;var go=dn(Et,"Map");function fy(){this.size=0,this.__data__={hash:new un,map:new(go||Rt),string:new un}}function py(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function yr(e,n){var o=e.__data__;return py(n)?o[typeof n=="string"?"string":"hash"]:o.map}function my(e){var n=yr(this,e).delete(e);return this.size-=n?1:0,n}function gy(e){return yr(this,e).get(e)}function hy(e){return yr(this,e).has(e)}function yy(e,n){var o=yr(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function Dt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Dt.prototype.clear=fy,Dt.prototype.delete=my,Dt.prototype.get=gy,Dt.prototype.has=hy,Dt.prototype.set=yy;var _y="Expected a function";function Yi(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(_y);var o=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=o.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return o.cache=a.set(i,l)||a,l};return o.cache=new(Yi.Cache||Dt),o}Yi.Cache=Dt;var by=500;function wy(e){var n=Yi(e,function(r){return o.size===by&&o.clear(),r}),o=n.cache;return n}var ky=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Cy=/\\(\\)?/g,Ey=wy(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(ky,function(o,r,i,a){n.push(i?a.replace(Cy,"$1"):r||o)}),n});function Wi(e){return e==null?"":hs(e)}function On(e,n){return gt(e)?e:Hh(e,n)?[e]:Ey(Wi(e))}function _r(e){if(typeof e=="string"||Vi(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Xi(e,n){n=On(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[_r(n[o++])];return o&&o==r?e:void 0}function Ts(e,n,o){var r=e==null?void 0:Xi(e,n);return r===void 0?o:r}function Zi(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var Os=ut?ut.isConcatSpreadable:void 0;function Ny(e){return gt(e)||gr(e)||!!(Os&&e&&e[Os])}function vy(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=Ny),i||(i=[]);++a<l;){var s=e[a];o(s)?Zi(i,s):i[i.length]=s}return i}function Sy(e){var n=e==null?0:e.length;return n?vy(e):[]}function $s(e){return Yg(eh(e,void 0,Sy),e+"")}var Ji=Is(Object.getPrototypeOf,Object),xy="[object Object]",Ay=Function.prototype,Iy=Object.prototype,Bs=Ay.toString,Py=Iy.hasOwnProperty,Ty=Bs.call(Object);function Oy(e){if(!Vt(e)||ln(e)!=xy)return!1;var n=Ji(e);if(n===null)return!0;var o=Py.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&Bs.call(o)==Ty}function Vs(e,n,o){var r=-1,i=e.length;n<0&&(n=-n>i?0:i+n),o=o>i?i:o,o<0&&(o+=i),i=n>o?0:o-n>>>0,n>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+n];return a}function $y(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:Vs(e,n,o)}var By="\\ud800-\\udfff",Vy="\\u0300-\\u036f",Ry="\\ufe20-\\ufe2f",Dy="\\u20d0-\\u20ff",My=Vy+Ry+Dy,Ly="\\ufe0e\\ufe0f",Fy="\\u200d",Uy=RegExp("["+Fy+By+My+Ly+"]");function Rs(e){return Uy.test(e)}function Ky(e){return e.split("")}var Ds="\\ud800-\\udfff",jy="\\u0300-\\u036f",Gy="\\ufe20-\\ufe2f",qy="\\u20d0-\\u20ff",zy=jy+Gy+qy,Hy="\\ufe0e\\ufe0f",Yy="["+Ds+"]",Qi="["+zy+"]",ea="\\ud83c[\\udffb-\\udfff]",Wy="(?:"+Qi+"|"+ea+")",Ms="[^"+Ds+"]",Ls="(?:\\ud83c[\\udde6-\\uddff]){2}",Fs="[\\ud800-\\udbff][\\udc00-\\udfff]",Xy="\\u200d",Us=Wy+"?",Ks="["+Hy+"]?",Zy="(?:"+Xy+"(?:"+[Ms,Ls,Fs].join("|")+")"+Ks+Us+")*",Jy=Ks+Us+Zy,Qy="(?:"+[Ms+Qi+"?",Qi,Ls,Fs,Yy].join("|")+")",e_=RegExp(ea+"(?="+ea+")|"+Qy+Jy,"g");function t_(e){return e.match(e_)||[]}function n_(e){return Rs(e)?t_(e):Ky(e)}function o_(e){return function(n){n=Wi(n);var o=Rs(n)?n_(n):void 0,r=o?o[0]:n.charAt(0),i=o?$y(o,1).join(""):n.slice(1);return r[e]()+i}}var r_=o_("toUpperCase");function i_(){this.__data__=new Rt,this.size=0}function a_(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function l_(e){return this.__data__.get(e)}function s_(e){return this.__data__.has(e)}var c_=200;function d_(e,n){var o=this.__data__;if(o instanceof Rt){var r=o.__data__;if(!go||r.length<c_-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Dt(r)}return o.set(e,n),this.size=o.size,this}function Mt(e){var n=this.__data__=new Rt(e);this.size=n.size}Mt.prototype.clear=i_,Mt.prototype.delete=a_,Mt.prototype.get=l_,Mt.prototype.has=s_,Mt.prototype.set=d_;function u_(e,n){return e&&uo(n,zi(n),e)}function f_(e,n){return e&&uo(n,Hi(n),e)}var js=typeof ke=="object"&&ke&&!ke.nodeType&&ke,Gs=js&&typeof module=="object"&&module&&!module.nodeType&&module,p_=Gs&&Gs.exports===js,qs=p_?Et.Buffer:void 0,zs=qs?qs.allocUnsafe:void 0;function m_(e,n){if(n)return e.slice();var o=e.length,r=zs?zs(o):new e.constructor(o);return e.copy(r),r}function g_(e,n){for(var o=-1,r=e==null?0:e.length,i=0,a=[];++o<r;){var l=e[o];n(l,o,e)&&(a[i++]=l)}return a}function Hs(){return[]}var h_=Object.prototype,y_=h_.propertyIsEnumerable,Ys=Object.getOwnPropertySymbols,ta=Ys?function(e){return e==null?[]:(e=Object(e),g_(Ys(e),function(n){return y_.call(e,n)}))}:Hs;function __(e,n){return uo(e,ta(e),n)}var b_=Object.getOwnPropertySymbols,Ws=b_?function(e){for(var n=[];e;)Zi(n,ta(e)),e=Ji(e);return n}:Hs;function w_(e,n){return uo(e,Ws(e),n)}function Xs(e,n,o){var r=n(e);return gt(e)?r:Zi(r,o(e))}function na(e){return Xs(e,zi,ta)}function Zs(e){return Xs(e,Hi,Ws)}var oa=dn(Et,"DataView"),ra=dn(Et,"Promise"),ia=dn(Et,"Set"),Js="[object Map]",k_="[object Object]",Qs="[object Promise]",ec="[object Set]",tc="[object WeakMap]",nc="[object DataView]",C_=cn(oa),E_=cn(go),N_=cn(ra),v_=cn(ia),S_=cn(Di),ft=ln;(oa&&ft(new oa(new ArrayBuffer(1)))!=nc||go&&ft(new go)!=Js||ra&&ft(ra.resolve())!=Qs||ia&&ft(new ia)!=ec||Di&&ft(new Di)!=tc)&&(ft=function(e){var n=ln(e),o=n==k_?e.constructor:void 0,r=o?cn(o):"";if(r)switch(r){case C_:return nc;case E_:return Js;case N_:return Qs;case v_:return ec;case S_:return tc}return n});var x_=Object.prototype,A_=x_.hasOwnProperty;function I_(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&A_.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var br=Et.Uint8Array;function aa(e){var n=new e.constructor(e.byteLength);return new br(n).set(new br(e)),n}function P_(e,n){var o=n?aa(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var T_=/\w*$/;function O_(e){var n=new e.constructor(e.source,T_.exec(e));return n.lastIndex=e.lastIndex,n}var oc=ut?ut.prototype:void 0,rc=oc?oc.valueOf:void 0;function $_(e){return rc?Object(rc.call(e)):{}}function B_(e,n){var o=n?aa(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var V_="[object Boolean]",R_="[object Date]",D_="[object Map]",M_="[object Number]",L_="[object RegExp]",F_="[object Set]",U_="[object String]",K_="[object Symbol]",j_="[object ArrayBuffer]",G_="[object DataView]",q_="[object Float32Array]",z_="[object Float64Array]",H_="[object Int8Array]",Y_="[object Int16Array]",W_="[object Int32Array]",X_="[object Uint8Array]",Z_="[object Uint8ClampedArray]",J_="[object Uint16Array]",Q_="[object Uint32Array]";function eb(e,n,o){var r=e.constructor;switch(n){case j_:return aa(e);case V_:case R_:return new r(+e);case G_:return P_(e,o);case q_:case z_:case H_:case Y_:case W_:case X_:case Z_:case J_:case Q_:return B_(e,o);case D_:return new r;case M_:case U_:return new r(e);case L_:return O_(e);case F_:return new r;case K_:return $_(e)}}function tb(e){return typeof e.constructor=="function"&&!mr(e)?Lg(Ji(e)):{}}var nb="[object Map]";function ob(e){return Vt(e)&&ft(e)==nb}var ic=Tn&&Tn.isMap,rb=ic?ji(ic):ob,ib="[object Set]";function ab(e){return Vt(e)&&ft(e)==ib}var ac=Tn&&Tn.isSet,lb=ac?ji(ac):ab,sb=1,cb=2,db=4,lc="[object Arguments]",ub="[object Array]",fb="[object Boolean]",pb="[object Date]",mb="[object Error]",sc="[object Function]",gb="[object GeneratorFunction]",hb="[object Map]",yb="[object Number]",cc="[object Object]",_b="[object RegExp]",bb="[object Set]",wb="[object String]",kb="[object Symbol]",Cb="[object WeakMap]",Eb="[object ArrayBuffer]",Nb="[object DataView]",vb="[object Float32Array]",Sb="[object Float64Array]",xb="[object Int8Array]",Ab="[object Int16Array]",Ib="[object Int32Array]",Pb="[object Uint8Array]",Tb="[object Uint8ClampedArray]",Ob="[object Uint16Array]",$b="[object Uint32Array]",Ve={};Ve[lc]=Ve[ub]=Ve[Eb]=Ve[Nb]=Ve[fb]=Ve[pb]=Ve[vb]=Ve[Sb]=Ve[xb]=Ve[Ab]=Ve[Ib]=Ve[hb]=Ve[yb]=Ve[cc]=Ve[_b]=Ve[bb]=Ve[wb]=Ve[kb]=Ve[Pb]=Ve[Tb]=Ve[Ob]=Ve[$b]=!0,Ve[mb]=Ve[sc]=Ve[Cb]=!1;function ho(e,n,o,r,i,a){var l,s=n&sb,c=n&cb,d=n&db;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!sn(e))return e;var u=gt(e);if(u){if(l=I_(e),!s)return Ug(e,l)}else{var f=ft(e),p=f==sc||f==gb;if(fo(e))return m_(e,s);if(f==cc||f==lc||p&&!i){if(l=c||p?{}:tb(e),!s)return c?w_(e,f_(l,e)):__(e,u_(l,e))}else{if(!Ve[f])return i?e:{};l=eb(e,f,s)}}a||(a=new Mt);var m=a.get(e);if(m)return m;a.set(e,l),lb(e)?e.forEach(function(g){l.add(ho(g,n,o,g,e,a))}):rb(e)&&e.forEach(function(g,_){l.set(_,ho(g,n,o,_,e,a))});var h=d?c?Zs:na:c?Hi:zi,y=u?void 0:h(e);return Wg(y||e,function(g,_){y&&(_=g,g=e[_]),Fi(l,_,ho(g,n,o,_,e,a))}),l}var Bb=1,Vb=4;function $n(e){return ho(e,Bb|Vb)}var Rb="__lodash_hash_undefined__";function Db(e){return this.__data__.set(e,Rb),this}function Mb(e){return this.__data__.has(e)}function wr(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new Dt;++n<o;)this.add(e[n])}wr.prototype.add=wr.prototype.push=Db,wr.prototype.has=Mb;function Lb(e,n){for(var o=-1,r=e==null?0:e.length;++o<r;)if(n(e[o],o,e))return!0;return!1}function Fb(e,n){return e.has(n)}var Ub=1,Kb=2;function dc(e,n,o,r,i,a){var l=o&Ub,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var d=a.get(e),u=a.get(n);if(d&&u)return d==n&&u==e;var f=-1,p=!0,m=o&Kb?new wr:void 0;for(a.set(e,n),a.set(n,e);++f<s;){var h=e[f],y=n[f];if(r)var g=l?r(y,h,f,n,e,a):r(h,y,f,e,n,a);if(g!==void 0){if(g)continue;p=!1;break}if(m){if(!Lb(n,function(_,w){if(!Fb(m,w)&&(h===_||i(h,_,o,r,a)))return m.push(w)})){p=!1;break}}else if(!(h===y||i(h,y,o,r,a))){p=!1;break}}return a.delete(e),a.delete(n),p}function jb(e){var n=-1,o=Array(e.size);return e.forEach(function(r,i){o[++n]=[i,r]}),o}function Gb(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var qb=1,zb=2,Hb="[object Boolean]",Yb="[object Date]",Wb="[object Error]",Xb="[object Map]",Zb="[object Number]",Jb="[object RegExp]",Qb="[object Set]",e0="[object String]",t0="[object Symbol]",n0="[object ArrayBuffer]",o0="[object DataView]",uc=ut?ut.prototype:void 0,la=uc?uc.valueOf:void 0;function r0(e,n,o,r,i,a,l){switch(o){case o0:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case n0:return!(e.byteLength!=n.byteLength||!a(new br(e),new br(n)));case Hb:case Yb:case Zb:return Li(+e,+n);case Wb:return e.name==n.name&&e.message==n.message;case Jb:case e0:return e==n+"";case Xb:var s=jb;case Qb:var c=r&qb;if(s||(s=Gb),e.size!=n.size&&!c)return!1;var d=l.get(e);if(d)return d==n;r|=zb,l.set(e,n);var u=dc(s(e),s(n),r,i,a,l);return l.delete(e),u;case t0:if(la)return la.call(e)==la.call(n)}return!1}var i0=1,a0=Object.prototype,l0=a0.hasOwnProperty;function s0(e,n,o,r,i,a){var l=o&i0,s=na(e),c=s.length,d=na(n),u=d.length;if(c!=u&&!l)return!1;for(var f=c;f--;){var p=s[f];if(!(l?p in n:l0.call(n,p)))return!1}var m=a.get(e),h=a.get(n);if(m&&h)return m==n&&h==e;var y=!0;a.set(e,n),a.set(n,e);for(var g=l;++f<c;){p=s[f];var _=e[p],w=n[p];if(r)var b=l?r(w,_,p,n,e,a):r(_,w,p,e,n,a);if(!(b===void 0?_===w||i(_,w,o,r,a):b)){y=!1;break}g||(g=p=="constructor")}if(y&&!g){var A=e.constructor,S=n.constructor;A!=S&&"constructor"in e&&"constructor"in n&&!(typeof A=="function"&&A instanceof A&&typeof S=="function"&&S instanceof S)&&(y=!1)}return a.delete(e),a.delete(n),y}var c0=1,fc="[object Arguments]",pc="[object Array]",kr="[object Object]",d0=Object.prototype,mc=d0.hasOwnProperty;function u0(e,n,o,r,i,a){var l=gt(e),s=gt(n),c=l?pc:ft(e),d=s?pc:ft(n);c=c==fc?kr:c,d=d==fc?kr:d;var u=c==kr,f=d==kr,p=c==d;if(p&&fo(e)){if(!fo(n))return!1;l=!0,u=!1}if(p&&!u)return a||(a=new Mt),l||qi(e)?dc(e,n,o,r,i,a):r0(e,n,c,o,r,i,a);if(!(o&c0)){var m=u&&mc.call(e,"__wrapped__"),h=f&&mc.call(n,"__wrapped__");if(m||h){var y=m?e.value():e,g=h?n.value():n;return a||(a=new Mt),i(y,g,o,r,a)}}return p?(a||(a=new Mt),s0(e,n,o,r,i,a)):!1}function gc(e,n,o,r,i){return e===n?!0:e==null||n==null||!Vt(e)&&!Vt(n)?e!==e&&n!==n:u0(e,n,o,r,gc,i)}function f0(e,n){return e!=null&&n in Object(e)}function p0(e,n,o){n=On(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=_r(n[r]);if(!(a=e!=null&&o(e,l)))break;e=e[l]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&Ui(i)&&Mi(l,i)&&(gt(e)||gr(e)))}function m0(e,n){return e!=null&&p0(e,n,f0)}function g0(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function h0(e,n){return n.length<2?e:Xi(e,Vs(n,0,-1))}var y0="[object Map]",_0="[object Set]",b0=Object.prototype,w0=b0.hasOwnProperty;function hc(e){if(e==null)return!0;if(Ki(e)&&(gt(e)||typeof e=="string"||typeof e.splice=="function"||fo(e)||qi(e)||gr(e)))return!e.length;var n=ft(e);if(n==y0||n==_0)return!e.size;if(mr(e))return!Ps(e).length;for(var o in e)if(w0.call(e,o))return!1;return!0}function yo(e,n){return gc(e,n)}function yc(e,n){return n=On(n,e),e=h0(e,n),e==null||delete e[_r(g0(n))]}function k0(e){return Oy(e)?void 0:e}var C0=1,E0=2,N0=4,_c=$s(function(e,n){var o={};if(e==null)return o;var r=!1;n=ps(n,function(a){return a=On(a,e),r||(r=a.length>1),a}),uo(e,Zs(e),o),r&&(o=ho(o,C0|E0|N0,k0));for(var i=n.length;i--;)yc(o,n[i]);return o});function bc(e,n,o,r){if(!sn(e))return e;n=On(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=_r(n[i]),d=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var u=s[c];d=void 0,d===void 0&&(d=sn(u)?u:Mi(n[i+1])?[]:{})}Fi(s,c,d),s=s[c]}return e}function v0(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=Xi(e,l);o(s,l)&&bc(a,On(l,e),s)}return a}function S0(e,n){return v0(e,n,function(o,r){return m0(e,r)})}var sa=$s(function(e,n){return e==null?{}:S0(e,n)});function x0(e,n,o){return e==null?e:bc(e,n,o)}var A0=0;function Cr(e){var n=++A0;return Wi(e)+n}function wc(e,n){return e==null?!0:yc(e,n)}const I0={authentication:{mode:"none"},ssl_verify:!0},fn=e=>{var n,o,r,i,a,l;((o=(n=e.confluent)==null?void 0:n.authentication)==null?void 0:o.mode)==="none"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client,delete e.confluent.authentication.basic),((i=(r=e.confluent)==null?void 0:r.authentication)==null?void 0:i.mode)==="basic"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client),((l=(a=e.confluent)==null?void 0:a.authentication)==null?void 0:l.mode)==="oauth2"&&delete e.confluent.authentication.basic,yo(e.confluent,I0)&&(e.confluent=null)},P0={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;fn((n=e.config)==null?void 0:n.schema_registry)}},T0={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;fn((n=e.config)==null?void 0:n.schema_registry)}},O0={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;fn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{fn(i==null?void 0:i.schema_registry)})}},$0={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;fn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{fn(i==null?void 0:i.schema_registry)})}},B0={shamefullyTransformPayload:({payload:e})=>{var n;fn((n=e.config)==null?void 0:n.schema_registry)}},V0={"config-static_tags":{...dr,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},R0={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm"};function ca(e,n){const o=R0[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const da=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),kc={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR")},Cc=Symbol("TOASTER_PROVIDER");function Ec(){return t.inject(da,[])}function D0(e){t.provide(da,e)}const M0=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},Nc=(e,n)=>(e.order??0)-(n.order??0),vc=(e,n)=>M0(e,n)||Nc(e,n)||e.model.localeCompare(n.model),De={useI18n:Ae,usePluginMetaData:Gm,usePluginHelpers:Ql,useSchemas:e=>{const{capitalize:n}=ce.useStringHelpers(),{convertToDotNotation:o}=Ql(),{i18n:{t:r}}=Ae(),i=Ec(),a={"application-registration":{overwriteDefault:!0,formSchema:{...Wm}},datadog:{...Xm},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...sg},"statsd-advanced":{...cg},"route-by-header":{...ig},"ai-prompt-decorator":{...qm},"ai-prompt-template":{...zm},"ai-proxy-advanced":{...Hm},"ai-llm-as-judge":{...Ym},"vault-auth":{...ug},"oas-validation":{...eg},mocking:{...Qm},"rate-limiting":{...ur},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":ur["config-consumer_groups"]}:{...ur},"graphql-rate-limiting-advanced":{...Zm},"injection-protection":{...Jm},"response-ratelimiting":{...ur},"pre-function":{...ss},"post-function":{...ss},"request-transformer-advanced":{...og},"response-transformer":{...cs},"response-transformer-advanced":{...rg},zipkin:{...V0},"upstream-oauth":{...dg},saml:{...ag},"kafka-upstream":{...P0},"solace-consume":{...lg},"key-auth":Vm(e),"key-auth-enc":Um(e),confluent:{...T0},"confluent-consume":{...O0},"kafka-consume":{...$0},"kafka-log":{...B0}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(N,P,T,M)=>{let H={};(P||N)&&(H=P||(N.fields?N.fields:N));const q=l().concat(N.blacklist?N.blacklist:[]),x=Object.keys(H).filter(U=>!q.includes(U)),Y=x.indexOf("comparator");Y>-1&&x.splice(Y,1);let I={fields:[]};const F={};x.forEach(U=>{d(H[U],U,H,F,I,T)});const L=F.name,Z=Ct[L],W=[],K=U=>{const R=["cluster-cache"];for(const D of R)if(U.model.includes(D))return!1;return new RegExp("(?<=-redis-).*").test(U.model)};if(I._supported_redis_partial_type=N._supported_redis_partial_type,I._redis_partial_path=N._redis_partial_path,Pe.getSharedFormName(L)||ca(L,i)||Z!=null&&Z.useLegacyForm||e!=null&&e.credential||M==="freeform"){if(Z!=null&&Z.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&N._supported_redis_partial_type){for(const U of I.fields)if(K(U)){W.push(U);continue}I.fields=I.fields.filter(U=>!K(U)),W.length&&I.fields.push({id:"_redis",fields:W,model:"__redis_partial",pluginType:N._isCustomPlugin?"custom":"bundled",redisType:N._supported_redis_partial_type,redisPath:N._redis_partial_path})}I.fields.sort((U,R)=>(U.order=U.order||0,R.order=R.order||0,U.order-R.order))}else{const U=[],R=[],D=[],te=[],X={};if(Z!=null&&Z.fieldRules){const pe=[...Z.fieldRules.atLeastOneOf??[],...Z.fieldRules.onlyOneOf??[],...Z.fieldRules.mutuallyRequired??[]];if(Z.fieldRules.onlyOneOfMutuallyRequired)for(const ge of Z.fieldRules.onlyOneOfMutuallyRequired)pe.push(...ge);for(const ge of pe)for(const J of ge)X[J.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const pe of I.fields){if(e!=null&&e.enableRedisPartial&&N._supported_redis_partial_type&&K(pe)){te.push(pe);continue}if(pe.pinned){U.push(pe);continue}if(pe.required||X[pe.model]!==void 0){X[pe.model]===!1&&(X[pe.model]=!0),R.push(pe);continue}D.push(pe)}te.length&&D.push({id:"_redis",fields:te,model:"__redis_partial",pluginType:N._isCustomPlugin?"custom":"bundled",redisType:N._supported_redis_partial_type,redisPath:N._redis_partial_path,order:-1});const oe=Object.entries(X).filter(([,pe])=>!pe).map(([pe])=>pe.replace(/-/g,".").replace(/_/g,"-"));oe.length>0&&console.warn(`Unknown checked fields for plugin ${L}: ${oe.join(", ")}`);const ie=[];U.length>0&&ie.push({fields:U.sort(Nc)}),(R.length>0||D.length>0)&&ie.push({fields:R.sort(vc),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:D.sort(vc),triggerLabel:{expand:r("plugins.form.grouping.advanced_parameters.view"),collapse:r("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),I={groups:ie}}return{schema:I,model:F,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=N=>Array.isArray(N.default)||N.default!=null&&typeof N.default!="object"&&N.default!=="function",d=(N,P,T,M,H,q)=>{const x=c(N);return M[P]=x?N.default:null,N.id=P,N.model=P,N.fields&&N.type==="record"?f(N,P,T,M,H,q):(T[P]=N,A(N,M),q&&q[P]&&u(T[P],q[P]),H.fields.push(N)),T},u=(N,P)=>(P&&(Object.assign(N,P),P.label&&(N.label=P.label)),N),f=(N,P,T,M,H,q)=>{N.fields.forEach(x=>{Object.keys(x).forEach(Y=>{const I=x[Y];T=d(I,P+"-"+Y,T,M,H,q)})})},p=(N,P)=>{N.type="input",N.inputType="hidden",N.styleClasses="kong-form-hidden-field-wrapper";const T=e==null?void 0:e.entityId;P[N.model]=T?{id:T}:null},m=N=>{N.type="input",N.inputType="number",N.between&&N.between.length===2&&(N.min=N.between[0],N.max=N.between[1])},h=N=>{Object.prototype.hasOwnProperty.call(N,"one_of")?(N.type="select",N.values=N.one_of,N.selectOptions={hideNoneSelectedText:!0}):(N.type="input",N.inputType="text")},y=N=>{N.type="checkbox",N.default=!0,N.required=!1},g=N=>{if(N.type="object-advanced",N.values.type==="array"){const{type:P}=N.values.elements||{};N.schema={fields:[{schema:{fields:[{...Te,model:N.model,valueArrayType:P==="integer"?"number":P||"string",inputAttributes:{...Te.inputAttributes,type:P==="integer"?"number":"text",inputMode:P==="integer"?"numeric":"text"}}]}}]}}else N.values.fields&&(N.schema={fields:[{type:"object",model:"object",schema:{fields:N.values.fields.map(P=>{const T=Object.keys(P)[0];return{model:T,type:"input",label:n(T),placeholder:T,inputType:P[T].type}})}}]})},_=N=>N.fields.reduce((P,T)=>(T.fields&&T.fields.forEach(M=>{P[M.model]=M}),T.model&&(P[T.model]=T),P),{}),w=(N,P)=>{if(!Pe.customFields.includes(N.model))return;const T=_(N);Pe.customFields.forEach(M=>{Object.keys(T).forEach(H=>{const q=c(T[H]);P[H]=q?T[H].default:null}),delete P[M]})},b=(N,P)=>N.inputType==="hidden"?"":o(n(N.label||P.replace(/_/g," "))),A=(N,P)=>{switch(w(N,P),N.type){case"foreign":p(N,P);break;case"number":m(N),N.attributes={step:"any"};break;case"integer":m(N);break;case"string":h(N);break;case"boolean":y(N);break;case"map":g(N);break}N.inputType==="foreign"&&p(N,P),N.label=b(N,N.model)};function S(N,P){if(P==null||P.type&&P.type!=="record"||typeof N!="object"||N==null)return N;const T={};for(const M of P.fields){const H=Object.keys(M)[0],q=M[H];q.type==="record"?T[H]=S(N[H],q):q.type==="array"&&Array.isArray(N[H])&&q.elements.type==="record"?T[H]=N[H].map(x=>S(x,q.elements)):T[H]=N[H]}return T}return{buildFormSchema:d,parseSchema:s,customSchemas:a,typedefs:In,pruneRecord:S}},useExperimentalFreeForms:Ec,useProvideExperimentalFreeForms:D0},Ze="/v2/control-planes/{controlPlaneId}/core-entities",Qe="/{workspace}",Le={list:{konnect:{all:`${Ze}/plugins`,forEntity:`${Ze}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Qe}/plugins`,forEntity:`${Qe}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Ze}/v1/available-plugins`,streamingCustomPlugins:`${Ze}/custom-plugins`,schemaCustomPluginItem:`${Ze}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${Ze}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Qe}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Ze}/plugins`,forEntity:`${Ze}/{entityType}/{entityId}/plugins`},edit:{all:`${Ze}/plugins/{id}`,forEntity:`${Ze}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Ze}/{resourceEndpoint}`,edit:`${Ze}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Ze}/v1/schemas/json/plugin/validate`,entityGetOne:`${Ze}/{entity}/{id}`,entityGetAll:`${Ze}/{entity}`,entityPeek:`${Ze}/{entity}?size={amount}`},kongManager:{create:{all:`${Qe}/plugins`,forEntity:`${Qe}/{entityType}/{entityId}/plugins`},edit:{all:`${Qe}/plugins/{id}`,forEntity:`${Qe}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Qe}/schemas/plugins/{plugin}`,credential:{create:`${Qe}/{resourceEndpoint}`,edit:`${Qe}/{resourceEndpoint}/{id}`},credentialSchema:`${Qe}/schemas/{plugin}`,validate:`${Qe}/schemas/plugins/validate`,entityGetOne:`${Qe}/{entity}/{id}`,entityGetAll:`${Qe}/{entity}`}},item:{konnect:{all:`${Ze}/plugins/{id}`,forEntity:`${Ze}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Qe}/plugins/{id}`,forEntity:`${Qe}/{entityType}/{entityId}/plugins/{id}`}}},L0={key:0},F0=Ee(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:o}=De.usePluginHelpers(),{i18n:{t:r}}=De.useI18n(),i=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>o(d)).join(".")).join(", "),a=(s,c)=>r(s,{parameters:i(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(a("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(a("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(a("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(u,f)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${f}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",L0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(u,f)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${f}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(p,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${f}-combination-${m}`},t.toDisplayString(i(p)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]),{t:Bn}=Ke.createI18n("en-us",Ye);function ua(e){return e.map(n=>({value:n,label:`${n}`}))}const fa="*",Sc="$",xc=".";function ht(...e){return e.join(xc)}function pa(...e){return ht(Sc,...e)}function Ac(e){return e.startsWith(ht(Sc,""))}function Vn(e){return e.split(xc).filter(n=>n!=="")}function _o(e){const n=Vn(e);return n[n.length-1]}const U0=e=>{var n,o;return e.type==="redis-ce"?Bn("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?Bn("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?Bn("redis.shared_configuration.type_label.cluster"):Bn("redis.shared_configuration.type_label.host_port")},K0={"redis-ce":Bn("redis.shared_configuration.open_source"),"redis-ee":Bn("redis.shared_configuration.enterprise")},j0=e=>K0[e]??"";function G0(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(a=>{const l=a.model.match(o);return l&&!Object.keys(e).includes(l[0])}).map(a=>{const l=a.label.match(r);return{label:l?l[0]:a.label,key:a.model,value:"N/A",type:"text"}})}function q0(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const Ic=Symbol("free-form-data"),Pc=Symbol("free-form-schema"),Tc=Symbol("free-form-field-path"),ma=Symbol("free-form-field-renderer-slots"),Er=Symbol("free-form-field-renderer-matchers-map"),Oc=Symbol("free-form-config"),$c=Symbol("free-form-field-reset-label-path-setting"),Rn="free-form-field-renderers-slot",z0={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function H0(e,n=""){const o={},r=e;return Array.isArray(r.fields)?Object.assign(o,ga(r,n)):e.type==="array"&&e.elements&&Object.assign(o,ha(e,n)),o}function ga(e,n=""){const o={};if(Array.isArray(e.fields))for(const r of e.fields){const i=Object.keys(r)[0],a=r[i],l=n?ht(n,i):i;if(o[l]=a,a.type==="record"&&Array.isArray(a.fields)){const s=ga(a,l);Object.assign(o,s)}else if(a.type==="array"&&a.elements){const s=ha(a,l);Object.assign(o,s)}}return o}function ha(e,n=""){const o={};if(e.elements){const r=e.elements,i=ht(n,fa);if(o[i]=r,r.type==="record"&&Array.isArray(r.fields)){const a=ga(r,i);Object.assign(o,a)}else if(r.type==="array"&&r.elements){const a=ha(r,i);Object.assign(o,a)}}return o}function ya(e){const n=Vn(e).map(o=>/^\d+$/.test(o)?fa:o);return ht(...n)}function Y0(e){const n=t.toValue(e),o=t.computed(()=>n?H0(n):{});function r(u){var f;return u==null?n:(f=o.value)==null?void 0:f[ya(u)]}function i(u,f=!1){const p=r(u);return p?p.default!==void 0?p.default:f||p.required?p.type==="record"?a(p,u):p.type==="array"?[]:null:null:null}function a(u,f){const p={};if(Array.isArray(u.fields))for(const m of u.fields){const h=Object.keys(m)[0],y=f?`${f}.${h}`:h,g=i(y,!1);g!==void 0&&(p[h]=g)}return p}function l(u){return u?i(u,!0):a(r(),"")}function s(u){const f=r(u),p=f!=null&&f.description?ar.marked.parse(f.description,{async:!1}):void 0;return{...z0,"data-testid":`ff-label-${u}`,info:p}}function c(u){var p;const f=r(u);return ua((f==null?void 0:f.one_of)||((p=f.elements)==null?void 0:p.one_of)||[])}function d(u){const f=r(u),p=f==null?void 0:f.default;let m=null;if((f==null?void 0:f.type)==="foreign"&&(p!=null&&p.id))m=p.id;else{if(p==null||typeof p=="object"||p==="")return null;if(Array.isArray(p)){if(p.length===0)return null;m=p.join(", ")}else m=p.toString()}return`Default: ${m}`}return{getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:d}}function Me(){const e=t.inject(Ic),n=t.inject(Pc),o=t.inject(Oc,{});if(!e)throw new Error("useFormShared() called without form data provider.");if(!n)throw new Error("useFormShared() called without schema provider.");return{formData:e,formConfig:o,...n}}const Bc=e=>{const n=t.inject(Tc,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!Ac(r)&&n.value&&(i=ht(n.value,r)),Ac(r)&&(i=i.slice(pa("").length)),i});return t.provide(Tc,o),o},W0=e=>{const{getSchema:n}=Me(),{default:o,...r}=t.useSlots(),i=t.inject(ma),a=t.inject(Er),l=t.computed(()=>{const c=t.toValue(i),d=Object.keys(r).filter(u=>u!==Rn&&u!=="item").reduce((u,f)=>{const p=ya(ht(t.toValue(e),f));return{...u,[p]:r[f]}},{});return c?{...c,...d}:d});t.provide(ma,l);const s=t.toValue(e);return t.computed(()=>{if(o)return;const c=l.value[ya(t.toValue(e))];if(c)return c;for(const[d,u]of a)if(d({path:s,schema:n(s)}))return u})},X0={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function Z0(e){return X0[e.toLocaleLowerCase()]??e}function J0(e,n){const o=t.inject($c,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?ht(r,e):e),l=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(o)],([s,c])=>{var p;const{parentPath:d,isolate:u}=c,f=d?ht(d,e):e;if(s){const m={isolate:()=>{a.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{a.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{a.value=f,l.value.isolate=!1,l.value.parentPath=f}};(p=m[s])==null||p.call(m)}else u&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide($c,l),a}function Q0(e){return Vn(e).map(o=>o.split("_").map(Z0).join(" ")).map(r_).join(" › ")}function ew(e,n){const o=t.toValue(e),r=_o(o),{formConfig:i}=Me(),a=J0(r,n),{getSchema:l}=Me(),s=Vc(e);return t.computed(()=>{var p;const c=a.value??r,d=(p=s.value.parent)!=null&&p.path?l(s.value.parent.path):null,f=(d==null?void 0:d.type)==="array"?"":Q0(c);return i.transformLabel?i.transformLabel(f,o):f})}function yt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=Me(),a=t.toValue(e),l=t.toValue(n),s=ew(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(a)??void 0,labelAttributes:l.labelAttributes??o(a),label:l.label??s.value,required:l.required??((c=i(a))==null?void 0:c.required)}})}function tw(e){var r;const n=Vn(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?ht(o.parent.path,i):i,o={parent:o}}return o}function Vc(e){return t.computed(()=>tw(t.toValue(e)))}function Rc(e){const{formData:n}=Me(),o=Bc(e);return{value:t.computed({get:()=>Ts(n,Vn(o.value)),set:i=>x0(n,Vn(o.value),i)})}}function st(e){const{getSchema:n}=Me(),o=Bc(e),r=W0(o),{value:i}=Rc(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:Vc(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function bo(e){const{getSchema:n}=Me(),o=t.useAttrs();return t.computed(()=>{var i;if(o["data-autofocus"]!==void 0)return!0;if(!e)return!1;const r=t.toValue(e).parent;return r!=null&&r.path?((i=n(r.path))==null?void 0:i.type)==="array":!1})}function Dc(e,n){const o=new WeakMap,r=new Map;function i(){return Cr(`${e}-`)}function a(l,s){if(l==null||typeof l!="object")return`${e}-${s}`;if(o.has(l))return o.get(l);const c=r.has(s)?r.get(s):i();return r.set(s,c),o.set(l,c),c}return t.watch(n,l=>{const s=t.toValue(l),c=new Set;s.forEach((d,u)=>{c.add(u)}),Array.from(r.keys()).forEach(d=>{c.has(d)||r.delete(d)})},{immediate:!0,deep:!0}),{getKey:a}}const nw="__request_callout_";function Mc(){return Cr(nw)}const pn=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=n,i=t.computed(()=>o.multiline?xe.KTextArea:xe.KInput),a=t.ref(o.modelValue);t.watch(()=>o.modelValue,d=>{a.value=d});const{formConfig:l}=Me(),s=d=>{a.value=d,l.updateOnChange||r("update:modelValue",d)},c=()=>{l.updateOnChange&&r("update:modelValue",a.value)};return(d,u)=>(t.openBlock(),t.createBlock(t.unref(i),t.mergeProps(d.$attrs,{"model-value":d.modelValue,resizable:d.multiline?!0:void 0,onChange:c,"onUpdate:modelValue":s}),t.createSlots({_:2},[t.renderList(t.useSlots(),(f,p)=>({name:p,fn:t.withCtx(m=>[t.renderSlot(d.$slots,p,t.normalizeProps(t.guardReactiveProps(m)))])}))]),1040,["model-value","resizable"]))}}),ow=["innerHTML"],Dn=Ee(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:r}=Ae(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=st(t.toRef(()=>e.name)),c=yt(s.path,t.toRef({...i,...o})),d=l==null?void 0:l.value;function u(_){d!==void 0&&_===""&&_!==d?(l.value=null,a("update:modelValue",null)):(l.value=_.trim(),a("update:modelValue",_.trim()))}const f=t.computed(()=>{var _;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((_=s.schema)==null?void 0:_.value).encrypted}),p=t.inject(Pe.AUTOFILL_SLOT,void 0),m=t.computed(()=>{var _;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((_=s.schema.value)!=null&&_.referenceable)}),h=t.computed(()=>({referenceable:m.value})),y=bo(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:_o(e.name)==="name");return(_,w)=>{var A;const b=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(b,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},_.$attrs)),[t.createVNode(pn,t.mergeProps({...t.unref(c),showPasswordMaskToggle:f.value,type:f.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":g.value,"data-autofocus":t.unref(y),"data-testid":`ff-${s.path.value}`,error:_.error,"error-message":_.errorMessage,help:_.help,"model-value":t.unref(l)??"",multiline:_.multiline,"onUpdate:modelValue":u}),t.createSlots({_:2},[(A=t.unref(c).labelAttributes)!=null&&A.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,ow)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline"]),t.unref(p)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(p)),{key:0,schema:h.value,update:u,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],16))}}}),[["__scopeId","data-v-fb5b80e5"]]),rw=["innerHTML"],_a=Ee(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=st(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=yt(i.path,o);return(c,d)=>{var f;const u=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(u,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(xe.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(r)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(f=t.unref(s).labelAttributes)!=null&&f.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,rw)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),Lc=Ee(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(p=>[p,""])),r=Object.fromEntries(n.map(p=>[p,"0"]));function i(p){const m=getComputedStyle(p);return Object.fromEntries(n.map(h=>[h,m.getPropertyValue(h)]))}function a(p){["overflow","transition",...n].forEach(m=>p.style.removeProperty(m))}function l(p){Object.assign(p.style,{overflow:"hidden",transition:"none"})}function s(p){const m=p;Object.assign(m.style,o);const h=i(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...h,transition:""})})}function c(p){a(p)}function d(p){const m=p;Object.assign(m.style,{...i(m),overflow:"hidden"})}function u(p){Object.assign(p.style,r)}function f(p){a(p)}return(p,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:f,onBeforeEnter:l,onBeforeLeave:d,onEnter:s,onLeave:u},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),iw=["data-testid"],aw=["data-testid"],lw=["data-testid"],sw=["innerHTML"],cw={class:"ff-object-field-actions"},dw=["data-testid"],ot=Ee(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultExpanded:{type:Boolean,default:!0},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{},fieldsOrder:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){const n=t.createPropsRestProxy(e,["defaultExpanded","defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,...r}=st(t.toRef(n,"name")),{getSchema:i,getDefault:a}=Me(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),c=t.computed(()=>p.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),d=t.computed(()=>{var g,_;if((g=r.ancestors)!=null&&g.value){const w=r.ancestors.value.parent;if(w!=null&&w.path)return((_=i(w.path))==null?void 0:_.type)==="array"}return!1}),u=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:d.value?"reset":"inherit"),f=yt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:u.value}))),p=t.computed(()=>f.value.required?!0:l.value??e.defaultAdded),m=t.computed(()=>e.asChild!==void 0?e.asChild:d.value),h=t.computed(()=>{let g=r.schema.value.fields;return e.omit&&(g=g.filter(_=>!e.omit.includes(Object.keys(_)[0]))),e.fieldsOrder?g.sort((_,w)=>{const b=Object.keys(_)[0],A=Object.keys(w)[0],S=e.fieldsOrder.indexOf(b),N=e.fieldsOrder.indexOf(A);return S===-1&&N===-1?0:S===-1?1:N===-1?-1:S-N}):g});function y(){l.value=!l.value,l.value?o.value=a(r.path.value):o.value=null}return t.watch(p,g=>{e.collapsible&&(s.value=g)}),t.onBeforeMount(()=>{l.value=!!(o!=null&&o.value)}),(g,_)=>{var b;const w=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(Rn)]))),r.error?(t.openBlock(),t.createBlock(w,{key:0,appearance:"danger",message:r.error.message},null,8,["message"])):m.value?(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},g.$attrs,{"data-testid":`ff-object-${r.path.value}`}),[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,A=>(t.openBlock(),t.createBlock(tt,{key:Object.keys(A)[0],name:Object.keys(A)[0]},null,8,["name"]))),128))],!0)],16,iw)):(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!c.value}],"data-testid":`ff-object-${r.path.value}`},g.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${r.path.value}`},[t.createVNode(t.unref(xe.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${r.path.value}`},{...t.unref(f),required:!1},{"tooltip-attributes":t.unref(f).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(f).label)+" ",1)]),_:2},[(b=t.unref(f).labelAttributes)!=null&&b.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(f).labelAttributes.info},null,8,sw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",cw,[g.collapsible&&p.value?(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${c.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${r.path.value}`,icon:"",onClick:_[0]||(_[0]=A=>s.value=!c.value)},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(f).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:1,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${p.value?"remove":"add"}`),"data-testid":`ff-object-${p.value?"remove":"add"}-btn-${r.path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(Ne.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(Ne.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,lw),t.createVNode(Lc,null,{default:t.withCtx(()=>[c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${r.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,A=>(t.openBlock(),t.createBlock(tt,{key:Object.keys(A)[0],name:Object.keys(A)[0]},null,8,["name"]))),128))],!0)],8,dw)):t.createCommentVNode("",!0)]),_:3})],16,aw))],64)}}}),[["__scopeId","data-v-6f044592"]]),uw=["innerHTML"],Mn=Ee(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=st(t.toRef(()=>e.name)),a=yt(i.path,o),l=t.computed(()=>{var y;const p=(y=i.schema)==null?void 0:y.value;if(typeof p.gt=="number")return{min:p.gt};const[m,h]=p.between??[];return{min:o.min??m,max:o.max??h}}),s=n,c=r.value,d=t.computed(()=>(r==null?void 0:r.value)!=null&&Number.isFinite(r.value)?`${r.value}`:"");function u(p){c!==void 0&&p===""&&Number(p)!==c?(r.value=null,s("update:modelValue",null)):(r.value=p===""?null:Number(p),s("update:modelValue",p===""?null:Number(p)))}const f=bo(i.ancestors);return(p,m)=>{var y;const h=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(pn,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(f),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:"number","onUpdate:modelValue":u}),t.createSlots({_:2},[(y=t.unref(a).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,uw)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-00c065d4"]]),fw=["innerHTML"],Nt=Ee(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean}},setup(e){const n=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:o}=Me(),{value:r,...i}=st(t.toRef(()=>e.name)),a=yt(i.path,n),l=t.computed(()=>e.items?e.items:i.path?o(i.path.value):[]),s=t.computed(()=>{var d;return e.multiple!==void 0?e.multiple:((d=i.schema.value)==null?void 0:d.type)==="set"}),c=t.computed(()=>s.value?xe.KMultiselect:xe.KSelect);return(d,u)=>{var p;const f=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(c),t.mergeProps({key:1},{...n,...t.unref(a)},{modelValue:t.unref(r),"onUpdate:modelValue":u[0]||(u[0]=m=>t.isRef(r)?r.value=m:null),class:"ff-enum-field",clearable:!t.unref(a).required,"data-testid":`ff-${i.path.value}`,items:l.value,"kpop-attributes":{"data-testid":`${i.path.value}-items`}}),t.createSlots({_:2},[(p=t.unref(a).labelAttributes)!=null&&p.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(d.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,fw)],!0)]),key:"0"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-01f60edf"]]);function ba(e,n,o=!0){const{value:r,...i}=st(t.toRef(e,"name")),a=yt(i.path,t.toRef({...e,...t.useAttrs()})),l=t.ref(d(e.initialValue??t.toValue(r)??{},e.keyOrder));function s(){return Cr("ff-kv-field-")}function c(g,_,w){const b=w.indexOf(g),A=w.indexOf(_);return b===-1&&A===-1?0:b===-1?1:A===-1?-1:b-A}function d(g,_){const w=Object.entries(g).map(([b,A])=>({id:s(),key:b,value:A}));return _&&w.sort((b,A)=>c(b.key,A.key,_)),w}function u(){const g={id:s(),key:e.defaultKey||"",value:e.defaultValue||""};return l.value.push(g),g}function f(g){const _=l.value.findIndex(w=>w.id===g);_!==-1&&l.value.splice(_,1)}function p(){l.value=d(e.initialValue||{},e.keyOrder)}function m(g){l.value=d(g,e.keyOrder)}let h=null;t.watch(l,g=>{if(!o)return;const _=g.length?Object.fromEntries(g.map(({key:w,value:b})=>[w,b]).filter(([w])=>w)):null;r.value=_,h=_,n("change",_)},{deep:!0,immediate:!0}),t.watch(()=>r==null?void 0:r.value,g=>{yo(g,h)||y(g)},{deep:!0});function y(g){if(!g){l.value=[];return}const _=new Map;l.value.forEach(S=>{S.key&&_.set(S.key,S)});const w=[],b=Object.keys(g);(e.keyOrder?[...b].sort((S,N)=>c(S,N,e.keyOrder)):b).forEach(S=>{const N=g[S];if(_.has(S)){const P=_.get(S);P.value=N,w.push(P)}else w.push({id:s(),key:S,value:N})}),l.value=w}return{entries:l,addEntry:u,removeEntry:f,reset:p,setValue:m,labelAttrs:a,field:i}}const pw=["data-testid"],mw=["data-testid"],gw=["innerHTML"],hw=["data-testid"],yw=Ee(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}},keyOrder:{}},emits:["change"],setup(e,{expose:n,emit:o}){const r=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{i18n:i}=Ae(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:d,setValue:u,labelAttrs:f,field:p}=ba(r,a),m=t.useTemplateRef("root");async function h(S,N="key"){var P;m.value&&(await t.nextTick(),(P=m.value.querySelector(`[data-${N}-input="${S}"]`))==null||P.focus())}function y(){s();const S=l.value.findIndex(({key:N})=>!N);h(S===-1?l.value.length-1:S)}function g(S){S===l.value.length-1&&s(),h(S+1)}const _=t.inject(Pe.AUTOFILL_SLOT,void 0),w=t.computed(()=>{var S,N;return e.showVaultSecretPicker??!!((N=(S=p.schema.value)==null?void 0:S.values)!=null&&N.referenceable)}),b=t.computed(()=>({referenceable:w.value}));function A(S,N){l.value[S].value=N}return n({reset:d,setValue:u}),(S,N)=>{var H;const P=t.resolveComponent("KAlert"),T=t.resolveComponent("KLabel"),M=t.resolveComponent("KButton");return t.unref(p).error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:t.unref(p).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"ff-kv-field","data-testid":`ff-kv-${t.unref(p).path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${t.unref(p).path.value}`},[t.createVNode(T,t.mergeProps({class:"ff-kv-field-label"},t.unref(f),{"data-testid":`ff-label-${t.unref(p).path.value}`,"tooltip-attributes":t.unref(f).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(f).label)+" ",1)]),_:2},[(H=t.unref(f).labelAttributes)!=null&&H.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(S.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(f).labelAttributes.info},null,8,gw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(M,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(p).path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["data-testid"])],8,mw),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(q,x)=>(t.openBlock(),t.createElementBlock("div",{key:q.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(p).path.value}.${x}`},[t.createVNode(pn,{modelValue:q.key,"onUpdate:modelValue":Y=>q.key=Y,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":x,"data-testid":`ff-key-${t.unref(p).path.value}.${x}`,placeholder:S.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(Y=>h(x,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(pn,{modelValue:q.value,"onUpdate:modelValue":Y=>q.value=Y,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(p).path.value}.${x}`,"data-value-input":x,placeholder:S.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(Y=>g(x),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(_)&&w.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(_)),{key:0,schema:b.value,update:Y=>A(x,Y),value:q.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),w.value&&!t.unref(_)?(t.openBlock(),t.createBlock(P,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${t.unref(p).path.value}`,message:t.unref(i).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),t.createVNode(M,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(p).path.value}.${x}`,icon:"",onClick:Y=>t.unref(c)(q.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,hw))),128))],8,pw))}}}),[["__scopeId","data-v-92e0893d"]]),_w=["data-testid"],bw=["innerHTML"],wa=Ee(t.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{name:{},labelAttributes:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=st(t.toRef(()=>e.name)),s=yt(l.path,t.toRef({...r,...o})),c=t.computed(()=>{var y,g;return((g=(y=l.schema)==null?void 0:y.value)==null?void 0:g.len_min)&&l.schema.value.len_min>0}),d=t.ref("");function u(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function f(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function p(y){d.value=y;const g=f(y),_=!g.length&&c.value?null:g;a.value=_,i("update:modelValue",_)}const m=bo(l.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:_o(e.name)==="name");return t.watch(a,y=>{const g=y?u(y):"";u(f(d.value))!==g&&(d.value=g)},{immediate:!0}),(y,g)=>{var w;const _=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(_,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(pn,t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":h.value,"data-autofocus":t.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":d.value??"","onUpdate:modelValue":p}),t.createSlots({_:2},[(w=t.unref(s).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,bw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,_w))}}}),[["__scopeId","data-v-a27f4ff1"]]),ww=["data-testid"],kw=["innerHTML"],Cw=Ee(t.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{name:{},labelAttributes:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=st(t.toRef(()=>e.name)),s=yt(l.path,t.toRef({...r,...o})),c=t.ref("");function d(p){c.value=p;let m=p||null;try{const h=JSON.parse(p);h&&typeof h=="object"&&(m=h)}catch{}a.value=m,i("update:modelValue",m)}const u=bo(l.ancestors),f=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:_o(e.name)==="name");return t.watch(a,p=>{if(p&&typeof p=="object"){try{const m=JSON.parse(c.value);yo(m,p)||(c.value=JSON.stringify(p,null,2))}catch{c.value=JSON.stringify(p,null,2)}return}c.value=p||""},{immediate:!0}),(p,m)=>{var y;const h=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-json-${l.path.value}`},[t.createVNode(pn,t.mergeProps(t.unref(s),{class:"ff-json-field","data-1p-ignore":f.value,"data-autofocus":t.unref(u),"data-testid":`ff-${l.path.value}`,"model-value":c.value??"",multiline:"","onUpdate:modelValue":d}),t.createSlots({_:2},[(y=t.unref(s).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,kw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,ww))}}}),[["__scopeId","data-v-5749f722"]]),Ew=["innerHTML"],Nw=Ee(t.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{name:{},labelAttributes:{},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:{t:r}}=Ae(),i=t.createPropsRestProxy(e,["showPasswordMaskToggle","name"]),a=n,{value:l,...s}=st(t.toRef(()=>e.name));if(s.error)throw new Error(s.error.message);const c=yt(s.path,t.toRef({...i,...o})),d=l.value?l.value.id:null,u=t.computed(()=>{var y;return c.value.placeholder?c.value.placeholder:r("plugins.free-form.foreign_placeholder",{entity:((y=s.schema.value)==null?void 0:y.reference)??"entity"})}),f=t.ref(d??"");function p(y){d!==void 0&&y===""&&y!==d?(l.value=null,a("update:modelValue",null)):(l.value={id:y.trim()},a("update:modelValue",l.value))}const m=bo(s.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:_o(e.name)==="name");return(y,g)=>{var _;return t.openBlock(),t.createBlock(pn,t.mergeProps(t.unref(c),{class:"ff-foreign-field","data-1p-ignore":h.value,"data-autofocus":t.unref(m),"data-testid":`ff-${s.path.value}`,error:y.error,"error-message":y.errorMessage,help:y.help,"model-value":f.value,placeholder:u.value,"onUpdate:modelValue":p}),t.createSlots({_:2},[(_=t.unref(c).labelAttributes)!=null&&_.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,Ew)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])}}}),[["__scopeId","data-v-b54c028e"]]),tt=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=st(t.toRef(n,"name")),r=t.computed(()=>{var i,a;switch((a=(i=o.schema)==null?void 0:i.value)==null?void 0:a.type){case"string":return"one_of"in o.schema.value?Nt:Dn;case"boolean":return"one_of"in o.schema.value?Nt:_a;case"number":case"integer":return"one_of"in o.schema.value?Nt:Mn;case"array":return Nr;case"set":return q0(o.schema)?wa:Nt;case"record":return ot;case"map":return yw;case"json":return Cw;case"foreign":return Nw;default:return}});return(i,a)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(Rn)]))),t.unref(o).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(o).error.message},null,8,["message"])):t.unref(o).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).renderer.value),{key:1,name:pa(t.unref(o).path.value),onGlobalAction:a[0]||(a[0]=(s,c)=>i.$emit("globalAction",s,c))},null,40,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,name:pa(t.unref(o).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(o).path.value} ${t.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),vw=["data-testid"],Sw=["data-testid"],xw=["innerHTML"],Aw=["data-testid"],Iw={class:"ff-array-field-item-content"},Pw=["data-index","data-testid"],Nr=Ee(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(e,{emit:n}){var N;t.useCssVars(P=>({"3e1c9ee2":S.value}));const o=e,r=n,{i18n:{t:i}}=Ae(),{getDefault:a,getSchema:l}=Me(),{value:s,...c}=st(t.toRef(o,"name")),d=yt(c.path,t.toRef({...o,...t.useAttrs()})),u=t.computed(()=>{if(!c.path)throw new Error("Field path is required for sub-schema retrieval");const P=l(c.path.value);if(!P)throw new Error(`Schema not found for path: ${c.path.value}`);return P.elements}),f=t.computed(()=>o.items??t.toValue(s)??[]),{getKey:p}=Dc("ff-array-field",f),m=t.computed(()=>o.appearance==="card"?xe.KCard:"div");function h(P,T){return typeof o.itemLabel=="function"?o.itemLabel(P,T):o.itemLabel||d.value.label||`Item #${T}`}const y=t.computed(()=>f.value.map((P,T)=>({hash:`#${p(P,T)}`,title:""}))),g=t.ref((N=y.value[0])==null?void 0:N.hash),_=async()=>{var T;const P=a(ht(c.path.value,fa));Array.isArray(s.value)||(s.value=[]),s.value.push(P),r("add"),o.appearance==="tabs"&&(await t.nextTick(),g.value=(T=y.value[y.value.length-1])==null?void 0:T.hash),await t.nextTick(),A(f.value.length+1)},w=async P=>{var T;Array.isArray(s.value)&&s.value.splice(P,1),r("remove",P),o.appearance==="tabs"&&(g.value=(T=y.value[Math.max(0,P-1)])==null?void 0:T.hash)},b=t.useTemplateRef("root");function A(P){var M;if(!b.value)return;const T=Math.max(0,Math.min(P,f.value.length-1));(M=b.value.querySelector(`[data-index="${T}"] [data-autofocus]`))==null||M.focus()}const S=t.computed(()=>{const{appearance:P,stickyTabs:T}=o;return P!=="tabs"||T==null||T===!1?null:typeof T=="number"?`${o.stickyTabs}px`:typeof T=="string"?T:"0"});return(P,T)=>{var Y;const M=t.resolveComponent("KAlert"),H=t.resolveComponent("KLabel"),q=t.resolveComponent("KButton"),x=t.resolveComponent("KTabs");return c.error?(t.openBlock(),t.createBlock(M,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:b,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${P.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":P.stickyTabs}]),"data-testid":`ff-array-${c.path.value}`},[t.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${c.path.value}`},[t.createVNode(H,t.mergeProps({class:"ff-array-field-label"},t.unref(d),{"data-testid":`ff-label-${c.path.value}`,"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(Y=t.unref(d).labelAttributes)!=null&&Y.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(P.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,xw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(q,{appearance:"tertiary","aria-label":t.unref(i)("actions.add_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),"data-testid":`ff-add-item-btn-${c.path.value}`,icon:"",onClick:_},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,Sw),f.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[P.appearance!=="tabs"?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-array-field-container","data-testid":`ff-array-basic-container-${c.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,(I,F)=>(t.openBlock(),t.createBlock(t.unref(m),{key:t.unref(p)(I,F),class:"ff-array-field-item","data-index":F,"data-testid":`ff-array-item-${c.path.value}.${F}`},{default:t.withCtx(()=>[t.createElementVNode("div",Iw,[P.$slots.item?t.renderSlot(P.$slots,"item",{key:0,fieldName:String(F),index:F},void 0,!0):t.createCommentVNode("",!0),u.value.type==="array"&&u.value.elements.type==="string"?(t.openBlock(),t.createBlock(wa,{key:1,help:t.unref(i)("plugins.free-form.tag_helper"),name:String(F)},null,8,["help","name"])):(t.openBlock(),t.createBlock(tt,{key:2,name:String(F)},null,8,["name"]))]),t.createVNode(q,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${F}`,icon:"",onClick:L=>w(F)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,Aw)):(t.openBlock(),t.createBlock(t.unref(xe.KCard),{key:1,"data-testid":`ff-array-tab-container-${c.path.value}`},{default:t.withCtx(()=>[t.createVNode(x,{modelValue:g.value,"onUpdate:modelValue":T[0]||(T[0]=I=>g.value=I),"data-testid":`ff-array-tabs-${c.path.value}`,tabs:y.value},t.createSlots({_:2},[t.renderList(f.value,(I,F)=>({name:t.unref(p)(I,F),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":F,"data-testid":`ff-array-item-${c.path.value}.${F}`},[P.$slots.item?t.renderSlot(P.$slots,"item",{key:0,fieldName:String(F),index:F},void 0,!0):(t.openBlock(),t.createBlock(tt,{key:1,name:String(F)},null,8,["name"]))],8,Pw)])})),t.renderList(f.value,(I,F)=>({name:`${t.unref(p)(I,F)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(h(I,F))+" ",1),t.createVNode(q,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${F}`,icon:"",onClick:t.withModifiers(L=>w(F),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,vw))}}}),[["__scopeId","data-v-3edd064c"]]),wo=Symbol(),Tw=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=Me(),r=t.computed(()=>{const{callouts:l}=o.config;return l==null?[]:l.filter(({name:s})=>{var c;return s&&s!==((c=l[n.index])==null?void 0:c.name)})}),i=t.computed(()=>r.value.map(({[wo]:l,name:s})=>({value:l,label:s}))),a=t.computed(()=>o.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(ot,{name:l.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(Nt,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(ot,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(Nt,t.mergeProps(d,{items:t.unref(ua)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),Ow=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=Me();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[wo]=Mc())}return(r,i)=>(t.openBlock(),t.createBlock(Nr,{appearance:"tabs","item-label":a=>a.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:o},{item:t.withCtx(({index:a,fieldName:l})=>[t.createVNode(Tw,{"field-name":l,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),Fc=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),r=t.inject(Er);if(!r)throw new Error(Er.toString()+"not provided");return o&&r.set(n.match,o),(i,a)=>null}}),pt=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:o}){const r=o,i=t.useSlots(),a=Y0(e.schema);t.provide(Pc,a);const l=m=>{var h;return fr((h=e.config)==null?void 0:h.hasValue)?e.config.hasValue(m):!!m},s=t.computed(()=>{let m=a.getSchema().fields;return e.fieldsOrder?m.sort((h,y)=>{const g=Object.keys(h)[0],_=Object.keys(y)[0],w=e.fieldsOrder.indexOf(g),b=e.fieldsOrder.indexOf(_);return w===-1&&b===-1?0:w===-1?1:b===-1?-1:w-b}):m});let c=!1;const d=t.reactive({});t.provide(Ic,d),t.provide(ma,_c(i,"default",Rn));const u=new Map;t.provide(Er,u),t.provide(Oc,e.config??{}),t.watch(d,m=>{c&&r("change",t.toValue(m))},{deep:!0,immediate:!0});function f(m){Object.keys(d).forEach(h=>{delete d[h]}),Object.assign(d,m)}function p(m){var y;let h;!m||!l(t.toValue(m))?h=a.getDefault():h=$n(t.toValue(m)),fr((y=e.config)==null?void 0:y.prepareFormData)?f(e.config.prepareFormData(h)):f(h),c=!0}return t.onBeforeMount(()=>{p(e.data)}),t.watch(()=>e.data,m=>{p(m)},{deep:!0}),n({getInnerData:()=>t.toRaw(d)}),(m,h)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref(Rn)]))),t.renderSlot(m.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,y=>(t.openBlock(),t.createBlock(tt,{key:Object.keys(y)[0],name:Object.keys(y)[0],onGlobalAction:h[0]||(h[0]=(g,_)=>r("globalAction",g,_))},null,8,["name"]))),128))])]),_:3}))}}),$w={class:"ff-advanced-fields"},vr=Ee(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=Ke.createI18n("en-us",Ye),{getSchema:o}=Me(),r=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref(xe.KCollapse),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=l=>r.value=l),"data-testid":"view-advanced","trigger-label":r.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",$w,[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(tt,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(tt,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(wa,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-54f66af5"]]),Bw=Ee(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:i}}=Ae();function a(d,u=!1){return d.reduce((f,{[wo]:p,name:m})=>(u?f[m]=p:f[p]=m,f),{})}function l(d){var m;const u=$n(d);if(!((m=u.config)!=null&&m.callouts))return u;const{callouts:f}=u.config;f.forEach(h=>{h.request.body.custom=h.request.body.custom??{},h[wo]=Mc()});const p=a(f,!0);return f.forEach(h=>{h.depends_on=h.depends_on.map(y=>p[y])}),u}function s(d){return!!(d!=null&&d.config)}function c(d){var p;if(!d)return;const u=$n(d);if(!((p=u.config)!=null&&p.callouts))throw new Error("data is not correct");const f=a(u.config.callouts);u.config.callouts=u.config.callouts.map(m=>{const{[wo]:h,depends_on:y,...g}=m;return{depends_on:y.map(_=>f[_]).filter(_=>_!=null),...g}}),o("change",u)}return(d,u)=>(t.openBlock(),t.createBlock(pt,{class:"rc-config-form",config:r,data:d.data,schema:d.schema,tag:"div",onChange:c},{[t.unref(Rn)]:t.withCtx(()=>[t.createVNode(Fc,{match:({path:f})=>f.endsWith("by_lua")},{default:t.withCtx(f=>[t.createVNode(Dn,t.mergeProps(f,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(i)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(Fc,{match:({path:f})=>["cluster_nodes","sentinel_nodes"].some(p=>f.endsWith(p))},{default:t.withCtx(f=>[t.createVNode(Nr,t.mergeProps(f,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Ow),t.createVNode(ot,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(ot,{appearance:"card",name:"cache"},{redis:t.withCtx(f=>[t.createVNode(ot,t.mergeProps(f,{"fields-order":["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"]}),null,16)]),_:2},1024)]),_:1}),t.createVNode(vr)]),_:2},1032,["data","schema"]))}}),[["__scopeId","data-v-19d40902"]]),Vw={class:"ff-form-pinned-fields"},Rw={class:"ff-form-config-form"},ka=Ee(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=Ke.createI18n("en-us",Ye),o=e;t.useSlots();function r(u){return t.computed(()=>({fields:t.toValue(u).map(f=>{var p;return(p=o.formSchema)==null?void 0:p.fields.find(m=>m.model===f)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const u=o.schema;u.fields=u.fields.filter(p=>l.includes(Object.keys(p)[0])),u.fields.unshift({instance_name:{type:"string",description:n("plugins.form.fields.instance_name.help")}},{tags:{type:"set",default:[],description:n("plugins.form.fields.tags.help"),elements:{type:"string"}}});const f=u.fields.find(p=>Object.keys(p)[0]==="protocols");return f&&(f.protocols.help=f.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:f.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),f.protocols.description=n("plugins.form.fields.protocols.help")),u}),c=t.ref(!1),d=t.computed(()=>{const u=["config","instance_name","partials","protocols","tags","__ui_data"];return sa(o.model,u)});return(u,f)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Vw,[t.createVNode(t.unref(Pe.VueFormGenerator),{model:u.formModel,options:u.formOptions,schema:t.unref(a),onModelUpdated:u.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(xe.KCollapse),{modelValue:c.value,"onUpdate:modelValue":f[1]||(f[1]=p=>c.value=p),class:"ff-form-config-fields"},{title:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Rw,[t.renderSlot(u.$slots,"default",{class:"ff-form",data:d.value,schema:s.value,onChange:f[0]||(f[0]=(...p)=>u.onFormChange&&u.onFormChange(...p))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),Dw=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(ka,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Bw,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),Mw={key:1},Lw=["innerHTML"],Fw={class:"horizontal-container"},Uw=Ee(t.defineComponent({__name:"RadioField",props:{name:{},labelAttributes:{},multiple:{type:Boolean},items:{},label:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=Me(),a=st(t.toRef(()=>e.name)),l=yt(a.path,r),s=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=d=>{a.value&&(a.value.value=d),o("update:modelValue",d)};return(d,u)=>{var m;const f=t.resolveComponent("KAlert"),p=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Mw,[t.createVNode(p,t.normalizeProps(t.guardReactiveProps(t.unref(l).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(m=t.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,Lw)]),key:"0"}:void 0]),1040),t.createElementVNode("div",Fw,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,h=>(t.openBlock(),t.createBlock(t.unref(xe.KRadio),{key:h.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[u[0]||(u[0]=y=>t.unref(a).value.value=y),c],"card-orientation":"horizontal",label:h.label,"selected-value":h.value},null,8,["model-value","label","selected-value"]))),128))])]))}}}),[["__scopeId","data-v-b5a23a0b"]]),Kw={class:"sp-form-request-limits-subtitle"},jw={class:"sp-form-request-limits-content"},Gw={class:"sp-form-window-type"},qw={class:"sp-form-request-limits-items"},zw={class:"sp-form-request-limits-row"},Hw=["id"],Yw={class:"sp-form-request-limits-actions"},Ww={key:0,class:"sp-form-request-limits-examples"},Xw={class:"sp-form-request-limits-examples-badges"},Ca="config.window_type",Zw=Ee(t.defineComponent({__name:"RequestLimitsForm",setup(e){var g;const{t:n}=Ke.createI18n("en-us",Ye),{formData:o,getSelectItems:r,getSchema:i}=Me(),a=t.computed(()=>{var w,b;const _=(b=(w=o.config)==null?void 0:w.limit)==null?void 0:b.map((A,S)=>{var N,P;return{limit:A,windowSize:(P=(N=o.config)==null?void 0:N.window_size)==null?void 0:P[S]}});return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Dc("request-limits",a),s=_=>{var w,b;p.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(b=o.config.window_size)!=null&&b.length||(o.config.window_size=[null]),o.config.limit.splice(_+1,0,null),o.config.window_size.splice(_+1,0,null))},c=_=>{o.config&&(o.config.limit.splice(_,1),o.config.window_size.splice(_,1))},d=(g=i(Ca))==null?void 0:g.default,u=t.computed(()=>Ts(o,Ca)),f=t.computed(()=>r(Ca).sort((_,w)=>_.value===d?-1:w.value===d?1:0)),p=t.ref(),m={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},h=t.computed(()=>Object.prototype.hasOwnProperty.call(m,u.value)?m[u.value]:[]),y=(_,w)=>{if(w===p.value){t.nextTick(()=>{p.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{p.value=w}),o.config.limit=[_.config.limit],o.config.window_size=[_.config.window_size]};return(_,w)=>{const b=t.resolveComponent("KLabel"),A=t.resolveComponent("KButton"),S=t.resolveComponent("KBadge"),N=t.resolveComponent("KTooltip"),P=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(P,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",Kw,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",jw,[t.createElementVNode("div",Gw,[t.createVNode(Uw,{items:f.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=T=>p.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",qw,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(T,M)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(T,M)},[t.createVNode(b,{for:`sp-form-request-limits-item-${M}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:M+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",zw,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${M}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Mn,{name:`$.config.limit.${M}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Mn,{name:`$.config.window_size.${M}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,Hw),t.createElementVNode("div",Yw,[t.createVNode(A,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(A,{appearance:"tertiary",onClick:()=>s(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",Ww,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",Xw,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(T,M)=>(t.openBlock(),t.createBlock(N,{key:`use-case-${M}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(T.description),1),w[1]||(w[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(T.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(T.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(S,{appearance:p.value===`${u.value}-${M}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>y(T,`${u.value}-${M}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),Jw={id:"sp-form-error-legend",class:"sp-form-error-inputs"},Qw=Ee(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Ke.createI18n("en-us",Ye);return(o,r)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"sp-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Jw,[t.createVNode(Mn,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(Dn,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),ek={class:"partial-config-card"},tk={class:"config-card-row-label"},nk={class:"label-text"},ok=["data-testid"],rk=["data-testid"],ik={key:1},ak=["data-testid"],lk=["data-testid"],sk=Ee(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=Ke.createI18n("en-us",Ye),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},i=e,a=f=>f!=null,l=(f,p)=>a(p)&&["password","sentinel_password"].includes(f)?"password":"text",{convertKeyToTitle:s}=ce.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([f,p])=>{var m,h,y,g;return{key:f,label:((m=r[f])==null?void 0:m.label)??s(f),value:(h=r[f])!=null&&h.formatter?r[f].formatter(p):p,type:((y=r[f])==null?void 0:y.type)??l(f,p),order:((g=r[f])==null?void 0:g.order)??100}}).sort((f,p)=>f.order-p.order).filter(f=>f.type!=="hidden")),d=G0(i.configFields,i.pluginRedisFields||[]),u=t.computed(()=>c.value.concat(d));return(f,p)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",ek,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,({key:h,label:y,value:g,type:_})=>(t.openBlock(),t.createElementBlock("div",{key:h,class:"partial-config-card-row"},[t.createElementVNode("div",tk,[t.createElementVNode("div",nk,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${h}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",ik,[_==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(g)},null,8,["text"])],8,ak)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${h}-plain-text`},t.toDisplayString(g),9,lk))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-no-value`}," – ",8,rk))],8,ok)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),ck=Ee(t.defineComponent({__name:"NewRedisPartialModal",props:{visible:{type:Boolean,default:!1},partialType:{type:String,default:""}},emits:["partialUpdated","partialUpdateFailed","modalClose"],setup(e,{emit:n}){const o=e,{t:r}=Ke.createI18n("en-us",Ye),i=t.inject(Pe.FORMS_CONFIG),a=n,{getMessageFromError:l}=ce.useErrors(),s=t.computed(()=>{switch(o.partialType){case ao.PartialType.REDIS_CE:return ao.PartialType.REDIS_EE;case ao.PartialType.REDIS_EE:return ao.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),d=t.ref(),u=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},f=()=>{a("partialUpdated",{message:r("plugins.free-form.redis_partial.partial_created_success_message"),appearance:"success"}),p()},p=()=>{d.value=void 0,a("modalClose"),t.nextTick(()=>{c.value=!1})};return t.watch(()=>o.visible,m=>{m&&(c.value=!0,t.nextTick(()=>{d.value="#km-modal-footer"}))}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{class:"plugin-redis-partial-form","data-testid":"redis-partial-form-modal","full-screen":"",title:t.unref(r)("plugins.free-form.redis_partial.redis_partial_modal_title"),visible:c.value,onCancel:p},{footer:t.withCtx(()=>h[0]||(h[0]=[t.createElementVNode("div",{id:"km-modal-footer"},null,-1)])),default:t.withCtx(()=>[t.createVNode(t.unref(ao.RedisConfigurationForm),{"action-teleport-target":d.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:p,onError:u,onUpdate:f},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),dk="#52596e",uk="#e0e4ea",fk="#007d60",pk="#6c7489",mk="#0044f4",gk="#5f9aff",hk="#000933",Uc="#d60027",Kc="#afb7c5",ko="12px",yk="16px",Ea="20px",jc="8px",Gc=Symbol("redis-partial-info"),qc={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},zc=["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"],_k={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},bk={key:0,class:"shared-redis-config"},wk={class:"shared-redis-config-title"},kk={class:"redis-config-select","data-testid":"redis-config-select"},Ck={class:"selected-redis-config"},Ek=["data-testid"],Nk={class:"select-item-name","data-testid":"selected-redis-config"},vk={class:"empty-redis-config","data-testid":"empty-redis-config"},Sk={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},xk="1000",Ak=Ee(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var Z;const o=n,{t:r}=Ke.createI18n("en-us",Ye),i=e,a=t.inject(Gc),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var W;return i.redisPath?i.redisPath:(W=a==null?void 0:a.redisPath)!=null&&W.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((Z=a==null?void 0:a.redisType)==null?void 0:Z.value)||"all",d=t.computed(()=>{var W;return!!((W=a==null?void 0:a.redisType)!=null&&W.value)}),u=t.ref(!1),f=t.ref(null),p=t.ref(!l),{getMessageFromError:m}=ce.useErrors(),h=t.ref(i.defaultRedisConfigItem),y=t.ref({}),g=t.ref(),{value:_}=Rc("$.partials"),{value:w}=st(s),b=t.inject(Pe.FORMS_CONFIG),{debouncedQueryChange:A,loading:S,error:N,loadItems:P,results:T}=ce.useDebouncedFilter(b,qc[b.app].getAll,xk,{fetchedItemsKey:"data",searchKeys:["id","name"]}),M=t.computed(()=>N.value?m(N.value):""),H=W=>{let K=`${b.apiBaseUrl}${qc[b.app].getOne}`;return b.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,(b==null?void 0:b.controlPlaneId)||""):b.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,b!=null&&b.workspace?`/${b.workspace}`:"")),K=K.replace(/{id}/gi,String(W)),K},q=t.computed(()=>{const W=(T.value||[]).map(K=>({label:K.id,name:K.name,value:K.id,type:K.type,tag:U0(K)})).filter(K=>K.type==="redis-ce"||K.type==="redis-ee");return c!=="all"?W.filter(K=>K.type===c):W}),{axiosInstance:x}=ce.useAxios(b==null?void 0:b.axiosRequestConfig),Y=()=>{p.value?(g.value&&(_.value=g.value,h.value=g.value[0].id,w.value=void 0),w!=null&&w.value&&(y.value=w.value)):(Object.keys(y.value).length&&(w.value=y.value),_!=null&&_.value&&(g.value=_.value),_.value=l?null:void 0)},I=W=>{P(),o("globalAction","notify",W)},F=W=>{o("globalAction","notify",W)},L=async W=>{if(W){h.value=W,_.value=[{id:W}],g.value=[{id:W}],w.value=void 0;try{const K=await x.get(H(W));if(K.data.config){const U=Object.assign(K.data,K.data.config);delete U.config,f.value=U}}catch(K){console.error(K)}}};return t.watch(()=>p.value,()=>{Y()}),t.onBeforeMount(()=>{var W;if(P(),i.defaultRedisConfigItem||_!=null&&_.value){const K=i.defaultRedisConfigItem||((W=_==null?void 0:_.value)==null?void 0:W[0].id);L(K),p.value=!0}else w!=null&&w.value&&(y.value=w.value)}),(W,K)=>{const U=t.resolveComponent("KBadge"),R=t.resolveComponent("KRadio"),D=t.resolveComponent("KSelect"),te=t.resolveComponent("KCard");return d.value?(t.openBlock(),t.createBlock(te,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",_k,[t.createVNode(R,{modelValue:p.value,"onUpdate:modelValue":K[0]||(K[0]=X=>p.value=X),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:t.unref(r)("redis.shared_configuration.description"),label:t.unref(r)("redis.shared_configuration.label"),"selected-value":!0},{default:t.withCtx(()=>[t.createVNode(U,{appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.createVNode(R,{modelValue:p.value,"onUpdate:modelValue":K[1]||(K[1]=X=>p.value=X),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:t.unref(r)("redis.dedicated_configuration.description"),label:t.unref(r)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),p.value?(t.openBlock(),t.createElementBlock("div",bk,[t.createElementVNode("div",wk,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",kk,[t.createVNode(D,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:q.value,loading:t.unref(S),"model-value":h.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:K[3]||(K[3]=X=>L(X==null?void 0:X.value)),onQueryChange:t.unref(A)},{"selected-item-template":t.withCtx(({item:X})=>[t.createElementVNode("div",Ck,t.toDisplayString(X.name),1)]),"item-template":t.withCtx(({item:X})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${X.name}`},[t.createElementVNode("span",Nk,t.toDisplayString(X.name),1),t.createVNode(U,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(X.tag),1)]),_:2},1024)],8,Ek)]),empty:t.withCtx(()=>[t.createElementVNode("div",vk,t.toDisplayString(t.unref(r)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:K[2]||(K[2]=()=>u.value=!0)},[t.createVNode(t.unref(Ne.AddIcon),{size:t.unref(ko)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(j0)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),f.value?(t.openBlock(),t.createBlock(sk,{key:0,"config-fields":f.value},null,8,["config-fields"])):t.createCommentVNode("",!0),M.value?(t.openBlock(),t.createElementBlock("p",Sk,t.toDisplayString(M.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(ot,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(zc),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(ck,{"partial-type":t.unref(c),visible:u.value,onModalClose:K[4]||(K[4]=X=>u.value=!1),onPartialUpdateFailed:F,onPartialUpdated:I},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(ot,t.mergeProps({key:1},i,{"fields-order":t.unref(zc),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-12b9ad82"]]),Ik=t.defineComponent({__name:"RedisField",emits:["globalAction"],setup(e){const{formData:n}=Me();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(Lc,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock(Ak,{key:0,onGlobalAction:r[0]||(r[0]=(...a)=>o.$emit("globalAction",...a))})):t.createCommentVNode("",!0)]}),_:1}))}}),Pk=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change","globalAction"],setup(e,{emit:n}){const o=n,r={hasValue:a=>!!(a!=null&&a.config)};function i(a){var l;((l=a.config)==null?void 0:l.namespace)===null&&delete a.config.namespace,o("change",a)}return(a,l)=>(t.openBlock(),t.createBlock(pt,{config:r,data:a.data,schema:a.schema,tag:"div",onChange:i},{default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Zw),t.createVNode(Qw)]),_:1}),t.createVNode(vr,null,{default:t.withCtx(()=>[t.createVNode(tt,{name:"config.dictionary_name"}),t.createVNode(tt,{name:"config.lock_dictionary_name"}),t.createVNode(tt,{name:"config.strategy"}),t.createVNode(Ik,{onGlobalAction:l[0]||(l[0]=(...s)=>a.$emit("globalAction",...s))}),t.createVNode(tt,{name:"config.namespace"}),t.createVNode(tt,{name:"config.hide_client_headers"}),t.createVNode(tt,{name:"config.disable_penalty"}),t.createVNode(tt,{name:"config.retry_after_jitter_max"}),t.createVNode(tt,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),Tk=t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},emits:["globalAction"],setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(ka,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Pk,t.mergeProps(a,{onGlobalAction:i[0]||(i[0]=(...l)=>r.$emit("globalAction",...l))}),null,16)]),_:1},16))}}),Ok={class:"ff-standard-layout"},$k={class:"enabled"},Bk={class:"scope"},Vk={key:0,class:"scope-detail"},Hc=Ee(t.defineComponent({__name:"StandardLayout",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Ke.createI18n("en-us",Ye),o=e,r=t.useSlots(),i=t.computed(()=>{var g;return{fields:(g=o.formSchema)==null?void 0:g.fields.filter(_=>_.model==="enabled")}}),a=t.computed(()=>{var g;return(g=o.formSchema)==null?void 0:g.fields.find(_=>_.model==="selectionGroup")}),l=t.computed(()=>(a.value.fields||[]).map(({label:g,description:_})=>({label:g,description:_}))),s=t.computed(()=>a.value.fields[1]),c=t.computed(()=>{var _;const g=["instance_name","protocols","tags"];return{fields:(_=o.formSchema)==null?void 0:_.fields.filter(w=>g.includes(w.model))}}),d=["config"],u=t.computed(()=>{const g=o.schema;return g.fields=g.fields.filter(_=>d.includes(Object.keys(_)[0])),g}),f=t.computed(()=>{const g=["config","partials","__ui_data"];return sa(o.model,g)}),p=sa(o.formModel,["service-id","route-id","consumer-id","consumer_group-id"]),m=t.ref(Object.values(p).some(g=>!!g)),h=t.ref(!0);function y(g,_){p[_]=g,o.onModelUpdated(g,_)}return t.watch(m,g=>{g?Object.keys(p).forEach(_=>{o.onModelUpdated(p[_],_)}):Object.keys(p).forEach(_=>{o.onModelUpdated("",_)})}),(g,_)=>{const w=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Ok,[t.createVNode(t.unref(ce.EntityFormBlock),{description:g.generalInfoDescription??t.unref(n)("plugins.form.sections.general_info.description"),step:1,title:g.generalInfoTitle??t.unref(n)("plugins.form.sections.general_info.title")},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",$k,[t.createVNode(t.unref(Pe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",Bk,[t.createVNode(t.unref(xe.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":_[0]||(_[0]=b=>m.value=b),card:"","card-orientation":"horizontal"},l.value[0],{"selected-value":!1}),null,16,["modelValue"]),t.createVNode(t.unref(xe.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":_[1]||(_[1]=b=>m.value=b),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),m.value?(t.openBlock(),t.createElementBlock("div",Vk,[t.createVNode(t.unref(Pe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:y},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(w,{modelValue:h.value,"onUpdate:modelValue":_[2]||(_[2]=b=>h.value=b),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(Pe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:c.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),_:1},8,["modelValue"])]),_:2},[r["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,r["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,r["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),t.createVNode(t.unref(ce.EntityFormBlock),{description:g.pluginConfigDescription??t.unref(n)("plugins.form.sections.plugin_config.description"),step:2,title:g.pluginConfigTitle??t.unref(n)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(g.$slots,"default",{data:f.value,schema:u.value,onChange:_[3]||(_[3]=(...b)=>g.onFormChange&&g.onFormChange(...b))},void 0,!0)]),_:2},[r["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,r["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,r["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])])}}}),[["__scopeId","data-v-1c3374ec"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Yc(e){return typeof e>"u"||e===null}function Rk(e){return typeof e=="object"&&e!==null}function Dk(e){return Array.isArray(e)?e:Yc(e)?[]:[e]}function Mk(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function Lk(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function Fk(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Uk=Yc,Kk=Rk,jk=Dk,Gk=Lk,qk=Fk,zk=Mk,We={isNothing:Uk,isObject:Kk,toArray:jk,repeat:Gk,isNegativeZero:qk,extend:zk};function Wc(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
14
14
 
15
15
  `+e.mark.snippet),r+" "+o):r}function Co(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Wc(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Co.prototype=Object.create(Error.prototype),Co.prototype.constructor=Co,Co.prototype.toString=function(n){return this.name+": "+Wc(this,n)};var nt=Co;function Na(e,n,o,r,i){var a="",l="",s=Math.floor(i/2)-1;return r-n>s&&(a=" ... ",n=r-s+a.length),o-r>s&&(l=" ...",o=r+s-l.length),{str:a+e.slice(n,o).replace(/\t/g,"→")+l,pos:r-n+a.length}}function va(e,n){return We.repeat(" ",n-e.length)+e}function Hk(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var o=/\r?\n|\r|\0/g,r=[0],i=[],a,l=-1;a=o.exec(e.buffer);)i.push(a.index),r.push(a.index+a[0].length),e.position<=a.index&&l<0&&(l=r.length-2);l<0&&(l=r.length-1);var s="",c,d,u=Math.min(e.line+n.linesAfter,i.length).toString().length,f=n.maxLength-(n.indent+u+3);for(c=1;c<=n.linesBefore&&!(l-c<0);c++)d=Na(e.buffer,r[l-c],i[l-c],e.position-(r[l]-r[l-c]),f),s=We.repeat(" ",n.indent)+va((e.line-c+1).toString(),u)+" | "+d.str+`
16
16
  `+s;for(d=Na(e.buffer,r[l],i[l],e.position,f),s+=We.repeat(" ",n.indent)+va((e.line+1).toString(),u)+" | "+d.str+`
@@ -116,7 +116,7 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
116
116
  input: API
117
117
  status: 200
118
118
  `},Symbol.toStringTag,{value:"Module"})),eN={class:"dk-code-editor"},tN={class:"examples-content"},nN={ref:"editor-root",class:"editor"},La="YAML Syntax",oN="datakit.insert-example",rN=Ee(t.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean}},emits:["change","error"],setup(e,{expose:n,emit:o}){const{t:r}=Ke.createI18n("en-us",Ye),{formData:i}=Me(),a=o,l=t.useTemplateRef("editor-root"),s=t.shallowRef(null);function c(u){const f=s.value,p=f==null?void 0:f.getModel();if(!f||!p)return;const m=Zd[u];f.getValue()!==m&&(f.pushUndoStop(),f.executeEdits(oN,[{range:p.getFullModelRange(),text:m}]),f.pushUndoStop()),d()}function d(){const u=s.value,f=u==null?void 0:u.getModel();!u||!f||(u.setPosition(f.getFullModelRange().getEndPosition()),u.focus())}return t.onMounted(()=>{const u=sr.editor.create(l.value,{language:"yaml",automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep"});if(s.value=u,i.config&&Object.keys(i.config).length>0){const f={...i.config};f.nodes&&f.nodes.length===0&&delete f.nodes;const p=Object.keys(f).length===0?"":Xd.dump(t.toRaw(f),{schema:Ma,noArrayIndent:!0});u.setValue(p),d()}u.onDidChangeModelContent(()=>{const f=u.getModel(),p=u.getValue()||"";try{const m=Xd.load(p,{schema:Ma,json:!0});sr.editor.setModelMarkers(f,La,[]),i.config=m,a("change",m)}catch(m){const{message:h,mark:y}=m,{line:g,column:_}=y||{line:0,column:0},w=h.split(`
119
- `)[0],b=[{startLineNumber:g+1,startColumn:_+1,endLineNumber:g+1,endColumn:_+2,message:w,severity:sr.MarkerSeverity.Error,source:La}];sr.editor.setModelMarkers(f,La,b),a("error",w)}})}),t.onBeforeUnmount(()=>{var u;(u=s.value)==null||u.dispose()}),n({setExampleCode:c}),(u,f)=>(t.openBlock(),t.createElementBlock("div",eN,[t.createVNode(t.unref(xe.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",tN,[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(Zd,(p,m)=>t.createVNode(t.unref(xe.KButton),{key:m,appearance:"secondary",size:"small",onClick:h=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)(`plugins.free-form.datakit.examples.${m}`)),1)]),_:2},1032,["onClick"])),64))])]),_:1}),t.createElementVNode("div",nN,null,512)]))}}),[["__scopeId","data-v-f15f69c5"]]),Jd=44,iN=220,Qd=366,aN=Jd+parseFloat(jc),Or=["request","service_request","service_response","response"],$r=Or,eu=["call","jq","exit","property","static"],tu=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],xo="application/x-datakit+json",Br={delete:["Delete"],undo:["Mod","Z"],redo:{mac:["Mod","Shift","Z"],windows:["Mod","Y"],linux:["Mod","Shift","Z"]},copy:["Mod","C"],paste:["Mod","V"],duplicate:["Mod","D"]},{t:Fa}=Ke.createI18n("en-us",Ye);function St(e){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function Ao(e){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function lN(e){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${e}.name`)}const Vr={call:{type:"call",summary:Ao("call"),description:St("call"),icon:Ne.NetworkIcon,io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}}},jq:{type:"jq",summary:Ao("jq"),description:St("jq"),icon:Ne.CodeblockIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},exit:{type:"exit",summary:Ao("exit"),description:St("exit"),icon:Ne.GatewayIcon,io:{input:{fields:[{name:"headers"},{name:"body"}]}}},property:{type:"property",summary:Ao("property"),description:St("property"),icon:Ne.StackIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},static:{type:"static",summary:Ao("static"),description:St("static"),icon:Ne.VitalsIcon,io:{output:{fields:[],configurable:!0}}}},Rr={request:{type:"request",description:St("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_request:{type:"service_request",description:St("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_response:{type:"service_response",description:St("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}}},response:{type:"response",description:St("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}}}},nu=Object.keys(Rr),Ua=e=>nu.includes(e),xt=e=>nu.includes(e),sN=e=>eu.includes(e),ou=e=>xt(e.type);function gn(e){return $n(e)}function Gn(e){return`${e}:${Cr()}`}function Dr(e){const[n,o]=e.split(".");return{nodeName:n,fieldName:o}}function ru(e){const[n,o]=e.split(".");return{nodeId:n,fieldId:o}}function Ka(e){return xt(e)?Rr[e]:Vr[e]}function iu(e){var i,a,l,s,c,d;const n=Ka(e),o=((l=(a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields)==null?void 0:l.map(({name:u})=>u))??[],r=((d=(c=(s=n.io)==null?void 0:s.output)==null?void 0:c.fields)==null?void 0:d.map(({name:u})=>u))??[];return{input:o,output:r}}function au(e){return(e??[]).map(n=>({id:Gn("field"),name:n}))}function qn(e,n,o){if(o)return e.fields[n].find(r=>r.name===o)}function Xt(e,n,o){if(o)return e.fields[n].find(r=>r.id===o)}function ja(e,n){return n?e.fields.output.some(o=>o.id===n):!0}function lu(e,n){return n?e.fields.input.some(o=>o.id===n):!0}function cN(e){const n=e==="request"||e==="service_request"?"request":"response",o=Rr[e];return{name:e,phase:n,position:{x:0,y:0},fields:iu(o.type),expanded:{}}}function su(e,n){const r=(sN(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${r}_${i}`;if(!n.has(a))return a}}function dN(e,n){const{commit:o,undo:r,redo:i,canUndo:a,canRedo:l,clear:s,reset:c,undoStack:d}=Ue.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let u;function f(_){var w;(w=n==null?void 0:n.onHistoryChange)==null||w.call(n,_,e.value)}function p(_){if(!_){u=void 0,o(),f("commit");return}if(_!=="*"&&u!==_){u=_,o(),f("commit");return}o(),d.value.length>1?d.value.splice(1,1):d.value.length===1&&d.value.splice(0,1),f("commit")}function m(){r(),u=void 0,f("undo")}function h(){i(),u=void 0,f("redo")}function y(){s(),u=void 0,f("clear")}function g(){c(),u=void 0,f("reset")}return{canUndo:a,canRedo:l,commit:p,undo:m,redo:h,clear:y,reset:g}}function cu(e,n){var u,f;const o=new Map(n.map(p=>[p.name,p])),r=[],i=[],a=new Map,l=[],s=new Map,c=p=>{const m=new Set,h=[...p];for(;h.length>0;){const y=h.shift();if(!m.has(y)&&(m.add(y),Ua(y)||(a.get(y).phase="request"),!!s.has(y)))for(const g of s.get(y))m.has(g)||h.push(g)}};let d=!1;for(const p of e){const m=o.get(p.name);!m&&!d&&(d=!0);const h=uu(p.type,p,m);r.push(h),a.set(h.name,h)}for(const p of $r)if(!a.has(p)){let m=o.get(p);m||(d||(d=!0),m=cN(p));const h=uu(p,void 0,m);r.push(h),a.set(h.name,h)}for(const p of e)pN(p,l);for(const p of l){const m=a.get(p.source),h=a.get(p.target);if(!m||!h){m||console.warn(`[initEditorState] skip: source "${p.source}" not found`),h||console.warn(`[initEditorState] skip: target "${p.target}" not found`);continue}s.has(p.source)||s.set(p.source,new Set),s.get(p.source).add(p.target),s.has(p.target)||s.set(p.target,new Set),s.get(p.target).add(p.source),i.push({id:Gn("edge"),source:m.id,sourceField:(u=qn(m,"output",p.sourceField))==null?void 0:u.id,target:h.id,targetField:(f=qn(h,"input",p.targetField))==null?void 0:f.id})}return c(["request","service_request"]),{nodes:r,edges:i,needLayout:d}}function du(e){const{type:n,name:o,phase:r,position:i,fields:a,config:l}=e,s=iu(n);return{id:Gn("node"),type:n,name:o??n,phase:r??"request",position:i??{x:0,y:0},expanded:{},fields:{input:au((a==null?void 0:a.input)??s.input),output:au((a==null?void 0:a.output)??s.output)},config:l?gn(l):{}}}function uN(e){return xt(e)?e==="request"||e==="service_request"?"request":"response":"request"}function uu(e,n,o){return du({type:e,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??uN(e),position:o==null?void 0:o.position,fields:mN(n,o),config:n?fN(n):void 0})}function fN(e){const{type:n,name:o,input:r,inputs:i,output:a,outputs:l,...s}=e;return gn(s)}function pN(e,n){const o=e.name;if(e.input){const{nodeName:r,fieldName:i}=Dr(e.input);r&&n.push({source:r,sourceField:i,target:o})}if(e.inputs)for(const[r,i]of Object.entries(e.inputs)){if(!i)continue;const{nodeName:a,fieldName:l}=Dr(i);a&&n.push({source:a,sourceField:l,target:o,targetField:r})}if(e.output){const{nodeName:r,fieldName:i}=Dr(e.output);r&&n.push({source:o,target:r,targetField:i})}if(e.outputs)for(const[r,i]of Object.entries(e.outputs)){if(!i)continue;const{nodeName:a,fieldName:l}=Dr(i);a&&n.push({source:o,sourceField:r,target:a,targetField:l})}}function mN(e,n){var a,l;if(!e&&!n)return;const o=new Set,r=new Set;e!=null&&e.inputs&&Object.keys(e.inputs).forEach(s=>o.add(s)),e!=null&&e.outputs&&Object.keys(e.outputs).forEach(s=>r.add(s)),(e==null?void 0:e.type)==="static"&&e.values&&Object.keys(e.values).forEach(s=>r.add(s)),(a=n==null?void 0:n.fields)!=null&&a.input&&n.fields.input.forEach(s=>o.add(s)),(l=n==null?void 0:n.fields)!=null&&l.output&&n.fields.output.forEach(s=>r.add(s));const i={};return o.size&&(i.input=Array.from(o)),r.size&&(i.output=Array.from(r)),Object.keys(i).length?i:void 0}function gN(e){const n=t.computed(()=>{const c=new Map;return e.value.nodes.forEach(d=>c.set(d.id,d)),c}),o=t.computed(()=>e.value.edges);function r(c){const d=n.value.get(c.source),u=n.value.get(c.target);if(!d||!u)return c;const f=lu(d,c.sourceField)&&!ja(d,c.sourceField),p=ja(u,c.targetField);return f&&p?{source:c.target,sourceField:c.targetField,target:c.source,targetField:c.sourceField}:c}function i(c){const d=r(c),u=[],f=n.value.get(d.source),p=n.value.get(d.target);if(f||u.push("source node not found"),p||u.push("target node not found"),!f||!p)return{ok:!1,errors:u};ja(f,d.sourceField)||u.push("source handle is not an output field"),lu(p,d.targetField)||u.push("target handle is not an input field"),p.name==="request"&&u.push('cannot target "request"'),f.name==="response"&&u.push('cannot source from "response"');const m=o.value.some(g=>g.target===d.target&&!g.targetField),h=o.value.some(g=>g.target===d.target&&!!g.targetField);(m&&d.targetField||h&&!d.targetField)&&u.push("cannot mix whole-node and field-level inputs on same target"),d.targetField&&o.value.some(g=>g.target===d.target&&g.targetField===d.targetField)&&u.push("target field already connected"),!d.targetField&&o.value.some(g=>g.target===d.target&&!g.targetField)&&u.push("target input already taken"),d.source===d.target&&u.push("self-loop not allowed");const y=Mr(o.value,d);return Ga(y)&&u.push("connection introduces a cycle"),u.length?{ok:!1,errors:u}:{ok:!0}}function a(){const c=[];for(const d of $r)[...n.value.values()].some(u=>u.name===d)||c.push(`missing implicit node "${d}"`);for(const d of o.value){const u=n.value.get(d.source);n.value.get(d.target).name==="request"&&c.push(`edge "${d.id}" targets "request"`),u.name==="response"&&c.push(`edge "${d.id}" sources from "response"`)}return Ga(Mr(o.value))&&c.push("graph contains cycle"),c.length?{ok:!1,errors:c}:{ok:!0}}function l(c){return i(c).ok}function s(c){return!c.source||!c.target?!1:l({source:c.source,sourceField:c.sourceHandle,target:c.target,targetField:c.targetHandle})}return{canonicalizeConnection:r,validateConnection:i,validateGraph:a,isValidConnection:l,isValidVueFlowConnection:s,buildAdjacency:Mr}}function Ga(e){const n=new Set,o=new Set;function r(i){if(o.has(i))return!0;if(n.has(i))return!1;n.add(i),o.add(i);for(const a of e.get(i)??[])if(r(a))return!0;return o.delete(i),!1}for(const i of e.keys())if(r(i))return!0;return!1}function Mr(e,n){const o=new Map;for(const r of e)o.has(r.source)||o.set(r.source,[]),o.get(r.source).push(r.target),o.has(r.target)||o.set(r.target,[]);return n&&(o.has(n.source)||o.set(n.source,[]),o.get(n.source).push(n.target),o.has(n.target)||o.set(n.target,[])),o}const[hN,yN]=Ue.createInjectionState(function(n,o,r={}){const i=t.ref(cu(n,o)),a=t.ref(),l=t.ref(!1),s=t.ref(!1),c=dN(i,{capacity:200,clone:gn,onHistoryChange:C=>{var v;C!=="clear"&&((v=r.onChange)==null||v.call(r,re(),ue()))}}),d=t.ref(!1),u=t.ref(new Set);function f(){i.value.needLayout=!1}const p=t.computed(()=>new Map(i.value.nodes.map(C=>[C.id,C]))),m=t.computed(()=>new Map(i.value.nodes.map(C=>[C.name,C]))),h=t.computed(()=>{const C=new Map,v=new Map;for(const k of i.value.edges)C.set(k.id,k),v.has(k.source)||v.set(k.source,new Set),v.get(k.source).add(k.id),v.has(k.target)||v.set(k.target,new Set),v.get(k.target).add(k.id);return{edgeMapById:C,edgeIdMapByNodeId:v}}),y=t.computed(()=>h.value.edgeMapById),g=t.computed(()=>h.value.edgeIdMapByNodeId),_=t.computed(()=>new Set(i.value.nodes.map(C=>C.name))),{canonicalizeConnection:w,validateConnection:b,validateGraph:x,isValidConnection:S,isValidVueFlowConnection:N}=gN(i);function P(C){return p.value.get(C)}function T(C){return m.value.get(C)}function L(C){return y.value.get(C)}function M(C){if(!g.value.has(C))return[];const v=[];return g.value.get(C).forEach(k=>{const E=L(k);E&&v.push(E)}),v}function G(C){return M(C).filter(v=>v.target===C)}function A(C){return M(C).filter(v=>v.source===C)}const J=t.computed(()=>a.value?P(a.value):void 0);function I(C){a.value=C}function U(C){if(xt(C.type))throw new Error("[createNode] implicit nodes are fixed.");return du({type:C.type,name:C.name||(xt(C.type)?void 0:su(C.type,_.value)),phase:C.phase,position:C.position,fields:C.fields,config:C.config})}function F(C,v=!0){const k=U(C);if(k)return i.value.nodes.push(k),v&&c.commit(),d.value=!0,k.id}function X(C,v,k=!0){const E=P(C);if(!E||xt(E.type))return;const $={...gn(E),id:Gn("node"),name:su(E.name,_.value),position:v??{x:E.position.x+20,y:E.position.y+20}};return i.value.nodes.push($),k&&c.commit(),d.value=!0,$.id}function Y(C,v=!0){i.value.edges=i.value.edges.filter(E=>E.source!==C&&E.target!==C),i.value.nodes=i.value.nodes.filter(E=>E.id!==C),a.value===C&&(a.value=void 0);const k=x();k.ok||console.warn("[removeNode] topology invalid:",k.errors.join("; ")),v&&c.commit()}function j(C,v,k=!0,E){const $=P(C);if($){if(Ua($.name)){console.warn("[renameNode] implicit node name is reserved.");return}$.name=v,k&&c.commit(E)}}function K(C,v,k=!0){const E=P(C);E&&(E.position={...v},k&&c.commit())}function R(C,v,k,E=!0,$){const B=P(C);B&&(B.expanded[v]=k??!B.expanded[v],E&&c.commit($??`toggle:${C}:${v}`))}function D(C,v,k=!0,E){const $=P(C);$&&($.config=gn(v),k&&c.commit(E))}function te(C,v,k,E=!0){const $=P(C);if(!$)return;const B=$.fields[v];if(B.some(q=>q.name===k)){console.warn(`[addField] field "${k}" already exists on ${v}.`);return}B.push({id:Gn("field"),name:k}),v==="input"?$.fields.input=B:$.fields.output=B,E&&c.commit()}function W(C,v,k,E=!0){const $=P(C);if(!$)return;const B=$.fields.input,q=$.fields.output,O=B.find(H=>H.id===v)??q.find(H=>H.id===v);O&&(O.name=k,E&&c.commit())}function oe(C,v,k=!0,E=!0){const $=P(C);if(!$)return;const B=$.fields.input,q=$.fields.output,O=B.findIndex(de=>de.id===v);O>=0&&B.splice(O,1);const H=q.findIndex(de=>de.id===v);H>=0&&q.splice(H,1),$.fields.input=B,$.fields.output=q,k&&(i.value.edges=i.value.edges.filter(de=>de.sourceField!==v&&de.targetField!==v));const V=x();V.ok||console.warn("[removeField] topology invalid:",V.errors.join("; ")),E&&c.commit()}function ie(C,v=!0){const k=w(C),E=b(k);if(!E.ok){console.warn("[connectEdge] invalid connection:",E.errors.join("; "));return}const $={id:Gn("edge"),...k};i.value.edges.push($);const B=x();if(!B.ok){i.value.edges.pop(),console.warn("[connectEdge] topology invalid:",B.errors.join("; "));return}return v&&c.commit(),$.id}function pe(C,v,k=!0){ge(C,!1),ie(v,!1),k&&c.commit()}function ge(C,v=!0){const k=i.value.edges.findIndex(B=>B.id===C);if(k<0)return;const E=i.value.edges[k];i.value.edges.splice(k,1);const $=x();if(!$.ok){i.value.edges.splice(k,0,E),console.warn("[disconnectEdge] topology invalid:",$.errors.join("; "));return}v&&c.commit()}function Z(C,v=!0){const k=G(C);for(const E of k)ge(E.id,!1);v&&c.commit()}function ee(C,v=!0){const k=A(C);for(const E of k)ge(E.id,!1);v&&c.commit()}function re(){var v,k,E,$,B;const C=[];for(const q of i.value.nodes){if(xt(q.type))continue;let O;const H={};let V;const de={};for(const Q of i.value.edges.filter(he=>he.target===q.id)){const he=P(Q.source);if(!he)continue;const we=(v=Xt(he,"output",Q.sourceField))==null?void 0:v.name,ae=we?`${he.name}.${we}`:he.name,ne=(k=Xt(q,"input",Q.targetField))==null?void 0:k.name;ne?H[ne]=ae:O===void 0&&(O=ae)}for(const Q of i.value.edges.filter(he=>he.source===q.id)){const he=P(Q.target);if(!he)continue;const we=he.type;if(!xt(we)||!((E=Rr[we].io)!=null&&E.input))continue;const ae=($=Xt(he,"input",Q.targetField))==null?void 0:$.name,ne=ae?`${he.name}.${ae}`:he.name,$e=(B=Xt(q,"output",Q.sourceField))==null?void 0:B.name;$e?de[$e]=ne:V===void 0&&(V=ne)}const le={...gn(q.config),name:q.name,type:q.type};Object.keys(H).length>0?le.inputs=H:O!==void 0&&(le.input=O),Object.keys(de).length>0?le.outputs=de:V!==void 0&&(le.output=V),C.push(le)}return C}function ue(){return i.value.nodes.map(C=>gn({name:C.name,phase:C.phase,position:{...C.position},expanded:{...C.expanded},fields:{input:C.fields.input.map(v=>v.name),output:C.fields.output.map(v=>v.name)}}))}function se(C,v){i.value=cu(C,v),c.reset()}return{state:i,selection:a,modalOpen:l,skipValidation:d,invalidConfigNodeIds:u,propertiesPanelOpen:s,nodeMapById:p,nodeMapByName:m,edgeMapById:y,edgeIdMapByNodeId:g,getNodeById:P,getNodeByName:T,getEdgeById:L,getEdgesByNodeId:M,getInEdgesByNodeId:G,getOutEdgesByNodeId:A,selectedNode:J,selectNode:I,createNode:U,addNode:F,duplicateNode:X,removeNode:Y,renameNode:j,moveNode:K,toggleExpanded:R,replaceConfig:D,addField:te,renameField:W,removeField:oe,connectEdge:ie,replaceConnection:pe,disconnectEdge:ge,disconnectInEdges:Z,disconnectOutEdges:ee,toConfigNodes:re,toUINodes:ue,load:se,commit:c.commit,undo:c.undo,redo:c.redo,canUndo:c.canUndo,canRedo:c.canRedo,clear:c.clear,reset:c.reset,isValidConnection:S,isValidVueFlowConnection:N,validateGraph:()=>x(),markAsLayoutCompleted:f}});function it(){const e=yN();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const qa=Ue.createGlobalState(()=>{const e=Ue.useLocalStorage("datakit-editor-mode","flow"),n=Ue.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}});function Lr(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function Ft(e){return typeof e=="function"?e():t.unref(e)}const _N=typeof window<"u"&&typeof document<"u",bN=e=>typeof e<"u",wN=Object.prototype.toString,kN=e=>wN.call(e)==="[object Object]",CN=()=>{};function EN(e,n){function o(...r){return new Promise((i,a)=>{Promise.resolve(e(()=>n.apply(this,r),{fn:n,thisArg:this,args:r})).then(i).catch(a)})}return o}const fu=e=>e();function NN(e=fu){const n=t.ref(!0);function o(){n.value=!1}function r(){n.value=!0}const i=(...a)=>{n.value&&e(...a)};return{isActive:t.readonly(n),pause:o,resume:r,eventFilter:i}}function pu(e,n=!1,o="Timeout"){return new Promise((r,i)=>{setTimeout(n?()=>i(o):r,e)})}function vN(e,n,o={}){const{eventFilter:r=fu,...i}=o;return t.watch(e,EN(r,n),i)}function zn(e,n,o={}){const{eventFilter:r,...i}=o,{eventFilter:a,pause:l,resume:s,isActive:c}=NN(r);return{stop:vN(e,n,{...i,eventFilter:a}),pause:l,resume:s,isActive:c}}function SN(e,n={}){if(!t.isRef(e))return t.toRefs(e);const o=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)o[r]=t.customRef(()=>({get(){return e.value[r]},set(i){var a;if((a=Ft(n.replaceRef))!=null?a:!0)if(Array.isArray(e.value)){const s=[...e.value];s[r]=i,e.value=s}else{const s={...e.value,[r]:i};Object.setPrototypeOf(s,Object.getPrototypeOf(e.value)),e.value=s}else e.value[r]=i}}));return o}function za(e,n=!1){function o(f,{flush:p="sync",deep:m=!1,timeout:h,throwOnTimeout:y}={}){let g=null;const w=[new Promise(b=>{g=t.watch(e,x=>{f(x)!==n&&(g==null||g(),b(x))},{flush:p,deep:m,immediate:!0})})];return h!=null&&w.push(pu(h,y).then(()=>Ft(e)).finally(()=>g==null?void 0:g())),Promise.race(w)}function r(f,p){if(!t.isRef(f))return o(x=>x===f,p);const{flush:m="sync",deep:h=!1,timeout:y,throwOnTimeout:g}=p??{};let _=null;const b=[new Promise(x=>{_=t.watch([e,f],([S,N])=>{n!==(S===N)&&(_==null||_(),x(S))},{flush:m,deep:h,immediate:!0})})];return y!=null&&b.push(pu(y,g).then(()=>Ft(e)).finally(()=>(_==null||_(),Ft(e)))),Promise.race(b)}function i(f){return o(p=>!!p,f)}function a(f){return r(null,f)}function l(f){return r(void 0,f)}function s(f){return o(Number.isNaN,f)}function c(f,p){return o(m=>{const h=Array.from(m);return h.includes(f)||h.includes(Ft(f))},p)}function d(f){return u(1,f)}function u(f=1,p){let m=-1;return o(()=>(m+=1,m>=f),p)}return Array.isArray(Ft(e))?{toMatch:o,toContains:c,changed:d,changedTimes:u,get not(){return za(e,!n)}}:{toMatch:o,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:l,changed:d,changedTimes:u,get not(){return za(e,!n)}}}function Ha(e){return za(e)}function xN(e){var n;const o=Ft(e);return(n=o==null?void 0:o.$el)!=null?n:o}const mu=_N?window:void 0;function gu(...e){let n,o,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([o,r,i]=e,n=mu):[n,o,r,i]=e,!n)return CN;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const a=[],l=()=>{a.forEach(u=>u()),a.length=0},s=(u,f,p,m)=>(u.addEventListener(f,p,m),()=>u.removeEventListener(f,p,m)),c=t.watch(()=>[xN(n),Ft(i)],([u,f])=>{if(l(),!u)return;const p=kN(f)?{...f}:f;a.push(...o.flatMap(m=>r.map(h=>s(u,m,h,p))))},{immediate:!0,flush:"post"}),d=()=>{c(),l()};return Lr(d),d}function AN(e){return typeof e=="function"?e:typeof e=="string"?n=>n.key===e:Array.isArray(e)?n=>e.includes(n.key):()=>!0}function hu(...e){let n,o,r={};e.length===3?(n=e[0],o=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(n=!0,o=e[0],r=e[1]):(n=e[0],o=e[1]):(n=!0,o=e[0]);const{target:i=mu,eventName:a="keydown",passive:l=!1,dedupe:s=!1}=r,c=AN(n);return gu(i,a,u=>{u.repeat&&Ft(s)||c(u)&&o(u)},l)}function IN(e){return JSON.parse(JSON.stringify(e))}function Ya(e,n,o,r={}){var i,a,l;const{clone:s=!1,passive:c=!1,eventName:d,deep:u=!1,defaultValue:f,shouldEmit:p}=r,m=t.getCurrentInstance(),h=o||(m==null?void 0:m.emit)||((i=m==null?void 0:m.$emit)==null?void 0:i.bind(m))||((l=(a=m==null?void 0:m.proxy)==null?void 0:a.$emit)==null?void 0:l.bind(m==null?void 0:m.proxy));let y=d;n||(n="modelValue"),y=y||`update:${n.toString()}`;const g=b=>s?typeof s=="function"?s(b):IN(b):b,_=()=>bN(e[n])?g(e[n]):f,w=b=>{p?p(b)&&h(y,b):h(y,b)};if(c){const b=_(),x=t.ref(b);let S=!1;return t.watch(()=>e[n],N=>{S||(S=!0,x.value=g(N),t.nextTick(()=>S=!1))}),t.watch(x,N=>{!S&&(N!==e[n]||u)&&w(N)},{deep:u}),x}else return t.computed({get(){return _()},set(b){w(b)}})}var PN={value:()=>{}};function Fr(){for(var e=0,n=arguments.length,o={},r;e<n;++e){if(!(r=arguments[e]+"")||r in o||/[\s.]/.test(r))throw new Error("illegal type: "+r);o[r]=[]}return new Ur(o)}function Ur(e){this._=e}function TN(e,n){return e.trim().split(/^|\s+/).map(function(o){var r="",i=o.indexOf(".");if(i>=0&&(r=o.slice(i+1),o=o.slice(0,i)),o&&!n.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:r}})}Ur.prototype=Fr.prototype={constructor:Ur,on:function(e,n){var o=this._,r=TN(e+"",o),i,a=-1,l=r.length;if(arguments.length<2){for(;++a<l;)if((i=(e=r[a]).type)&&(i=ON(o[i],e.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<l;)if(i=(e=r[a]).type)o[i]=yu(o[i],e.name,n);else if(n==null)for(i in o)o[i]=yu(o[i],e.name,null);return this},copy:function(){var e={},n=this._;for(var o in n)e[o]=n[o].slice();return new Ur(e)},call:function(e,n){if((i=arguments.length-2)>0)for(var o=new Array(i),r=0,i,a;r<i;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(n,o)},apply:function(e,n,o){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(n,o)}};function ON(e,n){for(var o=0,r=e.length,i;o<r;++o)if((i=e[o]).name===n)return i.value}function yu(e,n,o){for(var r=0,i=e.length;r<i;++r)if(e[r].name===n){e[r]=PN,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:n,value:o}),e}var Wa="http://www.w3.org/1999/xhtml";const _u={svg:"http://www.w3.org/2000/svg",xhtml:Wa,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Kr(e){var n=e+="",o=n.indexOf(":");return o>=0&&(n=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),_u.hasOwnProperty(n)?{space:_u[n],local:e}:e}function $N(e){return function(){var n=this.ownerDocument,o=this.namespaceURI;return o===Wa&&n.documentElement.namespaceURI===Wa?n.createElement(e):n.createElementNS(o,e)}}function BN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function bu(e){var n=Kr(e);return(n.local?BN:$N)(n)}function VN(){}function Xa(e){return e==null?VN:function(){return this.querySelector(e)}}function RN(e){typeof e!="function"&&(e=Xa(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=new Array(l),c,d,u=0;u<l;++u)(c=a[u])&&(d=e.call(c,c.__data__,u,a))&&("__data__"in c&&(d.__data__=c.__data__),s[u]=d);return new ct(r,this._parents)}function DN(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function MN(){return[]}function wu(e){return e==null?MN:function(){return this.querySelectorAll(e)}}function LN(e){return function(){return DN(e.apply(this,arguments))}}function FN(e){typeof e=="function"?e=LN(e):e=wu(e);for(var n=this._groups,o=n.length,r=[],i=[],a=0;a<o;++a)for(var l=n[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&(r.push(e.call(c,c.__data__,d,l)),i.push(c));return new ct(r,i)}function ku(e){return function(){return this.matches(e)}}function Cu(e){return function(n){return n.matches(e)}}var UN=Array.prototype.find;function KN(e){return function(){return UN.call(this.children,e)}}function jN(){return this.firstElementChild}function GN(e){return this.select(e==null?jN:KN(typeof e=="function"?e:Cu(e)))}var qN=Array.prototype.filter;function zN(){return Array.from(this.children)}function HN(e){return function(){return qN.call(this.children,e)}}function YN(e){return this.selectAll(e==null?zN:HN(typeof e=="function"?e:Cu(e)))}function WN(e){typeof e!="function"&&(e=ku(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new ct(r,this._parents)}function Eu(e){return new Array(e.length)}function XN(){return new ct(this._enter||this._groups.map(Eu),this._parents)}function jr(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}jr.prototype={constructor:jr,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function ZN(e){return function(){return e}}function JN(e,n,o,r,i,a){for(var l=0,s,c=n.length,d=a.length;l<d;++l)(s=n[l])?(s.__data__=a[l],r[l]=s):o[l]=new jr(e,a[l]);for(;l<c;++l)(s=n[l])&&(i[l]=s)}function QN(e,n,o,r,i,a,l){var s,c,d=new Map,u=n.length,f=a.length,p=new Array(u),m;for(s=0;s<u;++s)(c=n[s])&&(p[s]=m=l.call(c,c.__data__,s,n)+"",d.has(m)?i[s]=c:d.set(m,c));for(s=0;s<f;++s)m=l.call(e,a[s],s,a)+"",(c=d.get(m))?(r[s]=c,c.__data__=a[s],d.delete(m)):o[s]=new jr(e,a[s]);for(s=0;s<u;++s)(c=n[s])&&d.get(p[s])===c&&(i[s]=c)}function e1(e){return e.__data__}function t1(e,n){if(!arguments.length)return Array.from(this,e1);var o=n?QN:JN,r=this._parents,i=this._groups;typeof e!="function"&&(e=ZN(e));for(var a=i.length,l=new Array(a),s=new Array(a),c=new Array(a),d=0;d<a;++d){var u=r[d],f=i[d],p=f.length,m=n1(e.call(u,u&&u.__data__,d,r)),h=m.length,y=s[d]=new Array(h),g=l[d]=new Array(h),_=c[d]=new Array(p);o(u,f,y,g,_,m,n);for(var w=0,b=0,x,S;w<h;++w)if(x=y[w]){for(w>=b&&(b=w+1);!(S=g[b])&&++b<h;);x._next=S||null}}return l=new ct(l,r),l._enter=s,l._exit=c,l}function n1(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function o1(){return new ct(this._exit||this._groups.map(Eu),this._parents)}function r1(e,n,o){var r=this.enter(),i=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),n!=null&&(i=n(i),i&&(i=i.selection())),o==null?a.remove():o(a),r&&i?r.merge(i).order():i}function i1(e){for(var n=e.selection?e.selection():e,o=this._groups,r=n._groups,i=o.length,a=r.length,l=Math.min(i,a),s=new Array(i),c=0;c<l;++c)for(var d=o[c],u=r[c],f=d.length,p=s[c]=new Array(f),m,h=0;h<f;++h)(m=d[h]||u[h])&&(p[h]=m);for(;c<i;++c)s[c]=o[c];return new ct(s,this._parents)}function a1(){for(var e=this._groups,n=-1,o=e.length;++n<o;)for(var r=e[n],i=r.length-1,a=r[i],l;--i>=0;)(l=r[i])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function l1(e){e||(e=s1);function n(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a){for(var l=o[a],s=l.length,c=i[a]=new Array(s),d,u=0;u<s;++u)(d=l[u])&&(c[u]=d);c.sort(n)}return new ct(i,this._parents).order()}function s1(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function c1(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function d1(){return Array.from(this)}function u1(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length;i<a;++i){var l=r[i];if(l)return l}return null}function f1(){let e=0;for(const n of this)++e;return e}function p1(){return!this.node()}function m1(e){for(var n=this._groups,o=0,r=n.length;o<r;++o)for(var i=n[o],a=0,l=i.length,s;a<l;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function g1(e){return function(){this.removeAttribute(e)}}function h1(e){return function(){this.removeAttributeNS(e.space,e.local)}}function y1(e,n){return function(){this.setAttribute(e,n)}}function _1(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function b1(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function w1(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,o)}}function k1(e,n){var o=Kr(e);if(arguments.length<2){var r=this.node();return o.local?r.getAttributeNS(o.space,o.local):r.getAttribute(o)}return this.each((n==null?o.local?h1:g1:typeof n=="function"?o.local?w1:b1:o.local?_1:y1)(o,n))}function Nu(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function C1(e){return function(){this.style.removeProperty(e)}}function E1(e,n,o){return function(){this.style.setProperty(e,n,o)}}function N1(e,n,o){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function v1(e,n,o){return arguments.length>1?this.each((n==null?C1:typeof n=="function"?N1:E1)(e,n,o??"")):Hn(this.node(),e)}function Hn(e,n){return e.style.getPropertyValue(n)||Nu(e).getComputedStyle(e,null).getPropertyValue(n)}function S1(e){return function(){delete this[e]}}function x1(e,n){return function(){this[e]=n}}function A1(e,n){return function(){var o=n.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function I1(e,n){return arguments.length>1?this.each((n==null?S1:typeof n=="function"?A1:x1)(e,n)):this.node()[e]}function vu(e){return e.trim().split(/^|\s+/)}function Za(e){return e.classList||new Su(e)}function Su(e){this._node=e,this._names=vu(e.getAttribute("class")||"")}Su.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function xu(e,n){for(var o=Za(e),r=-1,i=n.length;++r<i;)o.add(n[r])}function Au(e,n){for(var o=Za(e),r=-1,i=n.length;++r<i;)o.remove(n[r])}function P1(e){return function(){xu(this,e)}}function T1(e){return function(){Au(this,e)}}function O1(e,n){return function(){(n.apply(this,arguments)?xu:Au)(this,e)}}function $1(e,n){var o=vu(e+"");if(arguments.length<2){for(var r=Za(this.node()),i=-1,a=o.length;++i<a;)if(!r.contains(o[i]))return!1;return!0}return this.each((typeof n=="function"?O1:n?P1:T1)(o,n))}function B1(){this.textContent=""}function V1(e){return function(){this.textContent=e}}function R1(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function D1(e){return arguments.length?this.each(e==null?B1:(typeof e=="function"?R1:V1)(e)):this.node().textContent}function M1(){this.innerHTML=""}function L1(e){return function(){this.innerHTML=e}}function F1(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function U1(e){return arguments.length?this.each(e==null?M1:(typeof e=="function"?F1:L1)(e)):this.node().innerHTML}function K1(){this.nextSibling&&this.parentNode.appendChild(this)}function j1(){return this.each(K1)}function G1(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function q1(){return this.each(G1)}function z1(e){var n=typeof e=="function"?e:bu(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function H1(){return null}function Y1(e,n){var o=typeof e=="function"?e:bu(e),r=n==null?H1:typeof n=="function"?n:Xa(n);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function W1(){var e=this.parentNode;e&&e.removeChild(this)}function X1(){return this.each(W1)}function Z1(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function J1(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Q1(e){return this.select(e?J1:Z1)}function ev(e){return arguments.length?this.property("__data__",e):this.node().__data__}function tv(e){return function(n){e.call(this,n,this.__data__)}}function nv(e){return e.trim().split(/^|\s+/).map(function(n){var o="",r=n.indexOf(".");return r>=0&&(o=n.slice(r+1),n=n.slice(0,r)),{type:n,name:o}})}function ov(e){return function(){var n=this.__on;if(n){for(var o=0,r=-1,i=n.length,a;o<i;++o)a=n[o],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):n[++r]=a;++r?n.length=r:delete this.__on}}}function rv(e,n,o){return function(){var r=this.__on,i,a=tv(n);if(r){for(var l=0,s=r.length;l<s;++l)if((i=r[l]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=o),i.value=n;return}}this.addEventListener(e.type,a,o),i={type:e.type,name:e.name,value:n,listener:a,options:o},r?r.push(i):this.__on=[i]}}function iv(e,n,o){var r=nv(e+""),i,a=r.length,l;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,d=s.length,u;c<d;++c)for(i=0,u=s[c];i<a;++i)if((l=r[i]).type===u.type&&l.name===u.name)return u.value}return}for(s=n?rv:ov,i=0;i<a;++i)this.each(s(r[i],n,o));return this}function Iu(e,n,o){var r=Nu(e),i=r.CustomEvent;typeof i=="function"?i=new i(n,o):(i=r.document.createEvent("Event"),o?(i.initEvent(n,o.bubbles,o.cancelable),i.detail=o.detail):i.initEvent(n,!1,!1)),e.dispatchEvent(i)}function av(e,n){return function(){return Iu(this,e,n)}}function lv(e,n){return function(){return Iu(this,e,n.apply(this,arguments))}}function sv(e,n){return this.each((typeof n=="function"?lv:av)(e,n))}function*cv(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length,l;i<a;++i)(l=r[i])&&(yield l)}var Pu=[null];function ct(e,n){this._groups=e,this._parents=n}function Io(){return new ct([[document.documentElement]],Pu)}function dv(){return this}ct.prototype=Io.prototype={constructor:ct,select:RN,selectAll:FN,selectChild:GN,selectChildren:YN,filter:WN,data:t1,enter:XN,exit:o1,join:r1,merge:i1,selection:dv,order:a1,sort:l1,call:c1,nodes:d1,node:u1,size:f1,empty:p1,each:m1,attr:k1,style:v1,property:I1,classed:$1,text:D1,html:U1,raise:j1,lower:q1,append:z1,insert:Y1,remove:X1,clone:Q1,datum:ev,on:iv,dispatch:sv,[Symbol.iterator]:cv};function _t(e){return typeof e=="string"?new ct([[document.querySelector(e)]],[document.documentElement]):new ct([[e]],Pu)}function uv(e){let n;for(;n=e.sourceEvent;)e=n;return e}function At(e,n){if(e=uv(e),n===void 0&&(n=e.currentTarget),n){var o=n.ownerSVGElement||n;if(o.createSVGPoint){var r=o.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[e.clientX-i.left-n.clientLeft,e.clientY-i.top-n.clientTop]}}return[e.pageX,e.pageY]}const fv={passive:!1},Po={capture:!0,passive:!1};function Ja(e){e.stopImmediatePropagation()}function Yn(e){e.preventDefault(),e.stopImmediatePropagation()}function Tu(e){var n=e.document.documentElement,o=_t(e).on("dragstart.drag",Yn,Po);"onselectstart"in n?o.on("selectstart.drag",Yn,Po):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Ou(e,n){var o=e.document.documentElement,r=_t(e).on("dragstart.drag",null);n&&(r.on("click.drag",Yn,Po),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in o?r.on("selectstart.drag",null):(o.style.MozUserSelect=o.__noselect,delete o.__noselect)}const Gr=e=>()=>e;function Qa(e,{sourceEvent:n,subject:o,target:r,identifier:i,active:a,x:l,y:s,dx:c,dy:d,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:u}})}Qa.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function pv(e){return!e.ctrlKey&&!e.button}function mv(){return this.parentNode}function gv(e,n){return n??{x:e.x,y:e.y}}function hv(){return navigator.maxTouchPoints||"ontouchstart"in this}function yv(){var e=pv,n=mv,o=gv,r=hv,i={},a=Fr("start","drag","end"),l=0,s,c,d,u,f=0;function p(x){x.on("mousedown.drag",m).filter(r).on("touchstart.drag",g).on("touchmove.drag",_,fv).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(x,S){if(!(u||!e.call(this,x,S))){var N=b(this,n.call(this,x,S),x,S,"mouse");N&&(_t(x.view).on("mousemove.drag",h,Po).on("mouseup.drag",y,Po),Tu(x.view),Ja(x),d=!1,s=x.clientX,c=x.clientY,N("start",x))}}function h(x){if(Yn(x),!d){var S=x.clientX-s,N=x.clientY-c;d=S*S+N*N>f}i.mouse("drag",x)}function y(x){_t(x.view).on("mousemove.drag mouseup.drag",null),Ou(x.view,d),Yn(x),i.mouse("end",x)}function g(x,S){if(e.call(this,x,S)){var N=x.changedTouches,P=n.call(this,x,S),T=N.length,L,M;for(L=0;L<T;++L)(M=b(this,P,x,S,N[L].identifier,N[L]))&&(Ja(x),M("start",x,N[L]))}}function _(x){var S=x.changedTouches,N=S.length,P,T;for(P=0;P<N;++P)(T=i[S[P].identifier])&&(Yn(x),T("drag",x,S[P]))}function w(x){var S=x.changedTouches,N=S.length,P,T;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),P=0;P<N;++P)(T=i[S[P].identifier])&&(Ja(x),T("end",x,S[P]))}function b(x,S,N,P,T,L){var M=a.copy(),G=At(L||N,S),A,J,I;if((I=o.call(x,new Qa("beforestart",{sourceEvent:N,target:p,identifier:T,active:l,x:G[0],y:G[1],dx:0,dy:0,dispatch:M}),P))!=null)return A=I.x-G[0]||0,J=I.y-G[1]||0,function U(F,X,Y){var j=G,K;switch(F){case"start":i[T]=U,K=l++;break;case"end":delete i[T],--l;case"drag":G=At(Y||X,S),K=l;break}M.call(F,x,new Qa(F,{sourceEvent:X,subject:I,target:p,identifier:T,active:K,x:G[0]+A,y:G[1]+J,dx:G[0]-j[0],dy:G[1]-j[1],dispatch:M}),P)}}return p.filter=function(x){return arguments.length?(e=typeof x=="function"?x:Gr(!!x),p):e},p.container=function(x){return arguments.length?(n=typeof x=="function"?x:Gr(x),p):n},p.subject=function(x){return arguments.length?(o=typeof x=="function"?x:Gr(x),p):o},p.touchable=function(x){return arguments.length?(r=typeof x=="function"?x:Gr(!!x),p):r},p.on=function(){var x=a.on.apply(a,arguments);return x===a?p:x},p.clickDistance=function(x){return arguments.length?(f=(x=+x)*x,p):Math.sqrt(f)},p}function el(e,n,o){e.prototype=n.prototype=o,o.constructor=e}function $u(e,n){var o=Object.create(e.prototype);for(var r in n)o[r]=n[r];return o}function To(){}var Oo=.7,qr=1/Oo,Wn="\\s*([+-]?\\d+)\\s*",$o="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",It="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_v=/^#([0-9a-f]{3,8})$/,bv=new RegExp(`^rgb\\(${Wn},${Wn},${Wn}\\)$`),wv=new RegExp(`^rgb\\(${It},${It},${It}\\)$`),kv=new RegExp(`^rgba\\(${Wn},${Wn},${Wn},${$o}\\)$`),Cv=new RegExp(`^rgba\\(${It},${It},${It},${$o}\\)$`),Ev=new RegExp(`^hsl\\(${$o},${It},${It}\\)$`),Nv=new RegExp(`^hsla\\(${$o},${It},${It},${$o}\\)$`),Bu={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};el(To,hn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Vu,formatHex:Vu,formatHex8:vv,formatHsl:Sv,formatRgb:Ru,toString:Ru});function Vu(){return this.rgb().formatHex()}function vv(){return this.rgb().formatHex8()}function Sv(){return Uu(this).formatHsl()}function Ru(){return this.rgb().formatRgb()}function hn(e){var n,o;return e=(e+"").trim().toLowerCase(),(n=_v.exec(e))?(o=n[1].length,n=parseInt(n[1],16),o===6?Du(n):o===3?new at(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):o===8?zr(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):o===4?zr(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=bv.exec(e))?new at(n[1],n[2],n[3],1):(n=wv.exec(e))?new at(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=kv.exec(e))?zr(n[1],n[2],n[3],n[4]):(n=Cv.exec(e))?zr(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Ev.exec(e))?Fu(n[1],n[2]/100,n[3]/100,1):(n=Nv.exec(e))?Fu(n[1],n[2]/100,n[3]/100,n[4]):Bu.hasOwnProperty(e)?Du(Bu[e]):e==="transparent"?new at(NaN,NaN,NaN,0):null}function Du(e){return new at(e>>16&255,e>>8&255,e&255,1)}function zr(e,n,o,r){return r<=0&&(e=n=o=NaN),new at(e,n,o,r)}function xv(e){return e instanceof To||(e=hn(e)),e?(e=e.rgb(),new at(e.r,e.g,e.b,e.opacity)):new at}function tl(e,n,o,r){return arguments.length===1?xv(e):new at(e,n,o,r??1)}function at(e,n,o,r){this.r=+e,this.g=+n,this.b=+o,this.opacity=+r}el(at,tl,$u(To,{brighter(e){return e=e==null?qr:Math.pow(qr,e),new at(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Oo:Math.pow(Oo,e),new at(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new at(yn(this.r),yn(this.g),yn(this.b),Hr(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Mu,formatHex:Mu,formatHex8:Av,formatRgb:Lu,toString:Lu}));function Mu(){return`#${_n(this.r)}${_n(this.g)}${_n(this.b)}`}function Av(){return`#${_n(this.r)}${_n(this.g)}${_n(this.b)}${_n((isNaN(this.opacity)?1:this.opacity)*255)}`}function Lu(){const e=Hr(this.opacity);return`${e===1?"rgb(":"rgba("}${yn(this.r)}, ${yn(this.g)}, ${yn(this.b)}${e===1?")":`, ${e})`}`}function Hr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function yn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function _n(e){return e=yn(e),(e<16?"0":"")+e.toString(16)}function Fu(e,n,o,r){return r<=0?e=n=o=NaN:o<=0||o>=1?e=n=NaN:n<=0&&(e=NaN),new bt(e,n,o,r)}function Uu(e){if(e instanceof bt)return new bt(e.h,e.s,e.l,e.opacity);if(e instanceof To||(e=hn(e)),!e)return new bt;if(e instanceof bt)return e;e=e.rgb();var n=e.r/255,o=e.g/255,r=e.b/255,i=Math.min(n,o,r),a=Math.max(n,o,r),l=NaN,s=a-i,c=(a+i)/2;return s?(n===a?l=(o-r)/s+(o<r)*6:o===a?l=(r-n)/s+2:l=(n-o)/s+4,s/=c<.5?a+i:2-a-i,l*=60):s=c>0&&c<1?0:l,new bt(l,s,c,e.opacity)}function Iv(e,n,o,r){return arguments.length===1?Uu(e):new bt(e,n,o,r??1)}function bt(e,n,o,r){this.h=+e,this.s=+n,this.l=+o,this.opacity=+r}el(bt,Iv,$u(To,{brighter(e){return e=e==null?qr:Math.pow(qr,e),new bt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Oo:Math.pow(Oo,e),new bt(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,o=this.l,r=o+(o<.5?o:1-o)*n,i=2*o-r;return new at(nl(e>=240?e-240:e+120,i,r),nl(e,i,r),nl(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new bt(Ku(this.h),Yr(this.s),Yr(this.l),Hr(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Hr(this.opacity);return`${e===1?"hsl(":"hsla("}${Ku(this.h)}, ${Yr(this.s)*100}%, ${Yr(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ku(e){return e=(e||0)%360,e<0?e+360:e}function Yr(e){return Math.max(0,Math.min(1,e||0))}function nl(e,n,o){return(e<60?n+(o-n)*e/60:e<180?o:e<240?n+(o-n)*(240-e)/60:n)*255}const ol=e=>()=>e;function Pv(e,n){return function(o){return e+o*n}}function Tv(e,n,o){return e=Math.pow(e,o),n=Math.pow(n,o)-e,o=1/o,function(r){return Math.pow(e+r*n,o)}}function Ov(e){return(e=+e)==1?ju:function(n,o){return o-n?Tv(n,o,e):ol(isNaN(n)?o:n)}}function ju(e,n){var o=n-e;return o?Pv(e,o):ol(isNaN(e)?n:e)}const Wr=function e(n){var o=Ov(n);function r(i,a){var l=o((i=tl(i)).r,(a=tl(a)).r),s=o(i.g,a.g),c=o(i.b,a.b),d=ju(i.opacity,a.opacity);return function(u){return i.r=l(u),i.g=s(u),i.b=c(u),i.opacity=d(u),i+""}}return r.gamma=e,r}(1);function $v(e,n){n||(n=[]);var o=e?Math.min(n.length,e.length):0,r=n.slice(),i;return function(a){for(i=0;i<o;++i)r[i]=e[i]*(1-a)+n[i]*a;return r}}function Bv(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Vv(e,n){var o=n?n.length:0,r=e?Math.min(o,e.length):0,i=new Array(r),a=new Array(o),l;for(l=0;l<r;++l)i[l]=Bo(e[l],n[l]);for(;l<o;++l)a[l]=n[l];return function(s){for(l=0;l<r;++l)a[l]=i[l](s);return a}}function Rv(e,n){var o=new Date;return e=+e,n=+n,function(r){return o.setTime(e*(1-r)+n*r),o}}function Pt(e,n){return e=+e,n=+n,function(o){return e*(1-o)+n*o}}function Dv(e,n){var o={},r={},i;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(i in n)i in e?o[i]=Bo(e[i],n[i]):r[i]=n[i];return function(a){for(i in o)r[i]=o[i](a);return r}}var rl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,il=new RegExp(rl.source,"g");function Mv(e){return function(){return e}}function Lv(e){return function(n){return e(n)+""}}function Gu(e,n){var o=rl.lastIndex=il.lastIndex=0,r,i,a,l=-1,s=[],c=[];for(e=e+"",n=n+"";(r=rl.exec(e))&&(i=il.exec(n));)(a=i.index)>o&&(a=n.slice(o,a),s[l]?s[l]+=a:s[++l]=a),(r=r[0])===(i=i[0])?s[l]?s[l]+=i:s[++l]=i:(s[++l]=null,c.push({i:l,x:Pt(r,i)})),o=il.lastIndex;return o<n.length&&(a=n.slice(o),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?Lv(c[0].x):Mv(n):(n=c.length,function(d){for(var u=0,f;u<n;++u)s[(f=c[u]).i]=f.x(d);return s.join("")})}function Bo(e,n){var o=typeof n,r;return n==null||o==="boolean"?ol(n):(o==="number"?Pt:o==="string"?(r=hn(n))?(n=r,Wr):Gu:n instanceof hn?Wr:n instanceof Date?Rv:Bv(n)?$v:Array.isArray(n)?Vv:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?Dv:Pt)(e,n)}var qu=180/Math.PI,al={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function zu(e,n,o,r,i,a){var l,s,c;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(c=e*o+n*r)&&(o-=e*c,r-=n*c),(s=Math.sqrt(o*o+r*r))&&(o/=s,r/=s,c/=s),e*r<n*o&&(e=-e,n=-n,c=-c,l=-l),{translateX:i,translateY:a,rotate:Math.atan2(n,e)*qu,skewX:Math.atan(c)*qu,scaleX:l,scaleY:s}}var Xr;function Fv(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?al:zu(n.a,n.b,n.c,n.d,n.e,n.f)}function Uv(e){return e==null||(Xr||(Xr=document.createElementNS("http://www.w3.org/2000/svg","g")),Xr.setAttribute("transform",e),!(e=Xr.transform.baseVal.consolidate()))?al:(e=e.matrix,zu(e.a,e.b,e.c,e.d,e.e,e.f))}function Hu(e,n,o,r){function i(d){return d.length?d.pop()+" ":""}function a(d,u,f,p,m,h){if(d!==f||u!==p){var y=m.push("translate(",null,n,null,o);h.push({i:y-4,x:Pt(d,f)},{i:y-2,x:Pt(u,p)})}else(f||p)&&m.push("translate("+f+n+p+o)}function l(d,u,f,p){d!==u?(d-u>180?u+=360:u-d>180&&(d+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:Pt(d,u)})):u&&f.push(i(f)+"rotate("+u+r)}function s(d,u,f,p){d!==u?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:Pt(d,u)}):u&&f.push(i(f)+"skewX("+u+r)}function c(d,u,f,p,m,h){if(d!==f||u!==p){var y=m.push(i(m)+"scale(",null,",",null,")");h.push({i:y-4,x:Pt(d,f)},{i:y-2,x:Pt(u,p)})}else(f!==1||p!==1)&&m.push(i(m)+"scale("+f+","+p+")")}return function(d,u){var f=[],p=[];return d=e(d),u=e(u),a(d.translateX,d.translateY,u.translateX,u.translateY,f,p),l(d.rotate,u.rotate,f,p),s(d.skewX,u.skewX,f,p),c(d.scaleX,d.scaleY,u.scaleX,u.scaleY,f,p),d=u=null,function(m){for(var h=-1,y=p.length,g;++h<y;)f[(g=p[h]).i]=g.x(m);return f.join("")}}}var Kv=Hu(Fv,"px, ","px)","deg)"),jv=Hu(Uv,", ",")",")"),Gv=1e-12;function Yu(e){return((e=Math.exp(e))+1/e)/2}function qv(e){return((e=Math.exp(e))-1/e)/2}function zv(e){return((e=Math.exp(2*e))-1)/(e+1)}const Zr=function e(n,o,r){function i(a,l){var s=a[0],c=a[1],d=a[2],u=l[0],f=l[1],p=l[2],m=u-s,h=f-c,y=m*m+h*h,g,_;if(y<Gv)_=Math.log(p/d)/n,g=function(P){return[s+P*m,c+P*h,d*Math.exp(n*P*_)]};else{var w=Math.sqrt(y),b=(p*p-d*d+r*y)/(2*d*o*w),x=(p*p-d*d-r*y)/(2*p*o*w),S=Math.log(Math.sqrt(b*b+1)-b),N=Math.log(Math.sqrt(x*x+1)-x);_=(N-S)/n,g=function(P){var T=P*_,L=Yu(S),M=d/(o*w)*(L*zv(n*T+S)-qv(S));return[s+M*m,c+M*h,d*L/Yu(n*T+S)]}}return g.duration=_*1e3*n/Math.SQRT2,g}return i.rho=function(a){var l=Math.max(.001,+a),s=l*l,c=s*s;return e(l,s,c)},i}(Math.SQRT2,2,4);var Xn=0,Vo=0,Ro=0,Wu=1e3,Jr,Do,Qr=0,bn=0,ei=0,Mo=typeof performance=="object"&&performance.now?performance:Date,Xu=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ll(){return bn||(Xu(Hv),bn=Mo.now()+ei)}function Hv(){bn=0}function ti(){this._call=this._time=this._next=null}ti.prototype=Zu.prototype={constructor:ti,restart:function(e,n,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?ll():+o)+(n==null?0:+n),!this._next&&Do!==this&&(Do?Do._next=this:Jr=this,Do=this),this._call=e,this._time=o,sl()},stop:function(){this._call&&(this._call=null,this._time=1/0,sl())}};function Zu(e,n,o){var r=new ti;return r.restart(e,n,o),r}function Yv(){ll(),++Xn;for(var e=Jr,n;e;)(n=bn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Xn}function Ju(){bn=(Qr=Mo.now())+ei,Xn=Vo=0;try{Yv()}finally{Xn=0,Xv(),bn=0}}function Wv(){var e=Mo.now(),n=e-Qr;n>Wu&&(ei-=n,Qr=e)}function Xv(){for(var e,n=Jr,o,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(o=n._next,n._next=null,n=e?e._next=o:Jr=o);Do=e,sl(r)}function sl(e){if(!Xn){Vo&&(Vo=clearTimeout(Vo));var n=e-bn;n>24?(e<1/0&&(Vo=setTimeout(Ju,e-Mo.now()-ei)),Ro&&(Ro=clearInterval(Ro))):(Ro||(Qr=Mo.now(),Ro=setInterval(Wv,Wu)),Xn=1,Xu(Ju))}}function Qu(e,n,o){var r=new ti;return n=n==null?0:+n,r.restart(i=>{r.stop(),e(i+n)},n,o),r}var Zv=Fr("start","end","cancel","interrupt"),Jv=[],ef=0,tf=1,cl=2,ni=3,nf=4,dl=5,oi=6;function ri(e,n,o,r,i,a){var l=e.__transition;if(!l)e.__transition={};else if(o in l)return;Qv(e,o,{name:n,index:r,group:i,on:Zv,tween:Jv,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:ef})}function ul(e,n){var o=wt(e,n);if(o.state>ef)throw new Error("too late; already scheduled");return o}function Tt(e,n){var o=wt(e,n);if(o.state>ni)throw new Error("too late; already running");return o}function wt(e,n){var o=e.__transition;if(!o||!(o=o[n]))throw new Error("transition not found");return o}function Qv(e,n,o){var r=e.__transition,i;r[n]=o,o.timer=Zu(a,0,o.time);function a(d){o.state=tf,o.timer.restart(l,o.delay,o.time),o.delay<=d&&l(d-o.delay)}function l(d){var u,f,p,m;if(o.state!==tf)return c();for(u in r)if(m=r[u],m.name===o.name){if(m.state===ni)return Qu(l);m.state===nf?(m.state=oi,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[u]):+u<n&&(m.state=oi,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[u])}if(Qu(function(){o.state===ni&&(o.state=nf,o.timer.restart(s,o.delay,o.time),s(d))}),o.state=cl,o.on.call("start",e,e.__data__,o.index,o.group),o.state===cl){for(o.state=ni,i=new Array(p=o.tween.length),u=0,f=-1;u<p;++u)(m=o.tween[u].value.call(e,e.__data__,o.index,o.group))&&(i[++f]=m);i.length=f+1}}function s(d){for(var u=d<o.duration?o.ease.call(null,d/o.duration):(o.timer.restart(c),o.state=dl,1),f=-1,p=i.length;++f<p;)i[f].call(e,u);o.state===dl&&(o.on.call("end",e,e.__data__,o.index,o.group),c())}function c(){o.state=oi,o.timer.stop(),delete r[n];for(var d in r)return;delete e.__transition}}function ii(e,n){var o=e.__transition,r,i,a=!0,l;if(o){n=n==null?null:n+"";for(l in o){if((r=o[l]).name!==n){a=!1;continue}i=r.state>cl&&r.state<dl,r.state=oi,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[l]}a&&delete e.__transition}}function eS(e){return this.each(function(){ii(this,e)})}function tS(e,n){var o,r;return function(){var i=Tt(this,e),a=i.tween;if(a!==o){r=o=a;for(var l=0,s=r.length;l<s;++l)if(r[l].name===n){r=r.slice(),r.splice(l,1);break}}i.tween=r}}function nS(e,n,o){var r,i;if(typeof o!="function")throw new Error;return function(){var a=Tt(this,e),l=a.tween;if(l!==r){i=(r=l).slice();for(var s={name:n,value:o},c=0,d=i.length;c<d;++c)if(i[c].name===n){i[c]=s;break}c===d&&i.push(s)}a.tween=i}}function oS(e,n){var o=this._id;if(e+="",arguments.length<2){for(var r=wt(this.node(),o).tween,i=0,a=r.length,l;i<a;++i)if((l=r[i]).name===e)return l.value;return null}return this.each((n==null?tS:nS)(o,e,n))}function fl(e,n,o){var r=e._id;return e.each(function(){var i=Tt(this,r);(i.value||(i.value={}))[n]=o.apply(this,arguments)}),function(i){return wt(i,r).value[n]}}function of(e,n){var o;return(typeof n=="number"?Pt:n instanceof hn?Wr:(o=hn(n))?(n=o,Wr):Gu)(e,n)}function rS(e){return function(){this.removeAttribute(e)}}function iS(e){return function(){this.removeAttributeNS(e.space,e.local)}}function aS(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttribute(e);return l===i?null:l===r?a:a=n(r=l,o)}}function lS(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttributeNS(e.space,e.local);return l===i?null:l===r?a:a=n(r=l,o)}}function sS(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttribute(e):(l=this.getAttribute(e),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function cS(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function dS(e,n){var o=Kr(e),r=o==="transform"?jv:of;return this.attrTween(e,typeof n=="function"?(o.local?cS:sS)(o,r,fl(this,"attr."+e,n)):n==null?(o.local?iS:rS)(o):(o.local?lS:aS)(o,r,n))}function uS(e,n){return function(o){this.setAttribute(e,n.call(this,o))}}function fS(e,n){return function(o){this.setAttributeNS(e.space,e.local,n.call(this,o))}}function pS(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&fS(e,a)),o}return i._value=n,i}function mS(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&uS(e,a)),o}return i._value=n,i}function gS(e,n){var o="attr."+e;if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;var r=Kr(e);return this.tween(o,(r.local?pS:mS)(r,n))}function hS(e,n){return function(){ul(this,e).delay=+n.apply(this,arguments)}}function yS(e,n){return n=+n,function(){ul(this,e).delay=n}}function _S(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?hS:yS)(n,e)):wt(this.node(),n).delay}function bS(e,n){return function(){Tt(this,e).duration=+n.apply(this,arguments)}}function wS(e,n){return n=+n,function(){Tt(this,e).duration=n}}function kS(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?bS:wS)(n,e)):wt(this.node(),n).duration}function CS(e,n){if(typeof n!="function")throw new Error;return function(){Tt(this,e).ease=n}}function ES(e){var n=this._id;return arguments.length?this.each(CS(n,e)):wt(this.node(),n).ease}function NS(e,n){return function(){var o=n.apply(this,arguments);if(typeof o!="function")throw new Error;Tt(this,e).ease=o}}function vS(e){if(typeof e!="function")throw new Error;return this.each(NS(this._id,e))}function SS(e){typeof e!="function"&&(e=ku(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new Ut(r,this._parents,this._name,this._id)}function xS(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,o=e._groups,r=n.length,i=o.length,a=Math.min(r,i),l=new Array(r),s=0;s<a;++s)for(var c=n[s],d=o[s],u=c.length,f=l[s]=new Array(u),p,m=0;m<u;++m)(p=c[m]||d[m])&&(f[m]=p);for(;s<r;++s)l[s]=n[s];return new Ut(l,this._parents,this._name,this._id)}function AS(e){return(e+"").trim().split(/^|\s+/).every(function(n){var o=n.indexOf(".");return o>=0&&(n=n.slice(0,o)),!n||n==="start"})}function IS(e,n,o){var r,i,a=AS(n)?ul:Tt;return function(){var l=a(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(n,o),l.on=i}}function PS(e,n){var o=this._id;return arguments.length<2?wt(this.node(),o).on.on(e):this.each(IS(o,e,n))}function TS(e){return function(){var n=this.parentNode;for(var o in this.__transition)if(+o!==e)return;n&&n.removeChild(this)}}function OS(){return this.on("end.remove",TS(this._id))}function $S(e){var n=this._name,o=this._id;typeof e!="function"&&(e=Xa(e));for(var r=this._groups,i=r.length,a=new Array(i),l=0;l<i;++l)for(var s=r[l],c=s.length,d=a[l]=new Array(c),u,f,p=0;p<c;++p)(u=s[p])&&(f=e.call(u,u.__data__,p,s))&&("__data__"in u&&(f.__data__=u.__data__),d[p]=f,ri(d[p],n,o,p,d,wt(u,o)));return new Ut(a,this._parents,n,o)}function BS(e){var n=this._name,o=this._id;typeof e!="function"&&(e=wu(e));for(var r=this._groups,i=r.length,a=[],l=[],s=0;s<i;++s)for(var c=r[s],d=c.length,u,f=0;f<d;++f)if(u=c[f]){for(var p=e.call(u,u.__data__,f,c),m,h=wt(u,o),y=0,g=p.length;y<g;++y)(m=p[y])&&ri(m,n,o,y,p,h);a.push(p),l.push(u)}return new Ut(a,l,n,o)}var VS=Io.prototype.constructor;function RS(){return new VS(this._groups,this._parents)}function DS(e,n){var o,r,i;return function(){var a=Hn(this,e),l=(this.style.removeProperty(e),Hn(this,e));return a===l?null:a===o&&l===r?i:i=n(o=a,r=l)}}function rf(e){return function(){this.style.removeProperty(e)}}function MS(e,n,o){var r,i=o+"",a;return function(){var l=Hn(this,e);return l===i?null:l===r?a:a=n(r=l,o)}}function LS(e,n,o){var r,i,a;return function(){var l=Hn(this,e),s=o(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),Hn(this,e))),l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s))}}function FS(e,n){var o,r,i,a="style."+n,l="end."+a,s;return function(){var c=Tt(this,e),d=c.on,u=c.value[a]==null?s||(s=rf(n)):void 0;(d!==o||i!==u)&&(r=(o=d).copy()).on(l,i=u),c.on=r}}function US(e,n,o){var r=(e+="")=="transform"?Kv:of;return n==null?this.styleTween(e,DS(e,r)).on("end.style."+e,rf(e)):typeof n=="function"?this.styleTween(e,LS(e,r,fl(this,"style."+e,n))).each(FS(this._id,e)):this.styleTween(e,MS(e,r,n),o).on("end.style."+e,null)}function KS(e,n,o){return function(r){this.style.setProperty(e,n.call(this,r),o)}}function jS(e,n,o){var r,i;function a(){var l=n.apply(this,arguments);return l!==i&&(r=(i=l)&&KS(e,l,o)),r}return a._value=n,a}function GS(e,n,o){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,jS(e,n,o??""))}function qS(e){return function(){this.textContent=e}}function zS(e){return function(){var n=e(this);this.textContent=n??""}}function HS(e){return this.tween("text",typeof e=="function"?zS(fl(this,"text",e)):qS(e==null?"":e+""))}function YS(e){return function(n){this.textContent=e.call(this,n)}}function WS(e){var n,o;function r(){var i=e.apply(this,arguments);return i!==o&&(n=(o=i)&&YS(i)),n}return r._value=e,r}function XS(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,WS(e))}function ZS(){for(var e=this._name,n=this._id,o=af(),r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)if(c=l[d]){var u=wt(c,n);ri(c,e,o,d,l,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Ut(r,this._parents,e,o)}function JS(){var e,n,o=this,r=o._id,i=o.size();return new Promise(function(a,l){var s={value:l},c={value:function(){--i===0&&a()}};o.each(function(){var d=Tt(this,r),u=d.on;u!==e&&(n=(e=u).copy(),n._.cancel.push(s),n._.interrupt.push(s),n._.end.push(c)),d.on=n}),i===0&&a()})}var QS=0;function Ut(e,n,o,r){this._groups=e,this._parents=n,this._name=o,this._id=r}function af(){return++QS}var Kt=Io.prototype;Ut.prototype={constructor:Ut,select:$S,selectAll:BS,selectChild:Kt.selectChild,selectChildren:Kt.selectChildren,filter:SS,merge:xS,selection:RS,transition:ZS,call:Kt.call,nodes:Kt.nodes,node:Kt.node,size:Kt.size,empty:Kt.empty,each:Kt.each,on:PS,attr:dS,attrTween:gS,style:US,styleTween:GS,text:HS,textTween:XS,remove:OS,tween:oS,delay:_S,duration:kS,ease:ES,easeVarying:vS,end:JS,[Symbol.iterator]:Kt[Symbol.iterator]};function ex(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var tx={time:null,delay:0,duration:250,ease:ex};function nx(e,n){for(var o;!(o=e.__transition)||!(o=o[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return o}function ox(e){var n,o;e instanceof Ut?(n=e._id,e=e._name):(n=af(),(o=tx).time=ll(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&ri(c,e,n,d,l,o||nx(c,n));return new Ut(r,this._parents,e,n)}Io.prototype.interrupt=eS,Io.prototype.transition=ox;const ai=e=>()=>e;function rx(e,{sourceEvent:n,target:o,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function jt(e,n,o){this.k=e,this.x=n,this.y=o}jt.prototype={constructor:jt,scale:function(e){return e===1?this:new jt(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new jt(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Zn=new jt(1,0,0);jt.prototype;function pl(e){e.stopImmediatePropagation()}function Lo(e){e.preventDefault(),e.stopImmediatePropagation()}function ix(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function ax(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function lf(){return this.__zoom||Zn}function lx(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function sx(){return navigator.maxTouchPoints||"ontouchstart"in this}function cx(e,n,o){var r=e.invertX(n[0][0])-o[0][0],i=e.invertX(n[1][0])-o[1][0],a=e.invertY(n[0][1])-o[0][1],l=e.invertY(n[1][1])-o[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function dx(){var e=ix,n=ax,o=cx,r=lx,i=sx,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Zr,d=Fr("start","zoom","end"),u,f,p,m=500,h=150,y=0,g=10;function _(I){I.property("__zoom",lf).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",L).on("dblclick.zoom",M).filter(i).on("touchstart.zoom",G).on("touchmove.zoom",A).on("touchend.zoom touchcancel.zoom",J).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(I,U,F,X){var Y=I.selection?I.selection():I;Y.property("__zoom",lf),I!==Y?S(I,U,F,X):Y.interrupt().each(function(){N(this,arguments).event(X).start().zoom(null,typeof U=="function"?U.apply(this,arguments):U).end()})},_.scaleBy=function(I,U,F,X){_.scaleTo(I,function(){var Y=this.__zoom.k,j=typeof U=="function"?U.apply(this,arguments):U;return Y*j},F,X)},_.scaleTo=function(I,U,F,X){_.transform(I,function(){var Y=n.apply(this,arguments),j=this.__zoom,K=F==null?x(Y):typeof F=="function"?F.apply(this,arguments):F,R=j.invert(K),D=typeof U=="function"?U.apply(this,arguments):U;return o(b(w(j,D),K,R),Y,l)},F,X)},_.translateBy=function(I,U,F,X){_.transform(I,function(){return o(this.__zoom.translate(typeof U=="function"?U.apply(this,arguments):U,typeof F=="function"?F.apply(this,arguments):F),n.apply(this,arguments),l)},null,X)},_.translateTo=function(I,U,F,X,Y){_.transform(I,function(){var j=n.apply(this,arguments),K=this.__zoom,R=X==null?x(j):typeof X=="function"?X.apply(this,arguments):X;return o(Zn.translate(R[0],R[1]).scale(K.k).translate(typeof U=="function"?-U.apply(this,arguments):-U,typeof F=="function"?-F.apply(this,arguments):-F),j,l)},X,Y)};function w(I,U){return U=Math.max(a[0],Math.min(a[1],U)),U===I.k?I:new jt(U,I.x,I.y)}function b(I,U,F){var X=U[0]-F[0]*I.k,Y=U[1]-F[1]*I.k;return X===I.x&&Y===I.y?I:new jt(I.k,X,Y)}function x(I){return[(+I[0][0]+ +I[1][0])/2,(+I[0][1]+ +I[1][1])/2]}function S(I,U,F,X){I.on("start.zoom",function(){N(this,arguments).event(X).start()}).on("interrupt.zoom end.zoom",function(){N(this,arguments).event(X).end()}).tween("zoom",function(){var Y=this,j=arguments,K=N(Y,j).event(X),R=n.apply(Y,j),D=F==null?x(R):typeof F=="function"?F.apply(Y,j):F,te=Math.max(R[1][0]-R[0][0],R[1][1]-R[0][1]),W=Y.__zoom,oe=typeof U=="function"?U.apply(Y,j):U,ie=c(W.invert(D).concat(te/W.k),oe.invert(D).concat(te/oe.k));return function(pe){if(pe===1)pe=oe;else{var ge=ie(pe),Z=te/ge[2];pe=new jt(Z,D[0]-ge[0]*Z,D[1]-ge[1]*Z)}K.zoom(null,pe)}})}function N(I,U,F){return!F&&I.__zooming||new P(I,U)}function P(I,U){this.that=I,this.args=U,this.active=0,this.sourceEvent=null,this.extent=n.apply(I,U),this.taps=0}P.prototype={event:function(I){return I&&(this.sourceEvent=I),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(I,U){return this.mouse&&I!=="mouse"&&(this.mouse[1]=U.invert(this.mouse[0])),this.touch0&&I!=="touch"&&(this.touch0[1]=U.invert(this.touch0[0])),this.touch1&&I!=="touch"&&(this.touch1[1]=U.invert(this.touch1[0])),this.that.__zoom=U,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(I){var U=_t(this.that).datum();d.call(I,this.that,new rx(I,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:d}),U)}};function T(I,...U){if(!e.apply(this,arguments))return;var F=N(this,U).event(I),X=this.__zoom,Y=Math.max(a[0],Math.min(a[1],X.k*Math.pow(2,r.apply(this,arguments)))),j=At(I);if(F.wheel)(F.mouse[0][0]!==j[0]||F.mouse[0][1]!==j[1])&&(F.mouse[1]=X.invert(F.mouse[0]=j)),clearTimeout(F.wheel);else{if(X.k===Y)return;F.mouse=[j,X.invert(j)],ii(this),F.start()}Lo(I),F.wheel=setTimeout(K,h),F.zoom("mouse",o(b(w(X,Y),F.mouse[0],F.mouse[1]),F.extent,l));function K(){F.wheel=null,F.end()}}function L(I,...U){if(p||!e.apply(this,arguments))return;var F=I.currentTarget,X=N(this,U,!0).event(I),Y=_t(I.view).on("mousemove.zoom",D,!0).on("mouseup.zoom",te,!0),j=At(I,F),K=I.clientX,R=I.clientY;Tu(I.view),pl(I),X.mouse=[j,this.__zoom.invert(j)],ii(this),X.start();function D(W){if(Lo(W),!X.moved){var oe=W.clientX-K,ie=W.clientY-R;X.moved=oe*oe+ie*ie>y}X.event(W).zoom("mouse",o(b(X.that.__zoom,X.mouse[0]=At(W,F),X.mouse[1]),X.extent,l))}function te(W){Y.on("mousemove.zoom mouseup.zoom",null),Ou(W.view,X.moved),Lo(W),X.event(W).end()}}function M(I,...U){if(e.apply(this,arguments)){var F=this.__zoom,X=At(I.changedTouches?I.changedTouches[0]:I,this),Y=F.invert(X),j=F.k*(I.shiftKey?.5:2),K=o(b(w(F,j),X,Y),n.apply(this,U),l);Lo(I),s>0?_t(this).transition().duration(s).call(S,K,X,I):_t(this).call(_.transform,K,X,I)}}function G(I,...U){if(e.apply(this,arguments)){var F=I.touches,X=F.length,Y=N(this,U,I.changedTouches.length===X).event(I),j,K,R,D;for(pl(I),K=0;K<X;++K)R=F[K],D=At(R,this),D=[D,this.__zoom.invert(D),R.identifier],Y.touch0?!Y.touch1&&Y.touch0[2]!==D[2]&&(Y.touch1=D,Y.taps=0):(Y.touch0=D,j=!0,Y.taps=1+!!u);u&&(u=clearTimeout(u)),j&&(Y.taps<2&&(f=D[0],u=setTimeout(function(){u=null},m)),ii(this),Y.start())}}function A(I,...U){if(this.__zooming){var F=N(this,U).event(I),X=I.changedTouches,Y=X.length,j,K,R,D;for(Lo(I),j=0;j<Y;++j)K=X[j],R=At(K,this),F.touch0&&F.touch0[2]===K.identifier?F.touch0[0]=R:F.touch1&&F.touch1[2]===K.identifier&&(F.touch1[0]=R);if(K=F.that.__zoom,F.touch1){var te=F.touch0[0],W=F.touch0[1],oe=F.touch1[0],ie=F.touch1[1],pe=(pe=oe[0]-te[0])*pe+(pe=oe[1]-te[1])*pe,ge=(ge=ie[0]-W[0])*ge+(ge=ie[1]-W[1])*ge;K=w(K,Math.sqrt(pe/ge)),R=[(te[0]+oe[0])/2,(te[1]+oe[1])/2],D=[(W[0]+ie[0])/2,(W[1]+ie[1])/2]}else if(F.touch0)R=F.touch0[0],D=F.touch0[1];else return;F.zoom("touch",o(b(K,R,D),F.extent,l))}}function J(I,...U){if(this.__zooming){var F=N(this,U).event(I),X=I.changedTouches,Y=X.length,j,K;for(pl(I),p&&clearTimeout(p),p=setTimeout(function(){p=null},m),j=0;j<Y;++j)K=X[j],F.touch0&&F.touch0[2]===K.identifier?delete F.touch0:F.touch1&&F.touch1[2]===K.identifier&&delete F.touch1;if(F.touch1&&!F.touch0&&(F.touch0=F.touch1,delete F.touch1),F.touch0)F.touch0[1]=this.__zoom.invert(F.touch0[0]);else if(F.end(),F.taps===2&&(K=At(K,this),Math.hypot(f[0]-K[0],f[1]-K[1])<g)){var R=_t(this).on("dblclick.zoom");R&&R.apply(this,arguments)}}}return _.wheelDelta=function(I){return arguments.length?(r=typeof I=="function"?I:ai(+I),_):r},_.filter=function(I){return arguments.length?(e=typeof I=="function"?I:ai(!!I),_):e},_.touchable=function(I){return arguments.length?(i=typeof I=="function"?I:ai(!!I),_):i},_.extent=function(I){return arguments.length?(n=typeof I=="function"?I:ai([[+I[0][0],+I[0][1]],[+I[1][0],+I[1][1]]]),_):n},_.scaleExtent=function(I){return arguments.length?(a[0]=+I[0],a[1]=+I[1],_):[a[0],a[1]]},_.translateExtent=function(I){return arguments.length?(l[0][0]=+I[0][0],l[1][0]=+I[1][0],l[0][1]=+I[0][1],l[1][1]=+I[1][1],_):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},_.constrain=function(I){return arguments.length?(o=I,_):o},_.duration=function(I){return arguments.length?(s=+I,_):s},_.interpolate=function(I){return arguments.length?(c=I,_):c},_.on=function(){var I=d.on.apply(d,arguments);return I===d?_:I},_.clickDistance=function(I){return arguments.length?(y=(I=+I)*I,_):Math.sqrt(y)},_.tapDistance=function(I){return arguments.length?(g=+I,_):g},_}var be=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(be||{}),ml=(e=>(e.Partial="partial",e.Full="full",e))(ml||{}),wn=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(wn||{}),Zt=(e=>(e.Strict="strict",e.Loose="loose",e))(Zt||{}),li=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(li||{}),Fo=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(Fo||{}),sf=(e=>(e.TopLeft="top-left",e.TopCenter="top-center",e.TopRight="top-right",e.BottomLeft="bottom-left",e.BottomCenter="bottom-center",e.BottomRight="bottom-right",e))(sf||{});const ux=["INPUT","SELECT","TEXTAREA"],fx=typeof document<"u"?document:null;function gl(e){var n,o;const r=((o=(n=e.composedPath)==null?void 0:n.call(e))==null?void 0:o[0])||e.target,i=typeof(r==null?void 0:r.hasAttribute)=="function"?r.hasAttribute("contenteditable"):!1,a=typeof(r==null?void 0:r.closest)=="function"?r.closest(".nokey"):null;return ux.includes(r==null?void 0:r.nodeName)||i||!!a}function px(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function cf(e,n,o,r){const i=n.replace("+",`
119
+ `)[0],b=[{startLineNumber:g+1,startColumn:_+1,endLineNumber:g+1,endColumn:_+2,message:w,severity:sr.MarkerSeverity.Error,source:La}];sr.editor.setModelMarkers(f,La,b),a("error",w)}})}),t.onBeforeUnmount(()=>{var u;(u=s.value)==null||u.dispose()}),n({setExampleCode:c}),(u,f)=>(t.openBlock(),t.createElementBlock("div",eN,[t.createVNode(t.unref(xe.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",tN,[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(Zd,(p,m)=>t.createVNode(t.unref(xe.KButton),{key:m,appearance:"secondary",size:"small",onClick:h=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)(`plugins.free-form.datakit.examples.${m}`)),1)]),_:2},1032,["onClick"])),64))])]),_:1}),t.createElementVNode("div",nN,null,512)]))}}),[["__scopeId","data-v-f15f69c5"]]),Jd=44,iN=220,Qd=366,aN=Jd+parseFloat(jc),Or=["request","service_request","service_response","response"],$r=Or,eu=["call","jq","exit","property","static"],tu=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],xo="application/x-datakit+json",Br={delete:["Delete"],undo:["Mod","Z"],redo:{mac:["Mod","Shift","Z"],windows:["Mod","Y"],linux:["Mod","Shift","Z"]},copy:["Mod","C"],paste:["Mod","V"],duplicate:["Mod","D"]},{t:Fa}=Ke.createI18n("en-us",Ye);function St(e){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function Ao(e){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function lN(e){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${e}.name`)}const Vr={call:{type:"call",summary:Ao("call"),description:St("call"),icon:Ne.NetworkIcon,io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}}},jq:{type:"jq",summary:Ao("jq"),description:St("jq"),icon:Ne.CodeblockIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},exit:{type:"exit",summary:Ao("exit"),description:St("exit"),icon:Ne.GatewayIcon,io:{input:{fields:[{name:"headers"},{name:"body"}]}}},property:{type:"property",summary:Ao("property"),description:St("property"),icon:Ne.StackIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},static:{type:"static",summary:Ao("static"),description:St("static"),icon:Ne.VitalsIcon,io:{output:{fields:[],configurable:!0}}}},Rr={request:{type:"request",description:St("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_request:{type:"service_request",description:St("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_response:{type:"service_response",description:St("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}}},response:{type:"response",description:St("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}}}},nu=Object.keys(Rr),Ua=e=>nu.includes(e),xt=e=>nu.includes(e),sN=e=>eu.includes(e),ou=e=>xt(e.type);function gn(e){return $n(e)}function Gn(e){return`${e}:${Cr()}`}function Dr(e){const[n,o]=e.split(".");return{nodeName:n,fieldName:o}}function ru(e){const[n,o]=e.split(".");return{nodeId:n,fieldId:o}}function Ka(e){return xt(e)?Rr[e]:Vr[e]}function iu(e){var i,a,l,s,c,d;const n=Ka(e),o=((l=(a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields)==null?void 0:l.map(({name:u})=>u))??[],r=((d=(c=(s=n.io)==null?void 0:s.output)==null?void 0:c.fields)==null?void 0:d.map(({name:u})=>u))??[];return{input:o,output:r}}function au(e){return(e??[]).map(n=>({id:Gn("field"),name:n}))}function qn(e,n,o){if(o)return e.fields[n].find(r=>r.name===o)}function Xt(e,n,o){if(o)return e.fields[n].find(r=>r.id===o)}function ja(e,n){return n?e.fields.output.some(o=>o.id===n):!0}function lu(e,n){return n?e.fields.input.some(o=>o.id===n):!0}function cN(e){const n=e==="request"||e==="service_request"?"request":"response",o=Rr[e];return{name:e,phase:n,position:{x:0,y:0},fields:iu(o.type),expanded:{}}}function su(e,n){const r=(sN(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${r}_${i}`;if(!n.has(a))return a}}function dN(e,n){const{commit:o,undo:r,redo:i,canUndo:a,canRedo:l,clear:s,reset:c,undoStack:d}=Ue.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let u;function f(_){var w;(w=n==null?void 0:n.onHistoryChange)==null||w.call(n,_,e.value)}function p(_){if(!_){u=void 0,o(),f("commit");return}if(_!=="*"&&u!==_){u=_,o(),f("commit");return}o(),d.value.length>1?d.value.splice(1,1):d.value.length===1&&d.value.splice(0,1),f("commit")}function m(){r(),u=void 0,f("undo")}function h(){i(),u=void 0,f("redo")}function y(){s(),u=void 0,f("clear")}function g(){c(),u=void 0,f("reset")}return{canUndo:a,canRedo:l,commit:p,undo:m,redo:h,clear:y,reset:g}}function cu(e,n){var u,f;const o=new Map(n.map(p=>[p.name,p])),r=[],i=[],a=new Map,l=[],s=new Map,c=p=>{const m=new Set,h=[...p];for(;h.length>0;){const y=h.shift();if(!m.has(y)&&(m.add(y),Ua(y)||(a.get(y).phase="request"),!!s.has(y)))for(const g of s.get(y))m.has(g)||h.push(g)}};let d=!1;for(const p of e){const m=o.get(p.name);!m&&!d&&(d=!0);const h=uu(p.type,p,m);r.push(h),a.set(h.name,h)}for(const p of $r)if(!a.has(p)){let m=o.get(p);m||(d||(d=!0),m=cN(p));const h=uu(p,void 0,m);r.push(h),a.set(h.name,h)}for(const p of e)pN(p,l);for(const p of l){const m=a.get(p.source),h=a.get(p.target);if(!m||!h){m||console.warn(`[initEditorState] skip: source "${p.source}" not found`),h||console.warn(`[initEditorState] skip: target "${p.target}" not found`);continue}s.has(p.source)||s.set(p.source,new Set),s.get(p.source).add(p.target),s.has(p.target)||s.set(p.target,new Set),s.get(p.target).add(p.source),i.push({id:Gn("edge"),source:m.id,sourceField:(u=qn(m,"output",p.sourceField))==null?void 0:u.id,target:h.id,targetField:(f=qn(h,"input",p.targetField))==null?void 0:f.id})}return c(["request","service_request"]),{nodes:r,edges:i,needLayout:d}}function du(e){const{type:n,name:o,phase:r,position:i,fields:a,config:l}=e,s=iu(n);return{id:Gn("node"),type:n,name:o??n,phase:r??"request",position:i??{x:0,y:0},expanded:{},fields:{input:au((a==null?void 0:a.input)??s.input),output:au((a==null?void 0:a.output)??s.output)},config:l?gn(l):{}}}function uN(e){return xt(e)?e==="request"||e==="service_request"?"request":"response":"request"}function uu(e,n,o){return du({type:e,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??uN(e),position:o==null?void 0:o.position,fields:mN(n,o),config:n?fN(n):void 0})}function fN(e){const{type:n,name:o,input:r,inputs:i,output:a,outputs:l,...s}=e;return gn(s)}function pN(e,n){const o=e.name;if(e.input){const{nodeName:r,fieldName:i}=Dr(e.input);r&&n.push({source:r,sourceField:i,target:o})}if(e.inputs)for(const[r,i]of Object.entries(e.inputs)){if(!i)continue;const{nodeName:a,fieldName:l}=Dr(i);a&&n.push({source:a,sourceField:l,target:o,targetField:r})}if(e.output){const{nodeName:r,fieldName:i}=Dr(e.output);r&&n.push({source:o,target:r,targetField:i})}if(e.outputs)for(const[r,i]of Object.entries(e.outputs)){if(!i)continue;const{nodeName:a,fieldName:l}=Dr(i);a&&n.push({source:o,sourceField:r,target:a,targetField:l})}}function mN(e,n){var a,l;if(!e&&!n)return;const o=new Set,r=new Set;e!=null&&e.inputs&&Object.keys(e.inputs).forEach(s=>o.add(s)),e!=null&&e.outputs&&Object.keys(e.outputs).forEach(s=>r.add(s)),(e==null?void 0:e.type)==="static"&&e.values&&Object.keys(e.values).forEach(s=>r.add(s)),(a=n==null?void 0:n.fields)!=null&&a.input&&n.fields.input.forEach(s=>o.add(s)),(l=n==null?void 0:n.fields)!=null&&l.output&&n.fields.output.forEach(s=>r.add(s));const i={};return o.size&&(i.input=Array.from(o)),r.size&&(i.output=Array.from(r)),Object.keys(i).length?i:void 0}function gN(e){const n=t.computed(()=>{const c=new Map;return e.value.nodes.forEach(d=>c.set(d.id,d)),c}),o=t.computed(()=>e.value.edges);function r(c){const d=n.value.get(c.source),u=n.value.get(c.target);if(!d||!u)return c;const f=lu(d,c.sourceField)&&!ja(d,c.sourceField),p=ja(u,c.targetField);return f&&p?{source:c.target,sourceField:c.targetField,target:c.source,targetField:c.sourceField}:c}function i(c){const d=r(c),u=[],f=n.value.get(d.source),p=n.value.get(d.target);if(f||u.push("source node not found"),p||u.push("target node not found"),!f||!p)return{ok:!1,errors:u};ja(f,d.sourceField)||u.push("source handle is not an output field"),lu(p,d.targetField)||u.push("target handle is not an input field"),p.name==="request"&&u.push('cannot target "request"'),f.name==="response"&&u.push('cannot source from "response"');const m=o.value.some(g=>g.target===d.target&&!g.targetField),h=o.value.some(g=>g.target===d.target&&!!g.targetField);(m&&d.targetField||h&&!d.targetField)&&u.push("cannot mix whole-node and field-level inputs on same target"),d.targetField&&o.value.some(g=>g.target===d.target&&g.targetField===d.targetField)&&u.push("target field already connected"),!d.targetField&&o.value.some(g=>g.target===d.target&&!g.targetField)&&u.push("target input already taken"),d.source===d.target&&u.push("self-loop not allowed");const y=Mr(o.value,d);return Ga(y)&&u.push("connection introduces a cycle"),u.length?{ok:!1,errors:u}:{ok:!0}}function a(){const c=[];for(const d of $r)[...n.value.values()].some(u=>u.name===d)||c.push(`missing implicit node "${d}"`);for(const d of o.value){const u=n.value.get(d.source);n.value.get(d.target).name==="request"&&c.push(`edge "${d.id}" targets "request"`),u.name==="response"&&c.push(`edge "${d.id}" sources from "response"`)}return Ga(Mr(o.value))&&c.push("graph contains cycle"),c.length?{ok:!1,errors:c}:{ok:!0}}function l(c){return i(c).ok}function s(c){return!c.source||!c.target?!1:l({source:c.source,sourceField:c.sourceHandle,target:c.target,targetField:c.targetHandle})}return{canonicalizeConnection:r,validateConnection:i,validateGraph:a,isValidConnection:l,isValidVueFlowConnection:s,buildAdjacency:Mr}}function Ga(e){const n=new Set,o=new Set;function r(i){if(o.has(i))return!0;if(n.has(i))return!1;n.add(i),o.add(i);for(const a of e.get(i)??[])if(r(a))return!0;return o.delete(i),!1}for(const i of e.keys())if(r(i))return!0;return!1}function Mr(e,n){const o=new Map;for(const r of e)o.has(r.source)||o.set(r.source,[]),o.get(r.source).push(r.target),o.has(r.target)||o.set(r.target,[]);return n&&(o.has(n.source)||o.set(n.source,[]),o.get(n.source).push(n.target),o.has(n.target)||o.set(n.target,[])),o}const[hN,yN]=Ue.createInjectionState(function(n,o,r={}){const i=t.ref(cu(n,o)),a=t.ref(),l=t.ref(!1),s=t.ref(!1),c=dN(i,{capacity:200,clone:gn,onHistoryChange:C=>{var v;C!=="clear"&&((v=r.onChange)==null||v.call(r,re(),ue()))}}),d=t.ref(!1),u=t.ref(new Set);function f(){i.value.needLayout=!1}const p=t.computed(()=>new Map(i.value.nodes.map(C=>[C.id,C]))),m=t.computed(()=>new Map(i.value.nodes.map(C=>[C.name,C]))),h=t.computed(()=>{const C=new Map,v=new Map;for(const k of i.value.edges)C.set(k.id,k),v.has(k.source)||v.set(k.source,new Set),v.get(k.source).add(k.id),v.has(k.target)||v.set(k.target,new Set),v.get(k.target).add(k.id);return{edgeMapById:C,edgeIdMapByNodeId:v}}),y=t.computed(()=>h.value.edgeMapById),g=t.computed(()=>h.value.edgeIdMapByNodeId),_=t.computed(()=>new Set(i.value.nodes.map(C=>C.name))),{canonicalizeConnection:w,validateConnection:b,validateGraph:A,isValidConnection:S,isValidVueFlowConnection:N}=gN(i);function P(C){return p.value.get(C)}function T(C){return m.value.get(C)}function M(C){return y.value.get(C)}function H(C){if(!g.value.has(C))return[];const v=[];return g.value.get(C).forEach(k=>{const E=M(k);E&&v.push(E)}),v}function q(C){return H(C).filter(v=>v.target===C)}function x(C){return H(C).filter(v=>v.source===C)}const Y=t.computed(()=>a.value?P(a.value):void 0);function I(C){a.value=C}function F(C){if(xt(C.type))throw new Error("[createNode] implicit nodes are fixed.");return du({type:C.type,name:C.name||(xt(C.type)?void 0:su(C.type,_.value)),phase:C.phase,position:C.position,fields:C.fields,config:C.config})}function L(C,v=!0){const k=F(C);if(k)return i.value.nodes.push(k),v&&c.commit(),d.value=!0,k.id}function Z(C,v,k=!0){const E=P(C);if(!E||xt(E.type))return;const $={...gn(E),id:Gn("node"),name:su(E.name,_.value),position:v??{x:E.position.x+20,y:E.position.y+20}};return i.value.nodes.push($),k&&c.commit(),d.value=!0,$.id}function W(C,v=!0){i.value.edges=i.value.edges.filter(E=>E.source!==C&&E.target!==C),i.value.nodes=i.value.nodes.filter(E=>E.id!==C),a.value===C&&(a.value=void 0);const k=A();k.ok||console.warn("[removeNode] topology invalid:",k.errors.join("; ")),v&&c.commit()}function K(C,v,k=!0,E){const $=P(C);if($){if(Ua($.name)){console.warn("[renameNode] implicit node name is reserved.");return}$.name=v,k&&c.commit(E)}}function U(C,v,k=!0){const E=P(C);E&&(E.position={...v},k&&c.commit())}function R(C,v,k,E=!0,$){const B=P(C);B&&(B.expanded[v]=k??!B.expanded[v],E&&c.commit($??`toggle:${C}:${v}`))}function D(C,v,k=!0,E){const $=P(C);$&&($.config=gn(v),k&&c.commit(E))}function te(C,v,k,E=!0){const $=P(C);if(!$)return;const B=$.fields[v];if(B.some(j=>j.name===k)){console.warn(`[addField] field "${k}" already exists on ${v}.`);return}B.push({id:Gn("field"),name:k}),v==="input"?$.fields.input=B:$.fields.output=B,E&&c.commit()}function X(C,v,k,E=!0){const $=P(C);if(!$)return;const B=$.fields.input,j=$.fields.output,O=B.find(z=>z.id===v)??j.find(z=>z.id===v);O&&(O.name=k,E&&c.commit())}function oe(C,v,k=!0,E=!0){const $=P(C);if(!$)return;const B=$.fields.input,j=$.fields.output,O=B.findIndex(de=>de.id===v);O>=0&&B.splice(O,1);const z=j.findIndex(de=>de.id===v);z>=0&&j.splice(z,1),$.fields.input=B,$.fields.output=j,k&&(i.value.edges=i.value.edges.filter(de=>de.sourceField!==v&&de.targetField!==v));const V=A();V.ok||console.warn("[removeField] topology invalid:",V.errors.join("; ")),E&&c.commit()}function ie(C,v=!0){const k=w(C),E=b(k);if(!E.ok){console.warn("[connectEdge] invalid connection:",E.errors.join("; "));return}const $={id:Gn("edge"),...k};i.value.edges.push($);const B=A();if(!B.ok){i.value.edges.pop(),console.warn("[connectEdge] topology invalid:",B.errors.join("; "));return}return v&&c.commit(),$.id}function pe(C,v,k=!0){ge(C,!1),ie(v,!1),k&&c.commit()}function ge(C,v=!0){const k=i.value.edges.findIndex(B=>B.id===C);if(k<0)return;const E=i.value.edges[k];i.value.edges.splice(k,1);const $=A();if(!$.ok){i.value.edges.splice(k,0,E),console.warn("[disconnectEdge] topology invalid:",$.errors.join("; "));return}v&&c.commit()}function J(C,v=!0){const k=q(C);for(const E of k)ge(E.id,!1);v&&c.commit()}function ee(C,v=!0){const k=x(C);for(const E of k)ge(E.id,!1);v&&c.commit()}function re(){var v,k,E,$,B;const C=[];for(const j of i.value.nodes){if(xt(j.type))continue;let O;const z={};let V;const de={};for(const Q of i.value.edges.filter(he=>he.target===j.id)){const he=P(Q.source);if(!he)continue;const we=(v=Xt(he,"output",Q.sourceField))==null?void 0:v.name,ae=we?`${he.name}.${we}`:he.name,ne=(k=Xt(j,"input",Q.targetField))==null?void 0:k.name;ne?z[ne]=ae:O===void 0&&(O=ae)}for(const Q of i.value.edges.filter(he=>he.source===j.id)){const he=P(Q.target);if(!he)continue;const we=he.type;if(!xt(we)||!((E=Rr[we].io)!=null&&E.input))continue;const ae=($=Xt(he,"input",Q.targetField))==null?void 0:$.name,ne=ae?`${he.name}.${ae}`:he.name,$e=(B=Xt(j,"output",Q.sourceField))==null?void 0:B.name;$e?de[$e]=ne:V===void 0&&(V=ne)}const le={...gn(j.config),name:j.name,type:j.type};Object.keys(z).length>0?le.inputs=z:O!==void 0&&(le.input=O),Object.keys(de).length>0?le.outputs=de:V!==void 0&&(le.output=V),C.push(le)}return C}function ue(){return i.value.nodes.map(C=>gn({name:C.name,phase:C.phase,position:{...C.position},expanded:{...C.expanded},fields:{input:C.fields.input.map(v=>v.name),output:C.fields.output.map(v=>v.name)}}))}function se(C,v){i.value=cu(C,v),c.reset()}return{state:i,selection:a,modalOpen:l,skipValidation:d,invalidConfigNodeIds:u,propertiesPanelOpen:s,nodeMapById:p,nodeMapByName:m,edgeMapById:y,edgeIdMapByNodeId:g,getNodeById:P,getNodeByName:T,getEdgeById:M,getEdgesByNodeId:H,getInEdgesByNodeId:q,getOutEdgesByNodeId:x,selectedNode:Y,selectNode:I,createNode:F,addNode:L,duplicateNode:Z,removeNode:W,renameNode:K,moveNode:U,toggleExpanded:R,replaceConfig:D,addField:te,renameField:X,removeField:oe,connectEdge:ie,replaceConnection:pe,disconnectEdge:ge,disconnectInEdges:J,disconnectOutEdges:ee,toConfigNodes:re,toUINodes:ue,load:se,commit:c.commit,undo:c.undo,redo:c.redo,canUndo:c.canUndo,canRedo:c.canRedo,clear:c.clear,reset:c.reset,isValidConnection:S,isValidVueFlowConnection:N,validateGraph:()=>A(),markAsLayoutCompleted:f}});function it(){const e=yN();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const qa=Ue.createGlobalState(()=>{const e=Ue.useLocalStorage("datakit-editor-mode","flow"),n=Ue.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}});function Lr(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function Ft(e){return typeof e=="function"?e():t.unref(e)}const _N=typeof window<"u"&&typeof document<"u",bN=e=>typeof e<"u",wN=Object.prototype.toString,kN=e=>wN.call(e)==="[object Object]",CN=()=>{};function EN(e,n){function o(...r){return new Promise((i,a)=>{Promise.resolve(e(()=>n.apply(this,r),{fn:n,thisArg:this,args:r})).then(i).catch(a)})}return o}const fu=e=>e();function NN(e=fu){const n=t.ref(!0);function o(){n.value=!1}function r(){n.value=!0}const i=(...a)=>{n.value&&e(...a)};return{isActive:t.readonly(n),pause:o,resume:r,eventFilter:i}}function pu(e,n=!1,o="Timeout"){return new Promise((r,i)=>{setTimeout(n?()=>i(o):r,e)})}function vN(e,n,o={}){const{eventFilter:r=fu,...i}=o;return t.watch(e,EN(r,n),i)}function zn(e,n,o={}){const{eventFilter:r,...i}=o,{eventFilter:a,pause:l,resume:s,isActive:c}=NN(r);return{stop:vN(e,n,{...i,eventFilter:a}),pause:l,resume:s,isActive:c}}function SN(e,n={}){if(!t.isRef(e))return t.toRefs(e);const o=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)o[r]=t.customRef(()=>({get(){return e.value[r]},set(i){var a;if((a=Ft(n.replaceRef))!=null?a:!0)if(Array.isArray(e.value)){const s=[...e.value];s[r]=i,e.value=s}else{const s={...e.value,[r]:i};Object.setPrototypeOf(s,Object.getPrototypeOf(e.value)),e.value=s}else e.value[r]=i}}));return o}function za(e,n=!1){function o(f,{flush:p="sync",deep:m=!1,timeout:h,throwOnTimeout:y}={}){let g=null;const w=[new Promise(b=>{g=t.watch(e,A=>{f(A)!==n&&(g==null||g(),b(A))},{flush:p,deep:m,immediate:!0})})];return h!=null&&w.push(pu(h,y).then(()=>Ft(e)).finally(()=>g==null?void 0:g())),Promise.race(w)}function r(f,p){if(!t.isRef(f))return o(A=>A===f,p);const{flush:m="sync",deep:h=!1,timeout:y,throwOnTimeout:g}=p??{};let _=null;const b=[new Promise(A=>{_=t.watch([e,f],([S,N])=>{n!==(S===N)&&(_==null||_(),A(S))},{flush:m,deep:h,immediate:!0})})];return y!=null&&b.push(pu(y,g).then(()=>Ft(e)).finally(()=>(_==null||_(),Ft(e)))),Promise.race(b)}function i(f){return o(p=>!!p,f)}function a(f){return r(null,f)}function l(f){return r(void 0,f)}function s(f){return o(Number.isNaN,f)}function c(f,p){return o(m=>{const h=Array.from(m);return h.includes(f)||h.includes(Ft(f))},p)}function d(f){return u(1,f)}function u(f=1,p){let m=-1;return o(()=>(m+=1,m>=f),p)}return Array.isArray(Ft(e))?{toMatch:o,toContains:c,changed:d,changedTimes:u,get not(){return za(e,!n)}}:{toMatch:o,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:l,changed:d,changedTimes:u,get not(){return za(e,!n)}}}function Ha(e){return za(e)}function xN(e){var n;const o=Ft(e);return(n=o==null?void 0:o.$el)!=null?n:o}const mu=_N?window:void 0;function gu(...e){let n,o,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([o,r,i]=e,n=mu):[n,o,r,i]=e,!n)return CN;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const a=[],l=()=>{a.forEach(u=>u()),a.length=0},s=(u,f,p,m)=>(u.addEventListener(f,p,m),()=>u.removeEventListener(f,p,m)),c=t.watch(()=>[xN(n),Ft(i)],([u,f])=>{if(l(),!u)return;const p=kN(f)?{...f}:f;a.push(...o.flatMap(m=>r.map(h=>s(u,m,h,p))))},{immediate:!0,flush:"post"}),d=()=>{c(),l()};return Lr(d),d}function AN(e){return typeof e=="function"?e:typeof e=="string"?n=>n.key===e:Array.isArray(e)?n=>e.includes(n.key):()=>!0}function hu(...e){let n,o,r={};e.length===3?(n=e[0],o=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(n=!0,o=e[0],r=e[1]):(n=e[0],o=e[1]):(n=!0,o=e[0]);const{target:i=mu,eventName:a="keydown",passive:l=!1,dedupe:s=!1}=r,c=AN(n);return gu(i,a,u=>{u.repeat&&Ft(s)||c(u)&&o(u)},l)}function IN(e){return JSON.parse(JSON.stringify(e))}function Ya(e,n,o,r={}){var i,a,l;const{clone:s=!1,passive:c=!1,eventName:d,deep:u=!1,defaultValue:f,shouldEmit:p}=r,m=t.getCurrentInstance(),h=o||(m==null?void 0:m.emit)||((i=m==null?void 0:m.$emit)==null?void 0:i.bind(m))||((l=(a=m==null?void 0:m.proxy)==null?void 0:a.$emit)==null?void 0:l.bind(m==null?void 0:m.proxy));let y=d;n||(n="modelValue"),y=y||`update:${n.toString()}`;const g=b=>s?typeof s=="function"?s(b):IN(b):b,_=()=>bN(e[n])?g(e[n]):f,w=b=>{p?p(b)&&h(y,b):h(y,b)};if(c){const b=_(),A=t.ref(b);let S=!1;return t.watch(()=>e[n],N=>{S||(S=!0,A.value=g(N),t.nextTick(()=>S=!1))}),t.watch(A,N=>{!S&&(N!==e[n]||u)&&w(N)},{deep:u}),A}else return t.computed({get(){return _()},set(b){w(b)}})}var PN={value:()=>{}};function Fr(){for(var e=0,n=arguments.length,o={},r;e<n;++e){if(!(r=arguments[e]+"")||r in o||/[\s.]/.test(r))throw new Error("illegal type: "+r);o[r]=[]}return new Ur(o)}function Ur(e){this._=e}function TN(e,n){return e.trim().split(/^|\s+/).map(function(o){var r="",i=o.indexOf(".");if(i>=0&&(r=o.slice(i+1),o=o.slice(0,i)),o&&!n.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:r}})}Ur.prototype=Fr.prototype={constructor:Ur,on:function(e,n){var o=this._,r=TN(e+"",o),i,a=-1,l=r.length;if(arguments.length<2){for(;++a<l;)if((i=(e=r[a]).type)&&(i=ON(o[i],e.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<l;)if(i=(e=r[a]).type)o[i]=yu(o[i],e.name,n);else if(n==null)for(i in o)o[i]=yu(o[i],e.name,null);return this},copy:function(){var e={},n=this._;for(var o in n)e[o]=n[o].slice();return new Ur(e)},call:function(e,n){if((i=arguments.length-2)>0)for(var o=new Array(i),r=0,i,a;r<i;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(n,o)},apply:function(e,n,o){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(n,o)}};function ON(e,n){for(var o=0,r=e.length,i;o<r;++o)if((i=e[o]).name===n)return i.value}function yu(e,n,o){for(var r=0,i=e.length;r<i;++r)if(e[r].name===n){e[r]=PN,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:n,value:o}),e}var Wa="http://www.w3.org/1999/xhtml";const _u={svg:"http://www.w3.org/2000/svg",xhtml:Wa,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Kr(e){var n=e+="",o=n.indexOf(":");return o>=0&&(n=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),_u.hasOwnProperty(n)?{space:_u[n],local:e}:e}function $N(e){return function(){var n=this.ownerDocument,o=this.namespaceURI;return o===Wa&&n.documentElement.namespaceURI===Wa?n.createElement(e):n.createElementNS(o,e)}}function BN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function bu(e){var n=Kr(e);return(n.local?BN:$N)(n)}function VN(){}function Xa(e){return e==null?VN:function(){return this.querySelector(e)}}function RN(e){typeof e!="function"&&(e=Xa(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=new Array(l),c,d,u=0;u<l;++u)(c=a[u])&&(d=e.call(c,c.__data__,u,a))&&("__data__"in c&&(d.__data__=c.__data__),s[u]=d);return new ct(r,this._parents)}function DN(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function MN(){return[]}function wu(e){return e==null?MN:function(){return this.querySelectorAll(e)}}function LN(e){return function(){return DN(e.apply(this,arguments))}}function FN(e){typeof e=="function"?e=LN(e):e=wu(e);for(var n=this._groups,o=n.length,r=[],i=[],a=0;a<o;++a)for(var l=n[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&(r.push(e.call(c,c.__data__,d,l)),i.push(c));return new ct(r,i)}function ku(e){return function(){return this.matches(e)}}function Cu(e){return function(n){return n.matches(e)}}var UN=Array.prototype.find;function KN(e){return function(){return UN.call(this.children,e)}}function jN(){return this.firstElementChild}function GN(e){return this.select(e==null?jN:KN(typeof e=="function"?e:Cu(e)))}var qN=Array.prototype.filter;function zN(){return Array.from(this.children)}function HN(e){return function(){return qN.call(this.children,e)}}function YN(e){return this.selectAll(e==null?zN:HN(typeof e=="function"?e:Cu(e)))}function WN(e){typeof e!="function"&&(e=ku(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new ct(r,this._parents)}function Eu(e){return new Array(e.length)}function XN(){return new ct(this._enter||this._groups.map(Eu),this._parents)}function jr(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}jr.prototype={constructor:jr,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function ZN(e){return function(){return e}}function JN(e,n,o,r,i,a){for(var l=0,s,c=n.length,d=a.length;l<d;++l)(s=n[l])?(s.__data__=a[l],r[l]=s):o[l]=new jr(e,a[l]);for(;l<c;++l)(s=n[l])&&(i[l]=s)}function QN(e,n,o,r,i,a,l){var s,c,d=new Map,u=n.length,f=a.length,p=new Array(u),m;for(s=0;s<u;++s)(c=n[s])&&(p[s]=m=l.call(c,c.__data__,s,n)+"",d.has(m)?i[s]=c:d.set(m,c));for(s=0;s<f;++s)m=l.call(e,a[s],s,a)+"",(c=d.get(m))?(r[s]=c,c.__data__=a[s],d.delete(m)):o[s]=new jr(e,a[s]);for(s=0;s<u;++s)(c=n[s])&&d.get(p[s])===c&&(i[s]=c)}function e1(e){return e.__data__}function t1(e,n){if(!arguments.length)return Array.from(this,e1);var o=n?QN:JN,r=this._parents,i=this._groups;typeof e!="function"&&(e=ZN(e));for(var a=i.length,l=new Array(a),s=new Array(a),c=new Array(a),d=0;d<a;++d){var u=r[d],f=i[d],p=f.length,m=n1(e.call(u,u&&u.__data__,d,r)),h=m.length,y=s[d]=new Array(h),g=l[d]=new Array(h),_=c[d]=new Array(p);o(u,f,y,g,_,m,n);for(var w=0,b=0,A,S;w<h;++w)if(A=y[w]){for(w>=b&&(b=w+1);!(S=g[b])&&++b<h;);A._next=S||null}}return l=new ct(l,r),l._enter=s,l._exit=c,l}function n1(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function o1(){return new ct(this._exit||this._groups.map(Eu),this._parents)}function r1(e,n,o){var r=this.enter(),i=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),n!=null&&(i=n(i),i&&(i=i.selection())),o==null?a.remove():o(a),r&&i?r.merge(i).order():i}function i1(e){for(var n=e.selection?e.selection():e,o=this._groups,r=n._groups,i=o.length,a=r.length,l=Math.min(i,a),s=new Array(i),c=0;c<l;++c)for(var d=o[c],u=r[c],f=d.length,p=s[c]=new Array(f),m,h=0;h<f;++h)(m=d[h]||u[h])&&(p[h]=m);for(;c<i;++c)s[c]=o[c];return new ct(s,this._parents)}function a1(){for(var e=this._groups,n=-1,o=e.length;++n<o;)for(var r=e[n],i=r.length-1,a=r[i],l;--i>=0;)(l=r[i])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function l1(e){e||(e=s1);function n(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a){for(var l=o[a],s=l.length,c=i[a]=new Array(s),d,u=0;u<s;++u)(d=l[u])&&(c[u]=d);c.sort(n)}return new ct(i,this._parents).order()}function s1(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function c1(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function d1(){return Array.from(this)}function u1(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length;i<a;++i){var l=r[i];if(l)return l}return null}function f1(){let e=0;for(const n of this)++e;return e}function p1(){return!this.node()}function m1(e){for(var n=this._groups,o=0,r=n.length;o<r;++o)for(var i=n[o],a=0,l=i.length,s;a<l;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function g1(e){return function(){this.removeAttribute(e)}}function h1(e){return function(){this.removeAttributeNS(e.space,e.local)}}function y1(e,n){return function(){this.setAttribute(e,n)}}function _1(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function b1(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function w1(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,o)}}function k1(e,n){var o=Kr(e);if(arguments.length<2){var r=this.node();return o.local?r.getAttributeNS(o.space,o.local):r.getAttribute(o)}return this.each((n==null?o.local?h1:g1:typeof n=="function"?o.local?w1:b1:o.local?_1:y1)(o,n))}function Nu(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function C1(e){return function(){this.style.removeProperty(e)}}function E1(e,n,o){return function(){this.style.setProperty(e,n,o)}}function N1(e,n,o){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function v1(e,n,o){return arguments.length>1?this.each((n==null?C1:typeof n=="function"?N1:E1)(e,n,o??"")):Hn(this.node(),e)}function Hn(e,n){return e.style.getPropertyValue(n)||Nu(e).getComputedStyle(e,null).getPropertyValue(n)}function S1(e){return function(){delete this[e]}}function x1(e,n){return function(){this[e]=n}}function A1(e,n){return function(){var o=n.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function I1(e,n){return arguments.length>1?this.each((n==null?S1:typeof n=="function"?A1:x1)(e,n)):this.node()[e]}function vu(e){return e.trim().split(/^|\s+/)}function Za(e){return e.classList||new Su(e)}function Su(e){this._node=e,this._names=vu(e.getAttribute("class")||"")}Su.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function xu(e,n){for(var o=Za(e),r=-1,i=n.length;++r<i;)o.add(n[r])}function Au(e,n){for(var o=Za(e),r=-1,i=n.length;++r<i;)o.remove(n[r])}function P1(e){return function(){xu(this,e)}}function T1(e){return function(){Au(this,e)}}function O1(e,n){return function(){(n.apply(this,arguments)?xu:Au)(this,e)}}function $1(e,n){var o=vu(e+"");if(arguments.length<2){for(var r=Za(this.node()),i=-1,a=o.length;++i<a;)if(!r.contains(o[i]))return!1;return!0}return this.each((typeof n=="function"?O1:n?P1:T1)(o,n))}function B1(){this.textContent=""}function V1(e){return function(){this.textContent=e}}function R1(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function D1(e){return arguments.length?this.each(e==null?B1:(typeof e=="function"?R1:V1)(e)):this.node().textContent}function M1(){this.innerHTML=""}function L1(e){return function(){this.innerHTML=e}}function F1(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function U1(e){return arguments.length?this.each(e==null?M1:(typeof e=="function"?F1:L1)(e)):this.node().innerHTML}function K1(){this.nextSibling&&this.parentNode.appendChild(this)}function j1(){return this.each(K1)}function G1(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function q1(){return this.each(G1)}function z1(e){var n=typeof e=="function"?e:bu(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function H1(){return null}function Y1(e,n){var o=typeof e=="function"?e:bu(e),r=n==null?H1:typeof n=="function"?n:Xa(n);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function W1(){var e=this.parentNode;e&&e.removeChild(this)}function X1(){return this.each(W1)}function Z1(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function J1(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Q1(e){return this.select(e?J1:Z1)}function ev(e){return arguments.length?this.property("__data__",e):this.node().__data__}function tv(e){return function(n){e.call(this,n,this.__data__)}}function nv(e){return e.trim().split(/^|\s+/).map(function(n){var o="",r=n.indexOf(".");return r>=0&&(o=n.slice(r+1),n=n.slice(0,r)),{type:n,name:o}})}function ov(e){return function(){var n=this.__on;if(n){for(var o=0,r=-1,i=n.length,a;o<i;++o)a=n[o],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):n[++r]=a;++r?n.length=r:delete this.__on}}}function rv(e,n,o){return function(){var r=this.__on,i,a=tv(n);if(r){for(var l=0,s=r.length;l<s;++l)if((i=r[l]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=o),i.value=n;return}}this.addEventListener(e.type,a,o),i={type:e.type,name:e.name,value:n,listener:a,options:o},r?r.push(i):this.__on=[i]}}function iv(e,n,o){var r=nv(e+""),i,a=r.length,l;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,d=s.length,u;c<d;++c)for(i=0,u=s[c];i<a;++i)if((l=r[i]).type===u.type&&l.name===u.name)return u.value}return}for(s=n?rv:ov,i=0;i<a;++i)this.each(s(r[i],n,o));return this}function Iu(e,n,o){var r=Nu(e),i=r.CustomEvent;typeof i=="function"?i=new i(n,o):(i=r.document.createEvent("Event"),o?(i.initEvent(n,o.bubbles,o.cancelable),i.detail=o.detail):i.initEvent(n,!1,!1)),e.dispatchEvent(i)}function av(e,n){return function(){return Iu(this,e,n)}}function lv(e,n){return function(){return Iu(this,e,n.apply(this,arguments))}}function sv(e,n){return this.each((typeof n=="function"?lv:av)(e,n))}function*cv(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length,l;i<a;++i)(l=r[i])&&(yield l)}var Pu=[null];function ct(e,n){this._groups=e,this._parents=n}function Io(){return new ct([[document.documentElement]],Pu)}function dv(){return this}ct.prototype=Io.prototype={constructor:ct,select:RN,selectAll:FN,selectChild:GN,selectChildren:YN,filter:WN,data:t1,enter:XN,exit:o1,join:r1,merge:i1,selection:dv,order:a1,sort:l1,call:c1,nodes:d1,node:u1,size:f1,empty:p1,each:m1,attr:k1,style:v1,property:I1,classed:$1,text:D1,html:U1,raise:j1,lower:q1,append:z1,insert:Y1,remove:X1,clone:Q1,datum:ev,on:iv,dispatch:sv,[Symbol.iterator]:cv};function _t(e){return typeof e=="string"?new ct([[document.querySelector(e)]],[document.documentElement]):new ct([[e]],Pu)}function uv(e){let n;for(;n=e.sourceEvent;)e=n;return e}function At(e,n){if(e=uv(e),n===void 0&&(n=e.currentTarget),n){var o=n.ownerSVGElement||n;if(o.createSVGPoint){var r=o.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[e.clientX-i.left-n.clientLeft,e.clientY-i.top-n.clientTop]}}return[e.pageX,e.pageY]}const fv={passive:!1},Po={capture:!0,passive:!1};function Ja(e){e.stopImmediatePropagation()}function Yn(e){e.preventDefault(),e.stopImmediatePropagation()}function Tu(e){var n=e.document.documentElement,o=_t(e).on("dragstart.drag",Yn,Po);"onselectstart"in n?o.on("selectstart.drag",Yn,Po):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Ou(e,n){var o=e.document.documentElement,r=_t(e).on("dragstart.drag",null);n&&(r.on("click.drag",Yn,Po),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in o?r.on("selectstart.drag",null):(o.style.MozUserSelect=o.__noselect,delete o.__noselect)}const Gr=e=>()=>e;function Qa(e,{sourceEvent:n,subject:o,target:r,identifier:i,active:a,x:l,y:s,dx:c,dy:d,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:u}})}Qa.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function pv(e){return!e.ctrlKey&&!e.button}function mv(){return this.parentNode}function gv(e,n){return n??{x:e.x,y:e.y}}function hv(){return navigator.maxTouchPoints||"ontouchstart"in this}function yv(){var e=pv,n=mv,o=gv,r=hv,i={},a=Fr("start","drag","end"),l=0,s,c,d,u,f=0;function p(A){A.on("mousedown.drag",m).filter(r).on("touchstart.drag",g).on("touchmove.drag",_,fv).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(A,S){if(!(u||!e.call(this,A,S))){var N=b(this,n.call(this,A,S),A,S,"mouse");N&&(_t(A.view).on("mousemove.drag",h,Po).on("mouseup.drag",y,Po),Tu(A.view),Ja(A),d=!1,s=A.clientX,c=A.clientY,N("start",A))}}function h(A){if(Yn(A),!d){var S=A.clientX-s,N=A.clientY-c;d=S*S+N*N>f}i.mouse("drag",A)}function y(A){_t(A.view).on("mousemove.drag mouseup.drag",null),Ou(A.view,d),Yn(A),i.mouse("end",A)}function g(A,S){if(e.call(this,A,S)){var N=A.changedTouches,P=n.call(this,A,S),T=N.length,M,H;for(M=0;M<T;++M)(H=b(this,P,A,S,N[M].identifier,N[M]))&&(Ja(A),H("start",A,N[M]))}}function _(A){var S=A.changedTouches,N=S.length,P,T;for(P=0;P<N;++P)(T=i[S[P].identifier])&&(Yn(A),T("drag",A,S[P]))}function w(A){var S=A.changedTouches,N=S.length,P,T;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),P=0;P<N;++P)(T=i[S[P].identifier])&&(Ja(A),T("end",A,S[P]))}function b(A,S,N,P,T,M){var H=a.copy(),q=At(M||N,S),x,Y,I;if((I=o.call(A,new Qa("beforestart",{sourceEvent:N,target:p,identifier:T,active:l,x:q[0],y:q[1],dx:0,dy:0,dispatch:H}),P))!=null)return x=I.x-q[0]||0,Y=I.y-q[1]||0,function F(L,Z,W){var K=q,U;switch(L){case"start":i[T]=F,U=l++;break;case"end":delete i[T],--l;case"drag":q=At(W||Z,S),U=l;break}H.call(L,A,new Qa(L,{sourceEvent:Z,subject:I,target:p,identifier:T,active:U,x:q[0]+x,y:q[1]+Y,dx:q[0]-K[0],dy:q[1]-K[1],dispatch:H}),P)}}return p.filter=function(A){return arguments.length?(e=typeof A=="function"?A:Gr(!!A),p):e},p.container=function(A){return arguments.length?(n=typeof A=="function"?A:Gr(A),p):n},p.subject=function(A){return arguments.length?(o=typeof A=="function"?A:Gr(A),p):o},p.touchable=function(A){return arguments.length?(r=typeof A=="function"?A:Gr(!!A),p):r},p.on=function(){var A=a.on.apply(a,arguments);return A===a?p:A},p.clickDistance=function(A){return arguments.length?(f=(A=+A)*A,p):Math.sqrt(f)},p}function el(e,n,o){e.prototype=n.prototype=o,o.constructor=e}function $u(e,n){var o=Object.create(e.prototype);for(var r in n)o[r]=n[r];return o}function To(){}var Oo=.7,qr=1/Oo,Wn="\\s*([+-]?\\d+)\\s*",$o="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",It="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_v=/^#([0-9a-f]{3,8})$/,bv=new RegExp(`^rgb\\(${Wn},${Wn},${Wn}\\)$`),wv=new RegExp(`^rgb\\(${It},${It},${It}\\)$`),kv=new RegExp(`^rgba\\(${Wn},${Wn},${Wn},${$o}\\)$`),Cv=new RegExp(`^rgba\\(${It},${It},${It},${$o}\\)$`),Ev=new RegExp(`^hsl\\(${$o},${It},${It}\\)$`),Nv=new RegExp(`^hsla\\(${$o},${It},${It},${$o}\\)$`),Bu={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};el(To,hn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Vu,formatHex:Vu,formatHex8:vv,formatHsl:Sv,formatRgb:Ru,toString:Ru});function Vu(){return this.rgb().formatHex()}function vv(){return this.rgb().formatHex8()}function Sv(){return Uu(this).formatHsl()}function Ru(){return this.rgb().formatRgb()}function hn(e){var n,o;return e=(e+"").trim().toLowerCase(),(n=_v.exec(e))?(o=n[1].length,n=parseInt(n[1],16),o===6?Du(n):o===3?new at(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):o===8?zr(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):o===4?zr(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=bv.exec(e))?new at(n[1],n[2],n[3],1):(n=wv.exec(e))?new at(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=kv.exec(e))?zr(n[1],n[2],n[3],n[4]):(n=Cv.exec(e))?zr(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Ev.exec(e))?Fu(n[1],n[2]/100,n[3]/100,1):(n=Nv.exec(e))?Fu(n[1],n[2]/100,n[3]/100,n[4]):Bu.hasOwnProperty(e)?Du(Bu[e]):e==="transparent"?new at(NaN,NaN,NaN,0):null}function Du(e){return new at(e>>16&255,e>>8&255,e&255,1)}function zr(e,n,o,r){return r<=0&&(e=n=o=NaN),new at(e,n,o,r)}function xv(e){return e instanceof To||(e=hn(e)),e?(e=e.rgb(),new at(e.r,e.g,e.b,e.opacity)):new at}function tl(e,n,o,r){return arguments.length===1?xv(e):new at(e,n,o,r??1)}function at(e,n,o,r){this.r=+e,this.g=+n,this.b=+o,this.opacity=+r}el(at,tl,$u(To,{brighter(e){return e=e==null?qr:Math.pow(qr,e),new at(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Oo:Math.pow(Oo,e),new at(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new at(yn(this.r),yn(this.g),yn(this.b),Hr(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Mu,formatHex:Mu,formatHex8:Av,formatRgb:Lu,toString:Lu}));function Mu(){return`#${_n(this.r)}${_n(this.g)}${_n(this.b)}`}function Av(){return`#${_n(this.r)}${_n(this.g)}${_n(this.b)}${_n((isNaN(this.opacity)?1:this.opacity)*255)}`}function Lu(){const e=Hr(this.opacity);return`${e===1?"rgb(":"rgba("}${yn(this.r)}, ${yn(this.g)}, ${yn(this.b)}${e===1?")":`, ${e})`}`}function Hr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function yn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function _n(e){return e=yn(e),(e<16?"0":"")+e.toString(16)}function Fu(e,n,o,r){return r<=0?e=n=o=NaN:o<=0||o>=1?e=n=NaN:n<=0&&(e=NaN),new bt(e,n,o,r)}function Uu(e){if(e instanceof bt)return new bt(e.h,e.s,e.l,e.opacity);if(e instanceof To||(e=hn(e)),!e)return new bt;if(e instanceof bt)return e;e=e.rgb();var n=e.r/255,o=e.g/255,r=e.b/255,i=Math.min(n,o,r),a=Math.max(n,o,r),l=NaN,s=a-i,c=(a+i)/2;return s?(n===a?l=(o-r)/s+(o<r)*6:o===a?l=(r-n)/s+2:l=(n-o)/s+4,s/=c<.5?a+i:2-a-i,l*=60):s=c>0&&c<1?0:l,new bt(l,s,c,e.opacity)}function Iv(e,n,o,r){return arguments.length===1?Uu(e):new bt(e,n,o,r??1)}function bt(e,n,o,r){this.h=+e,this.s=+n,this.l=+o,this.opacity=+r}el(bt,Iv,$u(To,{brighter(e){return e=e==null?qr:Math.pow(qr,e),new bt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Oo:Math.pow(Oo,e),new bt(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,o=this.l,r=o+(o<.5?o:1-o)*n,i=2*o-r;return new at(nl(e>=240?e-240:e+120,i,r),nl(e,i,r),nl(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new bt(Ku(this.h),Yr(this.s),Yr(this.l),Hr(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Hr(this.opacity);return`${e===1?"hsl(":"hsla("}${Ku(this.h)}, ${Yr(this.s)*100}%, ${Yr(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ku(e){return e=(e||0)%360,e<0?e+360:e}function Yr(e){return Math.max(0,Math.min(1,e||0))}function nl(e,n,o){return(e<60?n+(o-n)*e/60:e<180?o:e<240?n+(o-n)*(240-e)/60:n)*255}const ol=e=>()=>e;function Pv(e,n){return function(o){return e+o*n}}function Tv(e,n,o){return e=Math.pow(e,o),n=Math.pow(n,o)-e,o=1/o,function(r){return Math.pow(e+r*n,o)}}function Ov(e){return(e=+e)==1?ju:function(n,o){return o-n?Tv(n,o,e):ol(isNaN(n)?o:n)}}function ju(e,n){var o=n-e;return o?Pv(e,o):ol(isNaN(e)?n:e)}const Wr=function e(n){var o=Ov(n);function r(i,a){var l=o((i=tl(i)).r,(a=tl(a)).r),s=o(i.g,a.g),c=o(i.b,a.b),d=ju(i.opacity,a.opacity);return function(u){return i.r=l(u),i.g=s(u),i.b=c(u),i.opacity=d(u),i+""}}return r.gamma=e,r}(1);function $v(e,n){n||(n=[]);var o=e?Math.min(n.length,e.length):0,r=n.slice(),i;return function(a){for(i=0;i<o;++i)r[i]=e[i]*(1-a)+n[i]*a;return r}}function Bv(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Vv(e,n){var o=n?n.length:0,r=e?Math.min(o,e.length):0,i=new Array(r),a=new Array(o),l;for(l=0;l<r;++l)i[l]=Bo(e[l],n[l]);for(;l<o;++l)a[l]=n[l];return function(s){for(l=0;l<r;++l)a[l]=i[l](s);return a}}function Rv(e,n){var o=new Date;return e=+e,n=+n,function(r){return o.setTime(e*(1-r)+n*r),o}}function Pt(e,n){return e=+e,n=+n,function(o){return e*(1-o)+n*o}}function Dv(e,n){var o={},r={},i;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(i in n)i in e?o[i]=Bo(e[i],n[i]):r[i]=n[i];return function(a){for(i in o)r[i]=o[i](a);return r}}var rl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,il=new RegExp(rl.source,"g");function Mv(e){return function(){return e}}function Lv(e){return function(n){return e(n)+""}}function Gu(e,n){var o=rl.lastIndex=il.lastIndex=0,r,i,a,l=-1,s=[],c=[];for(e=e+"",n=n+"";(r=rl.exec(e))&&(i=il.exec(n));)(a=i.index)>o&&(a=n.slice(o,a),s[l]?s[l]+=a:s[++l]=a),(r=r[0])===(i=i[0])?s[l]?s[l]+=i:s[++l]=i:(s[++l]=null,c.push({i:l,x:Pt(r,i)})),o=il.lastIndex;return o<n.length&&(a=n.slice(o),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?Lv(c[0].x):Mv(n):(n=c.length,function(d){for(var u=0,f;u<n;++u)s[(f=c[u]).i]=f.x(d);return s.join("")})}function Bo(e,n){var o=typeof n,r;return n==null||o==="boolean"?ol(n):(o==="number"?Pt:o==="string"?(r=hn(n))?(n=r,Wr):Gu:n instanceof hn?Wr:n instanceof Date?Rv:Bv(n)?$v:Array.isArray(n)?Vv:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?Dv:Pt)(e,n)}var qu=180/Math.PI,al={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function zu(e,n,o,r,i,a){var l,s,c;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(c=e*o+n*r)&&(o-=e*c,r-=n*c),(s=Math.sqrt(o*o+r*r))&&(o/=s,r/=s,c/=s),e*r<n*o&&(e=-e,n=-n,c=-c,l=-l),{translateX:i,translateY:a,rotate:Math.atan2(n,e)*qu,skewX:Math.atan(c)*qu,scaleX:l,scaleY:s}}var Xr;function Fv(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?al:zu(n.a,n.b,n.c,n.d,n.e,n.f)}function Uv(e){return e==null||(Xr||(Xr=document.createElementNS("http://www.w3.org/2000/svg","g")),Xr.setAttribute("transform",e),!(e=Xr.transform.baseVal.consolidate()))?al:(e=e.matrix,zu(e.a,e.b,e.c,e.d,e.e,e.f))}function Hu(e,n,o,r){function i(d){return d.length?d.pop()+" ":""}function a(d,u,f,p,m,h){if(d!==f||u!==p){var y=m.push("translate(",null,n,null,o);h.push({i:y-4,x:Pt(d,f)},{i:y-2,x:Pt(u,p)})}else(f||p)&&m.push("translate("+f+n+p+o)}function l(d,u,f,p){d!==u?(d-u>180?u+=360:u-d>180&&(d+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:Pt(d,u)})):u&&f.push(i(f)+"rotate("+u+r)}function s(d,u,f,p){d!==u?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:Pt(d,u)}):u&&f.push(i(f)+"skewX("+u+r)}function c(d,u,f,p,m,h){if(d!==f||u!==p){var y=m.push(i(m)+"scale(",null,",",null,")");h.push({i:y-4,x:Pt(d,f)},{i:y-2,x:Pt(u,p)})}else(f!==1||p!==1)&&m.push(i(m)+"scale("+f+","+p+")")}return function(d,u){var f=[],p=[];return d=e(d),u=e(u),a(d.translateX,d.translateY,u.translateX,u.translateY,f,p),l(d.rotate,u.rotate,f,p),s(d.skewX,u.skewX,f,p),c(d.scaleX,d.scaleY,u.scaleX,u.scaleY,f,p),d=u=null,function(m){for(var h=-1,y=p.length,g;++h<y;)f[(g=p[h]).i]=g.x(m);return f.join("")}}}var Kv=Hu(Fv,"px, ","px)","deg)"),jv=Hu(Uv,", ",")",")"),Gv=1e-12;function Yu(e){return((e=Math.exp(e))+1/e)/2}function qv(e){return((e=Math.exp(e))-1/e)/2}function zv(e){return((e=Math.exp(2*e))-1)/(e+1)}const Zr=function e(n,o,r){function i(a,l){var s=a[0],c=a[1],d=a[2],u=l[0],f=l[1],p=l[2],m=u-s,h=f-c,y=m*m+h*h,g,_;if(y<Gv)_=Math.log(p/d)/n,g=function(P){return[s+P*m,c+P*h,d*Math.exp(n*P*_)]};else{var w=Math.sqrt(y),b=(p*p-d*d+r*y)/(2*d*o*w),A=(p*p-d*d-r*y)/(2*p*o*w),S=Math.log(Math.sqrt(b*b+1)-b),N=Math.log(Math.sqrt(A*A+1)-A);_=(N-S)/n,g=function(P){var T=P*_,M=Yu(S),H=d/(o*w)*(M*zv(n*T+S)-qv(S));return[s+H*m,c+H*h,d*M/Yu(n*T+S)]}}return g.duration=_*1e3*n/Math.SQRT2,g}return i.rho=function(a){var l=Math.max(.001,+a),s=l*l,c=s*s;return e(l,s,c)},i}(Math.SQRT2,2,4);var Xn=0,Vo=0,Ro=0,Wu=1e3,Jr,Do,Qr=0,bn=0,ei=0,Mo=typeof performance=="object"&&performance.now?performance:Date,Xu=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ll(){return bn||(Xu(Hv),bn=Mo.now()+ei)}function Hv(){bn=0}function ti(){this._call=this._time=this._next=null}ti.prototype=Zu.prototype={constructor:ti,restart:function(e,n,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?ll():+o)+(n==null?0:+n),!this._next&&Do!==this&&(Do?Do._next=this:Jr=this,Do=this),this._call=e,this._time=o,sl()},stop:function(){this._call&&(this._call=null,this._time=1/0,sl())}};function Zu(e,n,o){var r=new ti;return r.restart(e,n,o),r}function Yv(){ll(),++Xn;for(var e=Jr,n;e;)(n=bn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Xn}function Ju(){bn=(Qr=Mo.now())+ei,Xn=Vo=0;try{Yv()}finally{Xn=0,Xv(),bn=0}}function Wv(){var e=Mo.now(),n=e-Qr;n>Wu&&(ei-=n,Qr=e)}function Xv(){for(var e,n=Jr,o,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(o=n._next,n._next=null,n=e?e._next=o:Jr=o);Do=e,sl(r)}function sl(e){if(!Xn){Vo&&(Vo=clearTimeout(Vo));var n=e-bn;n>24?(e<1/0&&(Vo=setTimeout(Ju,e-Mo.now()-ei)),Ro&&(Ro=clearInterval(Ro))):(Ro||(Qr=Mo.now(),Ro=setInterval(Wv,Wu)),Xn=1,Xu(Ju))}}function Qu(e,n,o){var r=new ti;return n=n==null?0:+n,r.restart(i=>{r.stop(),e(i+n)},n,o),r}var Zv=Fr("start","end","cancel","interrupt"),Jv=[],ef=0,tf=1,cl=2,ni=3,nf=4,dl=5,oi=6;function ri(e,n,o,r,i,a){var l=e.__transition;if(!l)e.__transition={};else if(o in l)return;Qv(e,o,{name:n,index:r,group:i,on:Zv,tween:Jv,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:ef})}function ul(e,n){var o=wt(e,n);if(o.state>ef)throw new Error("too late; already scheduled");return o}function Tt(e,n){var o=wt(e,n);if(o.state>ni)throw new Error("too late; already running");return o}function wt(e,n){var o=e.__transition;if(!o||!(o=o[n]))throw new Error("transition not found");return o}function Qv(e,n,o){var r=e.__transition,i;r[n]=o,o.timer=Zu(a,0,o.time);function a(d){o.state=tf,o.timer.restart(l,o.delay,o.time),o.delay<=d&&l(d-o.delay)}function l(d){var u,f,p,m;if(o.state!==tf)return c();for(u in r)if(m=r[u],m.name===o.name){if(m.state===ni)return Qu(l);m.state===nf?(m.state=oi,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[u]):+u<n&&(m.state=oi,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[u])}if(Qu(function(){o.state===ni&&(o.state=nf,o.timer.restart(s,o.delay,o.time),s(d))}),o.state=cl,o.on.call("start",e,e.__data__,o.index,o.group),o.state===cl){for(o.state=ni,i=new Array(p=o.tween.length),u=0,f=-1;u<p;++u)(m=o.tween[u].value.call(e,e.__data__,o.index,o.group))&&(i[++f]=m);i.length=f+1}}function s(d){for(var u=d<o.duration?o.ease.call(null,d/o.duration):(o.timer.restart(c),o.state=dl,1),f=-1,p=i.length;++f<p;)i[f].call(e,u);o.state===dl&&(o.on.call("end",e,e.__data__,o.index,o.group),c())}function c(){o.state=oi,o.timer.stop(),delete r[n];for(var d in r)return;delete e.__transition}}function ii(e,n){var o=e.__transition,r,i,a=!0,l;if(o){n=n==null?null:n+"";for(l in o){if((r=o[l]).name!==n){a=!1;continue}i=r.state>cl&&r.state<dl,r.state=oi,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[l]}a&&delete e.__transition}}function eS(e){return this.each(function(){ii(this,e)})}function tS(e,n){var o,r;return function(){var i=Tt(this,e),a=i.tween;if(a!==o){r=o=a;for(var l=0,s=r.length;l<s;++l)if(r[l].name===n){r=r.slice(),r.splice(l,1);break}}i.tween=r}}function nS(e,n,o){var r,i;if(typeof o!="function")throw new Error;return function(){var a=Tt(this,e),l=a.tween;if(l!==r){i=(r=l).slice();for(var s={name:n,value:o},c=0,d=i.length;c<d;++c)if(i[c].name===n){i[c]=s;break}c===d&&i.push(s)}a.tween=i}}function oS(e,n){var o=this._id;if(e+="",arguments.length<2){for(var r=wt(this.node(),o).tween,i=0,a=r.length,l;i<a;++i)if((l=r[i]).name===e)return l.value;return null}return this.each((n==null?tS:nS)(o,e,n))}function fl(e,n,o){var r=e._id;return e.each(function(){var i=Tt(this,r);(i.value||(i.value={}))[n]=o.apply(this,arguments)}),function(i){return wt(i,r).value[n]}}function of(e,n){var o;return(typeof n=="number"?Pt:n instanceof hn?Wr:(o=hn(n))?(n=o,Wr):Gu)(e,n)}function rS(e){return function(){this.removeAttribute(e)}}function iS(e){return function(){this.removeAttributeNS(e.space,e.local)}}function aS(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttribute(e);return l===i?null:l===r?a:a=n(r=l,o)}}function lS(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttributeNS(e.space,e.local);return l===i?null:l===r?a:a=n(r=l,o)}}function sS(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttribute(e):(l=this.getAttribute(e),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function cS(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function dS(e,n){var o=Kr(e),r=o==="transform"?jv:of;return this.attrTween(e,typeof n=="function"?(o.local?cS:sS)(o,r,fl(this,"attr."+e,n)):n==null?(o.local?iS:rS)(o):(o.local?lS:aS)(o,r,n))}function uS(e,n){return function(o){this.setAttribute(e,n.call(this,o))}}function fS(e,n){return function(o){this.setAttributeNS(e.space,e.local,n.call(this,o))}}function pS(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&fS(e,a)),o}return i._value=n,i}function mS(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&uS(e,a)),o}return i._value=n,i}function gS(e,n){var o="attr."+e;if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;var r=Kr(e);return this.tween(o,(r.local?pS:mS)(r,n))}function hS(e,n){return function(){ul(this,e).delay=+n.apply(this,arguments)}}function yS(e,n){return n=+n,function(){ul(this,e).delay=n}}function _S(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?hS:yS)(n,e)):wt(this.node(),n).delay}function bS(e,n){return function(){Tt(this,e).duration=+n.apply(this,arguments)}}function wS(e,n){return n=+n,function(){Tt(this,e).duration=n}}function kS(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?bS:wS)(n,e)):wt(this.node(),n).duration}function CS(e,n){if(typeof n!="function")throw new Error;return function(){Tt(this,e).ease=n}}function ES(e){var n=this._id;return arguments.length?this.each(CS(n,e)):wt(this.node(),n).ease}function NS(e,n){return function(){var o=n.apply(this,arguments);if(typeof o!="function")throw new Error;Tt(this,e).ease=o}}function vS(e){if(typeof e!="function")throw new Error;return this.each(NS(this._id,e))}function SS(e){typeof e!="function"&&(e=ku(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new Ut(r,this._parents,this._name,this._id)}function xS(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,o=e._groups,r=n.length,i=o.length,a=Math.min(r,i),l=new Array(r),s=0;s<a;++s)for(var c=n[s],d=o[s],u=c.length,f=l[s]=new Array(u),p,m=0;m<u;++m)(p=c[m]||d[m])&&(f[m]=p);for(;s<r;++s)l[s]=n[s];return new Ut(l,this._parents,this._name,this._id)}function AS(e){return(e+"").trim().split(/^|\s+/).every(function(n){var o=n.indexOf(".");return o>=0&&(n=n.slice(0,o)),!n||n==="start"})}function IS(e,n,o){var r,i,a=AS(n)?ul:Tt;return function(){var l=a(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(n,o),l.on=i}}function PS(e,n){var o=this._id;return arguments.length<2?wt(this.node(),o).on.on(e):this.each(IS(o,e,n))}function TS(e){return function(){var n=this.parentNode;for(var o in this.__transition)if(+o!==e)return;n&&n.removeChild(this)}}function OS(){return this.on("end.remove",TS(this._id))}function $S(e){var n=this._name,o=this._id;typeof e!="function"&&(e=Xa(e));for(var r=this._groups,i=r.length,a=new Array(i),l=0;l<i;++l)for(var s=r[l],c=s.length,d=a[l]=new Array(c),u,f,p=0;p<c;++p)(u=s[p])&&(f=e.call(u,u.__data__,p,s))&&("__data__"in u&&(f.__data__=u.__data__),d[p]=f,ri(d[p],n,o,p,d,wt(u,o)));return new Ut(a,this._parents,n,o)}function BS(e){var n=this._name,o=this._id;typeof e!="function"&&(e=wu(e));for(var r=this._groups,i=r.length,a=[],l=[],s=0;s<i;++s)for(var c=r[s],d=c.length,u,f=0;f<d;++f)if(u=c[f]){for(var p=e.call(u,u.__data__,f,c),m,h=wt(u,o),y=0,g=p.length;y<g;++y)(m=p[y])&&ri(m,n,o,y,p,h);a.push(p),l.push(u)}return new Ut(a,l,n,o)}var VS=Io.prototype.constructor;function RS(){return new VS(this._groups,this._parents)}function DS(e,n){var o,r,i;return function(){var a=Hn(this,e),l=(this.style.removeProperty(e),Hn(this,e));return a===l?null:a===o&&l===r?i:i=n(o=a,r=l)}}function rf(e){return function(){this.style.removeProperty(e)}}function MS(e,n,o){var r,i=o+"",a;return function(){var l=Hn(this,e);return l===i?null:l===r?a:a=n(r=l,o)}}function LS(e,n,o){var r,i,a;return function(){var l=Hn(this,e),s=o(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),Hn(this,e))),l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s))}}function FS(e,n){var o,r,i,a="style."+n,l="end."+a,s;return function(){var c=Tt(this,e),d=c.on,u=c.value[a]==null?s||(s=rf(n)):void 0;(d!==o||i!==u)&&(r=(o=d).copy()).on(l,i=u),c.on=r}}function US(e,n,o){var r=(e+="")=="transform"?Kv:of;return n==null?this.styleTween(e,DS(e,r)).on("end.style."+e,rf(e)):typeof n=="function"?this.styleTween(e,LS(e,r,fl(this,"style."+e,n))).each(FS(this._id,e)):this.styleTween(e,MS(e,r,n),o).on("end.style."+e,null)}function KS(e,n,o){return function(r){this.style.setProperty(e,n.call(this,r),o)}}function jS(e,n,o){var r,i;function a(){var l=n.apply(this,arguments);return l!==i&&(r=(i=l)&&KS(e,l,o)),r}return a._value=n,a}function GS(e,n,o){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,jS(e,n,o??""))}function qS(e){return function(){this.textContent=e}}function zS(e){return function(){var n=e(this);this.textContent=n??""}}function HS(e){return this.tween("text",typeof e=="function"?zS(fl(this,"text",e)):qS(e==null?"":e+""))}function YS(e){return function(n){this.textContent=e.call(this,n)}}function WS(e){var n,o;function r(){var i=e.apply(this,arguments);return i!==o&&(n=(o=i)&&YS(i)),n}return r._value=e,r}function XS(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,WS(e))}function ZS(){for(var e=this._name,n=this._id,o=af(),r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)if(c=l[d]){var u=wt(c,n);ri(c,e,o,d,l,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Ut(r,this._parents,e,o)}function JS(){var e,n,o=this,r=o._id,i=o.size();return new Promise(function(a,l){var s={value:l},c={value:function(){--i===0&&a()}};o.each(function(){var d=Tt(this,r),u=d.on;u!==e&&(n=(e=u).copy(),n._.cancel.push(s),n._.interrupt.push(s),n._.end.push(c)),d.on=n}),i===0&&a()})}var QS=0;function Ut(e,n,o,r){this._groups=e,this._parents=n,this._name=o,this._id=r}function af(){return++QS}var Kt=Io.prototype;Ut.prototype={constructor:Ut,select:$S,selectAll:BS,selectChild:Kt.selectChild,selectChildren:Kt.selectChildren,filter:SS,merge:xS,selection:RS,transition:ZS,call:Kt.call,nodes:Kt.nodes,node:Kt.node,size:Kt.size,empty:Kt.empty,each:Kt.each,on:PS,attr:dS,attrTween:gS,style:US,styleTween:GS,text:HS,textTween:XS,remove:OS,tween:oS,delay:_S,duration:kS,ease:ES,easeVarying:vS,end:JS,[Symbol.iterator]:Kt[Symbol.iterator]};function ex(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var tx={time:null,delay:0,duration:250,ease:ex};function nx(e,n){for(var o;!(o=e.__transition)||!(o=o[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return o}function ox(e){var n,o;e instanceof Ut?(n=e._id,e=e._name):(n=af(),(o=tx).time=ll(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&ri(c,e,n,d,l,o||nx(c,n));return new Ut(r,this._parents,e,n)}Io.prototype.interrupt=eS,Io.prototype.transition=ox;const ai=e=>()=>e;function rx(e,{sourceEvent:n,target:o,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function jt(e,n,o){this.k=e,this.x=n,this.y=o}jt.prototype={constructor:jt,scale:function(e){return e===1?this:new jt(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new jt(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Zn=new jt(1,0,0);jt.prototype;function pl(e){e.stopImmediatePropagation()}function Lo(e){e.preventDefault(),e.stopImmediatePropagation()}function ix(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function ax(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function lf(){return this.__zoom||Zn}function lx(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function sx(){return navigator.maxTouchPoints||"ontouchstart"in this}function cx(e,n,o){var r=e.invertX(n[0][0])-o[0][0],i=e.invertX(n[1][0])-o[1][0],a=e.invertY(n[0][1])-o[0][1],l=e.invertY(n[1][1])-o[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function dx(){var e=ix,n=ax,o=cx,r=lx,i=sx,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Zr,d=Fr("start","zoom","end"),u,f,p,m=500,h=150,y=0,g=10;function _(I){I.property("__zoom",lf).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",H).filter(i).on("touchstart.zoom",q).on("touchmove.zoom",x).on("touchend.zoom touchcancel.zoom",Y).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(I,F,L,Z){var W=I.selection?I.selection():I;W.property("__zoom",lf),I!==W?S(I,F,L,Z):W.interrupt().each(function(){N(this,arguments).event(Z).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},_.scaleBy=function(I,F,L,Z){_.scaleTo(I,function(){var W=this.__zoom.k,K=typeof F=="function"?F.apply(this,arguments):F;return W*K},L,Z)},_.scaleTo=function(I,F,L,Z){_.transform(I,function(){var W=n.apply(this,arguments),K=this.__zoom,U=L==null?A(W):typeof L=="function"?L.apply(this,arguments):L,R=K.invert(U),D=typeof F=="function"?F.apply(this,arguments):F;return o(b(w(K,D),U,R),W,l)},L,Z)},_.translateBy=function(I,F,L,Z){_.transform(I,function(){return o(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof L=="function"?L.apply(this,arguments):L),n.apply(this,arguments),l)},null,Z)},_.translateTo=function(I,F,L,Z,W){_.transform(I,function(){var K=n.apply(this,arguments),U=this.__zoom,R=Z==null?A(K):typeof Z=="function"?Z.apply(this,arguments):Z;return o(Zn.translate(R[0],R[1]).scale(U.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof L=="function"?-L.apply(this,arguments):-L),K,l)},Z,W)};function w(I,F){return F=Math.max(a[0],Math.min(a[1],F)),F===I.k?I:new jt(F,I.x,I.y)}function b(I,F,L){var Z=F[0]-L[0]*I.k,W=F[1]-L[1]*I.k;return Z===I.x&&W===I.y?I:new jt(I.k,Z,W)}function A(I){return[(+I[0][0]+ +I[1][0])/2,(+I[0][1]+ +I[1][1])/2]}function S(I,F,L,Z){I.on("start.zoom",function(){N(this,arguments).event(Z).start()}).on("interrupt.zoom end.zoom",function(){N(this,arguments).event(Z).end()}).tween("zoom",function(){var W=this,K=arguments,U=N(W,K).event(Z),R=n.apply(W,K),D=L==null?A(R):typeof L=="function"?L.apply(W,K):L,te=Math.max(R[1][0]-R[0][0],R[1][1]-R[0][1]),X=W.__zoom,oe=typeof F=="function"?F.apply(W,K):F,ie=c(X.invert(D).concat(te/X.k),oe.invert(D).concat(te/oe.k));return function(pe){if(pe===1)pe=oe;else{var ge=ie(pe),J=te/ge[2];pe=new jt(J,D[0]-ge[0]*J,D[1]-ge[1]*J)}U.zoom(null,pe)}})}function N(I,F,L){return!L&&I.__zooming||new P(I,F)}function P(I,F){this.that=I,this.args=F,this.active=0,this.sourceEvent=null,this.extent=n.apply(I,F),this.taps=0}P.prototype={event:function(I){return I&&(this.sourceEvent=I),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(I,F){return this.mouse&&I!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&I!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&I!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(I){var F=_t(this.that).datum();d.call(I,this.that,new rx(I,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:d}),F)}};function T(I,...F){if(!e.apply(this,arguments))return;var L=N(this,F).event(I),Z=this.__zoom,W=Math.max(a[0],Math.min(a[1],Z.k*Math.pow(2,r.apply(this,arguments)))),K=At(I);if(L.wheel)(L.mouse[0][0]!==K[0]||L.mouse[0][1]!==K[1])&&(L.mouse[1]=Z.invert(L.mouse[0]=K)),clearTimeout(L.wheel);else{if(Z.k===W)return;L.mouse=[K,Z.invert(K)],ii(this),L.start()}Lo(I),L.wheel=setTimeout(U,h),L.zoom("mouse",o(b(w(Z,W),L.mouse[0],L.mouse[1]),L.extent,l));function U(){L.wheel=null,L.end()}}function M(I,...F){if(p||!e.apply(this,arguments))return;var L=I.currentTarget,Z=N(this,F,!0).event(I),W=_t(I.view).on("mousemove.zoom",D,!0).on("mouseup.zoom",te,!0),K=At(I,L),U=I.clientX,R=I.clientY;Tu(I.view),pl(I),Z.mouse=[K,this.__zoom.invert(K)],ii(this),Z.start();function D(X){if(Lo(X),!Z.moved){var oe=X.clientX-U,ie=X.clientY-R;Z.moved=oe*oe+ie*ie>y}Z.event(X).zoom("mouse",o(b(Z.that.__zoom,Z.mouse[0]=At(X,L),Z.mouse[1]),Z.extent,l))}function te(X){W.on("mousemove.zoom mouseup.zoom",null),Ou(X.view,Z.moved),Lo(X),Z.event(X).end()}}function H(I,...F){if(e.apply(this,arguments)){var L=this.__zoom,Z=At(I.changedTouches?I.changedTouches[0]:I,this),W=L.invert(Z),K=L.k*(I.shiftKey?.5:2),U=o(b(w(L,K),Z,W),n.apply(this,F),l);Lo(I),s>0?_t(this).transition().duration(s).call(S,U,Z,I):_t(this).call(_.transform,U,Z,I)}}function q(I,...F){if(e.apply(this,arguments)){var L=I.touches,Z=L.length,W=N(this,F,I.changedTouches.length===Z).event(I),K,U,R,D;for(pl(I),U=0;U<Z;++U)R=L[U],D=At(R,this),D=[D,this.__zoom.invert(D),R.identifier],W.touch0?!W.touch1&&W.touch0[2]!==D[2]&&(W.touch1=D,W.taps=0):(W.touch0=D,K=!0,W.taps=1+!!u);u&&(u=clearTimeout(u)),K&&(W.taps<2&&(f=D[0],u=setTimeout(function(){u=null},m)),ii(this),W.start())}}function x(I,...F){if(this.__zooming){var L=N(this,F).event(I),Z=I.changedTouches,W=Z.length,K,U,R,D;for(Lo(I),K=0;K<W;++K)U=Z[K],R=At(U,this),L.touch0&&L.touch0[2]===U.identifier?L.touch0[0]=R:L.touch1&&L.touch1[2]===U.identifier&&(L.touch1[0]=R);if(U=L.that.__zoom,L.touch1){var te=L.touch0[0],X=L.touch0[1],oe=L.touch1[0],ie=L.touch1[1],pe=(pe=oe[0]-te[0])*pe+(pe=oe[1]-te[1])*pe,ge=(ge=ie[0]-X[0])*ge+(ge=ie[1]-X[1])*ge;U=w(U,Math.sqrt(pe/ge)),R=[(te[0]+oe[0])/2,(te[1]+oe[1])/2],D=[(X[0]+ie[0])/2,(X[1]+ie[1])/2]}else if(L.touch0)R=L.touch0[0],D=L.touch0[1];else return;L.zoom("touch",o(b(U,R,D),L.extent,l))}}function Y(I,...F){if(this.__zooming){var L=N(this,F).event(I),Z=I.changedTouches,W=Z.length,K,U;for(pl(I),p&&clearTimeout(p),p=setTimeout(function(){p=null},m),K=0;K<W;++K)U=Z[K],L.touch0&&L.touch0[2]===U.identifier?delete L.touch0:L.touch1&&L.touch1[2]===U.identifier&&delete L.touch1;if(L.touch1&&!L.touch0&&(L.touch0=L.touch1,delete L.touch1),L.touch0)L.touch0[1]=this.__zoom.invert(L.touch0[0]);else if(L.end(),L.taps===2&&(U=At(U,this),Math.hypot(f[0]-U[0],f[1]-U[1])<g)){var R=_t(this).on("dblclick.zoom");R&&R.apply(this,arguments)}}}return _.wheelDelta=function(I){return arguments.length?(r=typeof I=="function"?I:ai(+I),_):r},_.filter=function(I){return arguments.length?(e=typeof I=="function"?I:ai(!!I),_):e},_.touchable=function(I){return arguments.length?(i=typeof I=="function"?I:ai(!!I),_):i},_.extent=function(I){return arguments.length?(n=typeof I=="function"?I:ai([[+I[0][0],+I[0][1]],[+I[1][0],+I[1][1]]]),_):n},_.scaleExtent=function(I){return arguments.length?(a[0]=+I[0],a[1]=+I[1],_):[a[0],a[1]]},_.translateExtent=function(I){return arguments.length?(l[0][0]=+I[0][0],l[1][0]=+I[1][0],l[0][1]=+I[0][1],l[1][1]=+I[1][1],_):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},_.constrain=function(I){return arguments.length?(o=I,_):o},_.duration=function(I){return arguments.length?(s=+I,_):s},_.interpolate=function(I){return arguments.length?(c=I,_):c},_.on=function(){var I=d.on.apply(d,arguments);return I===d?_:I},_.clickDistance=function(I){return arguments.length?(y=(I=+I)*I,_):Math.sqrt(y)},_.tapDistance=function(I){return arguments.length?(g=+I,_):g},_}var be=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(be||{}),ml=(e=>(e.Partial="partial",e.Full="full",e))(ml||{}),wn=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(wn||{}),Zt=(e=>(e.Strict="strict",e.Loose="loose",e))(Zt||{}),li=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(li||{}),Fo=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(Fo||{}),sf=(e=>(e.TopLeft="top-left",e.TopCenter="top-center",e.TopRight="top-right",e.BottomLeft="bottom-left",e.BottomCenter="bottom-center",e.BottomRight="bottom-right",e))(sf||{});const ux=["INPUT","SELECT","TEXTAREA"],fx=typeof document<"u"?document:null;function gl(e){var n,o;const r=((o=(n=e.composedPath)==null?void 0:n.call(e))==null?void 0:o[0])||e.target,i=typeof(r==null?void 0:r.hasAttribute)=="function"?r.hasAttribute("contenteditable"):!1,a=typeof(r==null?void 0:r.closest)=="function"?r.closest(".nokey"):null;return ux.includes(r==null?void 0:r.nodeName)||i||!!a}function px(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function cf(e,n,o,r){const i=n.replace("+",`
120
120
  `).replace(`
121
121
 
122
122
  `,`
@@ -141,4 +141,4 @@ Edge: ${e}
141
141
  Source: ${n}
142
142
  Target: ${o}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed
143
143
  Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found
144
- Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Xe extends Error{constructor(n,...o){var r;super((r=$f[n])==null?void 0:r.call($f,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function wl(e){return"clientX"in e}function Tx(e){return"sourceEvent"in e}function Ot(e,n){const o=wl(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const fi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Ox(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function pi(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const $x=()=>!0;function kl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Bx(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())ci(i,si(a))>0&&r.push(a);return r}const Vx=250;function Rx(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=Bx(e,o,n+Vx);for(const d of c){const u=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const f of u){if(r.nodeId===f.nodeId&&r.type===f.type&&r.id===f.id)continue;const{x:p,y:m}=Qn(d,f,f.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...f,x:p,y:m}],s=h):h===s&&l.push({...f,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(u=>u.type===d)??l[0]}return l[0]}function Bf(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=$x},u,f,p){const m=a==="target",h=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:y,y:g}=Ot(e),_=l.elementFromPoint(y,g),w=_!=null&&_.classList.contains(`${s}-flow__handle`)?_:h,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const x=Vf(void 0,w),S=w.getAttribute("data-nodeid"),N=w.getAttribute("data-handleid"),P=w.classList.contains("connectable"),T=w.classList.contains("connectableend");if(!S||!x)return b;const L={source:m?S:r,sourceHandle:m?N:i,target:m?r:S,targetHandle:m?i:N};b.connection=L;const G=P&&T&&(o===Zt.Strict?m&&x==="source"||!m&&x==="target":S!==r||N!==i);b.isValid=G&&d(L,{nodes:f,edges:u,sourceNode:p(r),targetNode:p(S)}),b.toHandle=n}return b}function Vf(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Dx(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function Mx(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function Lx(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const u=i===Zt.Strict?(l=d.handleBounds)==null?void 0:l[n]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],f=(o?u==null?void 0:u.find(p=>p.id===o):u==null?void 0:u[0])??null;return f&&a?{...f,...Qn(d,f,f.position,!0)}:f}const Cl={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top},Fx=["production","prod"];function mi(e,...n){Rf()&&console.warn(`[Vue Flow]: ${e}`,...n)}function Rf(){return!Fx.includes(process.env.NODE_ENV||"")}function Df(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...di(l)}}):null}function El(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function qe(e){return typeof t.unref(e)<"u"}function Ux(e,n,o,r){if(!e||!e.source||!e.target)return o(new Xe(Ge.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Jt(e)?i=e:i={...e,id:yf(e)},i=gf(i,void 0,r),kx(i,n)?!1:i}function Kx(e,n,o,r,i){if(!n.source||!n.target)return i(new Xe(Ge.EDGE_INVALID,e.id)),!1;if(!o)return i(new Xe(Ge.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?yf(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function Mf(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!Cn(l)){o(new Xe(Ge.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=_x(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new Xe(Ge.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function Lf(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,n))}}function Nl(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,u=`${a}-${s}--${i}-${l}`;Lf("source",c,u,e,i,l),Lf("target",c,d,e,a,s)}}function Ff(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function vl(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const u=Jt(d)?d:Ux(d,s,i,a);if(!u)continue;const f=o(u.source),p=o(u.target);if(!f||!p){i(new Xe(Ge.EDGE_SOURCE_TARGET_MISSING,u.id,u.source,u.target));continue}if(!f){i(new Xe(Ge.EDGE_SOURCE_MISSING,u.id,u.source));continue}if(!p){i(new Xe(Ge.EDGE_TARGET_MISSING,u.id,u.target));continue}if(n&&!n(u,{edges:s,nodes:l,sourceNode:f,targetNode:p})){i(new Xe(Ge.EDGE_INVALID,u.id));continue}const m=r(u.id);c.push({...gf(u,m,a),sourceNode:f,targetNode:p})}return c}const Uf=Symbol("vueFlow"),Kf=Symbol("nodeId"),jf=Symbol("nodeRef"),jx=Symbol("edgeId"),Gx=Symbol("edgeRef"),gi=Symbol("slots");function Gf(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:u,nodesDraggable:f,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:y,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:w,updateNodePositions:b,emits:x}=Oe(),{onStart:S,onDrag:N,onStop:P,onClick:T,el:L,disabled:M,id:G,selectable:A,dragHandle:J}=e,I=t.shallowRef(!1);let U=[],F,X=null,Y={x:void 0,y:void 0},j={x:0,y:0},K=null,R=!1,D=0,te=!1;const W=Hx(),oe=({x:re,y:ue})=>{Y={x:re,y:ue};let se=!1;if(U=U.map(C=>{const v={x:re-C.distance.x,y:ue-C.distance.y},{computedPosition:k}=bl(C,o.value?pi(v,r.value):v,x.error,l.value,C.parentNode?m(C.parentNode):void 0);return se=se||C.position.x!==k.x||C.position.y!==k.y,C.position=k,C}),!!se&&(b(U,!0,!0),I.value=!0,K)){const[C,v]=_l({id:G,dragItems:U,findNode:m});N({event:K,node:C,nodes:v})}},ie=()=>{if(!X)return;const[re,ue]=vf(j,X,u.value);if(re!==0||ue!==0){const se={x:(Y.x??0)-re/c.value.zoom,y:(Y.y??0)-ue/c.value.zoom};p({x:re,y:ue})&&oe(se)}D=requestAnimationFrame(ie)},pe=(re,ue)=>{R=!0;const se=m(G);!g.value&&!h.value&&se&&(se.selected||_()),se&&t.toValue(A)&&g.value&&El(se,h.value,w,_,y,!1,ue);const C=W(re.sourceEvent);if(Y=C,U=vx(a.value,f.value,C,m,G),U.length){const[v,k]=_l({id:G,dragItems:U,findNode:m});S({event:re.sourceEvent,node:v,nodes:k})}},ge=(re,ue)=>{var se;re.sourceEvent.type==="touchmove"&&re.sourceEvent.touches.length>1||(s.value===0&&pe(re,ue),Y=W(re.sourceEvent),X=((se=n.value)==null?void 0:se.getBoundingClientRect())||null,j=Ot(re.sourceEvent,X))},Z=(re,ue)=>{const se=W(re.sourceEvent);if(!te&&R&&d.value&&(te=!0,ie()),!R){const C=se.xSnapped-(Y.x??0),v=se.ySnapped-(Y.y??0);Math.sqrt(C*C+v*v)>s.value&&pe(re,ue)}(Y.x!==se.xSnapped||Y.y!==se.ySnapped)&&U.length&&R&&(K=re.sourceEvent,j=Ot(re.sourceEvent,X),oe(se))},ee=re=>{let ue=!1;if(!R&&!I.value&&!h.value){const se=re.sourceEvent,C=W(se),v=C.xSnapped-(Y.x??0),k=C.ySnapped-(Y.y??0),E=Math.sqrt(v*v+k*k);E!==0&&E<=s.value&&(T==null||T(se),ue=!0)}if(U.length&&!ue){b(U,!1,!1);const[se,C]=_l({id:G,dragItems:U,findNode:m});P({event:re.sourceEvent,node:se,nodes:C})}U=[],I.value=!1,te=!1,R=!1,Y={x:void 0,y:void 0},cancelAnimationFrame(D)};return t.watch([()=>t.toValue(M),L],([re,ue],se,C)=>{if(ue){const v=_t(ue);re||(F=yv().on("start",k=>ge(k,ue)).on("drag",k=>Z(k,ue)).on("end",k=>ee(k)).filter(k=>{const E=k.target,$=t.toValue(J);return!k.button&&(!i.value||!Pf(E,`.${i.value}`,ue)&&(!$||Pf(E,$,ue)))}),v.call(F)),C(()=>{v.on(".drag",null),F&&(F.on("start",null),F.on("drag",null),F.on("end",null))})}}),I}function qx(){return{doubleClick:ye(),click:ye(),mouseEnter:ye(),mouseMove:ye(),mouseLeave:ye(),contextMenu:ye(),updateStart:ye(),update:ye(),updateEnd:ye()}}function zx(e,n){const o=qx();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function Hx(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=Oe();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=Tx(i)?i.sourceEvent:i,{x:c,y:d}=Ot(s,l),u=jo({x:c,y:d},e.value),{x:f,y:p}=o.value?pi(u,n.value):u;return{xSnapped:f,ySnapped:p,...u}}}function hi(){return!0}function qf({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:u,connectOnClick:f,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:y,findNode:g,panBy:_,startConnection:w,updateConnection:b,endConnection:x,emits:S,viewport:N,edges:P,nodes:T,isValidConnection:L,nodeLookup:M}=Oe();let G=null,A=!1,J=null;function I(F){var X;const Y=t.toValue(o)==="target",j=wl(F),K=mf(F.target);if(j&&F.button===0||!j){let R=function(H){C=Ot(H,re),oe=Rx(jo(C,N.value,!1,[1,1]),u.value,M.value,E),v||(k(),v=!0);const V=Bf(H,{handle:oe,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:Y?"target":"source",isValidConnection:W,doc:K,lib:"vue",flowId:s,nodeLookup:M.value},P.value,T.value,g);J=V.handleDomNode,G=V.connection,A=Mx(!!oe,V.isValid);const de={...O,isValid:A,to:V.toHandle&&A?hl({x:V.toHandle.x,y:V.toHandle.y},N.value):C,toHandle:V.toHandle,toPosition:A&&V.toHandle?V.toHandle.position:Cl[E.position],toNode:V.toHandle?M.value.get(V.toHandle.nodeId):null};if(!(A&&oe&&(O!=null&&O.toHandle)&&de.toHandle&&O.toHandle.type===de.toHandle.type&&O.toHandle.nodeId===de.toHandle.nodeId&&O.toHandle.id===de.toHandle.id&&O.to.x===de.to.x&&O.to.y===de.to.y)){if(b(oe&&A?hl({x:oe.x,y:oe.y},N.value):C,V.toHandle,Dx(!!oe,A)),O=de,!oe&&!A&&!J)return kl(se);G&&G.source!==G.target&&J&&(kl(se),se=J,J.classList.add("connecting","vue-flow__handle-connecting"),J.classList.toggle("valid",!!A),J.classList.toggle("vue-flow__handle-valid",!!A))}},D=function(H){(oe||J)&&G&&A&&(a?a(H,G):S.connect(G)),S.connectEnd(H),i&&(l==null||l(H)),kl(se),cancelAnimationFrame(ie),x(H),v=!1,A=!1,G=null,J=null,K.removeEventListener("mousemove",R),K.removeEventListener("mouseup",D),K.removeEventListener("touchmove",R),K.removeEventListener("touchend",D)};const te=g(t.toValue(n));let W=t.toValue(r)||L.value||hi;!W&&te&&(W=(Y?te.isValidSourcePos:te.isValidTargetPos)||hi);let oe,ie=0;const{x:pe,y:ge}=Ot(F),Z=K==null?void 0:K.elementFromPoint(pe,ge),ee=Vf(t.toValue(i),Z),re=(X=c.value)==null?void 0:X.getBoundingClientRect();if(!re||!ee)return;const ue=Lx(t.toValue(n),ee,t.toValue(e),M.value,d.value);if(!ue)return;let se,C=Ot(F,re),v=!1;const k=()=>{if(!h.value)return;const[H,V]=vf(C,re,y.value);_({x:H,y:V}),ie=requestAnimationFrame(k)},E={...ue,nodeId:t.toValue(n),type:ee,position:ue.position},$=M.value.get(t.toValue(n)),q={inProgress:!0,isValid:null,from:Qn($,E,be.Left,!0),fromHandle:E,fromPosition:E.position,fromNode:$,to:C,toHandle:null,toPosition:Cl[E.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:ee,position:(Z==null?void 0:Z.getAttribute("data-handlepos"))||be.Top,...C},{x:pe-re.left,y:ge-re.top}),S.connectStart({event:F,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ee});let O=q;K.addEventListener("mousemove",R),K.addEventListener("mouseup",D),K.addEventListener("touchmove",R),K.addEventListener("touchend",D)}}function U(F){var X,Y;if(!f.value)return;const j=t.toValue(o)==="target";if(!p.value){S.clickConnectStart({event:F,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:be.Top,...Ot(F)},void 0,!0);return}let K=t.toValue(r)||L.value||hi;const R=g(t.toValue(n));if(!K&&R&&(K=(j?R.isValidSourcePos:R.isValidTargetPos)||hi),R&&(typeof R.connectable>"u"?m.value:R.connectable)===!1)return;const D=mf(F.target),te=Bf(F,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:be.Top,...Ot(F)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:K,doc:D,lib:"vue",flowId:s,nodeLookup:M.value},P.value,T.value,g),W=((X=te.connection)==null?void 0:X.source)===((Y=te.connection)==null?void 0:Y.target);te.isValid&&te.connection&&!W&&S.connect(te.connection),S.clickConnectEnd(F),x(F,!0)}return{handlePointerDown:I,handleClick:U}}function Yx(){return t.inject(Kf,"")}function zf(e){const n=e??Yx()??"",o=t.inject(jf,t.ref(null)),{findNode:r,edges:i,emits:a}=Oe(),l=r(n);return l||a.error(new Xe(Ge.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>kf([l],i.value))}}function Wx(){return{doubleClick:ye(),click:ye(),mouseEnter:ye(),mouseMove:ye(),mouseLeave:ye(),contextMenu:ye(),dragStart:ye(),drag:ye(),dragStop:ye()}}function Xx(e,n){const o=Wx();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function Hf(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Oe();return(c,d=!1)=>{const u=a.value?i.value[0]:5,f=a.value?i.value[1]:5,p=d?4:1,m=c.x*u*p,h=c.y*f*p,y=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const _={x:g.computedPosition.x+m,y:g.computedPosition.y+h},{computedPosition:w}=bl(g,_,s.error,n.value,g.parentNode?r(g.parentNode):void 0);y.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(y,!0,!1)}}const Sl=.1,Zx=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function tn(){return mi("Viewport not initialized yet."),Promise.resolve(!1)}const Jx={zoomIn:tn,zoomOut:tn,zoomTo:tn,fitView:tn,setCenter:tn,fitBounds:tn,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:tn,setTransform:tn,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function Qx(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?Bo:Zr).scaleBy(xl(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:u}=pf({x:-r,y:-i},e.translateExtent),f=Zn.translate(-d,-u).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?Bo:Zr).transform(xl(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),f):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?Bo:Zr).scaleTo(xl(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Sl,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=bf(s),{x:d,y:u,zoom:f}=Cf(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Sl,i.offset);return o(d,u,f,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:Sl})=>{const{x:l,y:s,zoom:c}=Cf(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>jo(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return jo(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return hl(s,e.viewport)}return{x:0,y:0}}}:Jx)}function xl(e,n=0,o=Zx,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function eA(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let y,g,_=!!(o.nodes.value.length||o.edges.value.length);y=zn([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=zn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var x;(x=e.modelValue)!=null&&x.value&&Array.isArray(e.modelValue.value)&&(y==null||y.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let y,g,_=!!o.nodes.value.length;y=zn([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=zn([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(y==null||y.pause(),e.nodes.value=[...w],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let y,g,_=!!o.edges.value.length;y=zn([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=zn([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(y==null||y.pause(),e.edges.value=[...w],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&qe(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&qe(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&qe(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&qe(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{qe(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const y=async g=>{let _=g;typeof n.autoConnect=="function"&&(_=await n.autoConnect(g)),_!==!1&&o.addEdges([_])};t.watch(()=>n.autoConnect,()=>{qe(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,_,w)=>{g?o.onConnect(y):o.hooks.value.connect.off(y),w(()=>{o.hooks.value.connect.off(y)})},{immediate:!0})})},m=()=>{const y=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const _=g;if(!y.includes(_)){const w=t.toRef(()=>n[_]),b=o[_];t.isRef(b)&&r.run(()=>{t.watch(w,x=>{qe(x)&&(b.value=x)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),u(),f(),p(),m()})()}),()=>r.stop()}function tA(){return{edgesChange:ye(),nodesChange:ye(),nodeDoubleClick:ye(),nodeClick:ye(),nodeMouseEnter:ye(),nodeMouseMove:ye(),nodeMouseLeave:ye(),nodeContextMenu:ye(),nodeDragStart:ye(),nodeDrag:ye(),nodeDragStop:ye(),nodesInitialized:ye(),miniMapNodeClick:ye(),miniMapNodeDoubleClick:ye(),miniMapNodeMouseEnter:ye(),miniMapNodeMouseMove:ye(),miniMapNodeMouseLeave:ye(),connect:ye(),connectStart:ye(),connectEnd:ye(),clickConnectStart:ye(),clickConnectEnd:ye(),paneReady:ye(),init:ye(),move:ye(),moveStart:ye(),moveEnd:ye(),selectionDragStart:ye(),selectionDrag:ye(),selectionDragStop:ye(),selectionContextMenu:ye(),selectionStart:ye(),selectionEnd:ye(),viewportChangeStart:ye(),viewportChange:ye(),viewportChangeEnd:ye(),paneScroll:ye(),paneClick:ye(),paneContextMenu:ye(),paneMouseEnter:ye(),paneMouseMove:ye(),paneMouseLeave:ye(),edgeContextMenu:ye(),edgeMouseEnter:ye(),edgeMouseMove:ye(),edgeMouseLeave:ye(),edgeDoubleClick:ye(),edgeClick:ye(),edgeUpdateStart:ye(),edgeUpdate:ye(),edgeUpdateEnd:ye(),updateNodeInternals:ye(),error:ye(e=>mi(e.message))}}function nA(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),Lr(()=>{r.off(i)})}})}function Yf(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:ml.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:Fo.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:wn.Bezier,style:{}},connectionMode:Zt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:fi()?"Meta":"Control",zoomActivationKeyCode:fi()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:tA(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const oA=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function rA(e,n,o){const r=Qx(e),i=C=>{const v=C??[];e.hooks.updateNodeInternals.trigger(v)},a=C=>wx(C,e.nodes,e.edges),l=C=>bx(C,e.nodes,e.edges),s=C=>kf(C,e.edges),c=({id:C,type:v,nodeId:k})=>{var E;return Array.from(((E=e.connectionLookup.get(`${k}-${v}-${C??null}`))==null?void 0:E.values())??[])},d=C=>{if(C)return n.value.get(C)},u=C=>{if(C)return o.value.get(C)},f=(C,v,k)=>{var E,$;const B=[];for(const q of C){const O={id:q.id,type:"position",dragging:k,from:q.from};if(v&&(O.position=q.position,q.parentNode)){const H=d(q.parentNode);O.position={x:O.position.x-(((E=H==null?void 0:H.computedPosition)==null?void 0:E.x)??0),y:O.position.y-((($=H==null?void 0:H.computedPosition)==null?void 0:$.y)??0)}}B.push(O)}B!=null&&B.length&&e.hooks.nodesChange.trigger(B)},p=C=>{if(!e.vueFlowRef)return;const v=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!v)return;const k=window.getComputedStyle(v),{m22:E}=new window.DOMMatrixReadOnly(k.transform),$=[];for(const B of C){const q=B,O=d(q.id);if(O){const H=di(q.nodeElement);if(!!(H.width&&H.height&&(O.dimensions.width!==H.width||O.dimensions.height!==H.height||q.forceUpdate))){const de=q.nodeElement.getBoundingClientRect();O.dimensions=H,O.handleBounds.source=Df("source",q.nodeElement,de,E,O.id),O.handleBounds.target=Df("target",q.nodeElement,de,E,O.id),$.push({id:O.id,type:"dimensions",dimensions:H})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),$.length&&e.hooks.nodesChange.trigger($)},m=(C,v)=>{const k=new Set,E=new Set;for(const q of C)Cn(q)?k.add(q.id):Jt(q)&&E.add(q.id);const $=en(n.value,k,!0),B=en(o.value,E);if(e.multiSelectionActive){for(const q of k)$.push(Qt(q,v));for(const q of E)B.push(Qt(q,v))}$.length&&e.hooks.nodesChange.trigger($),B.length&&e.hooks.edgesChange.trigger(B)},h=C=>{if(e.multiSelectionActive){const v=C.map(k=>Qt(k.id,!0));e.hooks.nodesChange.trigger(v);return}e.hooks.nodesChange.trigger(en(n.value,new Set(C.map(v=>v.id)),!0)),e.hooks.edgesChange.trigger(en(o.value))},y=C=>{if(e.multiSelectionActive){const v=C.map(k=>Qt(k.id,!0));e.hooks.edgesChange.trigger(v);return}e.hooks.edgesChange.trigger(en(o.value,new Set(C.map(v=>v.id)))),e.hooks.nodesChange.trigger(en(n.value,new Set,!0))},g=C=>{m(C,!0)},_=C=>{const k=(C||e.nodes).map(E=>(E.selected=!1,Qt(E.id,!1)));e.hooks.nodesChange.trigger(k)},w=C=>{const k=(C||e.edges).map(E=>(E.selected=!1,Qt(E.id,!1)));e.hooks.edgesChange.trigger(k)},b=C=>{if(!C||!C.length)return m([],!1);const v=C.reduce((k,E)=>{const $=Qt(E.id,!1);return Cn(E)?k.nodes.push($):k.edges.push($),k},{nodes:[],edges:[]});v.nodes.length&&e.hooks.nodesChange.trigger(v.nodes),v.edges.length&&e.hooks.edgesChange.trigger(v.edges)},x=C=>{var v;(v=e.d3Zoom)==null||v.scaleExtent([C,e.maxZoom]),e.minZoom=C},S=C=>{var v;(v=e.d3Zoom)==null||v.scaleExtent([e.minZoom,C]),e.maxZoom=C},N=C=>{var v;(v=e.d3Zoom)==null||v.translateExtent(C),e.translateExtent=C},P=C=>{e.nodeExtent=C,i()},T=C=>{var v;(v=e.d3Zoom)==null||v.clickDistance(C)},L=C=>{e.nodesDraggable=C,e.nodesConnectable=C,e.elementsSelectable=C},M=C=>{const v=C instanceof Function?C(e.nodes):C;!e.initialized&&!v.length||(e.nodes=Mf(v,d,e.hooks.error.trigger))},G=C=>{const v=C instanceof Function?C(e.edges):C;if(!e.initialized&&!v.length)return;const k=vl(v,e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Nl(e.connectionLookup,o.value,k),e.edges=k},A=C=>{const v=C instanceof Function?C([...e.nodes,...e.edges]):C;!e.initialized&&!v.length||(M(v.filter(Cn)),G(v.filter(Jt)))},J=C=>{let v=C instanceof Function?C(e.nodes):C;v=Array.isArray(v)?v:[v];const k=Mf(v,d,e.hooks.error.trigger),E=[];for(const $ of k)E.push(xf($));E.length&&e.hooks.nodesChange.trigger(E)},I=C=>{let v=C instanceof Function?C(e.edges):C;v=Array.isArray(v)?v:[v];const k=vl(v,e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),E=[];for(const $ of k)E.push(xf($));E.length&&e.hooks.edgesChange.trigger(E)},U=(C,v=!0,k=!1)=>{const E=C instanceof Function?C(e.nodes):C,$=Array.isArray(E)?E:[E],B=[],q=[];function O(V){const de=s(V);for(const le of de)(!qe(le.deletable)||le.deletable)&&q.push(If(le.id,le.source,le.target,le.sourceHandle,le.targetHandle))}function H(V){const de=[];for(const le of e.nodes)le.parentNode===V&&de.push(le);if(de.length){for(const le of de)B.push(Af(le.id));v&&O(de);for(const le of de)H(le.id)}}for(const V of $){const de=typeof V=="string"?d(V):V;de&&(qe(de.deletable)&&!de.deletable||(B.push(Af(de.id)),v&&O([de]),k&&H(de.id)))}q.length&&e.hooks.edgesChange.trigger(q),B.length&&e.hooks.nodesChange.trigger(B)},F=C=>{const v=C instanceof Function?C(e.edges):C,k=Array.isArray(v)?v:[v],E=[];for(const $ of k){const B=typeof $=="string"?u($):$;B&&(qe(B.deletable)&&!B.deletable||E.push(If(typeof $=="string"?$:$.id,B.source,B.target,B.sourceHandle,B.targetHandle)))}e.hooks.edgesChange.trigger(E)},X=(C,v,k=!0)=>{const E=u(C.id);if(!E)return!1;const $=e.edges.indexOf(E),B=Kx(C,v,E,k,e.hooks.error.trigger);if(B){const[q]=vl([B],e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((O,H)=>H===$?q:O),Nl(e.connectionLookup,o.value,[q]),q}return!1},Y=(C,v,k={replace:!1})=>{const E=u(C);if(!E)return;const $=typeof v=="function"?v(E):v;E.data=k.replace?$:{...E.data,...$}},j=C=>Sf(C,e.nodes),K=C=>{const v=Sf(C,e.edges);return Nl(e.connectionLookup,o.value,v),v},R=(C,v,k={replace:!1})=>{const E=d(C);if(!E)return;const $=typeof v=="function"?v(E):v;k.replace?e.nodes.splice(e.nodes.indexOf(E),1,$):Object.assign(E,$)},D=(C,v,k={replace:!1})=>{const E=d(C);if(!E)return;const $=typeof v=="function"?v(E):v;E.data=k.replace?$:{...E.data,...$}},te=(C,v,k=!1)=>{k?e.connectionClickStartHandle=C:e.connectionStartHandle=C,e.connectionEndHandle=null,e.connectionStatus=null,v&&(e.connectionPosition=v)},W=(C,v=null,k=null)=>{e.connectionStartHandle&&(e.connectionPosition=C,e.connectionEndHandle=v,e.connectionStatus=k)},oe=(C,v)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,v?e.connectionClickStartHandle=null:e.connectionStartHandle=null},ie=C=>{const v=yx(C),k=v?null:Ko(C)?C:d(C.id);return!v&&!k?[null,null,v]:[v?C:si(k),k,v]},pe=(C,v=!0,k=e.nodes)=>{const[E,$,B]=ie(C);if(!E)return[];const q=[];for(const O of k||e.nodes){if(!B&&(O.id===$.id||!O.computedPosition))continue;const H=si(O),V=ci(H,E);(v&&V>0||V>=Number(E.width)*Number(E.height))&&q.push(O)}return q},ge=(C,v,k=!0)=>{const[E]=ie(C);if(!E)return!1;const $=ci(E,v);return k&&$>0||$>=Number(E.width)*Number(E.height)},Z=C=>{const{viewport:v,dimensions:k,d3Zoom:E,d3Selection:$,translateExtent:B}=e;if(!E||!$||!C.x&&!C.y)return!1;const q=Zn.translate(v.x+C.x,v.y+C.y).scale(v.zoom),O=[[0,0],[k.width,k.height]],H=E.constrain()(q,O,B),V=e.viewport.x!==H.x||e.viewport.y!==H.y||e.viewport.zoom!==H.k;return E.transform($,H),V},ee=C=>{const v=C instanceof Function?C(e):C,k=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];qe(v.defaultEdgeOptions)&&(e.defaultEdgeOptions=v.defaultEdgeOptions);const E=v.modelValue||v.nodes||v.edges?[]:void 0;E&&(v.modelValue&&E.push(...v.modelValue),v.nodes&&E.push(...v.nodes),v.edges&&E.push(...v.edges),A(E));const $=()=>{qe(v.maxZoom)&&S(v.maxZoom),qe(v.minZoom)&&x(v.minZoom),qe(v.translateExtent)&&N(v.translateExtent)};for(const B of Object.keys(v)){const q=B,O=v[q];![...oA,...k].includes(q)&&qe(O)&&(e[q]=O)}Ha(()=>e.d3Zoom).not.toBeNull().then($),e.initialized||(e.initialized=!0)};return{updateNodePositions:f,updateNodeDimensions:p,setElements:A,setNodes:M,setEdges:G,addNodes:J,addEdges:I,removeNodes:U,removeEdges:F,findNode:d,findEdge:u,updateEdge:X,updateEdgeData:Y,updateNode:R,updateNodeData:D,applyEdgeChanges:K,applyNodeChanges:j,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:y,setMinZoom:x,setMaxZoom:S,setTranslateExtent:N,setNodeExtent:P,setPaneClickDistance:T,removeSelectedElements:b,removeSelectedNodes:_,removeSelectedEdges:w,startConnection:te,updateConnection:W,endConnection:oe,setInteractive:L,setState:ee,getIntersectingNodes:pe,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:ge,panBy:Z,fitView:C=>r.value.fitView(C),zoomIn:C=>r.value.zoomIn(C),zoomOut:C=>r.value.zoomOut(C),zoomTo:(C,v)=>r.value.zoomTo(C,v),setViewport:(C,v)=>r.value.setViewport(C,v),setTransform:(C,v)=>r.value.setTransform(C,v),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(C,v,k)=>r.value.setCenter(C,v,k),fitBounds:(C,v)=>r.value.fitBounds(C,v),project:C=>r.value.project(C),screenToFlowCoordinate:C=>r.value.screenToFlowCoordinate(C),flowToScreenCoordinate:C=>r.value.flowToScreenCoordinate(C),toObject:()=>{const C=[],v=[];for(const k of e.nodes){const{computedPosition:E,handleBounds:$,selected:B,dimensions:q,isParent:O,resizing:H,dragging:V,events:de,...le}=k;C.push(le)}for(const k of e.edges){const{selected:E,sourceNode:$,targetNode:B,events:q,...O}=k;v.push(O)}return JSON.parse(JSON.stringify({nodes:C,edges:v,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:C=>new Promise(v=>{const{nodes:k,edges:E,position:$,zoom:B,viewport:q}=C;if(k&&M(k),E&&G(E),q!=null&&q.x&&(q!=null&&q.y)||$){const O=(q==null?void 0:q.x)||$[0],H=(q==null?void 0:q.y)||$[1],V=(q==null?void 0:q.zoom)||B||e.viewport.zoom;return Ha(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:O,y:H,zoom:V}).then(()=>{v(!0)})})}else v(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const C=Yf();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const v=Zn.translate(C.defaultViewport.x??0,C.defaultViewport.y??0).scale(kn(C.defaultViewport.zoom??1,C.minZoom,C.maxZoom)),k=e.viewportRef.getBoundingClientRect(),E=[[0,0],[k.width,k.height]],$=e.d3Zoom.constrain()(v,E,C.translateExtent);e.d3Zoom.transform(e.d3Selection,$)}ee(C)},$destroy:()=>{}}}const iA=["data-id","data-handleid","data-nodeid","data-handlepos"],aA={name:"Handle",compatConfig:{MODE:3}},nn=t.defineComponent({...aA,props:{id:{default:null},type:{},position:{default:()=>be.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:u,noDragClassName:f,noPanClassName:p}=Oe(),{id:m,node:h,nodeEl:y,connectedEdges:g}=zf(),_=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),x=t.toRef(()=>{var G,A,J,I,U,F;return((G=l.value)==null?void 0:G.nodeId)===m&&((A=l.value)==null?void 0:A.id)===e.id&&((J=l.value)==null?void 0:J.type)===r.value||((I=c.value)==null?void 0:I.nodeId)===m&&((U=c.value)==null?void 0:U.id)===e.id&&((F=c.value)==null?void 0:F.type)===r.value}),S=t.toRef(()=>{var G,A,J;return((G=s.value)==null?void 0:G.nodeId)===m&&((A=s.value)==null?void 0:A.id)===e.id&&((J=s.value)==null?void 0:J.type)===r.value}),{handlePointerDown:N,handleClick:P}=qf({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),T=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(G=>{const A=G[`${r.value}Handle`];return G[r.value]!==m?!1:A?A===e.id:!0}):typeof e.connectable=="number"?g.value.filter(G=>{const A=G[`${r.value}Handle`];return G[r.value]!==m?!1:A?A===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):qe(e.connectable)?e.connectable:u.value);t.onMounted(()=>{var G;if(!h.dimensions.width||!h.dimensions.height)return;const A=(G=h.handleBounds[r.value])==null?void 0:G.find(j=>j.id===e.id);if(!d.value||A)return;const J=d.value.querySelector(".vue-flow__transformationpane");if(!y.value||!_.value||!J||!e.id)return;const I=y.value.getBoundingClientRect(),U=_.value.getBoundingClientRect(),F=window.getComputedStyle(J),{m22:X}=new window.DOMMatrixReadOnly(F.transform),Y={id:e.id,position:e.position,x:(U.left-I.left)/X,y:(U.top-I.top)/X,type:r.value,nodeId:m,...di(_.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],Y]});function L(G){const A=wl(G);T.value&&w.value&&(A&&G.button===0||!A)&&N(G)}function M(G){!m||!s.value&&!w.value||T.value&&P(G)}return n({handleClick:P,handlePointerDown:N,onClick:M,onPointerDown:L}),(G,A)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:_,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":G.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${G.position}`,`vue-flow__handle-${e.id}`,t.unref(f),t.unref(p),r.value,{connectable:T.value,connecting:S.value,connectablestart:w.value,connectableend:b.value,connectionindicator:T.value&&(w.value&&!x.value||b.value&&x.value)}]]),onMousedown:L,onTouchstartPassive:L,onClick:M},[t.renderSlot(G.$slots,"default",{id:G.id})],42,iA))}}),yi=function({sourcePosition:e=be.Bottom,targetPosition:n=be.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(nn,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(nn,{type:"source",position:e,connectable:r,isValidConnection:a})]};yi.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],yi.inheritAttrs=!1,yi.compatConfig={MODE:3};const lA=yi,_i=function({targetPosition:e=be.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(nn,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};_i.props=["targetPosition","label","isValidTargetPos","connectable","data"],_i.inheritAttrs=!1,_i.compatConfig={MODE:3};const sA=_i,bi=function({sourcePosition:e=be.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(nn,{type:"source",position:e,connectable:o,isValidConnection:r})]};bi.props=["sourcePosition","label","isValidSourcePos","connectable","data"],bi.inheritAttrs=!1,bi.compatConfig={MODE:3};const cA=bi,dA=["transform"],uA=["width","height","x","y","rx","ry"],fA=["y"],pA={name:"EdgeText",compatConfig:{MODE:3}},mA=t.defineComponent({...pA,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,uA)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,fA)],8,dA))}}),gA=["id","d","marker-end","marker-start"],hA=["d","stroke-width"],yA={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},wi=t.defineComponent({...yA,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,gA),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,hA)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(mA,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function Wf({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function Xf({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,d=n*.125+a*.375+s*.375+r*.125,u=Math.abs(c-e),f=Math.abs(d-n);return[c,d,u,f]}function ki(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Zf({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case be.Left:l=n-ki(n-r,a),s=o;break;case be.Right:l=n+ki(r-n,a),s=o;break;case be.Top:l=n,s=o-ki(o-i,a);break;case be.Bottom:l=n,s=o+ki(i-o,a);break}return[l,s]}function Jf(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,curvature:s=.25}=e,[c,d]=Zf({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[u,f]=Zf({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,h,y]=Xf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:u,targetControlY:f});return[`M${n},${o} C${c},${d} ${u},${f} ${i},${a}`,p,m,h,y]}function Qf({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case be.Left:case be.Right:a=.5*(n+r),l=o;break;case be.Top:case be.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function ep(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top}=e,[s,c]=Qf({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,u]=Qf({pos:l,x1:i,y1:a,x2:n,y2:o}),[f,p,m,h]=Xf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:u});return[`M${n},${o} C${s},${c} ${d},${u} ${i},${a}`,f,p,m,h]}const tp={[be.Left]:{x:-1,y:0},[be.Right]:{x:1,y:0},[be.Top]:{x:0,y:-1},[be.Bottom]:{x:0,y:1}};function _A({source:e,sourcePosition:n=be.Bottom,target:o}){return n===be.Left||n===be.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function np(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function bA({source:e,sourcePosition:n=be.Bottom,target:o,targetPosition:r=be.Top,center:i,offset:a}){const l=tp[n],s=tp[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},u=_A({source:c,sourcePosition:n,target:d}),f=u.x!==0?"x":"y",p=u[f];let m,h,y;const g={x:0,y:0},_={x:0,y:0},[w,b,x,S]=Wf({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[f]*s[f]===-1){h=i.x??w,y=i.y??b;const P=[{x:h,y:c.y},{x:h,y:d.y}],T=[{x:c.x,y},{x:d.x,y}];l[f]===p?m=f==="x"?P:T:m=f==="x"?T:P}else{const P=[{x:c.x,y:d.y}],T=[{x:d.x,y:c.y}];if(f==="x"?m=l.x===p?T:P:m=l.y===p?P:T,n===r){const J=Math.abs(e[f]-o[f]);if(J<=a){const I=Math.min(a-1,a-J);l[f]===p?g[f]=(c[f]>e[f]?-1:1)*I:_[f]=(d[f]>o[f]?-1:1)*I}}if(n!==r){const J=f==="x"?"y":"x",I=l[f]===s[J],U=c[J]>d[J],F=c[J]<d[J];(l[f]===1&&(!I&&U||I&&F)||l[f]!==1&&(!I&&F||I&&U))&&(m=f==="x"?P:T)}const L={x:c.x+g.x,y:c.y+g.y},M={x:d.x+_.x,y:d.y+_.y},G=Math.max(Math.abs(L.x-m[0].x),Math.abs(M.x-m[0].x)),A=Math.max(Math.abs(L.y-m[0].y),Math.abs(M.y-m[0].y));G>=A?(h=(L.x+M.x)/2,y=m[0].y):(h=m[0].x,y=(L.y+M.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:d.x+_.x,y:d.y+_.y},o],h,y,x,S]}function wA(e,n,o,r){const i=Math.min(np(e,n)/2,np(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const d=e.x<o.x?-1:1,u=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*u}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function Al(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,borderRadius:s=5,centerX:c,centerY:d,offset:u=20}=e,[f,p,m,h,y]=bA({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:u});return[f.reduce((_,w,b)=>{let x;return b>0&&b<f.length-1?x=wA(f[b-1],w,f[b+1],s):x=`${b===0?"M":"L"}${w.x} ${w.y}`,_+=x,_},""),p,m,h,y]}function kA(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Wf({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const CA=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=kA(e);return t.h(wi,{path:o,labelX:r,labelY:i,...n,...e})}}}),op=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Al({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(wi,{path:o,labelX:r,labelY:i,...n,...e})}}}),EA=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(op,{...e,...n,borderRadius:0})}}),NA=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Jf({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(wi,{path:o,labelX:r,labelY:i,...n,...e})}}}),vA=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=ep({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(wi,{path:o,labelX:r,labelY:i,...n,...e})}}}),SA={input:cA,default:lA,output:sA},xA={default:NA,straight:CA,step:EA,smoothstep:op,simplebezier:vA};function AA(e,n,o){const r=t.computed(()=>y=>n.value.get(y)),i=t.computed(()=>y=>o.value.get(y)),a=t.computed(()=>{const y={...xA,...e.edgeTypes},g=Object.keys(y);for(const _ of e.edges)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),l=t.computed(()=>{const y={...SA,...e.nodeTypes},g=Object.keys(y);for(const _ of e.nodes)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),s=t.computed(()=>e.onlyRenderVisibleElements?wf(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const y=[];for(const g of e.edges){const _=n.value.get(g.source),w=n.value.get(g.target);Ix({sourcePos:_.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&y.push(g)}return y}return e.edges}),d=t.computed(()=>[...s.value,...c.value]),u=t.computed(()=>{const y=[];for(const g of e.nodes)g.selected&&y.push(g);return y}),f=t.computed(()=>{const y=[];for(const g of e.edges)g.selected&&y.push(g);return y}),p=t.computed(()=>[...u.value,...f.value]),m=t.computed(()=>{const y=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&y.push(g);return y}),h=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:u,getSelectedEdges:f,getNodesInitialized:m,areNodesInitialized:h}}class En{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??En.instance;return En.instance=r??new En,o&&(o.config.globalProperties.$vueFlowStorage=En.instance),En.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=Yf(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const h=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[h]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=t.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=t.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),d=AA(i,s,c),u=rA(i,s,c);u.setState({...i,...o});const f={...a,...d,...u,...SN(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,f),f}getId(){return`vue-flow-${this.currentId++}`}}function Oe(e){const n=En.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(Uf,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),d=n.create(c,i);s=d,(o??t.effectScope(!0)).run(()=>{t.watch(d.applyDefault,(f,p,m)=>{const h=g=>{d.applyNodeChanges(g)},y=g=>{d.applyEdgeChanges(g)};f?(d.onNodesChange(h),d.onEdgesChange(y)):(d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)),m(()=>{d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)})},{immediate:!0}),Lr(()=>{if(s){const f=n.get(s.id);f?f.$destroy():mi(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(Uf,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Xe(Ge.USEVUEFLOW_OPTIONS))}return s}function IA(e){const{emits:n,dimensions:o}=Oe();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=di(i);(l.width===0||l.height===0)&&n.error(new Xe(Ge.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const PA={name:"UserSelection",compatConfig:{MODE:3}},TA=t.defineComponent({...PA,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),OA=["tabIndex"],$A={name:"NodesSelection",compatConfig:{MODE:3}},BA=t.defineComponent({...$A,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Oe(),s=Hf(),c=t.ref(null),d=Gf({el:c,onStart(h){n.selectionDragStart(h)},onDrag(h){n.selectionDrag(h)},onStop(h){n.selectionDragStop(h)}});t.onMounted(()=>{var h;a.value||(h=c.value)==null||h.focus({preventScroll:!0})});const u=t.computed(()=>bf(r.value)),f=t.computed(()=>({width:`${u.value.width}px`,height:`${u.value.height}px`,top:`${u.value.y}px`,left:`${u.value.x}px`}));function p(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||Jn[h.key]&&(h.preventDefault(),s({x:Jn[h.key].x,y:Jn[h.key].y},h.shiftKey))}return(h,y)=>!t.unref(l)&&u.value.width&&u.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(d)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(f.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,OA)],6)):t.createCommentVNode("",!0)}});function VA(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const RA={name:"Pane",compatConfig:{MODE:3}},DA=t.defineComponent({...RA,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:u,getSelectedNodes:f,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:y,multiSelectionKeyCode:g,multiSelectionActive:_,edgeLookup:w,nodeLookup:b,connectionLookup:x,defaultEdgeOptions:S,connectionStartHandle:N}=Oe(),P=t.ref(null),T=t.ref(new Set),L=t.ref(new Set),M=t.ref(),G=t.toRef(()=>c.value&&(e.isSelecting||a.value)),A=t.toRef(()=>N.value!==null);let J=!1,I=!1;const U=Uo(y,{actInsideInputWithModifier:!1}),F=Uo(g);t.watch(U,W=>{W&&(p(f.value),m(u.value),d.value=!1)}),t.watch(F,W=>{_.value=W});function X(W,oe){return ie=>{ie.target===oe&&(W==null||W(ie))}}function Y(W){if(J||A.value){J=!1;return}i.paneClick(W),l(),d.value=!1}function j(W){W.preventDefault(),W.stopPropagation(),i.paneContextMenu(W)}function K(W){i.paneScroll(W)}function R(W){var oe,ie,pe;if(M.value=(oe=n.value)==null?void 0:oe.getBoundingClientRect(),!c.value||!e.isSelecting||W.button!==0||W.target!==P.value||!M.value)return;(pe=(ie=W.target)==null?void 0:ie.setPointerCapture)==null||pe.call(ie,W.pointerId);const{x:ge,y:Z}=VA(W,M.value);I=!0,J=!1,l(),s.value={width:0,height:0,startX:ge,startY:Z,x:ge,y:Z},i.selectionStart(W)}function D(W){var oe;if(!M.value||!s.value)return;J=!0;const{x:ie,y:pe}=Ot(W,M.value),{startX:ge=0,startY:Z=0}=s.value,ee={startX:ge,startY:Z,x:ie<ge?ie:ge,y:pe<Z?pe:Z,width:Math.abs(ie-ge),height:Math.abs(pe-Z)},re=T.value,ue=L.value;T.value=new Set(wf(o.value,ee,r.value,h.value===ml.Partial,!0).map(C=>C.id)),L.value=new Set;const se=((oe=S.value)==null?void 0:oe.selectable)??!0;for(const C of T.value){const v=x.value.get(C);if(v)for(const{edgeId:k}of v.values()){const E=w.value.get(k);E&&(E.selectable??se)&&L.value.add(k)}}if(!Ff(re,T.value)){const C=en(b.value,T.value,!0);i.nodesChange(C)}if(!Ff(ue,L.value)){const C=en(w.value,L.value);i.edgesChange(C)}s.value=ee,a.value=!0,d.value=!1}function te(W){var oe;W.button!==0||!I||((oe=W.target)==null||oe.releasePointerCapture(W.pointerId),!a.value&&s.value&&W.target===P.value&&Y(W),a.value=!1,s.value=null,d.value=T.value.size>0,i.selectionEnd(W),e.selectionKeyPressed&&(J=!1),I=!1)}return(W,oe)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:P,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:W.isSelecting}]),onClick:oe[0]||(oe[0]=ie=>G.value?void 0:X(Y,P.value)(ie)),onContextmenu:oe[1]||(oe[1]=ie=>X(j,P.value)(ie)),onWheelPassive:oe[2]||(oe[2]=ie=>X(K,P.value)(ie)),onPointerenter:oe[3]||(oe[3]=ie=>G.value?void 0:t.unref(i).paneMouseEnter(ie)),onPointerdown:oe[4]||(oe[4]=ie=>G.value?R(ie):t.unref(i).paneMouseMove(ie)),onPointermove:oe[5]||(oe[5]=ie=>G.value?D(ie):t.unref(i).paneMouseMove(ie)),onPointerup:oe[6]||(oe[6]=ie=>G.value?te(ie):void 0),onPointerleave:oe[7]||(oe[7]=ie=>t.unref(i).paneMouseLeave(ie))},[t.renderSlot(W.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(TA,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(f).length?(t.openBlock(),t.createBlock(BA,{key:1})):t.createCommentVNode("",!0)],34))}}),MA={name:"Transform",compatConfig:{MODE:3}},LA=t.defineComponent({...MA,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Oe(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),FA={name:"Viewport",compatConfig:{MODE:3}},UA=t.defineComponent({...FA,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:u,panOnDrag:f,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:y,noWheelClassName:g,noPanClassName:_,emits:w,connectionStartHandle:b,userSelectionActive:x,paneDragging:S,d3Zoom:N,d3Selection:P,d3ZoomHandler:T,viewport:L,viewportRef:M,paneClickDistance:G}=Oe();IA(M);const A=t.shallowRef(!1),J=t.shallowRef(!1);let I=null,U=!1,F=0,X={x:0,y:0,zoom:0};const Y=Uo(s),j=Uo(l),K=Uo(a),R=t.toRef(()=>(!j.value||j.value&&l.value===!0)&&(Y.value||f.value)),D=t.toRef(()=>Y.value||c.value),te=t.toRef(()=>j.value||l.value===!0&&R.value!==!0);t.onMounted(()=>{if(!M.value){mi("Viewport element is missing");return}const Z=M.value,ee=Z.getBoundingClientRect(),re=dx().clickDistance(G.value).scaleExtent([n.value,o.value]).translateExtent(i.value),ue=_t(Z).call(re),se=ue.on("wheel.zoom"),C=Zn.translate(r.value.x??0,r.value.y??0).scale(kn(r.value.zoom??1,n.value,o.value)),v=[[0,0],[ee.width,ee.height]],k=re.constrain()(C,v,i.value);re.transform(ue,k),re.wheelDelta(oe),N.value=re,P.value=ue,T.value=se,L.value={x:k.x,y:k.y,zoom:k.k},re.on("start",E=>{var $;if(!E.sourceEvent)return null;F=E.sourceEvent.button,A.value=!0;const B=pe(E.transform);(($=E.sourceEvent)==null?void 0:$.type)==="mousedown"&&(S.value=!0),X=B,w.viewportChangeStart(B),w.moveStart({event:E,flowTransform:B})}),re.on("end",E=>{if(!E.sourceEvent)return null;if(A.value=!1,S.value=!1,W(R.value,F??0)&&!U&&w.paneContextMenu(E.sourceEvent),U=!1,ie(X,E.transform)){const $=pe(E.transform);X=$,w.viewportChangeEnd($),w.moveEnd({event:E,flowTransform:$})}}),re.filter(E=>{var $;const B=K.value||h.value,q=m.value&&E.ctrlKey,O=E.button;if(O===1&&E.type==="mousedown"&&(ge(E,"vue-flow__node")||ge(E,"vue-flow__edge")))return!0;if(!R.value&&!B&&!D.value&&!p.value&&!m.value||x.value||!p.value&&E.type==="dblclick"||ge(E,g.value)&&E.type==="wheel"||ge(E,_.value)&&(E.type!=="wheel"||D.value&&E.type==="wheel"&&!K.value)||!m.value&&E.ctrlKey&&E.type==="wheel"||!B&&!D.value&&!q&&E.type==="wheel")return!1;if(!m&&E.type==="touchstart"&&(($=E.touches)==null?void 0:$.length)>1)return E.preventDefault(),!1;if(!R.value&&(E.type==="mousedown"||E.type==="touchstart")||l.value===!0&&Array.isArray(f.value)&&f.value.includes(0)&&O===0||Array.isArray(f.value)&&!f.value.includes(O)&&(E.type==="mousedown"||E.type==="touchstart"))return!1;const H=Array.isArray(f.value)&&f.value.includes(O)||l.value===!0&&Array.isArray(f.value)&&!f.value.includes(0)||!O||O<=1;return(!E.ctrlKey||Y.value||E.type==="wheel")&&H}),t.watch([x,R],()=>{x.value&&!A.value?re.on("zoom",null):x.value||re.on("zoom",E=>{L.value={x:E.transform.x,y:E.transform.y,zoom:E.transform.k};const $=pe(E.transform);U=W(R.value,F??0),w.viewportChange($),w.move({event:E,flowTransform:$})})},{immediate:!0}),t.watch([x,D,d,K,m,y,g],()=>{D.value&&!K.value&&!x.value?ue.on("wheel.zoom",E=>{if(ge(E,g.value))return!1;const $=K.value||h.value,B=m.value&&E.ctrlKey;if(!(!y.value||D.value||$||B))return!1;E.preventDefault(),E.stopImmediatePropagation();const O=ue.property("__zoom").k||1,H=fi();if(!Y.value&&E.ctrlKey&&m.value&&H){const me=At(E),Q=oe(E),he=O*2**Q;re.scaleTo(ue,he,me,E);return}const V=E.deltaMode===1?20:1;let de=d.value===Fo.Vertical?0:E.deltaX*V,le=d.value===Fo.Horizontal?0:E.deltaY*V;!H&&E.shiftKey&&d.value!==Fo.Vertical&&!de&&le&&(de=le,le=0),re.translateBy(ue,-(de/O)*u.value,-(le/O)*u.value);const _e=pe(ue.property("__zoom"));I&&clearTimeout(I),J.value?(w.move({event:E,flowTransform:_e}),w.viewportChange(_e),I=setTimeout(()=>{w.moveEnd({event:E,flowTransform:_e}),w.viewportChangeEnd(_e),J.value=!1},150)):(J.value=!0,w.moveStart({event:E,flowTransform:_e}),w.viewportChangeStart(_e))},{passive:!1}):typeof se<"u"&&ue.on("wheel.zoom",function(E,$){const B=!y.value&&E.type==="wheel"&&!E.ctrlKey,q=K.value||h.value,O=m.value&&E.ctrlKey;if(!q&&!c.value&&!O&&E.type==="wheel"||B||ge(E,g.value))return null;E.preventDefault(),se.call(this,E,$)},{passive:!1})},{immediate:!0})});function W(Z,ee){return ee===2&&Array.isArray(Z)&&Z.includes(2)}function oe(Z){const ee=Z.ctrlKey&&fi()?10:1;return-Z.deltaY*(Z.deltaMode===1?.05:Z.deltaMode?1:.002)*ee}function ie(Z,ee){return Z.x!==ee.x&&!Number.isNaN(ee.x)||Z.y!==ee.y&&!Number.isNaN(ee.y)||Z.zoom!==ee.k&&!Number.isNaN(ee.k)}function pe(Z){return{x:Z.x,y:Z.y,zoom:Z.k}}function ge(Z,ee){return Z.target.closest(`.${ee}`)}return(Z,ee)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:M,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(DA,{"is-selecting":te.value,"selection-key-pressed":t.unref(j),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(S),draggable:t.unref(f)===!0||Array.isArray(t.unref(f))&&t.unref(f).includes(0)})},{default:t.withCtx(()=>[t.createVNode(LA,null,{default:t.withCtx(()=>[t.renderSlot(Z.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),KA=["id"],jA=["id"],GA=["id"],qA={name:"A11yDescriptions",compatConfig:{MODE:3}},zA=t.defineComponent({...qA,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Oe();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(df)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,KA),t.createElementVNode("div",{id:`${t.unref(uf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,jA),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(hx)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,GA))],64))}});function HA(){const e=Oe();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function YA(e,n,o){return o===be.Left?e-n:o===be.Right?e+n:e}function WA(e,n,o){return o===be.Top?e-n:o===be.Bottom?e+n:e}const Il=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=be.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:YA(n,e,r),cy:WA(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};Il.props=["radius","centerX","centerY","position","type"],Il.compatConfig={MODE:3};const rp=Il,XA=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:d,findEdge:u,findNode:f,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:y,edgesUpdatable:g,edgesFocusable:_,hooks:w}=Oe(),b=t.computed(()=>u(e.id)),{emit:x,on:S}=zx(b.value,a),N=t.inject(gi),P=t.getCurrentInstance(),T=t.ref(!1),L=t.ref(!1),M=t.ref(""),G=t.ref(null),A=t.ref("source"),J=t.ref(null),I=t.toRef(()=>typeof b.value.selectable>"u"?y.value:b.value.selectable),U=t.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),F=t.toRef(()=>typeof b.value.focusable>"u"?_.value:b.value.focusable);t.provide(jx,e.id),t.provide(Gx,J);const X=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),Y=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),j=t.computed(()=>{const v=b.value.type||"default",k=N==null?void 0:N[`edge-${v}`];if(k)return k;let E=b.value.template??c.value[v];if(typeof E=="string"&&P){const $=Object.keys(P.appContext.components);$&&$.includes(v)&&(E=t.resolveComponent(v,!1))}return E&&typeof E!="string"?E:(a.error(new Xe(Ge.EDGE_TYPE_MISSING,E)),!1)}),{handlePointerDown:K}=qf({nodeId:M,handleId:G,type:A,isValidConnection:p,edgeUpdaterType:A,onEdgeUpdate:te,onEdgeUpdateEnd:W});return()=>{const v=f(b.value.source),k=f(b.value.target),E="pathOptions"in b.value?b.value.pathOptions:{};if(!v&&!k)return a.error(new Xe(Ge.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!v)return a.error(new Xe(Ge.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!k)return a.error(new Xe(Ge.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||v.hidden||k.hidden)return null;let $;r.value===Zt.Strict?$=v.handleBounds.source:$=[...v.handleBounds.source||[],...v.handleBounds.target||[]];const B=Of($,b.value.sourceHandle);let q;r.value===Zt.Strict?q=k.handleBounds.target:q=[...k.handleBounds.target||[],...k.handleBounds.source||[]];const O=Of(q,b.value.targetHandle),H=(B==null?void 0:B.position)||be.Bottom,V=(O==null?void 0:O.position)||be.Top,{x:de,y:le}=Qn(v,B,H),{x:_e,y:me}=Qn(k,O,V);return b.value.sourceX=de,b.value.sourceY=le,b.value.targetX=_e,b.value.targetY=me,t.h("g",{ref:J,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${j.value===!1?"default":b.value.type||"default"}`,s.value,X.value,{updating:T.value,selected:b.value.selected,animated:b.value.animated,inactive:!I.value&&!w.value.edgeClick.hasListeners()}],tabIndex:F.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":F.value?`${uf}-${n}`:void 0,"aria-roledescription":"edge",role:F.value?"group":"img",...b.value.domAttributes,onClick:ie,onContextmenu:pe,onDblclick:ge,onMouseenter:Z,onMousemove:ee,onMouseleave:re,onKeyDown:F.value?C:void 0},[L.value?null:t.h(j.value===!1?c.value.default:j.value,{id:e.id,sourceNode:v,targetNode:k,source:b.value.source,target:b.value.target,type:b.value.type,updatable:U.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...S},style:Y.value,markerStart:`url('#${Go(b.value.markerStart,n)}')`,markerEnd:`url('#${Go(b.value.markerEnd,n)}')`,sourcePosition:H,targetPosition:V,sourceX:de,sourceY:le,targetX:_e,targetY:me,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...E}),[U.value==="source"||U.value===!0?[t.h("g",{onMousedown:ue,onMouseenter:R,onMouseout:D},t.h(rp,{position:H,centerX:de,centerY:le,radius:i.value,type:"source","data-type":"source"}))]:null,U.value==="target"||U.value===!0?[t.h("g",{onMousedown:se,onMouseenter:R,onMouseout:D},t.h(rp,{position:V,centerX:_e,centerY:me,radius:i.value,type:"target","data-type":"target"}))]:null]])};function R(){T.value=!0}function D(){T.value=!1}function te(v,k){x.update({event:v,edge:b.value,connection:k})}function W(v){x.updateEnd({event:v,edge:b.value}),L.value=!1}function oe(v,k){v.button===0&&(L.value=!0,M.value=k?b.value.target:b.value.source,G.value=(k?b.value.targetHandle:b.value.sourceHandle)??null,A.value=k?"target":"source",x.updateStart({event:v,edge:b.value}),K(v))}function ie(v){var k;const E={event:v,edge:b.value};I.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(k=J.value)==null||k.blur()):o([b.value])),x.click(E)}function pe(v){x.contextMenu({event:v,edge:b.value})}function ge(v){x.doubleClick({event:v,edge:b.value})}function Z(v){x.mouseEnter({event:v,edge:b.value})}function ee(v){x.mouseMove({event:v,edge:b.value})}function re(v){x.mouseLeave({event:v,edge:b.value})}function ue(v){oe(v,!0)}function se(v){oe(v,!1)}function C(v){var k;!h.value&&ff.includes(v.key)&&I.value&&(v.key==="Escape"?((k=J.value)==null||k.blur(),d([u(e.id)])):o([u(e.id)]))}}}),ZA=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:d,viewport:u,findNode:f}=Oe(),p=(e=t.inject(gi))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return f((w=r.value)==null?void 0:w.nodeId)}),h=t.computed(()=>{var w;return f((w=i.value)==null?void 0:w.nodeId)??null}),y=t.computed(()=>({x:(a.value.x-u.value.x)/u.value.zoom,y:(a.value.y-u.value.y)/u.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${Go(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${Go(c.value.markerEnd,n)})`:"");return()=>{var w,b,x;if(!m.value||!r.value)return null;const S=r.value.id,N=r.value.type,P=m.value.handleBounds;let T=(P==null?void 0:P[N])??[];if(o.value===Zt.Loose){const Y=(P==null?void 0:P[N==="source"?"target":"source"])??[];T=[...T,...Y]}if(!T)return null;const L=(S?T.find(Y=>Y.id===S):T[0])??null,M=(L==null?void 0:L.position)??be.Top,{x:G,y:A}=Qn(m.value,L,M);let J=null;h.value&&(o.value===Zt.Strict?J=((w=h.value.handleBounds[N==="source"?"target":"source"])==null?void 0:w.find(Y=>{var j;return Y.id===((j=i.value)==null?void 0:j.id)}))||null:J=((b=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:b.find(Y=>{var j;return Y.id===((j=i.value)==null?void 0:j.id)}))||null);const I=((x=i.value)==null?void 0:x.position)??(M?Cl[M]:null);if(!M||!I)return null;const U=l.value??c.value.type??wn.Bezier;let F="";const X={sourceX:G,sourceY:A,sourcePosition:M,targetX:y.value.x,targetY:y.value.y,targetPosition:I};return U===wn.Bezier?[F]=Jf(X):U===wn.Step?[F]=Al({...X,borderRadius:0}):U===wn.SmoothStep?[F]=Al(X):U===wn.SimpleBezier?[F]=ep(X):F=`M${G},${A} ${y.value.x},${y.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},p?t.h(p,{sourceX:G,sourceY:A,sourcePosition:M,targetX:y.value.x,targetY:y.value.y,targetPosition:I,sourceNode:m.value,sourceHandle:L,targetNode:h.value,targetHandle:J,markerEnd:_.value,markerStart:g.value,connectionStatus:d.value}):t.h("path",{d:F,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),JA=["id","markerWidth","markerHeight","markerUnits","orient"],QA={name:"MarkerType",compatConfig:{MODE:3}},eI=t.defineComponent({...QA,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(li).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(li).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,JA))}}),tI={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},nI={name:"MarkerDefinitions",compatConfig:{MODE:3}},oI=t.defineComponent({...nI,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Oe(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const u=Go(d,n);l.has(u)||(typeof d=="object"?s.push({...d,id:u,color:d.color||i.value}):s.push({id:u,color:i.value,type:d}),l.add(u))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const u of[d.markerStart,d.markerEnd])c(u);return s.sort((d,u)=>d.id.localeCompare(u.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",tI,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(eI,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),rI={name:"Edges",compatConfig:{MODE:3}},iI=t.defineComponent({...rI,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Oe();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(oI),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(Px)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(XA),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(ZA))],64))}}),aI=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:d,onUpdateNodeInternals:u,getNodeTypes:f,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:y,snapToGrid:g,snapGrid:_,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:x,nodesConnectable:S,nodesFocusable:N,hooks:P}=Oe(),T=t.ref(null);t.provide(jf,T),t.provide(Kf,e.id);const L=t.inject(gi),M=t.getCurrentInstance(),G=Hf(),{node:A,parentNode:J}=zf(e.id),{emit:I,on:U}=Xx(A,l),F=t.toRef(()=>typeof A.draggable>"u"?b.value:A.draggable),X=t.toRef(()=>typeof A.selectable>"u"?x.value:A.selectable),Y=t.toRef(()=>typeof A.connectable>"u"?S.value:A.connectable),j=t.toRef(()=>typeof A.focusable>"u"?N.value:A.focusable),K=t.computed(()=>X.value||F.value||P.value.nodeClick.hasListeners()||P.value.nodeDoubleClick.hasListeners()||P.value.nodeMouseEnter.hasListeners()||P.value.nodeMouseMove.hasListeners()||P.value.nodeMouseLeave.hasListeners()),R=t.toRef(()=>!!A.dimensions.width&&!!A.dimensions.height),D=t.computed(()=>{const k=A.type||"default",E=L==null?void 0:L[`node-${k}`];if(E)return E;let $=A.template||f.value[k];if(typeof $=="string"&&M){const B=Object.keys(M.appContext.components);B&&B.includes(k)&&($=t.resolveComponent(k,!1))}return $&&typeof $!="string"?$:(l.error(new Xe(Ge.NODE_TYPE_MISSING,$)),!1)}),te=Gf({id:e.id,el:T,disabled:()=>!F.value,selectable:X,dragHandle:()=>A.dragHandle,onStart(k){I.dragStart(k)},onDrag(k){I.drag(k)},onStop(k){I.dragStop(k)},onClick(k){C(k)}}),W=t.computed(()=>A.class instanceof Function?A.class(A):A.class),oe=t.computed(()=>{const k=(A.style instanceof Function?A.style(A):A.style)||{},E=A.width instanceof Function?A.width(A):A.width,$=A.height instanceof Function?A.height(A):A.height;return!k.width&&E&&(k.width=typeof E=="string"?E:`${E}px`),!k.height&&$&&(k.height=typeof $=="string"?$:`${$}px`),k}),ie=t.toRef(()=>Number(A.zIndex??oe.value.zIndex??0));return u(k=>{(k.includes(e.id)||!k.length)&&ge()}),t.onMounted(()=>{t.watch(()=>A.hidden,(k=!1,E,$)=>{!k&&T.value&&(e.resizeObserver.observe(T.value),$(()=>{T.value&&e.resizeObserver.unobserve(T.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>A.type,()=>A.sourcePosition,()=>A.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:T.value,forceUpdate:!0}])})}),t.watch([()=>A.position.x,()=>A.position.y,()=>{var k;return(k=J.value)==null?void 0:k.computedPosition.x},()=>{var k;return(k=J.value)==null?void 0:k.computedPosition.y},()=>{var k;return(k=J.value)==null?void 0:k.computedPosition.z},ie,()=>A.selected,()=>A.dimensions.height,()=>A.dimensions.width,()=>{var k;return(k=J.value)==null?void 0:k.dimensions.height},()=>{var k;return(k=J.value)==null?void 0:k.dimensions.width}],([k,E,$,B,q,O])=>{const H={x:k,y:E,z:O+(m.value&&A.selected?1e3:0)};typeof $<"u"&&typeof B<"u"?A.computedPosition=Nx({x:$,y:B,z:q},H):A.computedPosition=H},{flush:"post",immediate:!0}),t.watch([()=>A.extent,p],([k,E],[$,B])=>{(k!==$||E!==B)&&pe()}),A.extent==="parent"||typeof A.extent=="object"&&"range"in A.extent&&A.extent.range==="parent"?Ha(()=>R).toBe(!0).then(pe):pe(),()=>A.hidden?null:t.h("div",{ref:T,"data-id":A.id,class:["vue-flow__node",`vue-flow__node-${D.value===!1?"default":A.type||"default"}`,{[o.value]:F.value,dragging:te==null?void 0:te.value,draggable:F.value,selected:A.selected,selectable:X.value,parent:A.isParent},W.value],style:{visibility:R.value?"visible":"hidden",zIndex:A.computedPosition.z??ie.value,transform:`translate(${A.computedPosition.x}px,${A.computedPosition.y}px)`,pointerEvents:K.value?"all":"none",...oe.value},tabIndex:j.value?0:void 0,role:j.value?"group":void 0,"aria-describedby":h.value?void 0:`${df}-${n}`,"aria-label":A.ariaLabel,"aria-roledescription":"node",...A.domAttributes,onMouseenter:Z,onMousemove:ee,onMouseleave:re,onContextmenu:ue,onClick:C,onDblclick:se,onKeydown:v},[t.h(D.value===!1?f.value.default:D.value,{id:A.id,type:A.type,data:A.data,events:{...A.events,...U},selected:A.selected,resizing:A.resizing,dragging:te.value,connectable:Y.value,position:A.computedPosition,dimensions:A.dimensions,isValidTargetPos:A.isValidTargetPos,isValidSourcePos:A.isValidSourcePos,parent:A.parentNode,parentNodeId:A.parentNode,zIndex:A.computedPosition.z??ie.value,targetPosition:A.targetPosition,sourcePosition:A.sourcePosition,label:A.label,dragHandle:A.dragHandle,onUpdateNodeInternals:ge})]);function pe(){const k=A.computedPosition,{computedPosition:E,position:$}=bl(A,g.value?pi(k,_.value):k,l.error,p.value,J.value);(A.computedPosition.x!==E.x||A.computedPosition.y!==E.y)&&(A.computedPosition={...A.computedPosition,...E}),(A.position.x!==$.x||A.position.y!==$.y)&&(A.position=$)}function ge(){T.value&&d([{id:e.id,nodeElement:T.value,forceUpdate:!0}])}function Z(k){te!=null&&te.value||I.mouseEnter({event:k,node:A})}function ee(k){te!=null&&te.value||I.mouseMove({event:k,node:A})}function re(k){te!=null&&te.value||I.mouseLeave({event:k,node:A})}function ue(k){return I.contextMenu({event:k,node:A})}function se(k){return I.doubleClick({event:k,node:A})}function C(k){X.value&&(!r.value||!F.value||w.value>0)&&El(A,a.value,c,s,i,!1,T.value),I.click({event:k,node:A})}function v(k){if(!(gl(k)||h.value))if(ff.includes(k.key)&&X.value){const E=k.key==="Escape";El(A,a.value,c,s,i,E,T.value)}else F.value&&A.selected&&Jn[k.key]&&(k.preventDefault(),y.value=`Moved selected node ${k.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~A.position.x}, y: ${~~A.position.y}`,G({x:Jn[k.key].x,y:Jn[k.key].y},k.shiftKey))}}});function lI(e={includeHiddenNodes:!1}){const{nodes:n}=Oe();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const sI={class:"vue-flow__nodes vue-flow__container"},cI={name:"Nodes",compatConfig:{MODE:3}},dI=t.defineComponent({...cI,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Oe(),i=lI(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",sI,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,u,f)=>{const p=[c.id];if(f&&f.key===c.id&&t.isMemoSame(f,p))return f;const m=(t.openBlock(),t.createBlock(t.unref(aI),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):t.createCommentVNode("",!0)]))}});function uI(){const{emits:e}=Oe();t.onMounted(()=>{if(Rf()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Xe(Ge.MISSING_STYLES))}})}const fI=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),pI={name:"VueFlow",compatConfig:{MODE:3}},ip=t.defineComponent({...pI,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=Ya(r,"modelValue",o),l=Ya(r,"nodes",o),s=Ya(r,"edges",o),c=Oe(r),d=eA({modelValue:a,nodes:l,edges:s},r,c);return nA(o,c.hooks),HA(),uI(),t.provide(gi,i),t.onUnmounted(()=>{d()}),n(c),(u,f)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(UA,null,{default:t.withCtx(()=>[t.createVNode(iI),fI,t.createVNode(dI),t.renderSlot(u.$slots,"zoom-pane")]),_:3}),t.renderSlot(u.$slots,"default"),t.createVNode(zA)],512))}}),mI={name:"Panel",compatConfig:{MODE:3}},gI=t.defineComponent({...mI,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Oe(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var Gt=(e=>(e.Lines="lines",e.Dots="dots",e))(Gt||{});const ap=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},lp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Gt.Lines+"",Gt.Dots+"";const hI={[Gt.Dots]:"#81818a",[Gt.Lines]:"#eee"},yI=["id","x","y","width","height","patternTransform"],_I={key:2,height:"100",width:"100"},bI=["fill"],wI=["x","y","fill"],kI={name:"Background",compatConfig:{MODE:3}},CI=t.defineComponent({...kI,props:{id:{},variant:{default:()=>Gt.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=Oe(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],u=e.size*l,[f,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[f*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:u}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||hI[e.variant||Gt.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(Gt).Lines?(t.openBlock(),t.createBlock(t.unref(ap),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(Gt).Dots?(t.openBlock(),t.createBlock(t.unref(lp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",_I,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,bI)])):t.createCommentVNode("",!0)])],8,yI)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,wI),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),EI={name:"ControlButton",compatConfig:{MODE:3}},NI=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},vI={class:"vue-flow__controls-button"};function SI(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",vI,[t.renderSlot(e.$slots,"default")])}const qo=NI(EI,[["render",SI]]),xI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},AI=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function II(e,n){return t.openBlock(),t.createElementBlock("svg",xI,AI)}const PI={render:II},TI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},OI=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function $I(e,n){return t.openBlock(),t.createElementBlock("svg",TI,OI)}const BI={render:$I},VI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},RI=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function DI(e,n){return t.openBlock(),t.createElementBlock("svg",VI,RI)}const MI={render:DI},LI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},FI=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function UI(e,n){return t.openBlock(),t.createElementBlock("svg",LI,FI)}const KI={render:UI},jI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},GI=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function qI(e,n){return t.openBlock(),t.createElementBlock("svg",jI,GI)}const zI={render:qI},HI={name:"Controls",compatConfig:{MODE:3}},YI=t.defineComponent({...HI,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>sf.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:d,minZoom:u,maxZoom:f}=Oe(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=u.value),h=t.toRef(()=>d.value.zoom>=f.value);function y(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function w(){a(!p.value),n("interactionChange",!p.value)}return(b,x)=>(t.openBlock(),t.createBlock(t.unref(gI),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(qo,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:y},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(PI))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(qo,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(BI))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(qo,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(MI))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(qo,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[p.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(zI))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(KI))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),zo={padding:80,gaps:{nodes:40,edges:80,ranks:40}},WI=1600,XI=1.2,ZI=0,JI=200,sp=Symbol("confirm-modal"),eo="{key}",Nn={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},Ci=Object.keys(Nn).filter(e=>e.includes(eo)).map(e=>e.replace(eo,""));function Pl(e){if(!e||!Yo(e))return;const n=Ci.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(eo,"")}function Ho(e){if(!e)return null;const n=Ci.find(o=>e.startsWith(o));return n||e}function Yo(e){return e?Ci.some(n=>e.startsWith(n)):!1}function cp(e){return e?Yo(e)?Ho(e)+eo:e:null}function Tl(e){var o;if(!e)return!1;const n=cp(e);return n?((o=Nn[n])==null?void 0:o.readable)??!1:!1}function Ol(e){var o;if(!e)return!1;const n=cp(e);return n?((o=Nn[n])==null?void 0:o.writable)??!1:!1}function QI(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var eP="\0",vn="\0",dp="";let tP=class{constructor(n){He(this,"_isDirected",!0);He(this,"_isMultigraph",!1);He(this,"_isCompound",!1);He(this,"_label");He(this,"_defaultNodeLabelFn",()=>{});He(this,"_defaultEdgeLabelFn",()=>{});He(this,"_nodes",{});He(this,"_in",{});He(this,"_preds",{});He(this,"_out",{});He(this,"_sucs",{});He(this,"_edgeObjs",{});He(this,"_edgeLabels",{});He(this,"_nodeCount",0);He(this,"_edgeCount",0);He(this,"_parent");He(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[vn]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=vn,this._children[n]={},this._children[vn][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=vn;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==vn)return o}}children(n=vn){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===vn)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=Wo(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=nP(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,up(this._preds[o],n),up(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?$l(this._isDirected,arguments[0]):Wo(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?$l(this._isDirected,arguments[0]):Wo(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?$l(this._isDirected,arguments[0]):Wo(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],fp(this._preds[o],n),fp(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function up(e,n){e[n]?e[n]++:e[n]=1}function fp(e,n){--e[n]||delete e[n]}function Wo(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+dp+a+dp+(r===void 0?eP:r)}function nP(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function $l(e,n){return Wo(e,n.v,n.w,n.name)}var Bl=tP,oP="2.2.4",rP={Graph:Bl,version:oP},iP=Bl,aP={write:lP,read:dP};function lP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:sP(e),edges:cP(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function sP(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function cP(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function dP(e){var n=new iP(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var uP=fP;function fP(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var pp=class{constructor(){He(this,"_arr",[]);He(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},pP=pp,mp=gP,mP=()=>1;function gP(e,n,o,r){return hP(e,String(n),o||mP,r||function(i){return e.outEdges(i)})}function hP(e,n,o,r){var i={},a=new pP,l,s,c=function(d){var u=d.v!==l?d.v:d.w,f=i[u],p=o(d),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<f.distance&&(f.distance=m,f.predecessor=l,a.decrease(u,m))};for(e.nodes().forEach(function(d){var u=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:u},a.add(d,u)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var yP=mp,_P=bP;function bP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=yP(e,i,n,o),r},{})}var gp=wP;function wP(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(u){Object.hasOwn(r,u)?r[u].onStack&&(s.lowlink=Math.min(s.lowlink,r[u].index)):(a(u),s.lowlink=Math.min(s.lowlink,r[u].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var kP=gp,CP=EP;function EP(e){return kP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var NP=SP,vP=()=>1;function SP(e,n,o){return xP(e,n||vP,o||function(r){return e.outEdges(r)})}function xP(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var u=c[a],f=l[d],p=c[d],m=u.distance+f.distance;m<p.distance&&(p.distance=m,p.predecessor=f.predecessor)})})}),r}function hp(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new Vl;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new Vl;return r}class Vl extends Error{constructor(){super(...arguments)}}var yp=hp;hp.CycleException=Vl;var _p=yp,AP=IP;function IP(e){try{_p(e)}catch(n){if(n instanceof _p.CycleException)return!1;throw n}return!0}var bp=PP;function PP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?TP:OP,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function TP(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),wp(n(a[0]),l=>i.push([l,!1])))}}function OP(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),wp(n(a),l=>i.push(l)))}}function wp(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var $P=bp,BP=VP;function VP(e,n){return $P(e,n,"post")}var RP=bp,DP=MP;function MP(e,n){return RP(e,n,"pre")}var LP=Bl,FP=pp,UP=KP;function KP(e,n){var o=new LP,r={},i=new FP,a;function l(c){var d=c.v===a?c.w:c.v,u=i.priority(d);if(u!==void 0){var f=n(c);f<u&&(r[d]=a,i.decrease(d,f))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var jP={components:uP,dijkstra:mp,dijkstraAll:_P,findCycles:CP,floydWarshall:NP,isAcyclic:AP,postorder:BP,preorder:DP,prim:UP,tarjan:gp,topsort:yp},kp=rP,kt={Graph:kp.Graph,json:aP,alg:jP,version:kp.version};let GP=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return Cp(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&Cp(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,qP)),r=r._prev;return"["+n.join(", ")+"]"}};function Cp(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function qP(e,n){if(e!=="_next"&&e!=="_prev")return n}var zP=GP;let HP=kt.Graph,YP=zP;var WP=ZP;let XP=()=>1;function ZP(e,n){if(e.nodeCount()<=1)return[];let o=QP(e,n||XP);return JP(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function JP(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Rl(e,n,o,l);for(;l=i.dequeue();)Rl(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(Rl(e,n,o,l,!0));break}}}return r}function Rl(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,Dl(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Dl(n,o,d)}),e.removeNode(r.v),a}function QP(e,n){let o=new HP,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=n(s),u=c+d;o.setEdge(s.v,s.w,u),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=eT(i+r+3).map(()=>new YP),l=r+1;return o.nodes().forEach(s=>{Dl(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Dl(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function eT(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let Ep=kt.Graph;var ze={addBorderNode:cT,addDummyNode:Np,applyWithChunking:Ei,asNonCompoundGraph:nT,buildLayerMatrix:aT,intersectRect:iT,mapValues:hT,maxRank:Sp,normalizeRanks:lT,notime:pT,partition:uT,pick:gT,predecessorWeights:rT,range:Ap,removeEmptyRanks:sT,simplify:tT,successorWeights:oT,time:fT,uniqueId:xp,zipObject:Ml};function Np(e,n,o,r){for(var i=r;e.hasNode(i);)i=xp(r);return o.dummy=n,e.setNode(i,o),i}function tT(e){let n=new Ep().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function nT(e){let n=new Ep({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function oT(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return Ml(e.nodes(),n)}function rT(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return Ml(e.nodes(),n)}function iT(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function aT(e){let n=Ap(Sp(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function lT(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=Ei(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function sT(e){let n=e.nodes().map(l=>e.node(l).rank),o=Ei(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function cT(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),Np(e,"border",i,n)}function dT(e,n=vp){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const vp=65535;function Ei(e,n){if(n.length>vp){const o=dT(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function Sp(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return Ei(Math.max,o)}function uT(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function fT(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function pT(e,n){return n()}let mT=0;function xp(e){var n=++mT;return e+(""+n)}function Ap(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function gT(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function hT(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function Ml(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let yT=WP,_T=ze.uniqueId;var bT={run:wT,undo:CT};function wT(e){(e.graph().acyclicer==="greedy"?yT(e,o(e)):kT(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,_T("rev"))});function o(r){return i=>r.edge(i).weight}}function kT(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function CT(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let ET=ze;var NT={run:vT,undo:xT};function vT(e){e.graph().dummyChains=[],e.edges().forEach(n=>ST(e,n))}function ST(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let d,u,f;for(f=0,++r;r<a;++f,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=ET.addDummyNode(e,"edge",u,"_d"),r===c&&(u.width=s.width,u.height=s.height,u.dummy="edge-label",u.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),f===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function xT(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:AT}=ze;var Ni={longestPath:IT,slack:PT};function IT(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=AT(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function PT(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var TT=kt.Graph,vi=Ni.slack,Ip=OT;function OT(e){var n=new TT({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;$T(n,e)<r;)i=BT(n,e),a=n.hasNode(i.v)?vi(e,i):-vi(e,i),VT(n,e,a);return n}function $T(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!vi(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function BT(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=vi(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function VT(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var RT=Ip,Pp=Ni.slack,DT=Ni.longestPath,MT=kt.alg.preorder,LT=kt.alg.postorder,FT=ze.simplify,UT=Sn;Sn.initLowLimValues=Fl,Sn.initCutValues=Ll,Sn.calcCutValue=Tp,Sn.leaveEdge=$p,Sn.enterEdge=Bp,Sn.exchangeEdges=Vp;function Sn(e){e=FT(e),DT(e);var n=RT(e);Fl(n),Ll(n,e);for(var o,r;o=$p(n);)r=Bp(n,e,o),Vp(n,e,o,r)}function Ll(e,n){var o=LT(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>KT(e,n,r))}function KT(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Tp(e,n,o)}function Tp(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var d=c.v===o,u=d?c.w:c.v;if(u!==i){var f=d===a,p=n.edge(c).weight;if(s+=f?p:-p,GT(e,o,u)){var m=e.edge(o,u).cutvalue;s+=f?-m:m}}}),s}function Fl(e,n){arguments.length<2&&(n=e.nodes()[0]),Op(e,{},1,n)}function Op(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=Op(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function $p(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function Bp(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=n.edges().filter(u=>c===Rp(e,e.node(u.v),s)&&c!==Rp(e,e.node(u.w),s));return d.reduce((u,f)=>Pp(n,f)<Pp(n,u)?f:u)}function Vp(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Fl(e),Ll(e,n),jT(e,n)}function jT(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=MT(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function GT(e,n,o){return e.hasEdge(n,o)}function Rp(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var qT=Ni,Dp=qT.longestPath,zT=Ip,HT=UT,YT=WT;function WT(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":Mp(e);break;case"tight-tree":ZT(e);break;case"longest-path":XT(e);break;case"none":break;default:Mp(e)}}var XT=Dp;function ZT(e){Dp(e),zT(e)}function Mp(e){HT(e)}var JT=QT;function QT(e){let n=tO(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=eO(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],u=!0;for(;o!==i.w;){if(r=e.node(o),u){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(u=!1)}if(!u){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function eO(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function tO(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let Si=ze;var nO={run:oO,cleanup:aO};function oO(e){let n=Si.addDummyNode(e,"root",{},"_root"),o=rO(e),r=Object.values(o),i=Si.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=iO(e)+1;e.children().forEach(s=>Lp(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function Lp(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=Si.addBorderNode(e,"_bt"),d=Si.addBorderNode(e,"_bb"),u=e.node(l);e.setParent(c,l),u.borderTop=c,e.setParent(d,l),u.borderBottom=d,s.forEach(f=>{Lp(e,n,o,r,i,a,f);let p=e.node(f),m=p.borderTop?p.borderTop:f,h=p.borderBottom?p.borderBottom:f,y=p.borderTop?r:2*r,g=m!==h?1:i-a[l]+1;e.setEdge(c,m,{weight:y,minlen:g,nestingEdge:!0}),e.setEdge(h,d,{weight:y,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function rO(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function iO(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function aO(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let lO=ze;var sO=cO;function cO(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)Fp(e,"borderLeft","_bl",o,i,a),Fp(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function Fp(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=lO.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var dO={adjust:uO,undo:fO};function uO(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Up(e)}function fO(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&pO(e),(n==="lr"||n==="rl")&&(mO(e),Up(e))}function Up(e){e.nodes().forEach(n=>Kp(e.node(n))),e.edges().forEach(n=>Kp(e.edge(n)))}function Kp(e){let n=e.width;e.width=e.height,e.height=n}function pO(e){e.nodes().forEach(n=>Ul(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Ul),Object.hasOwn(o,"y")&&Ul(o)})}function Ul(e){e.y=-e.y}function mO(e){e.nodes().forEach(n=>Kl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Kl),Object.hasOwn(o,"x")&&Kl(o)})}function Kl(e){let n=e.x;e.x=e.y,e.y=n}let jp=ze;var gO=hO;function hO(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=jp.applyWithChunking(Math.max,r),a=jp.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let yO=ze.zipObject;var _O=bO;function bO(e,n){let o=0;for(let r=1;r<n.length;++r)o+=wO(e,n[r-1],n[r]);return o}function wO(e,n,o){let r=yO(o,o.map((d,u)=>u)),i=n.flatMap(d=>e.outEdges(d).map(u=>({pos:r[u.w],weight:e.edge(u).weight})).sort((u,f)=>u.pos-f.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let u=d.pos+a;s[u]+=d.weight;let f=0;for(;u>0;)u%2&&(f+=s[u+1]),u=u-1>>1,s[u]+=d.weight;c+=d.weight*f}),c}var kO=CO;function CO(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let EO=ze;var NO=vO;function vO(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return SO(r)}function SO(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&xO(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>EO.pick(i,["vs","i","barycenter","weight"]))}function xO(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let AO=ze;var IO=PO;function PO(e,n){let o=AO.partition(e,u=>Object.hasOwn(u,"barycenter")),r=o.lhs,i=o.rhs.sort((u,f)=>f.i-u.i),a=[],l=0,s=0,c=0;r.sort(TO(!!n)),c=Gp(a,i,c),r.forEach(u=>{c+=u.vs.length,a.push(u.vs),l+=u.barycenter*u.weight,s+=u.weight,c=Gp(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Gp(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function TO(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let OO=kO,$O=NO,BO=IO;var VO=qp;function qp(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let d=OO(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=qp(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&DO(p,m)}});let u=$O(d,o);RO(u,c);let f=BO(u,r);if(l&&(f.vs=[l,f.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+p.order+m.order)/(f.weight+2),f.weight+=2}return f}function RO(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function DO(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let MO=kt.Graph,LO=ze;var FO=UO;function UO(e,n,o){let r=KO(e),i=new MO({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,u=i.edge(d,a),f=u!==void 0?u.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+f})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function KO(e){for(var n;e.hasNode(n=LO.uniqueId("_root")););return n}var jO=GO;function GO(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let qO=gO,zO=_O,HO=VO,YO=FO,WO=jO,XO=kt.Graph,xi=ze;var ZO=zp;function zp(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,zp);return}let o=xi.maxRank(e),r=Hp(e,xi.range(1,o+1),"inEdges"),i=Hp(e,xi.range(o-1,-1,-1),"outEdges"),a=qO(e);if(Yp(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){JO(c%2?r:i,c%4>=2),a=xi.buildLayerMatrix(e);let u=zO(e,a);u<l&&(d=0,s=Object.assign({},a),l=u)}Yp(e,s)}function Hp(e,n,o){return n.map(function(r){return YO(e,r,o)})}function JO(e,n){let o=new XO;e.forEach(function(r){let i=r.graph().root,a=HO(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),WO(r,o,a.vs)})}function Yp(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let QO=kt.Graph,qt=ze;var e$={positionX:u$};function t$(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((u,f)=>{let p=o$(e,u),m=p?e.node(p).order:c;(p||u===d)&&(a.slice(s,f+1).forEach(h=>{e.predecessors(h).forEach(y=>{let g=e.node(y),_=g.order;(_<l||m<_)&&!(g.dummy&&e.node(h).dummy)&&Wp(o,y,h)})}),s=f+1,l=m)}),a}return n.length&&n.reduce(r),o}function n$(e,n){let o={};function r(a,l,s,c,d){let u;qt.range(l,s).forEach(f=>{u=a[f],e.node(u).dummy&&e.predecessors(u).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&Wp(o,p,u)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((u,f)=>{if(e.node(u).dummy==="border"){let p=e.predecessors(u);p.length&&(c=e.node(p[0]).order,r(l,d,f,s,c),d=f,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function o$(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function Wp(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function r$(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function i$(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),n.forEach(s=>{let c=-1;s.forEach(d=>{let u=r(d);if(u.length){u=u.sort((p,m)=>l[p]-l[m]);let f=(u.length-1)/2;for(let p=Math.floor(f),m=Math.ceil(f);p<=m;++p){let h=u[p];a[d]===d&&c<l[h]&&!r$(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function a$(e,n,o,r,i){let a={},l=l$(e,n,o,i),s=i?"borderLeft":"borderRight";function c(f,p){let m=l.nodes(),h=m.pop(),y={};for(;h;)y[h]?f(h):(y[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(f){a[f]=l.inEdges(f).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function u(f){let p=l.outEdges(f).reduce((h,y)=>Math.min(h,a[y.w]-l.edge(y)),Number.POSITIVE_INFINITY),m=e.node(f);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[f]=Math.max(a[f],p))}return c(d,l.predecessors.bind(l)),c(u,l.successors.bind(l)),Object.keys(r).forEach(f=>a[f]=a[o[f]]),a}function l$(e,n,o,r){let i=new QO,a=e.graph(),l=f$(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let u=o[d];if(i.setNode(u),c){var f=o[c],p=i.edge(f,u);i.setEdge(f,u,Math.max(l(e,d,c),p||0))}c=d})}),i}function s$(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=p$(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function c$(e,n){let o=Object.values(n),r=qt.applyWithChunking(Math.min,o),i=qt.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let d=Object.values(c),u=r-qt.applyWithChunking(Math.min,d);l!=="l"&&(u=i-qt.applyWithChunking(Math.max,d)),u&&(e[s]=qt.mapValues(c,f=>f+u))})})}function d$(e,n){return qt.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function u$(e){let n=qt.buildLayerMatrix(e),o=Object.assign(t$(e,n),n$(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(f=>Object.values(f).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=i$(e,i,o,c),u=a$(e,i,d.root,d.align,s==="r");s==="r"&&(u=qt.mapValues(u,f=>-f)),r[l+s]=u})});let a=s$(e,r);return c$(r,a),d$(r,e.graph().align)}function f$(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function p$(e,n){return e.node(n).width}let Xp=ze,m$=e$.positionX;var g$=h$;function h$(e){e=Xp.asNonCompoundGraph(e),y$(e),Object.entries(m$(e)).forEach(([n,o])=>e.node(n).x=o)}function y$(e){let n=Xp.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let Zp=bT,Jp=NT,_$=YT,b$=ze.normalizeRanks,w$=JT,k$=ze.removeEmptyRanks,Qp=nO,C$=sO,em=dO,E$=ZO,N$=g$,mt=ze,v$=kt.Graph;var S$=x$;function x$(e,n){let o=n&&n.debugTiming?mt.time:mt.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>D$(e));o(" runLayout",()=>A$(r,o,n)),o(" updateInputGraph",()=>I$(e,r))})}function A$(e,n,o){n(" makeSpaceForEdgeLabels",()=>M$(e)),n(" removeSelfEdges",()=>H$(e)),n(" acyclic",()=>Zp.run(e)),n(" nestingGraph.run",()=>Qp.run(e)),n(" rank",()=>_$(mt.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>L$(e)),n(" removeEmptyRanks",()=>k$(e)),n(" nestingGraph.cleanup",()=>Qp.cleanup(e)),n(" normalizeRanks",()=>b$(e)),n(" assignRankMinMax",()=>F$(e)),n(" removeEdgeLabelProxies",()=>U$(e)),n(" normalize.run",()=>Jp.run(e)),n(" parentDummyChains",()=>w$(e)),n(" addBorderSegments",()=>C$(e)),n(" order",()=>E$(e,o)),n(" insertSelfEdges",()=>Y$(e)),n(" adjustCoordinateSystem",()=>em.adjust(e)),n(" position",()=>N$(e)),n(" positionSelfEdges",()=>W$(e)),n(" removeBorderNodes",()=>z$(e)),n(" normalize.undo",()=>Jp.undo(e)),n(" fixupEdgeLabelCoords",()=>G$(e)),n(" undoCoordinateSystem",()=>em.undo(e)),n(" translateGraph",()=>K$(e)),n(" assignNodeIntersects",()=>j$(e)),n(" reversePoints",()=>q$(e)),n(" acyclic.undo",()=>Zp.undo(e))}function I$(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let P$=["nodesep","edgesep","ranksep","marginx","marginy"],T$={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O$=["acyclicer","ranker","rankdir","align"],$$=["width","height","rank"],tm={width:0,height:0},B$=["minlen","weight","width","height","labeloffset"],V$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},R$=["labelpos"];function D$(e){let n=new v$({multigraph:!0,compound:!0}),o=Gl(e.graph());return n.setGraph(Object.assign({},T$,jl(o,P$),mt.pick(o,O$))),e.nodes().forEach(r=>{let i=Gl(e.node(r));const a=jl(i,$$);Object.keys(tm).forEach(l=>{a[l]===void 0&&(a[l]=tm[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Gl(e.edge(r));n.setEdge(r,Object.assign({},V$,jl(i,B$),mt.pick(i,R$)))}),n}function M$(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function L$(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};mt.addDummyNode(e,"edge-proxy",a,"_ep")}})}function F$(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function U$(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function K$(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let u=d.x,f=d.y,p=d.width,m=d.height;n=Math.min(n,u-p/2),o=Math.max(o,u+p/2),r=Math.min(r,f-m/2),i=Math.max(i,f+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let u=e.edge(d);Object.hasOwn(u,"x")&&c(u)}),n-=l,r-=s,e.nodes().forEach(d=>{let u=e.node(d);u.x-=n,u.y-=r}),e.edges().forEach(d=>{let u=e.edge(d);u.points.forEach(f=>{f.x-=n,f.y-=r}),Object.hasOwn(u,"x")&&(u.x-=n),Object.hasOwn(u,"y")&&(u.y-=r)}),a.width=o-n+l,a.height=i-r+s}function j$(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(mt.intersectRect(r,a)),o.points.push(mt.intersectRect(i,l))})}function G$(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function q$(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function z$(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function H$(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function Y$(e){var n=mt.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{mt.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function W$(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function jl(e,n){return mt.mapValues(mt.pick(e,n),Number)}function Gl(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let X$=ze,Z$=kt.Graph;var J$={debugOrdering:Q$};function Q$(e){let n=X$.buildLayerMatrix(e),o=new Z$({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var eB="1.1.5",tB={graphlib:kt,layout:S$,debug:J$,util:{time:ze.time,notime:ze.notime},version:eB};const nm=QI(tB);function nB(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(Cc,e);return o=>n(o)}function Ai(e,n,o){const r=n?Xt(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function Xo(e,n){const o=n(e.source),r=n(e.target);return[Ai(o,e.sourceField,"output"),Ai(r,e.targetField,"input")]}function ql(e,n,o,r,i){const a=i(e),l=i(o);return[Ai(a,n,"output"),Ai(l,r,"input")]}function oB(e){t.provide(sp,e)}function om(){return t.inject(sp,void 0)}function rB(){const e=om();if(!e)throw new Error("Confirm modal not provided");return e}function rm(e){const n=e.match(/^(input|output)s@(.*)$/);if(n)return{io:n[1],field:n[2]}}function iB(){const e={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};return[r=>{e.x1=Math.min(e.x1,r.x),e.y1=Math.min(e.y1,r.y),e.x2=Math.max(e.x2,r.x+r.width),e.y2=Math.max(e.y2,r.y+r.height)},()=>{const r={...e};return r.x1>r.x2&&(r.x1=r.x2=0),r.y1>r.y2&&(r.y1=r.y2=0),r}]}const aB={default:pk,hover:gk,selected:mk};let im,zl;function Ii(e){const n=e.id===im?"selected":e.id===zl?"hover":"default",o=aB[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o};return{...e,style:{...e.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:n==="default"?void 0:1}}const[lB,sB]=Ue.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=zo.padding,gaps:s=zo.gaps}=r,{nodes:c=zo.gaps.nodes,edges:d=zo.gaps.edges,ranks:u=zo.gaps.ranks}=s,f=Oe(o),p=it(),m=om(),h=nB(),{i18n:{t:y}}=Ae(),{findNode:g,fitView:_,deleteKeyCode:w,onNodeClick:b,onNodeDragStop:x,onEdgeClick:S,onConnect:N,onNodesChange:P,onEdgesChange:T,onEdgeUpdate:L,onEdgeMouseEnter:M,onEdgeMouseLeave:G,setEdges:A,getNodes:J,addSelectedNodes:I}=f;w.value=["Delete","Backspace"];const{state:U,commit:F,moveNode:X,selectNode:Y,removeNode:j,getNodeById:K,connectEdge:R,disconnectEdge:D,getInEdgesByNodeId:te,commit:W,reset:oe}=p;function ie(k,E){const $=K(k.source),B=K(k.target);return!!($&&B&&$.phase===E&&B.phase===E)}const pe=t.computed(()=>U.value.nodes.filter(k=>k.phase===n).map(k=>({id:k.id,type:"flow",position:k.position,data:k,deletable:!ou(k)}))),ge=t.computed(()=>U.value.edges.filter(k=>ie(k,n)).map(k=>{const E=K(k.source),$=K(k.target);if(E){if(!$)throw new Error(`Missing target node "${k.target}" for edge "${k.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${k.source}" for edge "${k.id}" in phase "${n}"`);return Ii({id:k.id,source:k.source,target:k.target,sourceHandle:k.sourceField?`outputs@${k.sourceField}`:"output",targetHandle:k.targetField?`inputs@${k.targetField}`:"input",markerEnd:li.ArrowClosed,data:k,updatable:!i})})),Z=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));b(({node:k})=>{console.debug("[useFlow] onNodeClick",t.toRaw(k))}),S(({edge:k})=>{console.debug("[useFlow] onEdgeClick",t.toRaw(k))});async function ee({source:k,sourceHandle:E,target:$,targetHandle:B}){if(console.debug("[useFlow] onConnect",{source:k,sourceHandle:E,target:$,targetHandle:B}),!E||!B)return;const q=rm(E),O=rm(B);if((q==null?void 0:q.io)==="input"||(O==null?void 0:O.io)==="output"||E==="output"&&B==="output")return;const H=te($);let V=!1,de=!1;const le=[],_e=[],me=(O==null?void 0:O.io)==="input"?H.filter(we=>!we.targetField):H.filter(we=>!!we.targetField);me.length>0&&(V=!0,me.forEach(we=>{_e.push(Xo(we,K)),D(we.id,!1)}));const Q=(O==null?void 0:O.io)==="input"?H.filter(we=>we.targetField===O.field):H.filter(we=>!we.targetField);if(Q.length>0){if(Q.some(ae=>ae.source===k&&ae.target===$&&ae.targetField===(O==null?void 0:O.field)&&ae.sourceField===(q==null?void 0:q.field)))return;de=!0,Q.forEach(ae=>{_e.push(Xo(ae,K)),D(ae.id,!1)})}if(!R({source:k,sourceField:q==null?void 0:q.field,target:$,targetField:O==null?void 0:O.field},!1)){oe(),h({message:y("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(le.push(ql(k,q==null?void 0:q.field,$,O==null?void 0:O.field,K)),V||de){if(!m)throw oe(),new Error("Expected confirm modal to be provided here when reachable");if(!await m(y(V?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),le,_e)){oe();return}}W()}N(ee),P(k=>{k.filter(E=>E.type==="select").sort((E,$)=>E.selected===$.selected?0:E.selected?1:-1).forEach(E=>{Y(E.selected?E.id:void 0)}),k.forEach(E=>{E.type==="remove"&&j(E.id,!0)})}),x(({node:k})=>{k&&X(k.id,k.position)}),T(k=>{k.filter($=>$.type==="select").sort(($,B)=>$.selected===B.selected?0:$.selected?1:-1).forEach($=>{im=$.selected?$.id:void 0,A(B=>B.map(q=>q.id!==$.id||!q.markerEnd?q:Ii({...q,zIndex:$.selected?1:void 0})))}),k.forEach($=>{$.type==="remove"&&D($.id,!0)})}),M(({edge:k})=>{zl=k.id,A(E=>E.map($=>$.id!==k.id?$:Ii($)))}),G(({edge:k})=>{zl=void 0,A(E=>E.map($=>$.id!==k.id?$:Ii($)))}),L(({edge:k,connection:E})=>{D(k.id,!1),ee(E)});function re(k=!0){let E,$;const B=[],q=ne=>{switch(ne.data.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(E)throw new Error("Duplicated request node in request phase");return E=ne,!0}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if($)throw new Error("Duplicated service_request node in request phase");return $=ne,!0}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if($)throw new Error("Duplicated service_response node in response phase");return $=ne,!0}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(E)throw new Error("Duplicated response node in response phase");return E=ne,!0}default:return B.push(ne),!1}};let O;for(const ne of pe.value)if(!q(ne)&&B.length>0){O||(O=new nm.graphlib.Graph({multigraph:!0}),O.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:u}));const $e=g(ne.id);if(!$e)throw new Error(`Node ${ne.id} is missing from the graph in ${n} phase`);O.setNode(ne.id,{width:$e.dimensions.width,height:$e.dimensions.height})}if(!E||!$)throw new Error(`One or more implicit nodes are missing from ${n} phase`);const H=g(E.id),V=g($.id);if(!H||!V)throw new Error(`One or more implicit nodes are missing from the graph in ${n} phase`);if(B.length>0){if(!O)throw new Error("dagreGraph should be defined here if reachable");const ne=new Set([E.id,$.id]);for(const $e of ge.value)!ne.has($e.source)&&!ne.has($e.target)&&O.setEdge($e.source,$e.target,{points:[]});nm.layout(O)}const[de,le]=iB(),_e=ne=>({x:ne.x-ne.width/2,y:ne.y-ne.height/2,width:ne.width,height:ne.height});if(B.length>0){if(!O)throw new Error("dagreGraph should be defined here if reachable");for(const ne of B){const $e=O.node(ne.id),zt=_e($e);de(zt),X(ne.data.id,{x:zt.x,y:zt.y},!1)}}const me=le(),Q=me.x2-me.x1,he=me.y2-me.y1,we=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,WI)-Q-2*c-H.dimensions.width-V.dimensions.width-2*l),ae=me.y1+he/2;X(E.data.id,{x:me.x1-c-we/2-H.dimensions.width,y:ae-H.dimensions.height/2},!1),X($.data.id,{x:me.x2+c+we/2,y:ae-V.dimensions.height/2},!1),k&&F(`autolayout-${o}`)}function ue(k){_({...Z.value,...k})}async function se(k){return Y(k),new Promise(E=>setTimeout(()=>{const $=g(k);I($?[$]:[]),E()},0))}function C(k){const E=J.value,$=E.find(({id:me})=>me===k);if(!$)throw new Error(`Node ${k} not found`);const{position:{x:B,y:q},dimensions:{width:O,height:H}}=$,V=q,de=q+H,le=E.filter(({id:me})=>me!==k).filter(({position:{y:me},dimensions:{height:Q}})=>me<de&&me+Q>V).map(({position:{x:me},dimensions:{width:Q}})=>({left:me,right:me+Q})).sort((me,Q)=>me.left-Q.left);let _e=B+O+c;for(const{left:me,right:Q}of le)if(!(Q<=_e)){if(_e+O<=me)return{x:_e,y:V};_e=Math.max(_e,Q)+c}return{x:_e,y:V}}function v(k){if(!k)return;const E=g(k);if(!E)throw new Error(`Node ${k} not found`);const{position:{x:$},dimensions:{width:B}}=E,q=$+B,{viewport:O,dimensions:H,setViewport:V}=f,{x:de,y:le,zoom:_e}=O.value,{width:me}=H.value,Q=$*_e+de,he=q*_e+de,we=me-Qd-c;if(he<=we)return;let ae=we-he;Q+ae<0&&(ae=-Q),ae!==0&&V({x:de+ae,y:le,zoom:_e},{duration:JI})}return{vueFlowStore:f,editorStore:p,readonly:i,nodes:pe,edges:ge,selectNode:se,autoLayout:re,placeToRight:C,scrollRightToReveal:v,fitViewParams:Z,fitView:ue}}),Pi=Ee(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>be.Left},size:{default:()=>Number.parseFloat(jc)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.position===t.unref(be).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),am=Ee(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){const n=t.computed(()=>{var i;if(!xt(e.type))return((i=Vr[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>lN(e.type)),r=t.computed(()=>{switch(e.type){case"call":return"warning";case"jq":return"decorative";case"exit":return"danger";case"property":return"success";case"static":return"info";default:return"neutral"}});return(i,a)=>{const l=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(l,{appearance:r.value,class:t.normalizeClass({"icon-only":i.iconOnly}),size:i.size},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value)))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:1},8,["appearance","class","size"])}}}),[["__scopeId","data-v-aae106a9"]]);let to=null;function cB(){var n;if(to)return to;if(typeof navigator>"u")return to="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?to="mac":/Linux/i.test(e)&&!/Android/i.test(e)?to="linux":to="windows"}const dB={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},uB={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Win",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Spacebar",Delete:"Delete"},fB={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Super",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Space",Delete:"Delete"};function pB(e,n={}){const o=n.platform??cB(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?dB:o==="linux"?fB:uB;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const mB={key:0,class:"label"},gB={class:"keys"},Ti=Ee(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=pB(e.keys);return(o,r)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:o.reverse}])},[o.label?(t.openBlock(),t.createElementBlock("span",mB,t.toDisplayString(o.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",gB,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),hB={class:"body"},yB={class:"name"},_B={class:"handle"},bB={class:"handle-label-wrapper"},wB={class:"handle-label-wrapper"},kB={class:"handle-label text"},CB={class:"handle"},EB={class:"handle-label-wrapper"},NB={class:"handle-label-wrapper"},vB={class:"handle-label text"},lm=Ee(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean}},setup(e){const{t:n}=Ke.createI18n("en-us",Ye),o=sB(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,toggleExpanded:a,duplicateNode:l,removeNode:s,propertiesPanelOpen:c}=it(),d=t.computed(()=>Ka(e.data.type)),u=t.computed(()=>e.data.fields.input.length>0),f=t.computed(()=>e.data.fields.output.length>0),p=t.computed(()=>u.value&&r(e.data.id).every(M=>M.targetField===void 0)),m=t.computed(()=>f.value&&i(e.data.id).every(M=>M.sourceField===void 0)),h=t.computed(()=>e.data.expanded.input??!1),y=t.computed(()=>e.data.expanded.output??!1),g=t.computed(()=>{var M,G;if(e.data.type==="property"){const A=(M=e.data.config)==null?void 0:M.property;return Ol(A)}return(G=d.value.io)==null?void 0:G.input}),_=t.computed(()=>{var M,G;if(e.data.type==="property"){const A=(M=e.data.config)==null?void 0:M.property;return Tl(A)}return(G=d.value.io)==null?void 0:G.output}),w=t.computed(()=>ou(e.data)),b=t.computed(()=>e.data.phase==="response"),x=t.computed(()=>e.data.phase==="request"?be.Left:be.Right),S=t.computed(()=>e.data.phase==="request"?be.Right:be.Left),N=t.computed(()=>w.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),P=t.computed(()=>w.value?dk:uk);function T(M){!o||o.readonly||M==="input"&&!p.value||M==="output"&&!m.value||a(e.data.id,M)}async function L(){if(!o||o.readonly)return;const M=l(e.data.id,o.placeToRight(e.data.id));await o.selectNode(M),o.scrollRightToReveal(M),c.value=!0}return t.watch(p,M=>{M||a(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(m,M=>{M||a(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(M,G)=>{yo(M,G)||a(e.data.id,"input",M.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(M,G)=>{yo(M,G)||a(e.data.id,"output",M.length>0,!0,"*")},{deep:!0}),(M,G)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:b.value,implicit:w.value}])},[t.createElementVNode("div",hB,[w.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:0,class:"badge",placement:"top",text:M.data.type},{default:t.withCtx(()=>[t.createVNode(am,{"icon-only":"",size:"small",type:M.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",yB,t.toDisplayString(N.value),1),M.error?(t.openBlock(),t.createBlock(t.unref(Ne.WarningIcon),{key:1,class:"error-icon",color:t.unref(Uc),size:16},null,8,["color"])):t.createCommentVNode("",!0),w.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KDropdown),{key:2,class:"menu","kpop-attributes":{offset:"4px"},width:"160"},{items:t.withCtx(()=>[t.createVNode(t.unref(xe.KDropdownItem),{onClick:L},{default:t.withCtx(()=>[t.createVNode(Ti,{keys:t.unref(Br).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),t.createVNode(t.unref(xe.KDropdownItem),{danger:"",onClick:G[0]||(G[0]=A=>t.unref(s)(M.data.id))},{default:t.withCtx(()=>[t.createVNode(Ti,{keys:t.unref(Br).delete,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:t.unref(hk)},null,8,["color"])]),_:1})]),_:1}))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:b.value}])},[g.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":u.value}])},[t.createElementVNode("div",_B,[t.createVNode(t.unref(nn),{id:"input",position:x.value,type:"target"},null,8,["position"]),t.createElementVNode("div",bB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:p.value}]),onClick:G[1]||(G[1]=t.withModifiers(A=>T("input"),["stop"]))},[G[3]||(G[3]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),u.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[h.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldMoreIcon),{key:0,size:t.unref(ko)},null,8,["size"])),h.value?(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldLessIcon),{key:1,color:p.value?void 0:t.unref(Kc),size:t.unref(ko)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),u.value&&h.value?(t.openBlock(),t.createBlock(Pi,{key:0,color:P.value,position:x.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),u.value&&h.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(M.data.fields.input,(A,J)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${A.id}`,class:"handle indented"},[t.createVNode(t.unref(nn),{id:`inputs@${A.id}`,position:x.value,type:"target"},null,8,["id","position"]),t.createElementVNode("div",wB,[t.createElementVNode("div",kB,t.toDisplayString(A.name),1),t.createVNode(Pi,{color:P.value,position:x.value,type:J<M.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),_.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":f.value}])},[t.createElementVNode("div",CB,[t.createElementVNode("div",EB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:m.value}]),onClick:G[2]||(G[2]=t.withModifiers(A=>T("output"),["stop"]))},[G[4]||(G[4]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),f.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldMoreIcon),{key:0,size:t.unref(ko)},null,8,["size"])),y.value?(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldLessIcon),{key:1,color:m.value?void 0:t.unref(Kc),size:t.unref(ko)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),f.value&&y.value?(t.openBlock(),t.createBlock(Pi,{key:0,color:P.value,position:S.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(nn),{id:"output",position:S.value,type:"source"},null,8,["position"])]),f.value&&y.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(M.data.fields.output,(A,J)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${A.id}`,class:"handle indented"},[t.createElementVNode("div",NB,[t.createElementVNode("div",vB,t.toDisplayString(A.name),1),t.createVNode(Pi,{color:P.value,position:S.value,type:J<M.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(nn),{id:`outputs@${A.id}`,position:S.value,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],2)],2))}}),[["__scopeId","data-v-d0d8e13d"]]),SB=["undo","redo","duplicate","cut","copy","paste"],sm=()=>{};function xB(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function AB(e){if(!(e.metaKey||e.ctrlKey))return;switch(e.key.toLowerCase()){case"z":return e.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const IB=Ue.createSharedComposable(()=>{const e=new Set;Ue.useEventListener("keydown",o=>{if(xB(o.target))return;const r=AB(o);if(r)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[r];if(a){if(o.defaultPrevented){t.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),a();return}}},{passive:!1});function n(o){if(!SB.some(i=>typeof o[i]=="function"))return sm;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function cm(e={}){if(typeof window>"u")return sm;const n=IB().subscribe(e);return t.onScopeDispose(n),n}const PB={},TB={fill:"currentColor",height:"24px",viewBox:"0 -960 960 960",width:"24px",xmlns:"http://www.w3.org/2000/svg"};function OB(e,n){return t.openBlock(),t.createElementBlock("svg",TB,n[0]||(n[0]=[t.createElementVNode("path",{d:"M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"},null,-1)]))}const $B=Ee(PB,[["render",OB]]),BB={key:0,class:"dk-flow-mask"},dm=Ee(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},readonly:{type:Boolean}},emits:["initialized"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ue.useElementBounding(i),{i18n:{t:l}}=Ae(),{vueFlowStore:s,editorStore:c,nodes:d,edges:u,autoLayout:f,fitViewParams:p,fitView:m,selectNode:h,placeToRight:y,scrollRightToReveal:g}=lB({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.readonly}),{addNode:_,propertiesPanelOpen:w,invalidConfigNodeIds:b,selectedNode:x,duplicateNode:S}=c,{project:N,vueFlowRef:P,zoomIn:T,zoomOut:L,viewport:M,maxZoom:G,minZoom:A}=s,J=t.ref(!1);function I(){e.readonly||(w.value=!0)}function U(K){e.readonly||J.value||K.preventDefault()}function F(K){var ee,re;if(e.readonly||J.value)return;const R=(ee=K.dataTransfer)==null?void 0:ee.getData(xo);if(!R)return;K.preventDefault();const D=JSON.parse(R);if(D.action!=="create-node")return;const{top:te=0,left:W=0}=((re=P.value)==null?void 0:re.getBoundingClientRect())||{},oe=N({x:K.clientX-W,y:K.clientY-te}),{type:ie,anchor:pe}=D.data,ge={type:ie,phase:e.phase,position:{x:oe.x-pe.offsetX,y:oe.y-pe.offsetY}},Z=_(ge);Z&&(h(Z),w.value=!0)}function X(){f(),t.nextTick(()=>m())}const Y=t.computed(()=>[{name:"zoom_in",icon:Ne.AddIcon,action:T,disabled:M.value.zoom>=G.value},{name:"zoom_out",icon:Ne.RemoveIcon,action:L,disabled:M.value.zoom<=A.value},{name:"fit_view",icon:$B,action:m},{name:"auto_layout",icon:Ne.AutoLayoutIcon,action:X}]);if(e.phase==="response"&&!e.readonly){Ue.useEventListener("dragstart",R=>{var W;const D=(W=R.dataTransfer)==null?void 0:W.types.find(oe=>oe.startsWith(`${xo}/`));if(!D)return;const te=D.replace(`${xo}/`,"");(te==="call"||te==="exit")&&(J.value=!0)});const{start:K}=Ue.useTimeoutFn(()=>{J.value=!1},80);Ue.useEventListener("dragover",()=>{K()}),Ue.useEventListener("dragend",()=>{J.value=!1})}async function j(){const K=x.value;if(e.readonly||!K||K.phase!==e.phase)return;const R=S(K.id,y(K.id));R&&(await h(R),w.value=!0,g(R))}return cm({enabled:t.computed(()=>!!x.value&&!e.readonly&&x.value.phase===e.phase),duplicate:j}),n({autoLayout:f,fitView:m}),(K,R)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(ip),{id:K.flowId,class:t.normalizeClass(["flow",{readonly:K.readonly}]),edges:t.unref(u),"elements-selectable":!K.readonly,"max-zoom":t.unref(XI),"min-zoom":t.unref(ZI),"multi-selection-key-code":null,nodes:t.unref(d),"nodes-connectable":!K.readonly,"nodes-draggable":!K.readonly,"pan-on-drag":K.readonly?!1:void 0,"pan-on-scroll":K.readonly?!1:void 0,"zoom-on-double-click":K.readonly?!1:void 0,"zoom-on-pinch":K.readonly?!1:void 0,"zoom-on-scroll":K.readonly?!1:void 0,onDragover:U,onDrop:F,onNodeClick:I,onNodesInitialized:R[0]||(R[0]=D=>r("initialized"))},{"node-flow":t.withCtx(D=>[t.createVNode(lm,{data:D.data,error:t.unref(b).has(D.data.id)},null,8,["data","error"])]),default:t.withCtx(()=>[t.createVNode(t.unref(CI)),K.readonly?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(YI),{key:0,"fit-view-params":t.unref(p),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Y.value,D=>(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:D.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${D.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(qo),{class:"custom",disabled:D.disabled,onClick:t.withModifiers(D.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(D.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"]))]),_:1},8,["id","class","edges","elements-selectable","max-zoom","min-zoom","nodes","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"]),J.value?(t.openBlock(),t.createElementBlock("div",BB,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-c7e14107"]]),um=Ee(t.defineComponent({__name:"FlowPanels",props:{readonly:{type:Boolean},resizable:{type:Boolean}},setup(e,{expose:n}){const o=t.ref([!1,!1]),{state:r,markAsLayoutCompleted:i,commit:a,clear:l}=it(),s=t.useId(),c=`${s}-request`,d=`${s}-response`,u=Oe(c),f=Oe(d);function p(D,te){const{onPaneClick:W,onNodesChange:oe,onEdgesChange:ie,getSelectedNodes:pe,getSelectedEdges:ge}=D,{removeSelectedElements:Z}=te;function ee(re){if(!re){Z();return}re.some(ue=>ue.type==="select")&&pe.value.length+ge.value.length>0&&Z()}oe(ee),ie(ee),W(()=>ee())}p(u,f),p(f,u);const m=t.useTemplateRef("flowPanels"),h=t.useTemplateRef("requestLabel"),y=t.useTemplateRef("requestCanvasContainer"),g=t.useTemplateRef("requestFlow"),_=t.useTemplateRef("resizeHandle"),w=t.useTemplateRef("responseLabel"),b=t.useTemplateRef("responseCanvasContainer"),x=t.useTemplateRef("responseFlow"),S=Ue.useElementBounding(m),N=Ue.useElementBounding(h),P=Ue.useElementBounding(y),T=Ue.useElementBounding(_),L=Ue.useElementBounding(w),M=Ue.useElementBounding(b),G=t.computed(()=>Math.max(30,S.height.value*.03)),A=t.computed(()=>P.height.value<G.value),J=t.computed(()=>M.height.value<G.value),I=t.ref("50%"),U=t.ref("50%"),F=()=>{e.resizable&&(A.value?(I.value="50%",U.value="50%"):(I.value="0",U.value="100%"))},X=()=>{e.resizable&&(J.value?(I.value="50%",U.value="50%"):(I.value="100%",U.value="0"))},Y=t.computed(()=>S.height.value-N.height.value-T.height.value-L.height.value),{isDragging:j}=Ue.useDraggable(_,{onMove(D){if(!e.resizable)return;const te=Math.max(0,D.y-P.top.value),W=Math.min(1,Math.max(0,te/Y.value));I.value=`${W*100}%`,U.value=`${(1-W)*100}%`},onEnd(){e.resizable&&(P.height.value<G.value?(I.value="0",U.value="100%"):M.height.value<G.value&&(I.value="100%",U.value="0"))}}),K=()=>{t.nextTick(()=>{var D,te;(D=g.value)==null||D.fitView(),(te=x.value)==null||te.fitView()})},R=t.watch(o,([D,te])=>{var W,oe;D&&te&&(r.value.needLayout&&((W=g.value)==null||W.autoLayout(!1),(oe=x.value)==null||oe.autoLayout(!1),i(),a(),l()),K(),R.stop())},{deep:!0});return n({fitView:K}),(D,te)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:m,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:h,class:t.normalizeClass(["label request",{resizable:D.resizable}]),onClick:F},[D.resizable?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:A.value}])},null,8,["class"])):t.createCommentVNode("",!0),te[2]||(te[2]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:y,class:t.normalizeClass(["canvas",{dragging:t.unref(j)}]),style:t.normalizeStyle({flexBasis:I.value})},[t.createVNode(dm,{ref_key:"requestFlow",ref:g,"flow-id":c,phase:"request",readonly:D.readonly,onInitialized:te[0]||(te[0]=W=>o.value[0]=!0)},null,8,["readonly"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:_,class:t.normalizeClass(["resize-handle",{resizable:D.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:w,class:t.normalizeClass(["label response",{dragging:t.unref(j),resizable:D.resizable}]),onClick:X},[D.resizable?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:J.value}])},null,8,["class"])):t.createCommentVNode("",!0),te[3]||(te[3]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:b,class:t.normalizeClass(["canvas response",{dragging:t.unref(j)}]),style:t.normalizeStyle({flexBasis:U.value})},[t.createVNode(dm,{ref_key:"responseFlow",ref:x,"flow-id":d,phase:"response",readonly:D.readonly,onInitialized:te[1]||(te[1]=W=>o.value[1]=!0)},null,8,["readonly"])],6)],512))}}),[["__scopeId","data-v-b469482f"]]),VB={class:"dk-confirm-modal-body"},RB={class:"dk-confirm-modal-connections"},DB=Ee(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=Ae(),i=o,a=t.ref(!1),l=t.ref(e.message),s=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function u(){a.value=!1,i("cancel"),d==null||d(!1)}function f(){a.value=!1,i("confirm"),d==null||d(!0)}async function p(m,h,y){return l.value=m,s.value=h??[],c.value=y??[],a.value=!0,await new Promise(g=>{d=g})}return n({open:p}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:m.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:u,onProceed:f},{default:t.withCtx(()=>[t.createElementVNode("div",VB,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",RB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ne.AddIcon),{color:t.unref(fk)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[0]||(h[0]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ne.RemoveIcon),{color:t.unref(Uc)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[1]||(h[1]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-9874f282"]]),MB={class:"dk-editor-nav"},LB={class:"top"},FB={class:"bottom"},UB=Ee(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Ke.createI18n("en-us",Ye),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ne.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=qa(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(d,u)=>(t.openBlock(),t.createElementBlock("nav",MB,[t.createElementVNode("div",LB,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:f,to:p,icon:m,onClick:h})=>t.createVNode(t.unref(xe.KTooltip),{key:f,"kpop-attributes":{offset:"10px"},label:f,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:f,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(Ea)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",FB,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:u[0]||(u[0]=t.withModifiers(f=>s.value=!1,["self"])),onTransitionstart:u[1]||(u[1]=t.withModifiers(f=>s.value=!0,["self"]))},[t.createVNode(t.unref(xe.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Ea)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Ea)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),KB={class:"dk-editor-main"},jB={class:"header"},GB={class:"actions"},qB={ref:"canvasContainer",class:"body"},zB=Ee(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Ke.createI18n("en-us",Ye),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l}=it();function s(){o.value=!1}return cm({enabled:o,undo:r,redo:i}),(c,d)=>{const u=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",KB,[t.createElementVNode("header",jB,[t.createElementVNode("div",GB,[t.createVNode(u,{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Ti,{keys:t.unref(Br).undo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(u,{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Ti,{keys:t.unref(Br).redo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",disabled:!t.unref(l),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),d[0]||(d[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),t.createVNode(t.unref(Ne.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(xe.KButton),{onClick:s},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",qB,[t.createVNode(um,{resizable:""})],512)])}}}),[["__scopeId","data-v-8e9ca69a"]]),HB={class:"icon"},YB={class:"content"},WB={class:"title"},XB={class:"description"},ZB=Ee(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{summary:n,icon:o}=Vr[e.type];return(r,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${r.type}`]:!0}])},[t.createElementVNode("div",HB,[t.createVNode(t.unref(o),{size:16})]),t.createElementVNode("div",YB,[t.createElementVNode("div",WB,t.toDisplayString(r.type),1),t.createElementVNode("div",XB,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-3b48dd37"]]),JB={class:"dk-node-panel"},QB={class:"title"},eV={class:"node-list"},tV={"aria-hidden":"true",class:"preview",inert:""},nV=Ee(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=Ke.createI18n("en-us",Ye),{createNode:o}=it(),r=`dk-drag-preview-${t.useId()}`,i=t.shallowRef(),a=t.computed(()=>i.value?[{id:"preview",type:"flow",data:i.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var T,L,M;const d=s.currentTarget,{left:u,top:f,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-u,y=s.clientY-f;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||d,_=g.cloneNode(!0);_.classList.add("dk-drag-snapshot");const{offsetWidth:w,offsetHeight:b}=g;Object.assign(_.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${b}px`}),document.body.appendChild(_);const x=h/p,S=y/m,N={ratioX:x,ratioY:S,offsetX:w*x,offsetY:b*S},P={action:"create-node",data:{type:c,anchor:N}};(T=s.dataTransfer)==null||T.setData(xo,JSON.stringify(P)),(L=s.dataTransfer)==null||L.setData(`${xo}/${c}`,c),(M=s.dataTransfer)==null||M.setDragImage(_,N.offsetX,N.offsetY),requestAnimationFrame(()=>{_.remove(),i.value=void 0})};return(s,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",JB,[t.createElementVNode("h3",QB,[t.createVNode(d,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])]),t.createElementVNode("div",eV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(Vr)),u=>(t.openBlock(),t.createBlock(ZB,{key:u,draggable:"true",type:u,onDragstart:f=>l(f,u)},null,8,["type","onDragstart"]))),128))]),t.createElementVNode("div",tV,[t.createVNode(t.unref(ip),{nodes:a.value},{"node-flow":t.withCtx(u=>[t.createVNode(lm,{id:r,data:u.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-98011dca"]]),oV=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(Nt,{items:t.unref(ua)([...t.unref(tu)]),name:n.name},null,8,["items","name"]))}}),rV=Ee(t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Me(),{i18n:o}=Ae(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(ot,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(Nt,{key:l,class:"dk-inputs-field-indent",clearable:"","enable-filtering":"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),[["__scopeId","data-v-fe101e72"]]),iV=["data-testid"],aV={class:"dk-inputs-map-field-entry-body"},lV={class:"dk-inputs-map-field-entry-content"},sV={class:"dk-inputs-map-field-indent"},cV=Ee(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=ba(o,r),{i18n:{t:c}}=Ae(),d=t.useTemplateRef("root"),u=t.ref(null),f=t.ref({});let p;async function m(S,N="key"){var P;d.value&&(await t.nextTick(),(P=d.value.querySelector(`[data-${N}-input="${S}"]`))==null||P.focus())}function h(){const{id:S}=a(),N=i.value.findIndex(({key:P})=>!P);m(N===-1?i.value.length-1:N),u.value=S}function y(S){l(S.id),S.id===u.value&&(u.value=null),S.key.trim()!==""&&r("remove:field",S.key)}function g(S){p=S.key}function _(S){if(w(S)){S.key=p,delete f.value[S.id];return}if(S.id===u.value){if(S.key.trim()==="")return;r("add:field",S.key,S.value),u.value=null}else r("rename:field",p,S.key);p=S.key}function w(S){delete f.value[S.id];const N=o.fieldNameValidator("input",p,S.key);if(N)return f.value[S.id]=N,N}function b(S){w(S)}function x(S,N){S.id!==u.value&&r("change:inputs",S.key,N)}return t.watch(()=>i.value,S=>{u.value&&(S.find(({id:N})=>N===u.value)||(u.value=null))}),(S,N)=>{const P=t.resolveComponent("KAlert"),T=t.resolveComponent("KLabel"),L=t.resolveComponent("KInput"),M=t.resolveComponent("KSelect"),G=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(A,J)=>(t.openBlock(),t.createElementBlock("div",{key:A.id,class:"dk-inputs-map-field-entry dk-inputs-map-field-indent","data-testid":`ff-kv-container-${t.unref(s).path.value}.${J}`},[t.createVNode(T,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${J}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",aV,[t.createElementVNode("div",lV,[t.createVNode(L,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${J}`,modelValue:A.key,"onUpdate:modelValue":[I=>A.key=I,I=>w(A)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":J,"data-testid":`ff-key-${t.unref(s).path.value}.${J}`,error:!!f.value[A.id],"error-message":f.value[A.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:I=>b(A),onChange:I=>_(A),onFocus:I=>g(A)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(M,{modelValue:A.value,"onUpdate:modelValue":I=>A.value=I,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${J}`,"enable-filtering":"",items:S.items,placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:I=>x(A,(I==null?void 0:I.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","placeholder","onChange"])]),t.createVNode(G,{appearance:"none",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${J}`,icon:"",onClick:I=>y(A)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,iV))),128)),t.createElementVNode("div",sV,[t.createVNode(G,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!u.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])])],512))}}}),[["__scopeId","data-v-39b90c25"]]),no=t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=Me(),{i18n:i}=Ae(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?rV:cV:null);function s(p){o("change:input",p?p.value:null)}function c(p,m){o("add:field",p,m)}function d(p,m){o("change:inputs",p,m)}function u(p){o("remove:field",p)}function f(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(r)("input")?(t.openBlock(),t.createBlock(Nt,{key:0,clearable:"","enable-filtering":"",items:p.items,label:"Inputs",name:"input",placeholder:t.unref(i).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:1,"field-name-validator":p.fieldNameValidator,items:p.items,"key-order":p.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":d,"onRemove:field":u,"onRename:field":f},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),dV={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},uV={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function fV(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function oo(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function ro(e){const{i18n:{t:n}}=Ae(),o=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return o()}}function fm(e,n){const{i18n:{t:o}}=Ae();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function pV(e=0,n=1/0,o){const{i18n:{t:r}}=Ae();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function pm(e){const{i18n:{t:n}}=Ae();return function(r){if(!fV(r))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function mm(e,n){const{i18n:{t:o}}=Ae();return function(i){if(i==null)return;const a=pm(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function gm(e=-1/0,n=1/0,o){const{i18n:{t:r}}=Ae();return function(a){if(a==null)return;const l=pm(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function mV(e,n){const{state:o}=it(),{i18n:{t:r}}=Ae();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function gV(e,n,o){const{i18n:{t:r}}=Ae();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function hV(){const{i18n:{t:e}}=Ae();return function(o){if(Ua(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function hm(e){const{i18n:{t:n}}=Ae(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return oo(ro(o),fm("identifier",o),hV(),mV(e,o))}function yV(e){const{i18n:{t:n}}=Ae(),{getNodeById:o}=it();return function(i,a,l){const s={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return oo(ro(s),gV(i,o(e),l))(a)}}function _V(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=f=>{const p=typeof f=="function"?f():f,m=s(p);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},u=f=>(d(),c(f));r[l]={handleChange:u,handleBlur:u,validate:u,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const d=l[c],u=typeof d=="function"?d():d;(s=r[c])==null||s.validate(u)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function Oi(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=it(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>_V(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const f=o(),p=l.value.validate(f),m={};for(const h in a.value)m[h]=p[h];return m}function u(f,p){return{onBlur:()=>{const m=o(),h=s.value[f];h&&h.handleBlur(m[f])},onUpdate:()=>{const m=o(),h=s.value[f];h&&h.handleChange(m[f]),p==null||p()},error:t.computed(()=>{const m=s.value[f];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[f];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const f=d(),p=Object.values(f).filter(Boolean).length>0;r(!p)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:u}}function xn(e,n){const{state:o,renameNode:r,getNodeById:i,addField:a,renameField:l,removeField:s,replaceConfig:c,disconnectEdge:d,connectEdge:u,invalidConfigNodeIds:f,undo:p,commit:m}=it(),{i18n:{t:h}}=Ae(),y=rB();let g=!1;t.watch(o,async()=>{g=!0,await t.nextTick(),g=!1},{immediate:!0,deep:!0}),console.log("state",o.value),window.store=it();const _=t.computed(()=>{const j=i(e);if(!j)throw new Error("Node not existed");return j}),w=t.computed(()=>{const K=o.value.edges.filter(R=>R.target===e).reduce((R,D)=>{var pe,ge;const te=i(D.source),W=(pe=Xt(te,"output",D.sourceField))==null?void 0:pe.id,oe=(ge=Xt(_.value,"input",D.targetField))==null?void 0:ge.name,ie=te.id+(W?`.${W}`:"");return oe?R.inputs={...R.inputs,[oe]:ie}:R.input=ie,R},{});return _.value.fields.input.forEach(R=>{K.inputs||(K.inputs={}),K.inputs[R.name]||(K.inputs[R.name]=null)}),{..._.value.config,...K,name:_.value.name}}),b=j=>{r(e,j??"",!0,`${e}:rename`)},x=(j,K=!0)=>{if(g)return;if(!n)throw new Error("getFormInnerData is not defined");const R=_c(n(),["name","input","inputs"]),D=j?`update:${e}:${j}`:void 0;c(e,R,K,D)},S=(j,K)=>{const R=qn(_.value,j,K);if(!R)throw new Error(`Field with name "${K}" not found in node "${_.value.name}"`);return R},N=(j,K,R)=>{const D=!!R;a(e,j,K,!D),D&&G(K,R)},P=(j,K,R)=>{if(g)return;const D=S(j,K).id;l(e,D,R)},T=(j,K)=>{const R=S(j,K).id;s(e,R)},L=t.computed(()=>o.value.edges.filter(j=>j.target===e&&!j.targetField)[0]),M=t.computed(()=>o.value.edges.filter(j=>j.target===e&&j.targetField)),G=async(j,K)=>{if(g)return;const R=K==null,D=S("input",j).id;if(R){const ee=M.value.find(re=>re.targetField===D);ee&&d(ee.id);return}const{nodeId:te,fieldId:W}=ru(K),oe=S("input",j).id,ie=[];L.value&&(ie.push(Xo(L.value,i)),d(L.value.id,!1));const pe=M.value.find(ee=>ee.targetField===D);pe&&(ie.push(Xo(pe,i)),d(pe.id,!1)),u({source:te,sourceField:W,target:e,targetField:oe},!1);const ge=ql(te,W,e,oe,i);m(),!(ie[0]&&ge&&ie[0][1]===ge[1])&&ie.length>0&&(await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ge],ie)||p())},A=async j=>{if(g)return;if(j==null){L.value&&d(L.value.id);return}const R=[];for(const oe of M.value.concat(L.value?[L.value]:[]))R.push(Xo(oe,i)),d(oe.id,!1);const{nodeId:D,fieldId:te}=ru(j);u({source:D,sourceField:te,target:e,targetField:void 0},!1);const W=ql(D,te,e,void 0,i);m(),R.length>0&&(await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[W],R)||p())},J=j=>{const K=[...o.value.edges,{source:j,target:e}];return Ga(Mr(K))},I=t.computed(()=>{var K,R;const j=[];for(const D of o.value.nodes)if((K=Ka(D.type).io)!=null&&K.output&&D.fields.output&&D.id!==e&&!(D.type==="property"&&!Tl((R=D.config)==null?void 0:R.property))&&!J(D.id)&&!(_.value.phase==="request"&&D.phase==="response")){j.push({value:D.id,label:D.name});for(const W of D.fields.output)j.push({value:`${D.id}.${W.id}`,label:`${D.name}.${W.name}`})}return j}),U=t.computed(()=>_.value.fields.input.map(j=>j.name)||[]);function F(j){f.value.delete(e),j||f.value.add(e)}const X=yV(e);function Y(j,K,R){const D=i(e);if(!D)throw new Error("Node not found when validating field name");const te=qn(D,j,K);return X(j,R,te==null?void 0:te.id)}return{formData:w,inputOptions:I,inputEdge:L,inputsEdges:M,inputsFieldNames:U,currentNode:_,setName:b,setConfig:x,addField:N,renameFieldByName:P,removeFieldByName:T,setInputs:G,setInput:A,nameValidator:hm(e),fieldNameValidator:Y,toggleNodeValid:F}}function An(e){const{getSchema:n}=Me();return t.computed(()=>{if(xt(e))switch(e){case"response":return uV;case"service_request":return dV}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const Zo=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ae(),a=t.ref(o.name),l=t.computed(()=>{const u=o.validate(a.value.trim());return u===void 0?"":u});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function d(){s=a.value.trim()}return t.watch(()=>o.name,u=>{u!==a.value&&(a.value=u)}),(u,f)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":f[0]||(f[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),bV=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Ae(),o=t.useTemplateRef("form"),r=An("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=xn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:h}=Oi({validationConfig:{url:oo(ro({fieldName:"URL"}),fm("url",{fieldName:"URL"})),timeout:oo(mm("integer",{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}),gm(0,2147483646,{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:p}),y=h("url",()=>l("url")),g=h("timeout",()=>l("timeout"));return(_,w)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Zo,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),t.createVNode(Dn,{error:t.unref(y).error.value,"error-message":t.unref(y).errorMessage.value,name:"url",onBlur:t.unref(y).onBlur,"onUpdate:modelValue":t.unref(y).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(oV,{name:"method","onUpdate:modelValue":w[0]||(w[0]=x=>t.unref(l)())}),t.createVNode(Mn,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,label:t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.timeout.label"),name:"timeout",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(Dn,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=x=>t.unref(l)("ssl_server_name"))}),t.createVNode(no,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),wV=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=An("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=xn(e.nodeId,()=>n.value.getInnerData());return(d,u)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(no,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),kV=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=An("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=xn(e.nodeId,()=>n.value.getInnerData());return(d,u)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(no,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),CV=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Ae(),o=t.useTemplateRef("form"),r=An("jq"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,addField:u,removeFieldByName:f,renameFieldByName:p,inputsFieldNames:m,nameValidator:h,toggleNodeValid:y,fieldNameValidator:g}=xn(e.nodeId,()=>o.value.getInnerData());function _(P,T){u("input",P,T)}function w(P){f("input",P)}function b(P,T){p("input",P,T)}const x=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:S}=Oi({validationConfig:{jq:oo(ro({fieldName:x}),pV(1,10240,{fieldName:x}))},getValidationData:()=>({jq:i.value.jq}),toggleNodeValid:y}),N=S("jq",()=>l("jq"));return(P,T)=>{const L=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Zo,{name:t.unref(i).name,validate:t.unref(h),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(L,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),t.createVNode(Dn,{error:t.unref(N).error.value,help:t.unref(N).errorMessage.value,label:t.unref(x),multiline:"",name:"jq",resizable:"",rows:"2",onBlur:t.unref(N).onBlur,"onUpdate:modelValue":t.unref(N).onUpdate},null,8,["error","help","label","onBlur","onUpdate:modelValue"]),t.createVNode(no,{"field-name-validator":t.unref(g),"field-names":t.unref(m),items:t.unref(s),"onAdd:field":_,"onChange:input":t.unref(d),"onChange:inputs":t.unref(c),"onRemove:field":w,"onRename:field":b},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),EV=Ee(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=ba(o,r,!1),{i18n:d}=Ae(),u=t.useTemplateRef("root"),f=t.ref(null);let p;async function m(S,N="key"){var P;u.value&&(await t.nextTick(),(P=u.value.querySelector(`[data-${N}-input="${S}"]`))==null||P.focus())}function h(){const S=l(),N=a.value.findIndex(({key:P})=>!P);m(N===-1?a.value.length-1:N),f.value=S}function y(S){var N;S.id===((N=f.value)==null?void 0:N.id)&&(f.value=null),s(S.id),S.key.trim()!==""&&r("remove:field",S.key)}function g(S){p=S.key}function _(S){var N;if(b(S)){S.key=p,delete i.value[S.id];return}if(S.id===((N=f.value)==null?void 0:N.id)){if(S.key.trim()==="")return;f.value=null,r("add:field",S.key,S.value)}else r("rename:field",p,S.key);p=S.key}function w(S,N){var T;if(N.id===((T=f.value)==null?void 0:T.id))return;const P=S.target.value.trim();r("change:value",N.key,P)}function b(S){delete i.value[S.id];const N=o.fieldNameValidator("output",p,S.key);if(N)return i.value[S.id]=N,N}function x(S){b(S)}return t.watchEffect(()=>{f.value&&!a.value.some(S=>S.id===f.value.id)&&a.value.push(f.value)}),(S,N)=>{const P=t.resolveComponent("KAlert"),T=t.resolveComponent("KLabel"),L=t.resolveComponent("KButton"),M=t.resolveComponent("KInput"),G=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:u,class:"dk-output-value-field"},[t.createVNode(T,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(A,J)=>(t.openBlock(),t.createBlock(G,{key:A.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${J}`},{actions:t.withCtx(()=>[t.createVNode(L,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${J}`,icon:"",onClick:I=>y(A)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(M,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${J}`,modelValue:A.key,"onUpdate:modelValue":[I=>A.key=I,I=>b(A)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":J,"data-testid":`ff-key-${t.unref(c).path.value}.${J}`,error:!!i.value[A.id],"error-message":i.value[A.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:I=>x(A),onChange:I=>_(A),onFocus:I=>g(A)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(M,{modelValue:A.value,"onUpdate:modelValue":I=>A.value=I,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${J}`,label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:I=>w(I,A)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(L,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!f.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-5e17f8cb"]]);function NV(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function $i(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function vV(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const SV=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=it(),{fieldNameValidator:c}=xn(e.nodeId),d=An("static"),u=hm(e.nodeId),f=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var b;return((b=f.value)==null?void 0:b.fields.output.map(x=>x.name))||[]});function m(b){if(!f.value)throw new Error("No current node");n(f.value.id,b??"")}const h=t.computed(()=>{var L;if(!f.value)return{};const b=((L=f.value.config)==null?void 0:L.values)??{},x={},S=o(f.value.id).map(M=>M.sourceField).filter(Boolean).map(M=>Xt(f.value,"output",M)).map(M=>M==null?void 0:M.name).filter(Boolean),N=f.value.fields.output.map(M=>M.name),P=Object.keys(b);return new Set([...P,...S,...N]).forEach(M=>{if(M in b){x[M]=b[M];return}x[M]=""}),{name:f.value.name,values:NV(x)}});function y(b,x){if(!f.value)throw new Error("No selected node");const S=x!==void 0;if(r(e.nodeId,"output",b,!S),S){const N={values:$i({...h.value.values,[b]:x})};l(e.nodeId,N)}}function g(b,x){if(!f.value)throw new Error("No selected node");const S=qn(f.value,"output",b);if(!S)throw new Error("No field found to rename");const N={values:$i(vV(h.value.values??{},b,x))};l(e.nodeId,N,!1),i(e.nodeId,S.id,x)}function _(b){var N;if(!f.value)throw new Error("No selected node");const x=qn(f.value,"output",b);if(!x)throw new Error("No field found to delete");a((N=f.value)==null?void 0:N.id,x.id,!0,!1);const S={values:$i({...h.value.values})};delete S.values[b],l(e.nodeId,S)}function w(b,x){if(!f.value)throw new Error("No selected node");const S={...h.value.values};S[b]=x;const N={values:$i(S)};l(e.nodeId,N)}return(b,x)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>{var S;return[t.createVNode(Zo,{name:((S=f.value)==null?void 0:S.name)??"",validate:t.unref(u),onUpdate:m},null,8,["name","validate"]),t.createVNode(EV,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":y,"onChange:value":w,"onRemove:field":_,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),xV={class:"dk-kong-property-item"},AV={class:"property-type"},IV={class:"property-badges"},PV=Ee(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=Ae(),r=e,i=n,{formData:a}=Me(),l=t.ref(Ho(a.property)),s=t.computed(()=>Yo(a.property)),c=t.ref(Pl(a.property)),d=t.computed(()=>a.property??""),u=t.computed(()=>Object.entries(Nn).map(([m])=>{var g;const h=Yo(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(eo,"")):a.property===m;return{label:h&&c.value?m.replace(eo,c.value):m,value:m,selected:h}}));function f(m){const h=Ci.find(y=>{var g;return(g=a.property)==null?void 0:g.startsWith(y)});h&&(a.property=h+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function p(m){l.value!==Ho(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=Ho(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Pl(m),l.value=Ho(m)}),(m,h)=>{const y=t.resolveComponent("KBadge"),g=t.resolveComponent("KSelect"),_=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(g,{key:d.value,"enable-filtering":"",error:!m.validators.property.isValid.value,help:m.validators.property.error.value,items:u.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=w=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",xV,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",AV,t.toDisplayString(t.unref(Nn)[w.value].dataType),1)]),t.createElementVNode("div",IV,[t.unref(Nn)[w.value].readable?(t.openBlock(),t.createBlock(y,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(Nn)[w.value].writable?(t.openBlock(),t.createBlock(y,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(_,{key:0,"model-value":c.value,"onUpdate:modelValue":[h[1]||(h[1]=w=>c.value=w),f],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=w=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),TV=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=it(),a=An("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:u,setInput:f,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,fieldNameValidator:y}=xn(e.nodeId,()=>n.value.getInnerData()),g=t.computed(()=>Ol(l.value.property));function _(b){var S;const x=(S=o.value)==null?void 0:S.id;if(!x)throw new Error("Expected selectedNode to be defined");Tl(b)||i(x,!1),Ol(b)||r(x,!1),c()}const{fields:w}=Oi({validationConfig:()=>({property:ro({fieldName:"Property"}),key:Yo(l.value.property)?ro({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Pl(l.value.property)}),toggleNodeValid:h});return(b,x)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(Zo,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(Nt,{name:"content_type","onUpdate:modelValue":t.unref(c)},null,8,["onUpdate:modelValue"]),t.createVNode(PV,{validators:t.unref(w),"onUpdate:modelValue":_,"onUpdate:propertyKey":x[0]||(x[0]=S=>t.unref(c)("property-key"))},null,8,["validators"]),g.value?(t.openBlock(),t.createBlock(no,{key:0,"field-name-validator":t.unref(y),"field-names":t.unref(p),items:t.unref(d),"onChange:input":t.unref(f),"onChange:inputs":t.unref(u)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),OV=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=An("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:u,toggleNodeValid:f,fieldNameValidator:p}=xn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=Oi({validationConfig:{status:oo(mm("integer",{fieldName:"Status"}),gm(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:f}),h=m("status",()=>a("status"));return(y,g)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(Zo,{name:t.unref(r).name,validate:t.unref(u),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Mn,{error:t.unref(h).error.value,"error-message":t.unref(h).errorMessage.value,name:"status",onBlur:t.unref(h).onBlur,"onUpdate:modelValue":t.unref(h).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(_a,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=_=>t.unref(a)())}),t.createVNode(no,{"field-name-validator":t.unref(p),"field-names":t.unref(d),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),$V=["innerHTML"],BV=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${Qd}px`},offsetTop:{default:`${aN}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=it(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return bV;case"service_request":return wV;case"response":return kV;case"jq":return CV;case"static":return SV;case"property":return TV;case"exit":return OV;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref(xe.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":i.maxWidth,"offset-top":i.offsetTop,visible:i.visible,onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(St)(o.value.type)},null,8,$V)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:i.nodeId,class:"dk-node-properties-panel-form","node-id":i.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(am,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible"]))}}),VV=Ee(BV,[["__scopeId","data-v-fbb0f2e2"]]),RV={class:"dk-editor-content"},DV={class:"header"},MV={class:"title"},LV={class:"body"},FV={class:"node-selection-panel"},UV={class:"main"},KV=Ee(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=Ke.createI18n("en-us",Ye),{sidePanelExpanded:o}=qa(),{propertiesPanelOpen:r,selectedNode:i}=it();function a(){r.value=!1}t.watch(i,s=>{s||a()});const l=t.ref(!1);return t.onMounted(()=>{l.value=!0}),(s,c)=>{var d;return t.openBlock(),t.createElementBlock("div",RV,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:l.value}])},[t.createElementVNode("header",DV,[t.createElementVNode("h2",MV,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",LV,[t.createElementVNode("div",FV,[t.createVNode(nV)])])],2),t.createElementVNode("div",UV,[t.createVNode(zB)]),t.createVNode(VV,{"node-id":(d=t.unref(i))==null?void 0:d.id,visible:t.unref(r),onClose:a},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-e2ee6970"]]),jV={key:0,class:"dk-editor-modal"},GV=Ee(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(l=>({"56b1852c":`${t.unref(iN)}px`,"2d237748":`${t.unref(Jd)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal");oB(async(...l)=>{o.value=!0;const s=await r.value.open(...l);return o.value=!1,s});const i=Ue.useScrollLock(document);t.watch(n,l=>{i.value=!!l},{immediate:!0});function a(){n.value=!1}return(l,s)=>n.value?(t.openBlock(),t.createElementBlock("div",jV,[t.createVNode(UB,{class:"nav",onBack:a}),t.createVNode(KV,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(DB,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-08badb6f"]]),qV={class:"dk-flow-editor"},zV={class:"flow-panels-container"},HV={class:"overlay"},YV={class:"field"},WV=Ee(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){var c,d;const{t:o}=Ke.createI18n("en-us",Ye),{formData:r}=Me(),i=n,a=t.useTemplateRef("flowPanels");function l(u,f){const p={...r.config,nodes:u},m={...r.__ui_data,nodes:f};r.config=p,r.__ui_data=m,i("change",p,m)}const{modalOpen:s}=hN(((c=r.config)==null?void 0:c.nodes)??[],((d=r.__ui_data)==null?void 0:d.nodes)??[],{onChange:l,isEditing:e.isEditing});return t.watch(s,()=>{var u;s.value||(u=a.value)==null||u.fitView()}),(u,f)=>{const p=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",qV,[t.createElementVNode("div",zV,[t.createVNode(um,{ref_key:"flowPanels",ref:a,readonly:""},null,512),t.createElementVNode("div",HV,[t.createVNode(p,{appearance:"secondary",class:"button-open-editor",onClick:f[0]||(f[0]=m=>s.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ne.ExpandIcon))]),_:1})])]),t.createVNode(GV,{open:t.unref(s),"onUpdate:open":f[1]||(f[1]=m=>t.isRef(s)?s.value=m:null)},null,8,["open"]),t.createElementVNode("div",YV,[t.createVNode(_a,{name:"config.debug"})])])}}}),[["__scopeId","data-v-2cde866e"]]);function XV(e,n){const o=[],r=(i,a)=>{typeof a=="string"&&o.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&r(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&r(["inputs",i],a);if("output"in e&&e.output!=null&&r(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&r(["outputs",i],a);return o}function ZV(e){const n=e.path[2];return n==="output"||n==="outputs"}function JV(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function ym(e,n,o){if(!e.nodes)return;const r=e.nodes.map(c=>c.name),i=new Set;r.forEach((c,d)=>{i.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",d,"name"]}),i.add(c)}),e.nodes.forEach((c,d)=>{const u="input"in c&&c.input!=null,f="inputs"in c&&JV(c.inputs);u&&f&&o.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["nodes",d,"inputs"]})});const a=new Set([...n,...r]),l=new Map,s=new Map;e.nodes.forEach((c,d)=>{for(const u of XV(c,d)){const f=u.value.split(".",1)[0];if(a.has(f)||o.addIssue({code:"custom",message:`Unknown node "${f}" in connection "${u.value}"`,path:u.path}),ZV(u)){const p=`${u.nodeName}->${f}`;s.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${u.nodeName}" outputs to "${f}" and "${f}" inputs from "${u.nodeName}". Specify it on one side only.`,path:u.path}):l.set(p,l.get(p)??u.path)}else{const p=`${f}->${u.nodeName}`;l.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${f}" outputs to "${u.nodeName}" and "${u.nodeName}" inputs from "${f}". Specify it on one side only.`,path:u.path}):s.set(p,s.get(p)??u.path)}}})}const QV=fe.z.enum(Or),eR=fe.z.enum($r),_m=e=>Or.includes(e),Hl=fe.z.enum(eu),bm=Hl.options;fe.z.union([Hl,QV]);const tR=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,wm=fe.z.string().min(1).max(255).regex(tR,"Invalid node name (snake_case / kebab-case only)").refine(e=>!_m(e),"Name clashes with reserved implicit node").brand(),km=fe.z.union([eR,wm]),nR=fe.z.string().min(1).brand(),$t=fe.z.string().refine(e=>{if(km.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return km.safeParse(o).success&&nR.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),Cm=fe.z.enum(tu),Jo=fe.z.object({type:fe.z.string(),name:wm,input:$t,inputs:fe.z.record(fe.z.string(),$t).nullish(),output:$t,outputs:fe.z.record(fe.z.string(),$t).nullish()}).loose(),oR=fe.z.object({type:fe.z.string(),name:fe.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),bm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${bm.join(", ")}`})}),rR=Jo.extend({type:fe.z.literal("call"),method:Cm.nullish(),ssl_server_name:fe.z.string().min(1).nullish(),timeout:fe.z.number().int().min(0).max(2147483646).nullish(),url:fe.z.url(),inputs:fe.z.object({body:$t,headers:$t,query:$t}).partial().nullish(),outputs:fe.z.object({body:$t,headers:$t,status:$t}).partial().nullish()}).strict(),iR=Jo.extend({type:fe.z.literal("exit"),status:fe.z.number().int().min(200).max(599).nullish(),warn_headers_sent:fe.z.boolean().nullish(),output:fe.z.never().optional(),outputs:fe.z.never().optional()}).strict(),aR=Jo.extend({type:fe.z.literal("jq"),jq:fe.z.string().min(1).max(10240),outputs:fe.z.never().optional()}).strict(),lR=Jo.extend({type:fe.z.literal("property"),content_type:fe.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:fe.z.string().min(1),inputs:fe.z.never().optional(),outputs:fe.z.never().optional()}).strict(),sR=Jo.extend({type:fe.z.literal("static"),values:fe.z.record(fe.z.string(),fe.z.unknown()),input:fe.z.never().optional(),inputs:fe.z.never().optional()}).strict(),cR=oR.pipe(fe.z.discriminatedUnion("type",[rR,iR,aR,lR,sR]));fe.z.object({nodes:fe.z.array(cR).min(1,"At least one node is required"),debug:fe.z.boolean().nullish()}).strict().superRefine((e,n)=>{ym(e,Or,n)});const Em=Hl.options,dR=fe.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!_m(e),"Node name conflicts with reserved implicit node"),Bt=fe.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const o=e.slice(0,n),r=e.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),Qo=fe.z.object({type:fe.z.string(),name:dR,input:Bt.nullish(),inputs:fe.z.record(fe.z.string(),Bt.nullish()).nullish(),output:Bt.nullish(),outputs:fe.z.record(fe.z.string(),Bt.nullish()).nullish()}).loose(),uR=fe.z.object({type:fe.z.string(),name:fe.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),Em.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Em.join(", ")}`})}),fR=Qo.extend({type:fe.z.literal("call"),method:Cm.nullish(),ssl_server_name:fe.z.string().nullish(),timeout:fe.z.union([fe.z.number(),fe.z.string()]).nullish(),url:fe.z.string().nullish(),inputs:fe.z.object({body:Bt.nullish(),headers:Bt.nullish(),query:Bt.nullish()}).partial().nullish(),outputs:fe.z.object({body:Bt.nullish(),headers:Bt.nullish(),status:Bt.nullish()}).partial().nullish()}).strict(),pR=Qo.extend({type:fe.z.literal("exit"),status:fe.z.union([fe.z.number(),fe.z.string()]).nullish(),warn_headers_sent:fe.z.boolean().nullish(),output:fe.z.never().optional(),outputs:fe.z.never().optional()}).strict(),mR=Qo.extend({type:fe.z.literal("jq"),jq:fe.z.string().nullish(),outputs:fe.z.never().optional()}).strict(),gR=Qo.extend({type:fe.z.literal("property"),content_type:fe.z.string().nullish(),property:fe.z.string().nullish(),inputs:fe.z.never().optional(),outputs:fe.z.never().optional()}).strict(),hR=Qo.extend({type:fe.z.literal("static"),values:fe.z.record(fe.z.string(),fe.z.unknown()).nullish(),input:fe.z.never().optional(),inputs:fe.z.never().optional()}).strict(),yR=uR.pipe(fe.z.discriminatedUnion("type",[fR,pR,mR,gR,hR])),_R=fe.z.object({nodes:fe.z.array(yR).nullish(),debug:fe.z.boolean().nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||ym(e,$r,n)}).nullish(),bR={class:"option-label"},wR=["innerHTML"],kR=Ee(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Ke.createI18n("en-us",Ye),o=e,r=t.inject(kc.DATAKIT_ENABLE_FLOW_EDITOR,!1),{editorMode:i}=qa(),a=t.computed(()=>r&&s.value?i.value:"code"),l={flow:Ne.DesignIcon,code:Ne.CodeblockIcon},s=t.ref(!0),c=t.computed(()=>{const h=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return h[0].disabled=!s.value,h}),d=t.computed(()=>{switch(a.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}});t.watch(a,()=>{var h;(h=o.onValidityChange)==null||h.call(o,{model:"config",valid:!0})});function u(){var h;(h=o.onValidityChange)==null||h.call(o,{model:"config",valid:!0})}function f(){u()}function p(h){u();const{success:y}=_R.safeParse(h);s.value=y}function m(h){var y;s.value=!1,(y=o.onValidityChange)==null||y.call(o,{model:"config",valid:!1,error:h})}return(h,y)=>{const g=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(Hc,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(_=>[t.createVNode(pt,t.mergeProps(_,{tag:"div"}),{default:t.withCtx(()=>[a.value==="flow"?(t.openBlock(),t.createBlock(WV,{key:0,"is-editing":o.isEditing,onChange:f},null,8,["is-editing"])):a.value==="code"?(t.openBlock(),t.createBlock(rN,{key:1,class:"code-editor",editing:o.isEditing,onChange:p,onError:m},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},1040)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:d.value},null,8,wR)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(xe.KSegmentedControl),{"model-value":a.value,options:c.value,"onUpdate:modelValue":y[0]||(y[0]=_=>i.value=_)},{"option-label":t.withCtx(({option:_})=>[t.createVNode(g,{disabled:s.value||_.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",bR,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l[_.value]))),t.createTextVNode(" "+t.toDisplayString(_.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-ef778da1"]]),Nm=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},vm=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},CR=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=De.useI18n(),l={prepareFormData:c=>{var u,f;const d=$n(c);return(f=(u=d.config)==null?void 0:u.tools)!=null&&f.length&&d.config.tools.forEach(p=>{vm(p.headers),vm(p.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var u,f;const d=$n(c);(f=(u=d.config)==null?void 0:u.tools)!=null&&f.length&&d.config.tools.forEach(p=>{Nm(p.headers),Nm(p.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(pt,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:u})=>[t.createVNode(Nr,{appearance:"tabs","item-label":(f,p)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:p+1}),name:u,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(vr)]),_:1},8,["data","schema"]))}}),ER=t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(ka,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(CR,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),NR=Ee(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(e,{emit:n}){const o=n,r=t.computed(()=>{const l=e.schema.fields.find(d=>Object.keys(d)[0]==="config").config.fields,s=[],c=[];for(const d of l){const u=Object.keys(d)[0];d[u].required?s.push(u):c.push(u)}return{required:s,nonRequired:c}}),i={hasValue:l=>!!(l!=null&&l.config)};function a(l){o("change",l)}return(l,s)=>(t.openBlock(),t.createBlock(pt,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(vr,{class:"ff-advanced-fields"},{default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),[["__scopeId","data-v-3e5ed51d"]]),Sm=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:ER,CommonForm:t.defineComponent({__name:"CommonForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Hc,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(NR,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),DatakitForm:kR,RequestCalloutForm:Dw,ServiceProtectionForm:Tk},Symbol.toStringTag,{value:"Module"})),vR={class:"kong-ui-entities-plugin-form"},SR={key:1,class:"entity-form"},xR={class:"plugin-config-empty-state"},AR=Ee(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var pe,ge;const o=Object.keys(Pe.sharedForms),r=Object.keys(Sm);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=ce.useAxios((pe=a.config)==null?void 0:pe.axiosRequestConfig),{parseSchema:s}=De.useSchemas({entityId:((ge=a.entityMap.focusedEntity)==null?void 0:ge.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:u,isObjectEmpty:f,unsetNullForeignKey:p}=De.usePluginHelpers(),m=De.useExperimentalFreeForms(),{objectsAreEqual:h}=ce.useHelpers(),{i18n:{t:y}}=Ae(),g=Z=>a.config.app==="konnect"?Z.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?Z.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):Z,_=(Z,ee)=>{let re=`${a.config.apiBaseUrl}${Le.form[a.config.app].entityGetOne}`;return re=g(re),re=re.replace(/{entity}/gi,Z),re=re.replace(/{id}/gi,ee),re},w=Z=>{let ee=`${a.config.apiBaseUrl}${Le.form[a.config.app].entityGetAll}`;return ee=g(ee),ee=ee.replace(/{entity}/gi,Z),ee},b=(Z,ee)=>{const re=_(Z,ee);return l.get(re)},x=(Z,ee)=>{const re=w(Z);return a.config.app==="konnect"?l.get(re).then(ue=>{const{data:{data:se}}=ue;if(delete ee.size,delete ee.offset,se.length&&Object.keys(ee).length===1){const C=Object.keys(ee)[0],v=se.filter(k=>k[C]?!!k[C].toLowerCase().includes(ee[C].toLowerCase()):!1);ue.data.data=v}return ue}):l.get(re,{params:ee})},S=(Z,ee,re)=>{const ue=w(Z);if(a.config.app==="konnect"){const{size:se,offset:C,...v}=ee;if(Z==="consumer_groups")return l.get(ue,{params:{size:1e3},signal:re}).then(E=>{const{data:{data:$}}=E;if($.length&&Object.keys(v).length===1){const B=Object.keys(v)[0],q=$.filter(O=>O[B]?!!O[B].toLowerCase().includes(v[B].toLowerCase()):!1);E.data.data=q}return E});const k={size:se,offset:C};for(const E of Object.keys(v))k.filter={[E]:{contains:v[E]}};return l.get(ue,{params:k,signal:re})}return l.get(ue,{params:ee,signal:re})},N=(Z,ee=50)=>{const re=w(Z);return l.get(re,{params:{size:ee}})};t.provide(Pe.FORMS_API_KEY,{getOne:b,getAll:x,getAllV2:S,peek:N}),t.provide(Pe.FORMS_CONFIG,a.config);const P=t.ref(""),T=t.ref(""),L=t.ref(null),M=t.ref({}),G=t.reactive({}),A=t.reactive({}),J=t.computed(()=>{var Z;return(Z=L.value)==null?void 0:Z.options}),I=t.ref(!1),U=t.ref(),F=(Z,ee)=>{I.value=Z??"",U.value=ee},X=Z=>{var ee;(ee=U.value)==null||ee.call(U,Z),I.value=!1},Y=()=>{var v,k;const Z={...a.schema},ee=A,re=G,ue=Object.keys(ee),se={};if(!f(M.value))for(let E=0;E<((k=(v=M.value)==null?void 0:v.fields)==null?void 0:k.length);E++)Z[M.value.fields[E].model]=M.value.fields[E];Pe.customFields.forEach(E=>{Z[E]&&(Z[E].fields.forEach($=>{$.fields&&$.fields.forEach(B=>{Z[B.model]=B}),$.model&&(Z[$.model]=$)}),delete Z[E])}),ue.forEach(E=>{var _e;if(!Z[E]){E==="partials"&&(se[E]=ee[E]);return}const $=Z[E];let B=ee[E];const q=re[E],O=Array.isArray(B)?"array":typeof B,H=$?$.valueType:null,V=$?$.valueArrayType:null,de=$?$.transform:null;if(B==null&&q==null&&!$.submitWhenNull)return;if($){if(H&&O!==H)switch(H){case"array":O==="string"&&B.length&&(B=B.split(",").map(me=>{if(me=me.trim(),V==="string")return String(me);if(V==="number")return Number(me);if(V==="boolean"){if(typeof me=="string")return me.toLowerCase()==="true"||me==="1";if(typeof me=="number")return me===1}return me})),(!B||!B.length)&&(B=$.submitWhenNull?null:[]);break;case"number":B=Number(B);break;case"boolean":O==="string"&&(B=B.toLowerCase()==="true"||B==="1"),O==="number"&&(B=B===1);break;case"string":B=B==null?"":String(B);break}else H==="array"&&(!B||!B.length?B=$.submitWhenNull?null:[]:((_e=$.inputAttributes)==null?void 0:_e.type)==="number"&&(B=B.map(me=>Number(me))));if($.type==="array"&&$.nestedFields){const me=Q=>{Object.keys(Q).forEach(he=>{Q[he]&&typeof Q[he]=="object"&&!Array.isArray(Q[he])&&Q[he]!==null?me(Q[he]):(Q[he]===void 0||Q[he]===null||typeof Q[he]=="number"&&isNaN(Q[he])||typeof Q[he]=="string"&&Q[he].trim().length===0)&&delete Q[he]})};B&&typeof B=="object"&&me(B)}$.type==="object-advanced"&&$.fields&&B!==null&&(Object.entries(B).length===0?B=null:Object.keys(B).forEach(me=>{Array.isArray(B[me])||(B[me]=B[me].split(","))}))}let le=c(E);if($.fieldNameHasDashes){const[me,...Q]=le.split(".").reverse();le=[me.replace(/_/g,"-"),...Q].reverse().join(".")}if(H==="object-expand"){let me;[le,me]=le.split(".");let Q={};se[le]&&(Q=se[le]),Q[me]=B,B=Q}q!==void 0&&B===""&&B!==q?se[le]=H==="object"?{}:null:$.type==="checklist"&&B===""?se[le]=[]:B!==""&&(se[le]=B),se[le]=de?de(B):se[le],p(le,se)});const C=d(se);return T.value&&Object.assign(C,te.value),C},j=(Z,ee={})=>{u(A,ee,Z,a.editing),i("model-updated",{model:A,originalModel:G,data:Y()})},K=(Z,ee)=>{var se;const re={[ee]:Z};typeof((se=a.schema[ee])==null?void 0:se.modelTransformer)=="function"&&(re[ee]=a.schema[ee].modelTransformer(Z));const ue=Object.assign({},A,re);Object.assign(A,ue),i("model-updated",{model:A,originalModel:G,data:Y()})},R=Z=>{i("validity-change",Z)},D=(Z,ee)=>{Object.keys(Z).forEach(re=>{var k,E;let ue=ee?`${ee}-${re}`:re,se=a.schema[ue];if(!se){const $=ee?`${ee}-${re.replace(/-/g,"_")}`:re.replace(/-/g,"_");(k=a.schema[$])!=null&&k.fieldNameHasDashes&&(ue=$,se=a.schema[ue]),ee&&((E=a.schema[ee])==null?void 0:E.keyFromObject)===re&&(ue=ee,se=a.schema[ue])}const C=Z[re],v=typeof C;if(se&&se.type==="object-advanced"&&!C){A[ue]={},G[ue]={};return}if(Array.isArray(C)){A[ue]=JSON.parse(JSON.stringify(C)),G[ue]=JSON.parse(JSON.stringify(C));return}if(v==="object"&&C&&!C.length)return D(C,ue);if(v==="object"&&C&&C.length&&se.type==="input"){A[ue]=C.join(", "),G[ue]=C.join(", ");return}A[ue]=C,G[ue]=C}),i("model-updated",{model:A,originalModel:G,data:Y()})},te=t.shallowRef(a.record),W=Z=>{te.value=Z,i("model-updated",{model:{...A,...Z},originalModel:G,data:Y()})},oe=t.ref(!0),ie=()=>{var Z;if(a.record&&a.schema&&(D({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&D({consumer_id:a.record.consumer_id||a.record.consumer}),D(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&D({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&j("redis",{partials:a.record.partials}),T.value?W(a.record):D(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ee={};for(const re in a.entityMap){const ue=a.entityMap[re].id,se=a.entityMap[re].idField,C=se==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(se).replace("_","-"));Object.prototype.hasOwnProperty.call(A,C)&&(ee[C]=ue)}D(ee)}if((Z=a.entityMap.consumer)!=null&&Z.id&&a.schema&&a.credential){const ee={};Object.prototype.hasOwnProperty.call(A,"consumer")&&(ee.consumer=a.entityMap.consumer.id),D(ee)}oe.value=!1};return t.watch(oe,Z=>{i("loading",Z)}),t.watch(()=>a.schema,(Z,ee)=>{var ue,se;if(h(Z||{},ee||{}))return;const re=s(Z,void 0,void 0,a.engine);Object.assign(A,re.model),M.value={fields:(se=(ue=M.value)==null?void 0:ue.fields)==null?void 0:se.map(C=>({...C,disabled:C.disabled||!1}))},Object.assign(G,JSON.parse(JSON.stringify(re.model))),T.value=a.engine?a.engine==="vfg"?void 0:ca(re.model.name,m)||"CommonForm":ca(re.model.name,m),P.value=Pe.getSharedFormName(re.model.name),ie()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var Z,ee;L.value=s(a.schema,void 0,void 0,a.engine),Object.assign(A,((Z=L.value)==null?void 0:Z.model)||{}),M.value=((ee=L.value)==null?void 0:ee.schema)||{},ie()}),(Z,ee)=>{var ue;const re=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",vR,[oe.value?(t.openBlock(),t.createBlock(re,{key:0,type:"form"})):A.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",SR,[T.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(Sm[T.value]),{key:0,"form-model":A,"form-options":J.value,"form-schema":M.value,"is-editing":e.editing,model:e.record,"on-form-change":W,"on-model-updated":K,"on-validity-change":R,schema:e.rawSchema,onGlobalAction:ee[0]||(ee[0]=(se,C)=>Z.$emit("globalAction",se,C))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(se=>[se.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(lr.VaultSecretPickerProvider),t.mergeProps({key:0},se,{onOpen:F}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):P.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Pe.sharedForms)[P.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":A,"form-options":J.value,"form-schema":M.value,"is-editing":e.editing,"on-model-updated":K,"on-partial-toggled":j,"show-new-partial-modal":se=>Z.$emit("showNewPartialModal",se)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(se=>[se.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(lr.VaultSecretPickerProvider),t.mergeProps({key:0},se,{onOpen:F}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Pe.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:A,options:J.value,schema:M.value,onModelUpdated:K,onPartialToggled:j,onRefreshModel:Y,onShowNewPartialModal:ee[1]||(ee[1]=se=>Z.$emit("showNewPartialModal",se))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",xR,t.toDisplayString(t.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ue=t.unref(Ct)[A.name])!=null&&ue.fieldRules&&(a.config.isNewOtelSchema||A.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(F0,{rules:t.unref(Ct)[A.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(se=>[se.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(lr.VaultSecretPickerProvider),t.mergeProps({key:0},se,{onOpen:F}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(lr.VaultSecretPicker),{config:a.config,setup:I.value,onCancel:ee[2]||(ee[2]=()=>I.value=!1),onProceed:X},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-3a5319dd"]]),IR={key:1},PR=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",IR,[t.renderSlot(n.$slots,"default")]))}}),TR={class:"kong-ui-entities-plugin-form-container"},OR={key:0},$R={class:"plugin-form-actions"},BR=Ee(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null},engine:{type:String,required:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var q;const o=n,r=e,i=io.useRouter(),{i18n:{t:a}}=De.useI18n(),{customSchemas:l,typedefs:s}=De.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=De.usePluginHelpers(),{getMessageFromError:d}=ce.useErrors(),{capitalize:u}=ce.useStringHelpers(),{objectsAreEqual:f}=ce.useHelpers(),{axiosInstance:p}=ce.useAxios((q=r.config)==null?void 0:q.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),y=t.computed(()=>r.pluginId?ce.EntityBaseFormType.Edit:ce.EntityBaseFormType.Create),g=t.ref(void 0),_=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),x=t.ref({}),S=t.ref(),N=t.ref();t.provide(Gc,{redisType:S,redisPath:N,isEditing:h.value});const P=t.ref(!1),T=t.reactive({enabled:!0,protocols:[],tags:[]}),L=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),M=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&M.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const G=t.ref(""),A=t.computed(()=>{var H;if(w.value){let V=Le.form[r.config.app].credential[y.value];return V=V.replace(/{resourceEndpoint}/gi,F.value),V}let O;return r.config.entityType&&r.config.entityId?O=Le.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):O=Le.form[r.config.app].edit.all,r.config.app==="konnect"&&((H=Ct[r.pluginType])!=null&&H.useUIData)?`${O}?__ui_data=true`:O}),J=()=>{m.value=!m.value},I=t.computed(()=>{var _e,me,Q,he,we,ae,ne,$e;const O=r.config.entityType==="consumers"&&r.config.entityId||((me=(_e=b.value)==null?void 0:_e.consumer)==null?void 0:me.id),H=r.config.entityType==="consumer_groups"&&r.config.entityId||((he=(Q=b.value)==null?void 0:Q.consumer_group)==null?void 0:he.id),V=r.config.entityType==="services"&&r.config.entityId||((ae=(we=b.value)==null?void 0:we.service)==null?void 0:ae.id),de=r.config.entityType==="routes"&&r.config.entityId||(($e=(ne=b.value)==null?void 0:ne.route)==null?void 0:$e.id);if(!(O||H||V||de))return{global:{entity:z.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const le={};return V&&(le.service={entity:z.PluginScope.SERVICE,entityEndpoint:"services",id:V,idField:on.SERVICE}),de&&(le.route={entity:z.PluginScope.ROUTE,entityEndpoint:"routes",id:de,idField:on.ROUTE}),O&&(le.consumer={entity:z.PluginScope.CONSUMER,entityEndpoint:"consumers",id:O,idField:on.CONSUMER}),H&&(le.consumer_group={entity:z.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:H,idField:on.CONSUMER_GROUP}),r.config.entityType&&(le.focusedEntity={entity:z.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:on[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),le}),U=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||y.value===ce.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),F=t.computed(()=>{var V;const O=r.developer?"developers":"consumers",H=((V=Pn[r.pluginType])==null?void 0:V.endpoint)||"/plugins";return`${O}/${r.config.entityId}${r.developer?"/credentials":""}${H}`}),X=O=>{const H=Array.from(new Set(O.map(V=>typeof V)));return H.length>1?"string":H[0]},Y=(O,H,V,de)=>{var Q,he;let le=H&&H.fields||[];const _e=l[r.pluginType],me=(he=(Q=Pn[r.pluginType])==null?void 0:Q.schema)==null?void 0:he.fields;return Array.isArray(le)&&(le=le.reduce((we,ae)=>{const ne=Object.keys(ae)[0];return ne.match(/-/g)?we[ne.replace(/-/g,"_")]={...ae[ne],fieldNameHasDashes:!0}:we[ne]=ae[ne],we},{})),Object.keys(le).sort().forEach(we=>{var zt,er,tr,nr,or,rr,ir;const ae=le[we];ae.type==="set"&&(ae.type="array");const ne=O?`${O}-${we}`:`${we}`;if((zt=_e==null?void 0:_e.fieldsToDelete)!=null&&zt.includes(ne)){wc(V,ne);return}if(Object.prototype.hasOwnProperty.call(ae,"overwrite")||ae.hidden)return;if(ae.type==="table")return Y(ne,ae.schema,V);if(ae.fields)return de&&ae.type==="record"?(V[ne]={type:"object",model:we,schema:{fields:Object.values(Y(ne,ae,{},!0))}},V):Y(ne,ae,V);if(V[ne]={id:ne,model:we},V[ne].type=ae.type==="boolean"?"checkbox":"input",V[ne].required=ae.required,V[ne].referenceable=ae.referenceable,ne.startsWith("config-"))if(!de&&ae.type==="array"&&(G.value=ne),de&&G.value&&ne.startsWith(G.value)){const Se=ne.slice(G.value.length+1);V[ne].label=Se.split("-").map(c).join(".")}else V[ne].label=c(ne);if((O==="config"||O.startsWith("config-"))&&(er=le[we])!=null&&er.description&&(V[ne].help=ar.marked.parse(le[we].description,{mangle:!1,headerIds:!1})),ae.type==="map"){if(V[ne].type="object-advanced",V[ne].values=ae.values,ae.values.type==="array"){const{type:Se}=ae.values.elements||{};V[ne].schema={fields:[{schema:{fields:[{...Te,model:ne,valueArrayType:Se==="integer"?"number":Se||"string",inputAttributes:{...Te.inputAttributes,type:Se==="integer"?"number":"text",inputMode:Se==="integer"?"numeric":"text"}}]}}]}}else ae.values.fields&&(V[ne].schema={fields:[{type:"object",model:"object",schema:{fields:ae.values.fields.map(Se=>{const lt=Object.keys(Se)[0];return{model:lt,type:"input",label:u(lt),placeholder:lt,inputType:Se[lt].type}})}}]});return V}if(ae.enum&&ae.type==="array"&&(V[ne].type="checklist",V[ne].values=ae.enum,V[ne].multi=!0,V[ne].multiSelect=!0),ae.one_of&&ae.type!=="array"&&(V[ne].type="select",V[ne].values=ae.one_of,V[ne].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),ae.elements&&ae.type==="array"){const Se=ae.elements;if(V[ne].referenceable=Se.referenceable,V[ne].elements=Se,["string","integer","number"].includes(Se.type)&&!Se.one_of){const{id:lt,help:Fe,label:ve,hint:Ie,values:Be,referenceable:Ht,model:dt}=V[ne],{inputAttributes:Bi,...xD}=JSON.parse(JSON.stringify(Te));Bi.type=Se.type==="string"?"text":"number",V[ne]={id:lt,help:Fe,label:ve,hint:Ie,values:Be,referenceable:Ht,model:dt,inputAttributes:Bi,...xD}}}if(ae.hint&&(V[ne].hint=ae.hint),_e&&!_e.overwriteDefault&&Object.keys(_e).forEach(Se=>{if(Se===ne){const{help:lt,label:Fe,hint:ve,values:Ie,referenceable:Be,elements:Ht}=V[ne],{help:dt,...Bi}=_e[Se];V[ne]={help:lt,label:Fe,hint:ve,values:Ie,referenceable:Be,elements:Ht,...Bi},typeof dt=="string"&&(V[ne].help=ar.marked.parse(dt,{mangle:!1,headerIds:!1}))}}),ae.type==="array"&&((tr=ae.elements)==null?void 0:tr.type)==="record"&&Array.isArray(ae.elements.fields)){let Se={};for(const Fe of ae.elements.fields)Se={...Se,...Fe};const lt=(rr=(or=(nr=V[ne])==null?void 0:nr.items)==null?void 0:or.schema)==null?void 0:rr.fields;if(Array.isArray(lt))for(const Fe of V[ne].items.schema.fields){const ve=(ir=Se[Fe.model])==null?void 0:ir.description;Fe.help===void 0&&typeof ve=="string"&&(Fe.help=ar.marked.parse(ve,{mangle:!1,headerIds:!1}))}if(lt||(V[ne].type="array",V[ne].newElementButtonLabelClasses="kong-form-new-element-button-label",V[ne].fieldClasses="array-card-container-wrapper",V[ne].itemContainerComponent="FieldArrayCardContainer",V[ne].items={type:"object",schema:{fields:Object.values(Y(ne,ae.elements,{},!0))}},V[ne].items.schema.fields.forEach(Fe=>{var ve,Ie;for(const Be of ae.elements.fields){const Ht=Object.keys(Be)[0],dt=((Ie=(ve=Fe.id)==null?void 0:ve.split)==null?void 0:Ie.call(ve,"-"))??[];if(dt[dt.length-1]===Ht){Fe.model=Ht,Fe.label=c(Ht);break}}}),ae.elements.type==="record"&&(V[ne].nestedFields=!0)),!V[ne].nestedFields)V[ne].items.default=()=>ae.elements.fields.reduce((Fe,ve)=>{const Ie=Object.keys(ve)[0];return Fe[Ie]=ve[Ie].default,Fe},{});else{const Fe=(ve,Ie)=>{if(ve.type==="object"){ve.model&&(Ie[ve.model]={});for(const Be of ve.schema.fields)Fe(Be,ve.model?Ie[ve.model]:Ie)}else ve.model&&(Ie[ve.model]=ve.default)};V[ne].items.default=()=>{const ve={};return Fe(V[ne].items,ve),ve}}}if(w.value&&me){for(let Se=0;Se<me.length;Se++)if(me[Se][ne]){V[ne]={...V[ne],...me[Se][ne]};break}}if(ae.required&&ae.type!=="boolean"&&(V[ne].required=!0,V[ne].selectOptions={hideNoneSelectedText:!0}),ae.required&&ae.type==="boolean"&&(V[ne].default=ae.default??!1),ae.default!=null&&typeof ae.default!="object"&&ae.default!=="function"&&(V[ne].default=ae.default),V[ne].type==="input"){["string","number"].includes(typeof V[ne].default)&&r.config.app==="konnect"&&(V[ne].placeholder=`Default: ${V[ne].default===""?"<empty string>":V[ne].default}`);const{type:Se}=ae.elements||{};Se&&(V[ne].valueArrayType=Se==="integer"?"number":Se),V[ne].inputType=ae.type==="array"||ae.type==="string"?ae.encrypted?"password":"text":ae.type}let $e="string";ae.enum?$e=X(ae.enum):ae.type==="boolean"?$e="boolean":ae.type==="number"||ae.type==="integer"?($e="number",V[ne].inputType="number"):ae.type==="array"?($e="array",V[ne].default=ae.default,ae.len_min>0&&(V[ne].submitWhenNull=!0)):ae.type==="foreign"?$e="object":ae.default&&Array.isArray(ae.default)?($e="array",V[ne].valueArrayType=X(ae.default)):ae.default&&($e=typeof ae.default),V[ne].valueType=$e,ae.fieldNameHasDashes&&(V[ne].fieldNameHasDashes=!0)}),V},j=()=>{var ne,$e,zt,er,tr,nr,or,rr,ir,Se,lt,Fe;const O=((ne=Ct[r.pluginType])==null?void 0:ne.scope.includes(z.PluginScope.SERVICE))??!0,H=(($e=Ct[r.pluginType])==null?void 0:$e.scope.includes(z.PluginScope.ROUTE))??!0,V=((zt=Ct[r.pluginType])==null?void 0:zt.scope.includes(z.PluginScope.CONSUMER))??!0,de=r.config.disableConsumerGroupScope?!1:((er=Ct[r.pluginType])==null?void 0:er.scope.includes(z.PluginScope.CONSUMER_GROUP))??!0,le=r.config.entityType==="consumers"&&!!r.config.entityId||!!((nr=(tr=b.value)==null?void 0:tr.consumer)!=null&&nr.id),_e=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((rr=(or=b.value)==null?void 0:or.consumer_group)!=null&&rr.id),me=r.config.entityType==="services"&&!!r.config.entityId||!!((Se=(ir=b.value)==null?void 0:ir.service)!=null&&Se.id),Q=r.config.entityType==="routes"&&!!r.config.entityId||!!((Fe=(lt=b.value)==null?void 0:lt.route)!=null&&Fe.id),he=[],we=(ve,Ie,Be)=>ve?a("plugins.form.disable_source_scope_change",{scope:Be}):Ie?a("plugins.form.disable_data_retrieving",{scope:Be}):"",ae=ve=>{var Ie,Be;return((Be=(Ie=r.scopedEntitiesPermissions)==null?void 0:Ie[ve])==null?void 0:Be.canRetrieve)===!1};if(O){const ve=ae("service"),Ie="services",Be=me&&r.disableScopeSelection;he.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",labelField:"name",entity:Ie,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Be||ve,disabledTooltip:we(Be,ve,Ie)})}if(H){const ve=ae("route"),Ie="routes",Be=Q&&r.disableScopeSelection;he.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Ie,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Be||ve,disabledTooltip:we(Be,ve,Ie)})}if(V){const ve=ae("consumer"),Ie="consumers",Be=le&&r.disableScopeSelection;he.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Ie,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Be||ve,disabledTooltip:we(Be,ve,Ie)})}if(de){const ve=ae("consumer_group"),Ie="consumer_groups",Be=_e&&r.disableScopeSelection;he.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Ie,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Be||ve,disabledTooltip:we(Be,ve,Ie)})}if(he.length){const ve=[...O?["service"]:[],...H?["route"]:[],...V?["consumer"]:[],...de?["consumer_group"]:[]],Be=ve.splice(ve.length-2,2).map(dt=>a(dt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${dt}.plural`)).join(`${ve.length>0?",":""} and/or `),Ht=["Specific",[...ve.length>0?[ve.map(dt=>a(dt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${dt}.plural`)).join(", ")]:[],Be].join(", ")].join(" ");U.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Ht,fields:[]}),U.selectionGroup.fields[1].fields=he}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(U,l[r.pluginType].formSchema)},K=t.computed(()=>!f(L.fields,T,!0)),R=t.computed(()=>!$.value&&!P.value&&(y.value===ce.EntityBaseFormType.Create||K.value)),D=t.ref(!1),te=t.ref(),W=O=>{r.credential&&O.password&&(O.password=""),L.fields.id=(O==null?void 0:O.id)||void 0,te.value=O==null?void 0:O.ordering,Object.assign(T,L.fields),b.value=O,D.value=!0},oe=t.ref({}),ie=O=>{var H;L.fields=O.model,L.fields.id=((H=b.value)==null?void 0:H.id)||void 0,Object.assign(T,O.originalModel),oe.value=O.data,r.isWizardStep&&o("model-updated",{model:L.fields,data:O.data,resourceEndpoint:F.value})},pe=t.ref(new Map),ge=t.computed(()=>[L.clientErrorMessage,L.serverErrorMessage].filter(Boolean).join("; ")),Z=O=>{O.valid?pe.value.delete(O.model):pe.value.set(O.model,O.error),L.clientErrorMessage=[...pe.value.entries()].map(([H,V])=>`${H}: ${typeof V=="string"?V:d(V)}`).join("; "),L.clientErrorMessage&&(L.serverErrorMessage="")};t.watch([I,D],(O,H)=>{const V=O[0]!==H[0],de=O[1],le=H[1];if(!w.value&&y.value===ce.EntityBaseFormType.Edit&&(V||de&&de!==le)){const _e=Y("config",x.value,U);se.value&&(_e._isCustomPlugin=!0),S.value&&(_e._supported_redis_partial_type=S.value),_.value=_e}},{deep:!0});const ee=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},re=t.computed(()=>{let O=`${r.config.apiBaseUrl}${Le.form[r.config.app].validate}`;return r.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),O=O.replace(/{id}/gi,r.pluginId),O}),ue=t.computed(()=>{const O=r.config.entityType&&r.config.entityId&&!r.developer,H=w.value?Le.form[r.config.app].credential[y.value]:Le.form[r.config.app][y.value][O?"forEntity":"all"];let V=`${r.config.apiBaseUrl}${H}`;return r.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),V=V.replace(/{resourceEndpoint}/gi,F.value),V=V.replace(/{id}/gi,r.pluginId),V=V.replace(/{entityType}/gi,r.config.entityType||""),V=V.replace(/{entityId}/gi,r.config.entityId||""),V}),se=t.computed(()=>!Object.keys(Ct).includes(r.pluginType)),C=t.computed(()=>{const O=oe.value;if(w.value){for(const H in z.PluginScope){const V=z.PluginScope[H];O[V]&&!O[V].id&&(O[V]={id:r.config.entityId})}delete O.created_at}return oe.value.partials&&N.value&&wc(O,N.value),O}),v=async()=>{if(!L.clientErrorMessage&&!r.isWizardStep)try{L.isReadonly=!0;let O;const H=JSON.parse(JSON.stringify(C.value)),V=l[r.pluginType];typeof(V==null?void 0:V.shamefullyTransformPayload)=="function"&&V.shamefullyTransformPayload({originalModel:T,model:L.fields,payload:H,schema:_.value}),!w.value&&!se.value&&await p.post(re.value,H),y.value==="create"?O=await p.post(ue.value,H):y.value==="edit"&&(O=r.config.app==="konnect"||S.value&&H.partials?await p.put(ue.value,Object.assign({ordering:te.value},H)):await p.patch(ue.value,H)),Object.assign(T,L.fields),o("update",O==null?void 0:O.data)}catch(O){L.serverErrorMessage=d(O),o("error",O)}finally{L.isReadonly=!1}},k=t.computed(()=>{var de;const O=w.value?(de=Pn[r.pluginType])==null?void 0:de.schemaEndpoint:r.pluginType,H=w.value?Le.form[r.config.app].credentialSchema:Le.form[r.config.app].pluginSchema;let V=`${r.config.apiBaseUrl}${H}`;return r.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),V=V.replace(/{plugin}/gi,O),V}),E=t.ref(""),$=t.ref(!1),B=t.ref("");return t.onBeforeMount(async()=>{var O,H,V,de;$.value=!0;try{if(w.value&&r.config.app==="konnect"){const le=(O=Pn[r.pluginType])==null?void 0:O.schemaEndpoint,_e=jm[le];E.value=le,_.value=Y("",_e,{}),$.value=!1}else{const le=r.schema??(await p.get(k.value)).data;if(g.value=le,le)if(w.value)_.value=Y("",le,{}),$.value=!1;else{const _e=le.fields.find(Q=>Q.config);x.value=_e?_e.config:le,le.supported_partials&&(S.value=Object.keys(le.supported_partials).find(Q=>[cr.REDIS_CE,cr.REDIS_EE].includes(Q)),N.value=(H=le.supported_partials[S.value])==null?void 0:H[0]),j();const me=(V=le.fields.find(Q=>Q.protocols))==null?void 0:V.protocols;if(me){const{default:Q=[],elements:he={}}=me;U.protocols.default=Q,U.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:Q.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(de=he.one_of)!=null&&de.length&&(U.protocols.values=he.one_of.map(we=>({label:we,value:we})))}if(D.value||y.value===ce.EntityBaseFormType.Create){const Q=Y("config",x.value,U);S.value&&(Q._supported_redis_partial_type=S.value),se.value&&(Q._isCustomPlugin=!0),_.value=Q}}}}catch(le){console.error(le),B.value=d(le),o("error:fetch-schema",le)}finally{$.value=!1}}),(O,H)=>{const V=t.resolveComponent("KSkeleton"),de=t.resolveComponent("KEmptyState"),le=t.resolveComponent("KButton"),_e=t.resolveComponent("KTabs"),me=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",TR,[$.value?(t.openBlock(),t.createBlock(V,{key:0,type:"form"})):B.value?(t.openBlock(),t.createBlock(de,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(ce.EntityBaseForm),{key:2,"can-submit":R.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(ce.SupportedEntityType).Plugin,"error-message":ge.value,"fetch-url":A.value,"form-fields":C.value,"is-readonly":L.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ee,"onFetch:error":H[4]||(H[4]=Q=>O.$emit("error",Q)),"onFetch:success":W,onLoading:H[5]||(H[5]=Q=>O.$emit("loading",Q))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",OR)):(t.openBlock(),t.createBlock(PR,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",$R,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(le,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:H[3]||(H[3]=Q=>J())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(le,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:L.isReadonly,onClick:ee},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(le,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!R.value||L.isReadonly,type:"submit",onClick:v},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:v},null,32),t.createVNode(AR,{config:e.config,credential:w.value,editing:y.value===t.unref(ce.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":I.value,"raw-schema":g.value,record:b.value,schema:_.value,onGlobalAction:H[0]||(H[0]=(Q,he)=>O.$emit("globalAction",Q,he)),onLoading:H[1]||(H[1]=Q=>P.value=Q),onModelUpdated:ie,onShowNewPartialModal:H[2]||(H[2]=Q=>O.$emit("showNewPartialModal",Q)),onValidityChange:Z},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","engine","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(me,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:J},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(_e,{"data-testid":"form-view-configuration-slideout-tabs",tabs:M.value},{json:t.withCtx(()=>[t.createVNode(t.unref(ce.JsonCodeBlock),{config:e.config,"entity-record":C.value,"fetcher-url":ue.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(ce.YamlCodeBlock),{"entity-record":C.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(ce.TerraformCodeBlock),{"credential-type":E.value,"entity-record":C.value,"entity-type":t.unref(ce.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-c83db710"]]),VR={class:"kong-ui-entities-plugins-list"},RR={class:"button-row"},DR={class:"name-cell-wrapper"},MR={class:"info-wrapper"},LR={key:0,class:"info-name"},FR={key:1,class:"info-name"},UR={key:2,class:"info-type"},KR={key:1},jR=Ee(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var E,$;const o=De.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=De.useI18n(),l=io.useRouter(),{axiosInstance:s}=ce.useAxios((E=i.config)==null?void 0:E.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=ce.useTableState(()=>b.value),u=t.computed(()=>c.value&&i.config.app==="konnect"),f=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var B;return((B=i.config)==null?void 0:B.entityType)==="consumers"}),m=t.computed(()=>{var B;return((B=i.config)==null?void 0:B.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||ce.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),y=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),g={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};($=i.config)!=null&&$.entityId||(g.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(g.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const _=g,w=t.computed(()=>{var q,O,H,V;let B=i.config.entityType?`${i.config.apiBaseUrl}${Le.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Le.list[i.config.app].all}`;return i.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,((q=i.config)==null?void 0:q.controlPlaneId)||""):i.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,(O=i.config)!=null&&O.workspace?`/${i.config.workspace}`:"")),B.replace(/{entityType}/gi,((H=i.config)==null?void 0:H.entityType)||"").replace(/{entityId}/gi,((V=i.config)==null?void 0:V.entityId)||"")}),b=t.ref(""),x=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:a("search.filter.field.enabled")},name:g.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:S,fetcherState:N,fetcherCacheKey:P}=ce.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),T=()=>{b.value=""},L=()=>{P.value++},M=t.ref(null),G=B=>{var O,H,V,de;const q=[];return((O=B.route)!=null&&O.id||B.route_id)&&q.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((H=B.service)!=null&&H.id||B.service_id)&&q.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((V=B.consumer)!=null&&V.id||B.consumer_id)&&q.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((de=B.consumer_group)!=null&&de.id||B.consumer_group_id)&&q.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),q.length?q:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},A=async(B,q)=>{var O;return B===null?!1:await((O=i.canRetrieveScopedEntity)==null?void 0:O.call(i,B,q.id))},J=(B,q)=>{var H,V,de,le,_e;let O=null;switch(B){case"route":O=(H=q.route)==null?void 0:H.id;break;case"service":O=(V=q.service)==null?void 0:V.id;break;case"consumer":O=(de=q.consumer)==null?void 0:de.id;break;case"consumer_group":O=(le=q.consumer_group)==null?void 0:le.id;break}O&&((_e=i.config)!=null&&_e.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(B,O))},I=t.ref(!1),U=t.ref(null),F=t.computed(()=>{const B={action:"disable",id:"",name:""};if(U.value){const{enabled:q,id:O,name:H}=U.value;B.action=q?"disable":"enable",B.id=O,B.name=o.getDisplayName(H)||O}return B}),X=B=>{I.value=!0,U.value=B},Y=()=>{I.value=!1,U.value=null},j=async()=>{var H,V,de,le,_e,me,Q,he;if(!await((H=i.canEdit)==null?void 0:H.call(i,U.value))||!U.value)return;let q=`${i.config.apiBaseUrl}${(_e=Le.item[i.config.app])==null?void 0:_e[(V=i.config)!=null&&V.entityType?"forEntity":"all"].replace(/{entityType}/gi,((de=i.config)==null?void 0:de.entityType)||"").replace(/{entityId}/gi,((le=i.config)==null?void 0:le.entityId)||"")}`.replace(/{id}/gi,U.value.id||"");i.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,((me=i.config)==null?void 0:me.controlPlaneId)||""):i.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,(Q=i.config)!=null&&Q.workspace?`/${i.config.workspace}`:""));const O=!U.value.enabled;try{const{data:we}=((he=i.config)==null?void 0:he.app)==="konnect"?await s.put(q,{...U.value,enabled:O},{timeout:12e4}):await s.patch(q,{...U.value,enabled:O},{timeout:12e4});r("toggle-enabled",O,we),U.value.enabled=O}catch(we){r("error",we)}},K=async(B,q)=>{const O=B.id;if(!await q(O)){r("copy:error",{entity:B,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:B,field:"id",message:a("copy.success",{val:O})})},R=async(B,q)=>{const O=JSON.stringify(B);if(!await q(O)){r("copy:error",{entity:B,message:a("errors.copy")});return}r("copy:success",{entity:B,message:a("copy.success_brief")})},D=async B=>{var O;await((O=i.canRetrieve)==null?void 0:O.call(i,B))&&l.push(i.config.getViewRoute(B))},te=B=>({label:a("actions.view"),to:i.config.getViewRoute(B)}),W=B=>({label:a("actions.edit"),to:i.config.getEditRoute(B)}),oe=B=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(B)}),ie=t.ref(void 0),pe=t.ref(!1),ge=t.ref(!1),Z=t.ref(""),ee=ce.useDeleteUrlBuilder(i.config,w.value),re=B=>{ie.value=B,pe.value=!0},ue=()=>{pe.value=!1},se=async()=>{var B,q,O;if((B=ie.value)!=null&&B.id){ge.value=!0;try{await s.delete(ee(ie.value.id)),ge.value=!1,pe.value=!1,P.value++,r("delete:success",ie.value)}catch(H){Z.value=((O=(q=H.response)==null?void 0:q.data)==null?void 0:O.message)||H.message||a("errors.delete"),r("error",H)}finally{ge.value=!1}}},C=()=>{l.push(i.config.createRoute)};t.watch(N,B=>{var q,O,H;if(B.status===ce.FetcherStatus.Error){M.value={title:a("errors.general")},(H=(O=(q=B.error)==null?void 0:q.response)==null?void 0:O.data)!=null&&H.message&&(M.value.message=B.error.response.data.message),r("error",B.error);return}M.value=null});const v=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")}),k=t.ref(!1);return t.onBeforeMount(async()=>{k.value=await i.canCreate(),k.value&&(v.value.title=a("plugins.list.empty_state.title"),v.value.ctaText=a("actions.create"))}),(B,q)=>{const O=t.resolveComponent("KButton"),H=t.resolveComponent("KEmptyState"),V=t.resolveComponent("KBadge"),de=t.resolveComponent("KTruncate"),le=t.resolveComponent("KInputSwitch"),_e=t.resolveComponent("KDropdownItem"),me=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",VR,[t.createVNode(t.unref(ce.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":y.value,"empty-state-options":v.value,"enable-entity-actions":"","error-message":M.value,fetcher:t.unref(S),"fetcher-cache-key":t.unref(P),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(_),title:e.title,"title-tag":e.titleTag,onClearSearchInput:T,"onClick:row":q[4]||(q[4]=Q=>D(Q)),onSort:L,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(ce.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":q[0]||(q[0]=Q=>b.value=Q),config:x.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",RR,[!f.value&&u.value?(t.openBlock(),t.createBlock(O,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:q[1]||(q[1]=Q=>B.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(O,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:Q})=>[t.createElementVNode("div",DR,[t.createVNode(t.unref(lo.PluginIcon),{class:"plugin-icon",name:Q.name,size:24},null,8,["name"]),t.createElementVNode("div",MR,[Q.instance_name?(t.openBlock(),t.createElementBlock("span",LR,t.toDisplayString(Q.instance_name),1)):(t.openBlock(),t.createElementBlock("span",FR,t.toDisplayString(t.unref(o).getDisplayName(Q.name)),1)),Q.instance_name?(t.openBlock(),t.createElementBlock("span",UR,t.toDisplayString(t.unref(o).getDisplayName(Q.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:Q})=>[G(Q).length>0?(t.openBlock(),t.createBlock(de,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(G(Q),he=>(t.openBlock(),t.createBlock(t.unref(ce.PermissionsWrapper),{key:he.badgeText,"auth-function":()=>A(he.type,Q),"force-show":""},{default:t.withCtx(({isAllowed:we})=>[t.createVNode(V,{class:t.normalizeClass(we||"disabled"),onClick:t.withModifiers(ae=>we&&he.type&&J(he.type,Q),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(he.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",KR,"-"))]),enabled:t.withCtx(({row:Q})=>[t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(Q)&&await e.canToggle(Q)),"force-show":""},{default:t.withCtx(({isAllowed:he})=>{var we,ae;return[t.createElementVNode("div",{onClick:q[3]||(q[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(le,{disabled:!he,"disabled-tooltip-text":!he&&((ae=(we=e.config).getToggleDisabledTooltip)==null?void 0:ae.call(we,Q))||void 0,"model-value":Q.enabled,onClick:t.withModifiers(ne=>he&&X(Q),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:Q})=>[t.createVNode(V,{appearance:t.unref(hc)(Q)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(hc)(Q)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:Q})=>[t.createVNode(t.unref(ce.TableTags),{tags:Q},null,8,["tags"])]),actions:t.withCtx(({row:Q})=>[t.createVNode(me,null,{default:t.withCtx(({copyToClipboard:he})=>[t.createVNode(_e,{"data-testid":"action-entity-copy-id",onClick:we=>K(Q,he)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(me,null,{default:t.withCtx(({copyToClipboard:he})=>[t.createVNode(_e,{"data-testid":"action-entity-copy-json",onClick:we=>R(Q,he)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(Q)},{default:t.withCtx(()=>[t.createVNode(_e,{"data-testid":"action-entity-view","has-divider":"",item:te(Q)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":()=>e.canEdit(Q)},{default:t.withCtx(()=>[t.createVNode(_e,{"data-testid":"action-entity-edit",item:W(Q)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(ce.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(Q)},{default:t.withCtx(()=>[oe(Q)?(t.openBlock(),t.createBlock(_e,{key:0,"data-testid":"action-entity-config-dyn-order",item:oe(Q)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":()=>e.canDelete(Q)},{default:t.withCtx(()=>[t.createVNode(_e,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:he=>re(Q)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var Q;return[t.createVNode(H,{"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:t.unref(a)("plugins.list.empty_state_v2.description"),title:t.unref(a)("plugins.list.empty_state_v2.title")},t.createSlots({icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[k.value?(t.openBlock(),t.createBlock(O,{key:0,"data-testid":"entity-create-button",onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(O,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:q[2]||(q[2]=he=>B.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(Q=e.config)!=null&&Q.isControlPlaneGroup?{name:"default",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(ce.EntityToggleModal),{action:F.value.action,"entity-id":F.value.id,"entity-name":F.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":j,visible:I.value,onCancel:Y,onProceed:Y},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(ce.EntityDeleteModal),{"action-pending":ge.value,description:t.unref(a)("delete.description"),"entity-name":ie.value&&(ie.value.instance_name||ie.value.name||ie.value.id),"entity-type":t.unref(ce.EntityTypes).Plugin,error:Z.value,title:t.unref(a)("delete.title"),visible:pe.value,onCancel:ue,onProceed:se},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-582a936c"]]),GR={class:"plugin-select-card-wrapper"},qR=["data-testid"],zR={class:"plugin-card-header"},HR={class:"plugin-card-title"},YR={key:0,class:"plugin-card-actions"},WR=["data-testid","title"],XR={key:0,class:"plugin-card-text"},ZR={key:0},JR=["title"],Yl=Ee(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=io.useRouter(),{i18n:{t:a}}=De.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},u=()=>{r.navigateOnClick?d():f()},f=()=>{o("plugin-clicked",r.plugin)},p=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===z.PluginGroup.CUSTOM_PLUGINS),h=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},y=(_,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(_,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const _=r.config;p.value&&_.createCustomRoute?i.push(_.createCustomRoute):m.value&&d()}};return(_,w)=>{const b=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),S=t.resolveComponent("KDropdownMenu"),N=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",GR,[t.createVNode(N,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=P=>s.value||m.value?void 0:u())},[t.createElementVNode("div",zR,[t.createElementVNode("div",HR,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",YR,[t.createVNode(S,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{size:t.unref(yk)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(P=>y(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(x,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(h,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(lo.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(t.openBlock(),t.createElementBlock("div",XR,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",ZR,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,JR)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,WR),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,qR)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),QR=Ee(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const o=e,r=n,{i18nT:i,i18n:{t:a}}=De.useI18n(),{getMessageFromError:l}=ce.useErrors(),{axiosInstance:s}=ce.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var y;return f.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((y=o.plugin)==null?void 0:y.name)||a("delete.custom_plugin")})}),d=t.ref(!1),u=t.ref(""),f=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const y=o.plugin.customPluginType==="streaming"?Le.select[o.config.app].streamingCustomPluginItem:Le.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${y}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var y,g,_,w;if(d.value=!0,u.value="",!(!((y=o.plugin)!=null&&y.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:x}=b;(x==null?void 0:x.status)===400&&((w=(_=x.data)==null?void 0:_.message)!=null&&w.includes("plugin schema is currently in use"))?f.value=!0:u.value=l(b)}finally{d.value=!1}};return(y,g)=>{const _=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!f.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(ce.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(ce.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>y.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(_,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),eD={class:"custom-plugins-grid"},tD={class:"empty-state-title"},nD={class:"empty-state-description"},Wl=310,oD=Ee(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=De.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=De.usePluginHelpers(),s=t.ref(!0),c=S=>{r("plugin-clicked",S)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const S=JSON.parse(JSON.stringify(o.pluginList))[z.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:z.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(S):S}),u=t.ref(!1),f=t.ref(null),p=S=>{u.value=!0,f.value={id:S.id,name:S.name,customPluginType:S.customPluginType}},m=S=>{var N;S&&(r("revalidate"),r("delete:success",((N=f.value)==null?void 0:N.name)||"")),u.value=!1,f.value=null},h=t.ref(Wl),y=t.ref(null),g=t.ref(null),_=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),w=t.ref(!1),b=()=>{h.value=Math.max(a(g.value),Wl),x()},x=()=>{var S,N;(S=g.value)!=null&&S.length&&(w.value=l(y.value,(N=g.value)==null?void 0:N.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),Wl),x(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(S,N)=>{const P=t.resolveComponent("KEmptyState"),T=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",eD,[d.value.length?(t.openBlock(),t.createBlock(T,{key:1,modelValue:s.value,"onUpdate:modelValue":N[0]||(N[0]=L=>s.value=L),class:"custom-plugins-collapse","data-testid":`${t.unref(z.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(z.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:t.normalizeStyle(_.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(L,M)=>(t.openBlock(),t.createBlock(Yl,{key:`plugin-card-${M}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:L,onCustomPluginDelete:G=>p(L),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[N[2]||(N[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(P,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",tD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",nD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&f.value?(t.openBlock(),t.createBlock(QR,{key:2,config:e.config,plugin:f.value,onClosed:m,onProceed:N[1]||(N[1]=L=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Xl=310,xm=Ee(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=De.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=De.usePluginHelpers(),c=t.ref(Xl),d=t.ref(null),u=t.ref(null),f=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(u.value),Xl),h()},h=()=>{var y,g;(y=u.value)!=null&&y.length&&(p.value=s(d.value,(g=u.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(u.value),Xl),h(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(y,g)=>{const _=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(_,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(f.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,w=>(t.openBlock(),t.createBlock(Yl,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),rD={class:"plugin-select-grid"},iD={class:"empty-state-title"},aD={class:"empty-state-description"},Zl=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=De.useI18n(),a=t.ref(!1),l=t.ref(ts),s=d=>{r("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[z.PluginGroup.CUSTOM_PLUGINS],d});return(d,u)=>{const f=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",rD,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(f,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",iD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",aD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(xm,{key:1,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:u[1]||(u[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(es),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(xm,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:u[2]||(u[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),lD={class:"kong-ui-entities-plugin-select-form"},sD={class:"plugins-filter-input-container"},cD={key:0},dD={key:3,"aria-live":"polite",class:"plugins-results-container"},uD={"data-testid":"kong-tab"},fD={class:"tab-description"},pD={"data-testid":"custom-tab"},mD={class:"tab-description"},gD=Ee(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var K;const o=e,r=n,i=io.useRoute(),a=io.useRouter(),{i18n:{t:l}}=De.useI18n(),{pluginMetaData:s}=De.usePluginMetaData(),{getMessageFromError:c}=ce.useErrors(),{sortAlpha:d,objectsAreEqual:u}=ce.useHelpers(),f=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref([]),g=t.ref([]),_=t.ref({}),w=t.ref([]),{axiosInstance:b}=ce.useAxios((K=o.config)==null?void 0:K.axiosRequestConfig),x=t.computed(()=>_.value?Object.entries(_.value).filter(([R])=>R!==z.PluginGroup.CUSTOM_PLUGINS).reduce((R,[,D])=>{for(const te of D)R[te.id]=te;return R},{}):{}),S=t.computed(()=>{var te;if(!_.value)return{};const R=f.value.toLowerCase(),D=JSON.parse(JSON.stringify(_.value));for(const W in _.value){const oe=((te=_.value[W])==null?void 0:te.filter(ie=>ie.name.toLowerCase().includes(R)||ie.id.toLowerCase().includes(R)||ie.group.toLowerCase().includes(R)))||[];oe.length?D[W]=oe:delete D[W]}return D}),N=t.computed(()=>o.highlightedPluginIds.reduce((R,D)=>{const te=x.value[D];return te&&R.push(te),R},[])),P=t.computed(()=>Object.keys(S.value).length>0),T=t.computed(()=>Object.keys(_.value).length>0&&!P.value),L=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),M=t.computed(()=>{var D;let R=L.value.length&&((i==null?void 0:i.hash)||((D=L.value[0])==null?void 0:D.hash))||"";return R==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(R="#kong"),R}),G=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...y.value])].filter(R=>!o.ignoredPlugins.includes(R)).filter(R=>o.config.entityType&&(o.config.entityType==="services"&&s[R]&&!s[R].scope.includes(z.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[R]&&!s[R].scope.includes(z.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[R]&&!s[R].scope.includes(z.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[R]&&!s[R].scope.includes(z.PluginScope.CONSUMER))?!1:R).reduce((R,D)=>{var pe;const te=s[D]&&s[D].name||D,W={...s[D],id:D,name:te,available:y.value.includes(D),disabledMessage:"",group:((pe=s[D])==null?void 0:pe.group)||z.PluginGroup.CUSTOM_PLUGINS};W.group===z.PluginGroup.CUSTOM_PLUGINS&&(W.customPluginType=g.value.find(ge=>ge.name===D)?"streaming":"schema"),o.disabledPlugins&&(W.disabledMessage=o.disabledPlugins[D]);const oe=W.group||l("plugins.select.misc_plugins");let ie=R[oe];return ie||(ie=[]),ie.push(W),ie.sort(d("name")),R[oe]=ie,R},{}),A=t.computed(()=>{var D;let R=`${o.config.apiBaseUrl}${Le.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?R=R.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(R=((D=o.config.gatewayInfo)==null?void 0:D.edition)==="community"?`${o.config.apiBaseUrl}${Le.select[o.config.app].availablePluginsForOss}`:R.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),R}),J=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let R=`${o.config.apiBaseUrl}${Le.select[o.config.app].streamingCustomPlugins}`;return R=R.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),R}return null}),I=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let R=`${o.config.apiBaseUrl}${Le.list[o.config.app].forEntity}`;return o.config.app==="konnect"?R=R.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(R=R.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),R.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),U=R=>{a.replace({hash:R,query:i.query})};t.watch(()=>o.disabledPlugins,(R,D)=>{!u(R,D)&&!p.value&&(_.value=G())}),t.watch(()=>o.ignoredPlugins,(R,D)=>{!u(R,D)&&!p.value&&(_.value=G())}),t.watch(p,R=>{r("loading",R)});const F=t.ref(!1),X=t.ref(!1),Y=t.ref(!1);t.onBeforeMount(async()=>{F.value=await o.canCreateCustomPlugin(),X.value=await o.canEditCustomPlugin(),Y.value=await o.canDeleteCustomPlugin()});const j=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var R,D;(D=(R=j.value)==null?void 0:R.input)==null||D.focus();try{const{data:te}=await b.get(A.value);if(o.config.app==="konnect"){const{names:W}=te;if(y.value=W||[],J.value){const{data:oe}=await b.get(J.value);g.value=oe.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:W}}=te;y.value=W?Object.keys(W):[]}}catch(te){m.value=!0,h.value=c(te)}if(I.value)try{const{data:{data:te}}=await b.get(I.value);if(te!=null&&te.length){const W=te.reduce((oe,ie)=>(ie.name&&oe.push(ie.name),oe),[]);w.value=w.value.concat(W)}}catch{}m.value||(_.value=G()),p.value=!1}),(R,D)=>{const te=t.resolveComponent("KInput"),W=t.resolveComponent("KSkeletonBox"),oe=t.resolveComponent("KSkeleton"),ie=t.resolveComponent("KEmptyState"),pe=t.resolveComponent("KTooltip"),ge=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",lD,[t.createElementVNode("div",sD,[t.createVNode(te,{ref:"filter-input",modelValue:f.value,"onUpdate:modelValue":D[0]||(D[0]=Z=>f.value=Z),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",cD,[t.createVNode(W,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(oe,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ie,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):T.value&&f.value?(t.openBlock(),t.createBlock(ie,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:f.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",dD,[L.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(ge,{key:0,modelValue:M.value,"onUpdate:modelValue":D[5]||(D[5]=Z=>M.value=Z),"data-testid":"plugins-tabs",tabs:L.value,onChange:U},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",uD,[t.createElementVNode("p",fD,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Zl,{config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":N.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,onPluginClicked:D[1]||(D[1]=Z=>R.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",pD,[t.createElementVNode("p",mD,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(oD,{"can-create-custom-plugin":F.value,"can-delete-custom-plugin":Y.value,"can-edit-custom-plugin":X.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,"onDelete:success":D[2]||(D[2]=Z=>R.$emit("delete-custom:success",Z)),onPluginClicked:D[3]||(D[3]=Z=>R.$emit("plugin-clicked",Z)),onRevalidate:D[4]||(D[4]=()=>_.value=G())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(pe,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Zl,{key:1,config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":N.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,onPluginClicked:D[6]||(D[6]=Z=>R.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-f50670e9"]]),hD={class:"kong-ui-entity-plugin-config-card"},yD={class:"name-cell-wrapper"},_D={class:"info-name"},bD={key:0},wD={key:0},kD={key:0},CD={key:0},ED={key:0},Jl="config",ND=Ee(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var w;const o=n,r=e,{i18n:{t:i}}=De.useI18n(),a=De.usePluginMetaData(),{setFieldType:l}=De.usePluginHelpers(),{getPropValue:s}=ce.useHelpers(),c=t.computed(()=>{var b;return(b=Le.item[r.config.app])==null?void 0:b[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"")}),d=t.computed(()=>{var S,N;const b={},x=((S=y.value)==null?void 0:S.fields)||[];for(let P=0;P<x.length;P++){const T=y.value.fields[P],L=(N=Object.keys(T))==null?void 0:N[0];l(b,L,T[L])}return{...b,instance_name:{section:ce.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:ce.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:ce.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:ce.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:ce.ConfigurationSchemaSection.Basic,order:6},protocols:{type:ce.ConfigurationSchemaType.BadgeTag,section:ce.ConfigurationSchemaSection.Basic,order:7}}}),u=t.computed(()=>{var x,S,N;if(!((x=y.value)!=null&&x.fields))return[];const b=(S=y.value.fields)==null?void 0:S.find(P=>{var L;return((L=Object.keys(P))==null?void 0:L[0])===Jl});return((N=b==null?void 0:b[Jl])==null?void 0:N.fields)||[]}),f=t.computed(()=>{var x,S;const b={};if(!u.value)return b;for(let N=0;N<((x=u.value)==null?void 0:x.length);N++){const P=u.value[N],T=(S=Object.keys(P))==null?void 0:S[0],L=P[T];L.required&&(b[T]={order:1}),l(b,T,L)}return b}),{getMessageFromError:p}=ce.useErrors(),{axiosInstance:m}=ce.useAxios((w=r.config)==null?void 0:w.axiosRequestConfig),h=t.computed(()=>{var x,S;let b=`${r.config.apiBaseUrl}${Le.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?b=b.replace(/{controlPlaneId}/gi,((x=r.config)==null?void 0:x.controlPlaneId)||""):r.config.app==="kongManager"&&(b=b.replace(/\/{workspace}/gi,(S=r.config)!=null&&S.workspace?`/${r.config.workspace}`:"")),b=b.replace(/{plugin}/gi,r.config.pluginType),b}),y=t.ref({});ce.useSchemaProvider(y);const g=t.ref(!1),_=t.ref("");return t.onBeforeMount(async()=>{g.value=!0;try{const{data:b}=await m.get(h.value);y.value=b}catch(b){_.value=p(b),o("error:fetch-schema",b)}finally{g.value=!1}}),(b,x)=>{const S=t.resolveComponent("KSkeleton"),N=t.resolveComponent("KEmptyState"),P=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",hD,[g.value?(t.openBlock(),t.createBlock(S,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):_.value?(t.openBlock(),t.createBlock(N,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(_.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(ce.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":t.unref(ce.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":Jl,"plugin-config-schema":f.value,"onFetch:error":x[0]||(x[0]=T=>b.$emit("fetch:error",T)),"onFetch:success":x[1]||(x[1]=T=>b.$emit("fetch:success",T)),onLoading:x[2]||(x[2]=T=>b.$emit("loading",T))},{name:t.withCtx(T=>[t.createElementVNode("div",yD,[t.createVNode(t.unref(lo.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",T),size:24},null,8,["name"]),t.createElementVNode("span",_D,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",T))),1)])]),consumer:t.withCtx(T=>[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",T).id,value:t.unref(s)("rowValue",T).id,type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",T).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",T).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",bD,"–"))]),route:t.withCtx(T=>[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",T).id,value:t.unref(s)("rowValue",T).id,type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",T).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",T).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",wD,"–"))]),service:t.withCtx(T=>[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",T).id,value:t.unref(s)("rowValue",T).id,type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",T).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",T).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",kD,"–"))]),consumer_group:t.withCtx(T=>[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",T).id,value:t.unref(s)("rowValue",T).id,type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",T).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",T).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",CD,"–"))]),partials:t.withCtx(T=>{var L,M,G,A,J,I,U,F,X;return[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:(M=(L=t.unref(s)("rowValue",T))==null?void 0:L[0])==null?void 0:M.id,value:((A=(G=t.unref(s)("rowValue",T))==null?void 0:G[0])==null?void 0:A.id)+((I=(J=t.unref(s)("rowValue",T))==null?void 0:J[0])!=null&&I.name?"/"+((F=(U=t.unref(s)("rowValue",T))==null?void 0:U[0])==null?void 0:F.name):""),type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var Y,j;return b.$emit("navigation-click",(j=(Y=t.unref(s)("rowValue",T))==null?void 0:Y[0])==null?void 0:j.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"partial-copy-uuid",text:(X=t.unref(s)("rowValue",T))==null?void 0:X[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",ED,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-53806ec8"]]),{usePluginMetaData:vD,useProvideExperimentalFreeForms:SD}=De;Object.defineProperty(ke,"PluginGroup",{enumerable:!0,get:()=>z.PluginGroup}),Object.defineProperty(ke,"PluginScope",{enumerable:!0,get:()=>z.PluginScope}),Object.defineProperty(ke,"PluginIcon",{enumerable:!0,get:()=>lo.PluginIcon}),Object.defineProperty(ke,"getPluginIconURL",{enumerable:!0,get:()=>lo.getPluginIconURL}),ke.EXPERIMENTAL_FREE_FORM_PROVIDER=da,ke.EntityTypeIdField=on,ke.FEATURE_FLAGS=kc,ke.PLUGIN_GROUPS_COLLAPSE_STATUS=ts,ke.PluginConfigCard=ND,ke.PluginForm=BR,ke.PluginGroupArray=es,ke.PluginList=jR,ke.PluginPartialType=cr,ke.PluginSelect=gD,ke.PluginSelectCard=Yl,ke.PluginSelectGrid=Zl,ke.TOASTER_PROVIDER=Cc,ke.pluginEndpoints=Le,ke.usePluginMetaData=vD,ke.useProvideExperimentalFreeForms=SD,Object.defineProperty(ke,Symbol.toStringTag,{value:"Module"})});
144
+ Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Xe extends Error{constructor(n,...o){var r;super((r=$f[n])==null?void 0:r.call($f,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function wl(e){return"clientX"in e}function Tx(e){return"sourceEvent"in e}function Ot(e,n){const o=wl(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const fi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Ox(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function pi(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const $x=()=>!0;function kl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Bx(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())ci(i,si(a))>0&&r.push(a);return r}const Vx=250;function Rx(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=Bx(e,o,n+Vx);for(const d of c){const u=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const f of u){if(r.nodeId===f.nodeId&&r.type===f.type&&r.id===f.id)continue;const{x:p,y:m}=Qn(d,f,f.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...f,x:p,y:m}],s=h):h===s&&l.push({...f,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(u=>u.type===d)??l[0]}return l[0]}function Bf(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=$x},u,f,p){const m=a==="target",h=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:y,y:g}=Ot(e),_=l.elementFromPoint(y,g),w=_!=null&&_.classList.contains(`${s}-flow__handle`)?_:h,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const A=Vf(void 0,w),S=w.getAttribute("data-nodeid"),N=w.getAttribute("data-handleid"),P=w.classList.contains("connectable"),T=w.classList.contains("connectableend");if(!S||!A)return b;const M={source:m?S:r,sourceHandle:m?N:i,target:m?r:S,targetHandle:m?i:N};b.connection=M;const q=P&&T&&(o===Zt.Strict?m&&A==="source"||!m&&A==="target":S!==r||N!==i);b.isValid=q&&d(M,{nodes:f,edges:u,sourceNode:p(r),targetNode:p(S)}),b.toHandle=n}return b}function Vf(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Dx(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function Mx(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function Lx(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const u=i===Zt.Strict?(l=d.handleBounds)==null?void 0:l[n]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],f=(o?u==null?void 0:u.find(p=>p.id===o):u==null?void 0:u[0])??null;return f&&a?{...f,...Qn(d,f,f.position,!0)}:f}const Cl={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top},Fx=["production","prod"];function mi(e,...n){Rf()&&console.warn(`[Vue Flow]: ${e}`,...n)}function Rf(){return!Fx.includes(process.env.NODE_ENV||"")}function Df(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...di(l)}}):null}function El(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function qe(e){return typeof t.unref(e)<"u"}function Ux(e,n,o,r){if(!e||!e.source||!e.target)return o(new Xe(Ge.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Jt(e)?i=e:i={...e,id:yf(e)},i=gf(i,void 0,r),kx(i,n)?!1:i}function Kx(e,n,o,r,i){if(!n.source||!n.target)return i(new Xe(Ge.EDGE_INVALID,e.id)),!1;if(!o)return i(new Xe(Ge.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?yf(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function Mf(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!Cn(l)){o(new Xe(Ge.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=_x(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new Xe(Ge.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function Lf(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,n))}}function Nl(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,u=`${a}-${s}--${i}-${l}`;Lf("source",c,u,e,i,l),Lf("target",c,d,e,a,s)}}function Ff(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function vl(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const u=Jt(d)?d:Ux(d,s,i,a);if(!u)continue;const f=o(u.source),p=o(u.target);if(!f||!p){i(new Xe(Ge.EDGE_SOURCE_TARGET_MISSING,u.id,u.source,u.target));continue}if(!f){i(new Xe(Ge.EDGE_SOURCE_MISSING,u.id,u.source));continue}if(!p){i(new Xe(Ge.EDGE_TARGET_MISSING,u.id,u.target));continue}if(n&&!n(u,{edges:s,nodes:l,sourceNode:f,targetNode:p})){i(new Xe(Ge.EDGE_INVALID,u.id));continue}const m=r(u.id);c.push({...gf(u,m,a),sourceNode:f,targetNode:p})}return c}const Uf=Symbol("vueFlow"),Kf=Symbol("nodeId"),jf=Symbol("nodeRef"),jx=Symbol("edgeId"),Gx=Symbol("edgeRef"),gi=Symbol("slots");function Gf(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:u,nodesDraggable:f,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:y,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:w,updateNodePositions:b,emits:A}=Oe(),{onStart:S,onDrag:N,onStop:P,onClick:T,el:M,disabled:H,id:q,selectable:x,dragHandle:Y}=e,I=t.shallowRef(!1);let F=[],L,Z=null,W={x:void 0,y:void 0},K={x:0,y:0},U=null,R=!1,D=0,te=!1;const X=Hx(),oe=({x:re,y:ue})=>{W={x:re,y:ue};let se=!1;if(F=F.map(C=>{const v={x:re-C.distance.x,y:ue-C.distance.y},{computedPosition:k}=bl(C,o.value?pi(v,r.value):v,A.error,l.value,C.parentNode?m(C.parentNode):void 0);return se=se||C.position.x!==k.x||C.position.y!==k.y,C.position=k,C}),!!se&&(b(F,!0,!0),I.value=!0,U)){const[C,v]=_l({id:q,dragItems:F,findNode:m});N({event:U,node:C,nodes:v})}},ie=()=>{if(!Z)return;const[re,ue]=vf(K,Z,u.value);if(re!==0||ue!==0){const se={x:(W.x??0)-re/c.value.zoom,y:(W.y??0)-ue/c.value.zoom};p({x:re,y:ue})&&oe(se)}D=requestAnimationFrame(ie)},pe=(re,ue)=>{R=!0;const se=m(q);!g.value&&!h.value&&se&&(se.selected||_()),se&&t.toValue(x)&&g.value&&El(se,h.value,w,_,y,!1,ue);const C=X(re.sourceEvent);if(W=C,F=vx(a.value,f.value,C,m,q),F.length){const[v,k]=_l({id:q,dragItems:F,findNode:m});S({event:re.sourceEvent,node:v,nodes:k})}},ge=(re,ue)=>{var se;re.sourceEvent.type==="touchmove"&&re.sourceEvent.touches.length>1||(s.value===0&&pe(re,ue),W=X(re.sourceEvent),Z=((se=n.value)==null?void 0:se.getBoundingClientRect())||null,K=Ot(re.sourceEvent,Z))},J=(re,ue)=>{const se=X(re.sourceEvent);if(!te&&R&&d.value&&(te=!0,ie()),!R){const C=se.xSnapped-(W.x??0),v=se.ySnapped-(W.y??0);Math.sqrt(C*C+v*v)>s.value&&pe(re,ue)}(W.x!==se.xSnapped||W.y!==se.ySnapped)&&F.length&&R&&(U=re.sourceEvent,K=Ot(re.sourceEvent,Z),oe(se))},ee=re=>{let ue=!1;if(!R&&!I.value&&!h.value){const se=re.sourceEvent,C=X(se),v=C.xSnapped-(W.x??0),k=C.ySnapped-(W.y??0),E=Math.sqrt(v*v+k*k);E!==0&&E<=s.value&&(T==null||T(se),ue=!0)}if(F.length&&!ue){b(F,!1,!1);const[se,C]=_l({id:q,dragItems:F,findNode:m});P({event:re.sourceEvent,node:se,nodes:C})}F=[],I.value=!1,te=!1,R=!1,W={x:void 0,y:void 0},cancelAnimationFrame(D)};return t.watch([()=>t.toValue(H),M],([re,ue],se,C)=>{if(ue){const v=_t(ue);re||(L=yv().on("start",k=>ge(k,ue)).on("drag",k=>J(k,ue)).on("end",k=>ee(k)).filter(k=>{const E=k.target,$=t.toValue(Y);return!k.button&&(!i.value||!Pf(E,`.${i.value}`,ue)&&(!$||Pf(E,$,ue)))}),v.call(L)),C(()=>{v.on(".drag",null),L&&(L.on("start",null),L.on("drag",null),L.on("end",null))})}}),I}function qx(){return{doubleClick:ye(),click:ye(),mouseEnter:ye(),mouseMove:ye(),mouseLeave:ye(),contextMenu:ye(),updateStart:ye(),update:ye(),updateEnd:ye()}}function zx(e,n){const o=qx();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function Hx(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=Oe();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=Tx(i)?i.sourceEvent:i,{x:c,y:d}=Ot(s,l),u=jo({x:c,y:d},e.value),{x:f,y:p}=o.value?pi(u,n.value):u;return{xSnapped:f,ySnapped:p,...u}}}function hi(){return!0}function qf({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:u,connectOnClick:f,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:y,findNode:g,panBy:_,startConnection:w,updateConnection:b,endConnection:A,emits:S,viewport:N,edges:P,nodes:T,isValidConnection:M,nodeLookup:H}=Oe();let q=null,x=!1,Y=null;function I(L){var Z;const W=t.toValue(o)==="target",K=wl(L),U=mf(L.target);if(K&&L.button===0||!K){let R=function(z){C=Ot(z,re),oe=Rx(jo(C,N.value,!1,[1,1]),u.value,H.value,E),v||(k(),v=!0);const V=Bf(z,{handle:oe,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:W?"target":"source",isValidConnection:X,doc:U,lib:"vue",flowId:s,nodeLookup:H.value},P.value,T.value,g);Y=V.handleDomNode,q=V.connection,x=Mx(!!oe,V.isValid);const de={...O,isValid:x,to:V.toHandle&&x?hl({x:V.toHandle.x,y:V.toHandle.y},N.value):C,toHandle:V.toHandle,toPosition:x&&V.toHandle?V.toHandle.position:Cl[E.position],toNode:V.toHandle?H.value.get(V.toHandle.nodeId):null};if(!(x&&oe&&(O!=null&&O.toHandle)&&de.toHandle&&O.toHandle.type===de.toHandle.type&&O.toHandle.nodeId===de.toHandle.nodeId&&O.toHandle.id===de.toHandle.id&&O.to.x===de.to.x&&O.to.y===de.to.y)){if(b(oe&&x?hl({x:oe.x,y:oe.y},N.value):C,V.toHandle,Dx(!!oe,x)),O=de,!oe&&!x&&!Y)return kl(se);q&&q.source!==q.target&&Y&&(kl(se),se=Y,Y.classList.add("connecting","vue-flow__handle-connecting"),Y.classList.toggle("valid",!!x),Y.classList.toggle("vue-flow__handle-valid",!!x))}},D=function(z){(oe||Y)&&q&&x&&(a?a(z,q):S.connect(q)),S.connectEnd(z),i&&(l==null||l(z)),kl(se),cancelAnimationFrame(ie),A(z),v=!1,x=!1,q=null,Y=null,U.removeEventListener("mousemove",R),U.removeEventListener("mouseup",D),U.removeEventListener("touchmove",R),U.removeEventListener("touchend",D)};const te=g(t.toValue(n));let X=t.toValue(r)||M.value||hi;!X&&te&&(X=(W?te.isValidSourcePos:te.isValidTargetPos)||hi);let oe,ie=0;const{x:pe,y:ge}=Ot(L),J=U==null?void 0:U.elementFromPoint(pe,ge),ee=Vf(t.toValue(i),J),re=(Z=c.value)==null?void 0:Z.getBoundingClientRect();if(!re||!ee)return;const ue=Lx(t.toValue(n),ee,t.toValue(e),H.value,d.value);if(!ue)return;let se,C=Ot(L,re),v=!1;const k=()=>{if(!h.value)return;const[z,V]=vf(C,re,y.value);_({x:z,y:V}),ie=requestAnimationFrame(k)},E={...ue,nodeId:t.toValue(n),type:ee,position:ue.position},$=H.value.get(t.toValue(n)),j={inProgress:!0,isValid:null,from:Qn($,E,be.Left,!0),fromHandle:E,fromPosition:E.position,fromNode:$,to:C,toHandle:null,toPosition:Cl[E.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:ee,position:(J==null?void 0:J.getAttribute("data-handlepos"))||be.Top,...C},{x:pe-re.left,y:ge-re.top}),S.connectStart({event:L,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ee});let O=j;U.addEventListener("mousemove",R),U.addEventListener("mouseup",D),U.addEventListener("touchmove",R),U.addEventListener("touchend",D)}}function F(L){var Z,W;if(!f.value)return;const K=t.toValue(o)==="target";if(!p.value){S.clickConnectStart({event:L,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:be.Top,...Ot(L)},void 0,!0);return}let U=t.toValue(r)||M.value||hi;const R=g(t.toValue(n));if(!U&&R&&(U=(K?R.isValidSourcePos:R.isValidTargetPos)||hi),R&&(typeof R.connectable>"u"?m.value:R.connectable)===!1)return;const D=mf(L.target),te=Bf(L,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:be.Top,...Ot(L)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:U,doc:D,lib:"vue",flowId:s,nodeLookup:H.value},P.value,T.value,g),X=((Z=te.connection)==null?void 0:Z.source)===((W=te.connection)==null?void 0:W.target);te.isValid&&te.connection&&!X&&S.connect(te.connection),S.clickConnectEnd(L),A(L,!0)}return{handlePointerDown:I,handleClick:F}}function Yx(){return t.inject(Kf,"")}function zf(e){const n=e??Yx()??"",o=t.inject(jf,t.ref(null)),{findNode:r,edges:i,emits:a}=Oe(),l=r(n);return l||a.error(new Xe(Ge.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>kf([l],i.value))}}function Wx(){return{doubleClick:ye(),click:ye(),mouseEnter:ye(),mouseMove:ye(),mouseLeave:ye(),contextMenu:ye(),dragStart:ye(),drag:ye(),dragStop:ye()}}function Xx(e,n){const o=Wx();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function Hf(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Oe();return(c,d=!1)=>{const u=a.value?i.value[0]:5,f=a.value?i.value[1]:5,p=d?4:1,m=c.x*u*p,h=c.y*f*p,y=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const _={x:g.computedPosition.x+m,y:g.computedPosition.y+h},{computedPosition:w}=bl(g,_,s.error,n.value,g.parentNode?r(g.parentNode):void 0);y.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(y,!0,!1)}}const Sl=.1,Zx=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function tn(){return mi("Viewport not initialized yet."),Promise.resolve(!1)}const Jx={zoomIn:tn,zoomOut:tn,zoomTo:tn,fitView:tn,setCenter:tn,fitBounds:tn,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:tn,setTransform:tn,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function Qx(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?Bo:Zr).scaleBy(xl(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:u}=pf({x:-r,y:-i},e.translateExtent),f=Zn.translate(-d,-u).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?Bo:Zr).transform(xl(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),f):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?Bo:Zr).scaleTo(xl(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Sl,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=bf(s),{x:d,y:u,zoom:f}=Cf(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Sl,i.offset);return o(d,u,f,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:Sl})=>{const{x:l,y:s,zoom:c}=Cf(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>jo(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return jo(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return hl(s,e.viewport)}return{x:0,y:0}}}:Jx)}function xl(e,n=0,o=Zx,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function eA(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let y,g,_=!!(o.nodes.value.length||o.edges.value.length);y=zn([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=zn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var A;(A=e.modelValue)!=null&&A.value&&Array.isArray(e.modelValue.value)&&(y==null||y.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let y,g,_=!!o.nodes.value.length;y=zn([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=zn([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(y==null||y.pause(),e.nodes.value=[...w],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let y,g,_=!!o.edges.value.length;y=zn([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=zn([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(y==null||y.pause(),e.edges.value=[...w],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&qe(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&qe(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&qe(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&qe(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{qe(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const y=async g=>{let _=g;typeof n.autoConnect=="function"&&(_=await n.autoConnect(g)),_!==!1&&o.addEdges([_])};t.watch(()=>n.autoConnect,()=>{qe(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,_,w)=>{g?o.onConnect(y):o.hooks.value.connect.off(y),w(()=>{o.hooks.value.connect.off(y)})},{immediate:!0})})},m=()=>{const y=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const _=g;if(!y.includes(_)){const w=t.toRef(()=>n[_]),b=o[_];t.isRef(b)&&r.run(()=>{t.watch(w,A=>{qe(A)&&(b.value=A)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),u(),f(),p(),m()})()}),()=>r.stop()}function tA(){return{edgesChange:ye(),nodesChange:ye(),nodeDoubleClick:ye(),nodeClick:ye(),nodeMouseEnter:ye(),nodeMouseMove:ye(),nodeMouseLeave:ye(),nodeContextMenu:ye(),nodeDragStart:ye(),nodeDrag:ye(),nodeDragStop:ye(),nodesInitialized:ye(),miniMapNodeClick:ye(),miniMapNodeDoubleClick:ye(),miniMapNodeMouseEnter:ye(),miniMapNodeMouseMove:ye(),miniMapNodeMouseLeave:ye(),connect:ye(),connectStart:ye(),connectEnd:ye(),clickConnectStart:ye(),clickConnectEnd:ye(),paneReady:ye(),init:ye(),move:ye(),moveStart:ye(),moveEnd:ye(),selectionDragStart:ye(),selectionDrag:ye(),selectionDragStop:ye(),selectionContextMenu:ye(),selectionStart:ye(),selectionEnd:ye(),viewportChangeStart:ye(),viewportChange:ye(),viewportChangeEnd:ye(),paneScroll:ye(),paneClick:ye(),paneContextMenu:ye(),paneMouseEnter:ye(),paneMouseMove:ye(),paneMouseLeave:ye(),edgeContextMenu:ye(),edgeMouseEnter:ye(),edgeMouseMove:ye(),edgeMouseLeave:ye(),edgeDoubleClick:ye(),edgeClick:ye(),edgeUpdateStart:ye(),edgeUpdate:ye(),edgeUpdateEnd:ye(),updateNodeInternals:ye(),error:ye(e=>mi(e.message))}}function nA(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),Lr(()=>{r.off(i)})}})}function Yf(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:ml.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:Fo.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:wn.Bezier,style:{}},connectionMode:Zt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:fi()?"Meta":"Control",zoomActivationKeyCode:fi()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:tA(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const oA=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function rA(e,n,o){const r=Qx(e),i=C=>{const v=C??[];e.hooks.updateNodeInternals.trigger(v)},a=C=>wx(C,e.nodes,e.edges),l=C=>bx(C,e.nodes,e.edges),s=C=>kf(C,e.edges),c=({id:C,type:v,nodeId:k})=>{var E;return Array.from(((E=e.connectionLookup.get(`${k}-${v}-${C??null}`))==null?void 0:E.values())??[])},d=C=>{if(C)return n.value.get(C)},u=C=>{if(C)return o.value.get(C)},f=(C,v,k)=>{var E,$;const B=[];for(const j of C){const O={id:j.id,type:"position",dragging:k,from:j.from};if(v&&(O.position=j.position,j.parentNode)){const z=d(j.parentNode);O.position={x:O.position.x-(((E=z==null?void 0:z.computedPosition)==null?void 0:E.x)??0),y:O.position.y-((($=z==null?void 0:z.computedPosition)==null?void 0:$.y)??0)}}B.push(O)}B!=null&&B.length&&e.hooks.nodesChange.trigger(B)},p=C=>{if(!e.vueFlowRef)return;const v=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!v)return;const k=window.getComputedStyle(v),{m22:E}=new window.DOMMatrixReadOnly(k.transform),$=[];for(const B of C){const j=B,O=d(j.id);if(O){const z=di(j.nodeElement);if(!!(z.width&&z.height&&(O.dimensions.width!==z.width||O.dimensions.height!==z.height||j.forceUpdate))){const de=j.nodeElement.getBoundingClientRect();O.dimensions=z,O.handleBounds.source=Df("source",j.nodeElement,de,E,O.id),O.handleBounds.target=Df("target",j.nodeElement,de,E,O.id),$.push({id:O.id,type:"dimensions",dimensions:z})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),$.length&&e.hooks.nodesChange.trigger($)},m=(C,v)=>{const k=new Set,E=new Set;for(const j of C)Cn(j)?k.add(j.id):Jt(j)&&E.add(j.id);const $=en(n.value,k,!0),B=en(o.value,E);if(e.multiSelectionActive){for(const j of k)$.push(Qt(j,v));for(const j of E)B.push(Qt(j,v))}$.length&&e.hooks.nodesChange.trigger($),B.length&&e.hooks.edgesChange.trigger(B)},h=C=>{if(e.multiSelectionActive){const v=C.map(k=>Qt(k.id,!0));e.hooks.nodesChange.trigger(v);return}e.hooks.nodesChange.trigger(en(n.value,new Set(C.map(v=>v.id)),!0)),e.hooks.edgesChange.trigger(en(o.value))},y=C=>{if(e.multiSelectionActive){const v=C.map(k=>Qt(k.id,!0));e.hooks.edgesChange.trigger(v);return}e.hooks.edgesChange.trigger(en(o.value,new Set(C.map(v=>v.id)))),e.hooks.nodesChange.trigger(en(n.value,new Set,!0))},g=C=>{m(C,!0)},_=C=>{const k=(C||e.nodes).map(E=>(E.selected=!1,Qt(E.id,!1)));e.hooks.nodesChange.trigger(k)},w=C=>{const k=(C||e.edges).map(E=>(E.selected=!1,Qt(E.id,!1)));e.hooks.edgesChange.trigger(k)},b=C=>{if(!C||!C.length)return m([],!1);const v=C.reduce((k,E)=>{const $=Qt(E.id,!1);return Cn(E)?k.nodes.push($):k.edges.push($),k},{nodes:[],edges:[]});v.nodes.length&&e.hooks.nodesChange.trigger(v.nodes),v.edges.length&&e.hooks.edgesChange.trigger(v.edges)},A=C=>{var v;(v=e.d3Zoom)==null||v.scaleExtent([C,e.maxZoom]),e.minZoom=C},S=C=>{var v;(v=e.d3Zoom)==null||v.scaleExtent([e.minZoom,C]),e.maxZoom=C},N=C=>{var v;(v=e.d3Zoom)==null||v.translateExtent(C),e.translateExtent=C},P=C=>{e.nodeExtent=C,i()},T=C=>{var v;(v=e.d3Zoom)==null||v.clickDistance(C)},M=C=>{e.nodesDraggable=C,e.nodesConnectable=C,e.elementsSelectable=C},H=C=>{const v=C instanceof Function?C(e.nodes):C;!e.initialized&&!v.length||(e.nodes=Mf(v,d,e.hooks.error.trigger))},q=C=>{const v=C instanceof Function?C(e.edges):C;if(!e.initialized&&!v.length)return;const k=vl(v,e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Nl(e.connectionLookup,o.value,k),e.edges=k},x=C=>{const v=C instanceof Function?C([...e.nodes,...e.edges]):C;!e.initialized&&!v.length||(H(v.filter(Cn)),q(v.filter(Jt)))},Y=C=>{let v=C instanceof Function?C(e.nodes):C;v=Array.isArray(v)?v:[v];const k=Mf(v,d,e.hooks.error.trigger),E=[];for(const $ of k)E.push(xf($));E.length&&e.hooks.nodesChange.trigger(E)},I=C=>{let v=C instanceof Function?C(e.edges):C;v=Array.isArray(v)?v:[v];const k=vl(v,e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),E=[];for(const $ of k)E.push(xf($));E.length&&e.hooks.edgesChange.trigger(E)},F=(C,v=!0,k=!1)=>{const E=C instanceof Function?C(e.nodes):C,$=Array.isArray(E)?E:[E],B=[],j=[];function O(V){const de=s(V);for(const le of de)(!qe(le.deletable)||le.deletable)&&j.push(If(le.id,le.source,le.target,le.sourceHandle,le.targetHandle))}function z(V){const de=[];for(const le of e.nodes)le.parentNode===V&&de.push(le);if(de.length){for(const le of de)B.push(Af(le.id));v&&O(de);for(const le of de)z(le.id)}}for(const V of $){const de=typeof V=="string"?d(V):V;de&&(qe(de.deletable)&&!de.deletable||(B.push(Af(de.id)),v&&O([de]),k&&z(de.id)))}j.length&&e.hooks.edgesChange.trigger(j),B.length&&e.hooks.nodesChange.trigger(B)},L=C=>{const v=C instanceof Function?C(e.edges):C,k=Array.isArray(v)?v:[v],E=[];for(const $ of k){const B=typeof $=="string"?u($):$;B&&(qe(B.deletable)&&!B.deletable||E.push(If(typeof $=="string"?$:$.id,B.source,B.target,B.sourceHandle,B.targetHandle)))}e.hooks.edgesChange.trigger(E)},Z=(C,v,k=!0)=>{const E=u(C.id);if(!E)return!1;const $=e.edges.indexOf(E),B=Kx(C,v,E,k,e.hooks.error.trigger);if(B){const[j]=vl([B],e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((O,z)=>z===$?j:O),Nl(e.connectionLookup,o.value,[j]),j}return!1},W=(C,v,k={replace:!1})=>{const E=u(C);if(!E)return;const $=typeof v=="function"?v(E):v;E.data=k.replace?$:{...E.data,...$}},K=C=>Sf(C,e.nodes),U=C=>{const v=Sf(C,e.edges);return Nl(e.connectionLookup,o.value,v),v},R=(C,v,k={replace:!1})=>{const E=d(C);if(!E)return;const $=typeof v=="function"?v(E):v;k.replace?e.nodes.splice(e.nodes.indexOf(E),1,$):Object.assign(E,$)},D=(C,v,k={replace:!1})=>{const E=d(C);if(!E)return;const $=typeof v=="function"?v(E):v;E.data=k.replace?$:{...E.data,...$}},te=(C,v,k=!1)=>{k?e.connectionClickStartHandle=C:e.connectionStartHandle=C,e.connectionEndHandle=null,e.connectionStatus=null,v&&(e.connectionPosition=v)},X=(C,v=null,k=null)=>{e.connectionStartHandle&&(e.connectionPosition=C,e.connectionEndHandle=v,e.connectionStatus=k)},oe=(C,v)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,v?e.connectionClickStartHandle=null:e.connectionStartHandle=null},ie=C=>{const v=yx(C),k=v?null:Ko(C)?C:d(C.id);return!v&&!k?[null,null,v]:[v?C:si(k),k,v]},pe=(C,v=!0,k=e.nodes)=>{const[E,$,B]=ie(C);if(!E)return[];const j=[];for(const O of k||e.nodes){if(!B&&(O.id===$.id||!O.computedPosition))continue;const z=si(O),V=ci(z,E);(v&&V>0||V>=Number(E.width)*Number(E.height))&&j.push(O)}return j},ge=(C,v,k=!0)=>{const[E]=ie(C);if(!E)return!1;const $=ci(E,v);return k&&$>0||$>=Number(E.width)*Number(E.height)},J=C=>{const{viewport:v,dimensions:k,d3Zoom:E,d3Selection:$,translateExtent:B}=e;if(!E||!$||!C.x&&!C.y)return!1;const j=Zn.translate(v.x+C.x,v.y+C.y).scale(v.zoom),O=[[0,0],[k.width,k.height]],z=E.constrain()(j,O,B),V=e.viewport.x!==z.x||e.viewport.y!==z.y||e.viewport.zoom!==z.k;return E.transform($,z),V},ee=C=>{const v=C instanceof Function?C(e):C,k=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];qe(v.defaultEdgeOptions)&&(e.defaultEdgeOptions=v.defaultEdgeOptions);const E=v.modelValue||v.nodes||v.edges?[]:void 0;E&&(v.modelValue&&E.push(...v.modelValue),v.nodes&&E.push(...v.nodes),v.edges&&E.push(...v.edges),x(E));const $=()=>{qe(v.maxZoom)&&S(v.maxZoom),qe(v.minZoom)&&A(v.minZoom),qe(v.translateExtent)&&N(v.translateExtent)};for(const B of Object.keys(v)){const j=B,O=v[j];![...oA,...k].includes(j)&&qe(O)&&(e[j]=O)}Ha(()=>e.d3Zoom).not.toBeNull().then($),e.initialized||(e.initialized=!0)};return{updateNodePositions:f,updateNodeDimensions:p,setElements:x,setNodes:H,setEdges:q,addNodes:Y,addEdges:I,removeNodes:F,removeEdges:L,findNode:d,findEdge:u,updateEdge:Z,updateEdgeData:W,updateNode:R,updateNodeData:D,applyEdgeChanges:U,applyNodeChanges:K,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:y,setMinZoom:A,setMaxZoom:S,setTranslateExtent:N,setNodeExtent:P,setPaneClickDistance:T,removeSelectedElements:b,removeSelectedNodes:_,removeSelectedEdges:w,startConnection:te,updateConnection:X,endConnection:oe,setInteractive:M,setState:ee,getIntersectingNodes:pe,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:ge,panBy:J,fitView:C=>r.value.fitView(C),zoomIn:C=>r.value.zoomIn(C),zoomOut:C=>r.value.zoomOut(C),zoomTo:(C,v)=>r.value.zoomTo(C,v),setViewport:(C,v)=>r.value.setViewport(C,v),setTransform:(C,v)=>r.value.setTransform(C,v),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(C,v,k)=>r.value.setCenter(C,v,k),fitBounds:(C,v)=>r.value.fitBounds(C,v),project:C=>r.value.project(C),screenToFlowCoordinate:C=>r.value.screenToFlowCoordinate(C),flowToScreenCoordinate:C=>r.value.flowToScreenCoordinate(C),toObject:()=>{const C=[],v=[];for(const k of e.nodes){const{computedPosition:E,handleBounds:$,selected:B,dimensions:j,isParent:O,resizing:z,dragging:V,events:de,...le}=k;C.push(le)}for(const k of e.edges){const{selected:E,sourceNode:$,targetNode:B,events:j,...O}=k;v.push(O)}return JSON.parse(JSON.stringify({nodes:C,edges:v,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:C=>new Promise(v=>{const{nodes:k,edges:E,position:$,zoom:B,viewport:j}=C;if(k&&H(k),E&&q(E),j!=null&&j.x&&(j!=null&&j.y)||$){const O=(j==null?void 0:j.x)||$[0],z=(j==null?void 0:j.y)||$[1],V=(j==null?void 0:j.zoom)||B||e.viewport.zoom;return Ha(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:O,y:z,zoom:V}).then(()=>{v(!0)})})}else v(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const C=Yf();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const v=Zn.translate(C.defaultViewport.x??0,C.defaultViewport.y??0).scale(kn(C.defaultViewport.zoom??1,C.minZoom,C.maxZoom)),k=e.viewportRef.getBoundingClientRect(),E=[[0,0],[k.width,k.height]],$=e.d3Zoom.constrain()(v,E,C.translateExtent);e.d3Zoom.transform(e.d3Selection,$)}ee(C)},$destroy:()=>{}}}const iA=["data-id","data-handleid","data-nodeid","data-handlepos"],aA={name:"Handle",compatConfig:{MODE:3}},nn=t.defineComponent({...aA,props:{id:{default:null},type:{},position:{default:()=>be.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:u,noDragClassName:f,noPanClassName:p}=Oe(),{id:m,node:h,nodeEl:y,connectedEdges:g}=zf(),_=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),A=t.toRef(()=>{var q,x,Y,I,F,L;return((q=l.value)==null?void 0:q.nodeId)===m&&((x=l.value)==null?void 0:x.id)===e.id&&((Y=l.value)==null?void 0:Y.type)===r.value||((I=c.value)==null?void 0:I.nodeId)===m&&((F=c.value)==null?void 0:F.id)===e.id&&((L=c.value)==null?void 0:L.type)===r.value}),S=t.toRef(()=>{var q,x,Y;return((q=s.value)==null?void 0:q.nodeId)===m&&((x=s.value)==null?void 0:x.id)===e.id&&((Y=s.value)==null?void 0:Y.type)===r.value}),{handlePointerDown:N,handleClick:P}=qf({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),T=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(q=>{const x=q[`${r.value}Handle`];return q[r.value]!==m?!1:x?x===e.id:!0}):typeof e.connectable=="number"?g.value.filter(q=>{const x=q[`${r.value}Handle`];return q[r.value]!==m?!1:x?x===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):qe(e.connectable)?e.connectable:u.value);t.onMounted(()=>{var q;if(!h.dimensions.width||!h.dimensions.height)return;const x=(q=h.handleBounds[r.value])==null?void 0:q.find(K=>K.id===e.id);if(!d.value||x)return;const Y=d.value.querySelector(".vue-flow__transformationpane");if(!y.value||!_.value||!Y||!e.id)return;const I=y.value.getBoundingClientRect(),F=_.value.getBoundingClientRect(),L=window.getComputedStyle(Y),{m22:Z}=new window.DOMMatrixReadOnly(L.transform),W={id:e.id,position:e.position,x:(F.left-I.left)/Z,y:(F.top-I.top)/Z,type:r.value,nodeId:m,...di(_.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],W]});function M(q){const x=wl(q);T.value&&w.value&&(x&&q.button===0||!x)&&N(q)}function H(q){!m||!s.value&&!w.value||T.value&&P(q)}return n({handleClick:P,handlePointerDown:N,onClick:H,onPointerDown:M}),(q,x)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:_,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":q.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${q.position}`,`vue-flow__handle-${e.id}`,t.unref(f),t.unref(p),r.value,{connectable:T.value,connecting:S.value,connectablestart:w.value,connectableend:b.value,connectionindicator:T.value&&(w.value&&!A.value||b.value&&A.value)}]]),onMousedown:M,onTouchstartPassive:M,onClick:H},[t.renderSlot(q.$slots,"default",{id:q.id})],42,iA))}}),yi=function({sourcePosition:e=be.Bottom,targetPosition:n=be.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(nn,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(nn,{type:"source",position:e,connectable:r,isValidConnection:a})]};yi.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],yi.inheritAttrs=!1,yi.compatConfig={MODE:3};const lA=yi,_i=function({targetPosition:e=be.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(nn,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};_i.props=["targetPosition","label","isValidTargetPos","connectable","data"],_i.inheritAttrs=!1,_i.compatConfig={MODE:3};const sA=_i,bi=function({sourcePosition:e=be.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(nn,{type:"source",position:e,connectable:o,isValidConnection:r})]};bi.props=["sourcePosition","label","isValidSourcePos","connectable","data"],bi.inheritAttrs=!1,bi.compatConfig={MODE:3};const cA=bi,dA=["transform"],uA=["width","height","x","y","rx","ry"],fA=["y"],pA={name:"EdgeText",compatConfig:{MODE:3}},mA=t.defineComponent({...pA,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,uA)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,fA)],8,dA))}}),gA=["id","d","marker-end","marker-start"],hA=["d","stroke-width"],yA={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},wi=t.defineComponent({...yA,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,gA),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,hA)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(mA,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function Wf({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function Xf({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,d=n*.125+a*.375+s*.375+r*.125,u=Math.abs(c-e),f=Math.abs(d-n);return[c,d,u,f]}function ki(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Zf({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case be.Left:l=n-ki(n-r,a),s=o;break;case be.Right:l=n+ki(r-n,a),s=o;break;case be.Top:l=n,s=o-ki(o-i,a);break;case be.Bottom:l=n,s=o+ki(i-o,a);break}return[l,s]}function Jf(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,curvature:s=.25}=e,[c,d]=Zf({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[u,f]=Zf({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,h,y]=Xf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:u,targetControlY:f});return[`M${n},${o} C${c},${d} ${u},${f} ${i},${a}`,p,m,h,y]}function Qf({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case be.Left:case be.Right:a=.5*(n+r),l=o;break;case be.Top:case be.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function ep(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top}=e,[s,c]=Qf({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,u]=Qf({pos:l,x1:i,y1:a,x2:n,y2:o}),[f,p,m,h]=Xf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:u});return[`M${n},${o} C${s},${c} ${d},${u} ${i},${a}`,f,p,m,h]}const tp={[be.Left]:{x:-1,y:0},[be.Right]:{x:1,y:0},[be.Top]:{x:0,y:-1},[be.Bottom]:{x:0,y:1}};function _A({source:e,sourcePosition:n=be.Bottom,target:o}){return n===be.Left||n===be.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function np(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function bA({source:e,sourcePosition:n=be.Bottom,target:o,targetPosition:r=be.Top,center:i,offset:a}){const l=tp[n],s=tp[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},u=_A({source:c,sourcePosition:n,target:d}),f=u.x!==0?"x":"y",p=u[f];let m,h,y;const g={x:0,y:0},_={x:0,y:0},[w,b,A,S]=Wf({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[f]*s[f]===-1){h=i.x??w,y=i.y??b;const P=[{x:h,y:c.y},{x:h,y:d.y}],T=[{x:c.x,y},{x:d.x,y}];l[f]===p?m=f==="x"?P:T:m=f==="x"?T:P}else{const P=[{x:c.x,y:d.y}],T=[{x:d.x,y:c.y}];if(f==="x"?m=l.x===p?T:P:m=l.y===p?P:T,n===r){const Y=Math.abs(e[f]-o[f]);if(Y<=a){const I=Math.min(a-1,a-Y);l[f]===p?g[f]=(c[f]>e[f]?-1:1)*I:_[f]=(d[f]>o[f]?-1:1)*I}}if(n!==r){const Y=f==="x"?"y":"x",I=l[f]===s[Y],F=c[Y]>d[Y],L=c[Y]<d[Y];(l[f]===1&&(!I&&F||I&&L)||l[f]!==1&&(!I&&L||I&&F))&&(m=f==="x"?P:T)}const M={x:c.x+g.x,y:c.y+g.y},H={x:d.x+_.x,y:d.y+_.y},q=Math.max(Math.abs(M.x-m[0].x),Math.abs(H.x-m[0].x)),x=Math.max(Math.abs(M.y-m[0].y),Math.abs(H.y-m[0].y));q>=x?(h=(M.x+H.x)/2,y=m[0].y):(h=m[0].x,y=(M.y+H.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:d.x+_.x,y:d.y+_.y},o],h,y,A,S]}function wA(e,n,o,r){const i=Math.min(np(e,n)/2,np(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const d=e.x<o.x?-1:1,u=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*u}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function Al(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,borderRadius:s=5,centerX:c,centerY:d,offset:u=20}=e,[f,p,m,h,y]=bA({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:u});return[f.reduce((_,w,b)=>{let A;return b>0&&b<f.length-1?A=wA(f[b-1],w,f[b+1],s):A=`${b===0?"M":"L"}${w.x} ${w.y}`,_+=A,_},""),p,m,h,y]}function kA(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Wf({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const CA=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=kA(e);return t.h(wi,{path:o,labelX:r,labelY:i,...n,...e})}}}),op=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Al({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(wi,{path:o,labelX:r,labelY:i,...n,...e})}}}),EA=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(op,{...e,...n,borderRadius:0})}}),NA=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Jf({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(wi,{path:o,labelX:r,labelY:i,...n,...e})}}}),vA=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=ep({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(wi,{path:o,labelX:r,labelY:i,...n,...e})}}}),SA={input:cA,default:lA,output:sA},xA={default:NA,straight:CA,step:EA,smoothstep:op,simplebezier:vA};function AA(e,n,o){const r=t.computed(()=>y=>n.value.get(y)),i=t.computed(()=>y=>o.value.get(y)),a=t.computed(()=>{const y={...xA,...e.edgeTypes},g=Object.keys(y);for(const _ of e.edges)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),l=t.computed(()=>{const y={...SA,...e.nodeTypes},g=Object.keys(y);for(const _ of e.nodes)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),s=t.computed(()=>e.onlyRenderVisibleElements?wf(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const y=[];for(const g of e.edges){const _=n.value.get(g.source),w=n.value.get(g.target);Ix({sourcePos:_.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&y.push(g)}return y}return e.edges}),d=t.computed(()=>[...s.value,...c.value]),u=t.computed(()=>{const y=[];for(const g of e.nodes)g.selected&&y.push(g);return y}),f=t.computed(()=>{const y=[];for(const g of e.edges)g.selected&&y.push(g);return y}),p=t.computed(()=>[...u.value,...f.value]),m=t.computed(()=>{const y=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&y.push(g);return y}),h=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:u,getSelectedEdges:f,getNodesInitialized:m,areNodesInitialized:h}}class En{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??En.instance;return En.instance=r??new En,o&&(o.config.globalProperties.$vueFlowStorage=En.instance),En.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=Yf(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const h=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[h]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=t.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=t.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),d=AA(i,s,c),u=rA(i,s,c);u.setState({...i,...o});const f={...a,...d,...u,...SN(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,f),f}getId(){return`vue-flow-${this.currentId++}`}}function Oe(e){const n=En.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(Uf,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),d=n.create(c,i);s=d,(o??t.effectScope(!0)).run(()=>{t.watch(d.applyDefault,(f,p,m)=>{const h=g=>{d.applyNodeChanges(g)},y=g=>{d.applyEdgeChanges(g)};f?(d.onNodesChange(h),d.onEdgesChange(y)):(d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)),m(()=>{d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)})},{immediate:!0}),Lr(()=>{if(s){const f=n.get(s.id);f?f.$destroy():mi(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(Uf,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Xe(Ge.USEVUEFLOW_OPTIONS))}return s}function IA(e){const{emits:n,dimensions:o}=Oe();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=di(i);(l.width===0||l.height===0)&&n.error(new Xe(Ge.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const PA={name:"UserSelection",compatConfig:{MODE:3}},TA=t.defineComponent({...PA,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),OA=["tabIndex"],$A={name:"NodesSelection",compatConfig:{MODE:3}},BA=t.defineComponent({...$A,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Oe(),s=Hf(),c=t.ref(null),d=Gf({el:c,onStart(h){n.selectionDragStart(h)},onDrag(h){n.selectionDrag(h)},onStop(h){n.selectionDragStop(h)}});t.onMounted(()=>{var h;a.value||(h=c.value)==null||h.focus({preventScroll:!0})});const u=t.computed(()=>bf(r.value)),f=t.computed(()=>({width:`${u.value.width}px`,height:`${u.value.height}px`,top:`${u.value.y}px`,left:`${u.value.x}px`}));function p(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||Jn[h.key]&&(h.preventDefault(),s({x:Jn[h.key].x,y:Jn[h.key].y},h.shiftKey))}return(h,y)=>!t.unref(l)&&u.value.width&&u.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(d)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(f.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,OA)],6)):t.createCommentVNode("",!0)}});function VA(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const RA={name:"Pane",compatConfig:{MODE:3}},DA=t.defineComponent({...RA,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:u,getSelectedNodes:f,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:y,multiSelectionKeyCode:g,multiSelectionActive:_,edgeLookup:w,nodeLookup:b,connectionLookup:A,defaultEdgeOptions:S,connectionStartHandle:N}=Oe(),P=t.ref(null),T=t.ref(new Set),M=t.ref(new Set),H=t.ref(),q=t.toRef(()=>c.value&&(e.isSelecting||a.value)),x=t.toRef(()=>N.value!==null);let Y=!1,I=!1;const F=Uo(y,{actInsideInputWithModifier:!1}),L=Uo(g);t.watch(F,X=>{X&&(p(f.value),m(u.value),d.value=!1)}),t.watch(L,X=>{_.value=X});function Z(X,oe){return ie=>{ie.target===oe&&(X==null||X(ie))}}function W(X){if(Y||x.value){Y=!1;return}i.paneClick(X),l(),d.value=!1}function K(X){X.preventDefault(),X.stopPropagation(),i.paneContextMenu(X)}function U(X){i.paneScroll(X)}function R(X){var oe,ie,pe;if(H.value=(oe=n.value)==null?void 0:oe.getBoundingClientRect(),!c.value||!e.isSelecting||X.button!==0||X.target!==P.value||!H.value)return;(pe=(ie=X.target)==null?void 0:ie.setPointerCapture)==null||pe.call(ie,X.pointerId);const{x:ge,y:J}=VA(X,H.value);I=!0,Y=!1,l(),s.value={width:0,height:0,startX:ge,startY:J,x:ge,y:J},i.selectionStart(X)}function D(X){var oe;if(!H.value||!s.value)return;Y=!0;const{x:ie,y:pe}=Ot(X,H.value),{startX:ge=0,startY:J=0}=s.value,ee={startX:ge,startY:J,x:ie<ge?ie:ge,y:pe<J?pe:J,width:Math.abs(ie-ge),height:Math.abs(pe-J)},re=T.value,ue=M.value;T.value=new Set(wf(o.value,ee,r.value,h.value===ml.Partial,!0).map(C=>C.id)),M.value=new Set;const se=((oe=S.value)==null?void 0:oe.selectable)??!0;for(const C of T.value){const v=A.value.get(C);if(v)for(const{edgeId:k}of v.values()){const E=w.value.get(k);E&&(E.selectable??se)&&M.value.add(k)}}if(!Ff(re,T.value)){const C=en(b.value,T.value,!0);i.nodesChange(C)}if(!Ff(ue,M.value)){const C=en(w.value,M.value);i.edgesChange(C)}s.value=ee,a.value=!0,d.value=!1}function te(X){var oe;X.button!==0||!I||((oe=X.target)==null||oe.releasePointerCapture(X.pointerId),!a.value&&s.value&&X.target===P.value&&W(X),a.value=!1,s.value=null,d.value=T.value.size>0,i.selectionEnd(X),e.selectionKeyPressed&&(Y=!1),I=!1)}return(X,oe)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:P,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:X.isSelecting}]),onClick:oe[0]||(oe[0]=ie=>q.value?void 0:Z(W,P.value)(ie)),onContextmenu:oe[1]||(oe[1]=ie=>Z(K,P.value)(ie)),onWheelPassive:oe[2]||(oe[2]=ie=>Z(U,P.value)(ie)),onPointerenter:oe[3]||(oe[3]=ie=>q.value?void 0:t.unref(i).paneMouseEnter(ie)),onPointerdown:oe[4]||(oe[4]=ie=>q.value?R(ie):t.unref(i).paneMouseMove(ie)),onPointermove:oe[5]||(oe[5]=ie=>q.value?D(ie):t.unref(i).paneMouseMove(ie)),onPointerup:oe[6]||(oe[6]=ie=>q.value?te(ie):void 0),onPointerleave:oe[7]||(oe[7]=ie=>t.unref(i).paneMouseLeave(ie))},[t.renderSlot(X.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(TA,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(f).length?(t.openBlock(),t.createBlock(BA,{key:1})):t.createCommentVNode("",!0)],34))}}),MA={name:"Transform",compatConfig:{MODE:3}},LA=t.defineComponent({...MA,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Oe(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),FA={name:"Viewport",compatConfig:{MODE:3}},UA=t.defineComponent({...FA,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:u,panOnDrag:f,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:y,noWheelClassName:g,noPanClassName:_,emits:w,connectionStartHandle:b,userSelectionActive:A,paneDragging:S,d3Zoom:N,d3Selection:P,d3ZoomHandler:T,viewport:M,viewportRef:H,paneClickDistance:q}=Oe();IA(H);const x=t.shallowRef(!1),Y=t.shallowRef(!1);let I=null,F=!1,L=0,Z={x:0,y:0,zoom:0};const W=Uo(s),K=Uo(l),U=Uo(a),R=t.toRef(()=>(!K.value||K.value&&l.value===!0)&&(W.value||f.value)),D=t.toRef(()=>W.value||c.value),te=t.toRef(()=>K.value||l.value===!0&&R.value!==!0);t.onMounted(()=>{if(!H.value){mi("Viewport element is missing");return}const J=H.value,ee=J.getBoundingClientRect(),re=dx().clickDistance(q.value).scaleExtent([n.value,o.value]).translateExtent(i.value),ue=_t(J).call(re),se=ue.on("wheel.zoom"),C=Zn.translate(r.value.x??0,r.value.y??0).scale(kn(r.value.zoom??1,n.value,o.value)),v=[[0,0],[ee.width,ee.height]],k=re.constrain()(C,v,i.value);re.transform(ue,k),re.wheelDelta(oe),N.value=re,P.value=ue,T.value=se,M.value={x:k.x,y:k.y,zoom:k.k},re.on("start",E=>{var $;if(!E.sourceEvent)return null;L=E.sourceEvent.button,x.value=!0;const B=pe(E.transform);(($=E.sourceEvent)==null?void 0:$.type)==="mousedown"&&(S.value=!0),Z=B,w.viewportChangeStart(B),w.moveStart({event:E,flowTransform:B})}),re.on("end",E=>{if(!E.sourceEvent)return null;if(x.value=!1,S.value=!1,X(R.value,L??0)&&!F&&w.paneContextMenu(E.sourceEvent),F=!1,ie(Z,E.transform)){const $=pe(E.transform);Z=$,w.viewportChangeEnd($),w.moveEnd({event:E,flowTransform:$})}}),re.filter(E=>{var $;const B=U.value||h.value,j=m.value&&E.ctrlKey,O=E.button;if(O===1&&E.type==="mousedown"&&(ge(E,"vue-flow__node")||ge(E,"vue-flow__edge")))return!0;if(!R.value&&!B&&!D.value&&!p.value&&!m.value||A.value||!p.value&&E.type==="dblclick"||ge(E,g.value)&&E.type==="wheel"||ge(E,_.value)&&(E.type!=="wheel"||D.value&&E.type==="wheel"&&!U.value)||!m.value&&E.ctrlKey&&E.type==="wheel"||!B&&!D.value&&!j&&E.type==="wheel")return!1;if(!m&&E.type==="touchstart"&&(($=E.touches)==null?void 0:$.length)>1)return E.preventDefault(),!1;if(!R.value&&(E.type==="mousedown"||E.type==="touchstart")||l.value===!0&&Array.isArray(f.value)&&f.value.includes(0)&&O===0||Array.isArray(f.value)&&!f.value.includes(O)&&(E.type==="mousedown"||E.type==="touchstart"))return!1;const z=Array.isArray(f.value)&&f.value.includes(O)||l.value===!0&&Array.isArray(f.value)&&!f.value.includes(0)||!O||O<=1;return(!E.ctrlKey||W.value||E.type==="wheel")&&z}),t.watch([A,R],()=>{A.value&&!x.value?re.on("zoom",null):A.value||re.on("zoom",E=>{M.value={x:E.transform.x,y:E.transform.y,zoom:E.transform.k};const $=pe(E.transform);F=X(R.value,L??0),w.viewportChange($),w.move({event:E,flowTransform:$})})},{immediate:!0}),t.watch([A,D,d,U,m,y,g],()=>{D.value&&!U.value&&!A.value?ue.on("wheel.zoom",E=>{if(ge(E,g.value))return!1;const $=U.value||h.value,B=m.value&&E.ctrlKey;if(!(!y.value||D.value||$||B))return!1;E.preventDefault(),E.stopImmediatePropagation();const O=ue.property("__zoom").k||1,z=fi();if(!W.value&&E.ctrlKey&&m.value&&z){const me=At(E),Q=oe(E),he=O*2**Q;re.scaleTo(ue,he,me,E);return}const V=E.deltaMode===1?20:1;let de=d.value===Fo.Vertical?0:E.deltaX*V,le=d.value===Fo.Horizontal?0:E.deltaY*V;!z&&E.shiftKey&&d.value!==Fo.Vertical&&!de&&le&&(de=le,le=0),re.translateBy(ue,-(de/O)*u.value,-(le/O)*u.value);const _e=pe(ue.property("__zoom"));I&&clearTimeout(I),Y.value?(w.move({event:E,flowTransform:_e}),w.viewportChange(_e),I=setTimeout(()=>{w.moveEnd({event:E,flowTransform:_e}),w.viewportChangeEnd(_e),Y.value=!1},150)):(Y.value=!0,w.moveStart({event:E,flowTransform:_e}),w.viewportChangeStart(_e))},{passive:!1}):typeof se<"u"&&ue.on("wheel.zoom",function(E,$){const B=!y.value&&E.type==="wheel"&&!E.ctrlKey,j=U.value||h.value,O=m.value&&E.ctrlKey;if(!j&&!c.value&&!O&&E.type==="wheel"||B||ge(E,g.value))return null;E.preventDefault(),se.call(this,E,$)},{passive:!1})},{immediate:!0})});function X(J,ee){return ee===2&&Array.isArray(J)&&J.includes(2)}function oe(J){const ee=J.ctrlKey&&fi()?10:1;return-J.deltaY*(J.deltaMode===1?.05:J.deltaMode?1:.002)*ee}function ie(J,ee){return J.x!==ee.x&&!Number.isNaN(ee.x)||J.y!==ee.y&&!Number.isNaN(ee.y)||J.zoom!==ee.k&&!Number.isNaN(ee.k)}function pe(J){return{x:J.x,y:J.y,zoom:J.k}}function ge(J,ee){return J.target.closest(`.${ee}`)}return(J,ee)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:H,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(DA,{"is-selecting":te.value,"selection-key-pressed":t.unref(K),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(S),draggable:t.unref(f)===!0||Array.isArray(t.unref(f))&&t.unref(f).includes(0)})},{default:t.withCtx(()=>[t.createVNode(LA,null,{default:t.withCtx(()=>[t.renderSlot(J.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),KA=["id"],jA=["id"],GA=["id"],qA={name:"A11yDescriptions",compatConfig:{MODE:3}},zA=t.defineComponent({...qA,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Oe();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(df)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,KA),t.createElementVNode("div",{id:`${t.unref(uf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,jA),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(hx)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,GA))],64))}});function HA(){const e=Oe();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function YA(e,n,o){return o===be.Left?e-n:o===be.Right?e+n:e}function WA(e,n,o){return o===be.Top?e-n:o===be.Bottom?e+n:e}const Il=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=be.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:YA(n,e,r),cy:WA(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};Il.props=["radius","centerX","centerY","position","type"],Il.compatConfig={MODE:3};const rp=Il,XA=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:d,findEdge:u,findNode:f,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:y,edgesUpdatable:g,edgesFocusable:_,hooks:w}=Oe(),b=t.computed(()=>u(e.id)),{emit:A,on:S}=zx(b.value,a),N=t.inject(gi),P=t.getCurrentInstance(),T=t.ref(!1),M=t.ref(!1),H=t.ref(""),q=t.ref(null),x=t.ref("source"),Y=t.ref(null),I=t.toRef(()=>typeof b.value.selectable>"u"?y.value:b.value.selectable),F=t.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),L=t.toRef(()=>typeof b.value.focusable>"u"?_.value:b.value.focusable);t.provide(jx,e.id),t.provide(Gx,Y);const Z=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),W=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),K=t.computed(()=>{const v=b.value.type||"default",k=N==null?void 0:N[`edge-${v}`];if(k)return k;let E=b.value.template??c.value[v];if(typeof E=="string"&&P){const $=Object.keys(P.appContext.components);$&&$.includes(v)&&(E=t.resolveComponent(v,!1))}return E&&typeof E!="string"?E:(a.error(new Xe(Ge.EDGE_TYPE_MISSING,E)),!1)}),{handlePointerDown:U}=qf({nodeId:H,handleId:q,type:x,isValidConnection:p,edgeUpdaterType:x,onEdgeUpdate:te,onEdgeUpdateEnd:X});return()=>{const v=f(b.value.source),k=f(b.value.target),E="pathOptions"in b.value?b.value.pathOptions:{};if(!v&&!k)return a.error(new Xe(Ge.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!v)return a.error(new Xe(Ge.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!k)return a.error(new Xe(Ge.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||v.hidden||k.hidden)return null;let $;r.value===Zt.Strict?$=v.handleBounds.source:$=[...v.handleBounds.source||[],...v.handleBounds.target||[]];const B=Of($,b.value.sourceHandle);let j;r.value===Zt.Strict?j=k.handleBounds.target:j=[...k.handleBounds.target||[],...k.handleBounds.source||[]];const O=Of(j,b.value.targetHandle),z=(B==null?void 0:B.position)||be.Bottom,V=(O==null?void 0:O.position)||be.Top,{x:de,y:le}=Qn(v,B,z),{x:_e,y:me}=Qn(k,O,V);return b.value.sourceX=de,b.value.sourceY=le,b.value.targetX=_e,b.value.targetY=me,t.h("g",{ref:Y,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${K.value===!1?"default":b.value.type||"default"}`,s.value,Z.value,{updating:T.value,selected:b.value.selected,animated:b.value.animated,inactive:!I.value&&!w.value.edgeClick.hasListeners()}],tabIndex:L.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":L.value?`${uf}-${n}`:void 0,"aria-roledescription":"edge",role:L.value?"group":"img",...b.value.domAttributes,onClick:ie,onContextmenu:pe,onDblclick:ge,onMouseenter:J,onMousemove:ee,onMouseleave:re,onKeyDown:L.value?C:void 0},[M.value?null:t.h(K.value===!1?c.value.default:K.value,{id:e.id,sourceNode:v,targetNode:k,source:b.value.source,target:b.value.target,type:b.value.type,updatable:F.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...S},style:W.value,markerStart:`url('#${Go(b.value.markerStart,n)}')`,markerEnd:`url('#${Go(b.value.markerEnd,n)}')`,sourcePosition:z,targetPosition:V,sourceX:de,sourceY:le,targetX:_e,targetY:me,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...E}),[F.value==="source"||F.value===!0?[t.h("g",{onMousedown:ue,onMouseenter:R,onMouseout:D},t.h(rp,{position:z,centerX:de,centerY:le,radius:i.value,type:"source","data-type":"source"}))]:null,F.value==="target"||F.value===!0?[t.h("g",{onMousedown:se,onMouseenter:R,onMouseout:D},t.h(rp,{position:V,centerX:_e,centerY:me,radius:i.value,type:"target","data-type":"target"}))]:null]])};function R(){T.value=!0}function D(){T.value=!1}function te(v,k){A.update({event:v,edge:b.value,connection:k})}function X(v){A.updateEnd({event:v,edge:b.value}),M.value=!1}function oe(v,k){v.button===0&&(M.value=!0,H.value=k?b.value.target:b.value.source,q.value=(k?b.value.targetHandle:b.value.sourceHandle)??null,x.value=k?"target":"source",A.updateStart({event:v,edge:b.value}),U(v))}function ie(v){var k;const E={event:v,edge:b.value};I.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(k=Y.value)==null||k.blur()):o([b.value])),A.click(E)}function pe(v){A.contextMenu({event:v,edge:b.value})}function ge(v){A.doubleClick({event:v,edge:b.value})}function J(v){A.mouseEnter({event:v,edge:b.value})}function ee(v){A.mouseMove({event:v,edge:b.value})}function re(v){A.mouseLeave({event:v,edge:b.value})}function ue(v){oe(v,!0)}function se(v){oe(v,!1)}function C(v){var k;!h.value&&ff.includes(v.key)&&I.value&&(v.key==="Escape"?((k=Y.value)==null||k.blur(),d([u(e.id)])):o([u(e.id)]))}}}),ZA=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:d,viewport:u,findNode:f}=Oe(),p=(e=t.inject(gi))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return f((w=r.value)==null?void 0:w.nodeId)}),h=t.computed(()=>{var w;return f((w=i.value)==null?void 0:w.nodeId)??null}),y=t.computed(()=>({x:(a.value.x-u.value.x)/u.value.zoom,y:(a.value.y-u.value.y)/u.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${Go(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${Go(c.value.markerEnd,n)})`:"");return()=>{var w,b,A;if(!m.value||!r.value)return null;const S=r.value.id,N=r.value.type,P=m.value.handleBounds;let T=(P==null?void 0:P[N])??[];if(o.value===Zt.Loose){const W=(P==null?void 0:P[N==="source"?"target":"source"])??[];T=[...T,...W]}if(!T)return null;const M=(S?T.find(W=>W.id===S):T[0])??null,H=(M==null?void 0:M.position)??be.Top,{x:q,y:x}=Qn(m.value,M,H);let Y=null;h.value&&(o.value===Zt.Strict?Y=((w=h.value.handleBounds[N==="source"?"target":"source"])==null?void 0:w.find(W=>{var K;return W.id===((K=i.value)==null?void 0:K.id)}))||null:Y=((b=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:b.find(W=>{var K;return W.id===((K=i.value)==null?void 0:K.id)}))||null);const I=((A=i.value)==null?void 0:A.position)??(H?Cl[H]:null);if(!H||!I)return null;const F=l.value??c.value.type??wn.Bezier;let L="";const Z={sourceX:q,sourceY:x,sourcePosition:H,targetX:y.value.x,targetY:y.value.y,targetPosition:I};return F===wn.Bezier?[L]=Jf(Z):F===wn.Step?[L]=Al({...Z,borderRadius:0}):F===wn.SmoothStep?[L]=Al(Z):F===wn.SimpleBezier?[L]=ep(Z):L=`M${q},${x} ${y.value.x},${y.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},p?t.h(p,{sourceX:q,sourceY:x,sourcePosition:H,targetX:y.value.x,targetY:y.value.y,targetPosition:I,sourceNode:m.value,sourceHandle:M,targetNode:h.value,targetHandle:Y,markerEnd:_.value,markerStart:g.value,connectionStatus:d.value}):t.h("path",{d:L,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),JA=["id","markerWidth","markerHeight","markerUnits","orient"],QA={name:"MarkerType",compatConfig:{MODE:3}},eI=t.defineComponent({...QA,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(li).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(li).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,JA))}}),tI={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},nI={name:"MarkerDefinitions",compatConfig:{MODE:3}},oI=t.defineComponent({...nI,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Oe(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const u=Go(d,n);l.has(u)||(typeof d=="object"?s.push({...d,id:u,color:d.color||i.value}):s.push({id:u,color:i.value,type:d}),l.add(u))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const u of[d.markerStart,d.markerEnd])c(u);return s.sort((d,u)=>d.id.localeCompare(u.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",tI,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(eI,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),rI={name:"Edges",compatConfig:{MODE:3}},iI=t.defineComponent({...rI,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Oe();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(oI),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(Px)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(XA),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(ZA))],64))}}),aI=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:d,onUpdateNodeInternals:u,getNodeTypes:f,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:y,snapToGrid:g,snapGrid:_,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:A,nodesConnectable:S,nodesFocusable:N,hooks:P}=Oe(),T=t.ref(null);t.provide(jf,T),t.provide(Kf,e.id);const M=t.inject(gi),H=t.getCurrentInstance(),q=Hf(),{node:x,parentNode:Y}=zf(e.id),{emit:I,on:F}=Xx(x,l),L=t.toRef(()=>typeof x.draggable>"u"?b.value:x.draggable),Z=t.toRef(()=>typeof x.selectable>"u"?A.value:x.selectable),W=t.toRef(()=>typeof x.connectable>"u"?S.value:x.connectable),K=t.toRef(()=>typeof x.focusable>"u"?N.value:x.focusable),U=t.computed(()=>Z.value||L.value||P.value.nodeClick.hasListeners()||P.value.nodeDoubleClick.hasListeners()||P.value.nodeMouseEnter.hasListeners()||P.value.nodeMouseMove.hasListeners()||P.value.nodeMouseLeave.hasListeners()),R=t.toRef(()=>!!x.dimensions.width&&!!x.dimensions.height),D=t.computed(()=>{const k=x.type||"default",E=M==null?void 0:M[`node-${k}`];if(E)return E;let $=x.template||f.value[k];if(typeof $=="string"&&H){const B=Object.keys(H.appContext.components);B&&B.includes(k)&&($=t.resolveComponent(k,!1))}return $&&typeof $!="string"?$:(l.error(new Xe(Ge.NODE_TYPE_MISSING,$)),!1)}),te=Gf({id:e.id,el:T,disabled:()=>!L.value,selectable:Z,dragHandle:()=>x.dragHandle,onStart(k){I.dragStart(k)},onDrag(k){I.drag(k)},onStop(k){I.dragStop(k)},onClick(k){C(k)}}),X=t.computed(()=>x.class instanceof Function?x.class(x):x.class),oe=t.computed(()=>{const k=(x.style instanceof Function?x.style(x):x.style)||{},E=x.width instanceof Function?x.width(x):x.width,$=x.height instanceof Function?x.height(x):x.height;return!k.width&&E&&(k.width=typeof E=="string"?E:`${E}px`),!k.height&&$&&(k.height=typeof $=="string"?$:`${$}px`),k}),ie=t.toRef(()=>Number(x.zIndex??oe.value.zIndex??0));return u(k=>{(k.includes(e.id)||!k.length)&&ge()}),t.onMounted(()=>{t.watch(()=>x.hidden,(k=!1,E,$)=>{!k&&T.value&&(e.resizeObserver.observe(T.value),$(()=>{T.value&&e.resizeObserver.unobserve(T.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>x.type,()=>x.sourcePosition,()=>x.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:T.value,forceUpdate:!0}])})}),t.watch([()=>x.position.x,()=>x.position.y,()=>{var k;return(k=Y.value)==null?void 0:k.computedPosition.x},()=>{var k;return(k=Y.value)==null?void 0:k.computedPosition.y},()=>{var k;return(k=Y.value)==null?void 0:k.computedPosition.z},ie,()=>x.selected,()=>x.dimensions.height,()=>x.dimensions.width,()=>{var k;return(k=Y.value)==null?void 0:k.dimensions.height},()=>{var k;return(k=Y.value)==null?void 0:k.dimensions.width}],([k,E,$,B,j,O])=>{const z={x:k,y:E,z:O+(m.value&&x.selected?1e3:0)};typeof $<"u"&&typeof B<"u"?x.computedPosition=Nx({x:$,y:B,z:j},z):x.computedPosition=z},{flush:"post",immediate:!0}),t.watch([()=>x.extent,p],([k,E],[$,B])=>{(k!==$||E!==B)&&pe()}),x.extent==="parent"||typeof x.extent=="object"&&"range"in x.extent&&x.extent.range==="parent"?Ha(()=>R).toBe(!0).then(pe):pe(),()=>x.hidden?null:t.h("div",{ref:T,"data-id":x.id,class:["vue-flow__node",`vue-flow__node-${D.value===!1?"default":x.type||"default"}`,{[o.value]:L.value,dragging:te==null?void 0:te.value,draggable:L.value,selected:x.selected,selectable:Z.value,parent:x.isParent},X.value],style:{visibility:R.value?"visible":"hidden",zIndex:x.computedPosition.z??ie.value,transform:`translate(${x.computedPosition.x}px,${x.computedPosition.y}px)`,pointerEvents:U.value?"all":"none",...oe.value},tabIndex:K.value?0:void 0,role:K.value?"group":void 0,"aria-describedby":h.value?void 0:`${df}-${n}`,"aria-label":x.ariaLabel,"aria-roledescription":"node",...x.domAttributes,onMouseenter:J,onMousemove:ee,onMouseleave:re,onContextmenu:ue,onClick:C,onDblclick:se,onKeydown:v},[t.h(D.value===!1?f.value.default:D.value,{id:x.id,type:x.type,data:x.data,events:{...x.events,...F},selected:x.selected,resizing:x.resizing,dragging:te.value,connectable:W.value,position:x.computedPosition,dimensions:x.dimensions,isValidTargetPos:x.isValidTargetPos,isValidSourcePos:x.isValidSourcePos,parent:x.parentNode,parentNodeId:x.parentNode,zIndex:x.computedPosition.z??ie.value,targetPosition:x.targetPosition,sourcePosition:x.sourcePosition,label:x.label,dragHandle:x.dragHandle,onUpdateNodeInternals:ge})]);function pe(){const k=x.computedPosition,{computedPosition:E,position:$}=bl(x,g.value?pi(k,_.value):k,l.error,p.value,Y.value);(x.computedPosition.x!==E.x||x.computedPosition.y!==E.y)&&(x.computedPosition={...x.computedPosition,...E}),(x.position.x!==$.x||x.position.y!==$.y)&&(x.position=$)}function ge(){T.value&&d([{id:e.id,nodeElement:T.value,forceUpdate:!0}])}function J(k){te!=null&&te.value||I.mouseEnter({event:k,node:x})}function ee(k){te!=null&&te.value||I.mouseMove({event:k,node:x})}function re(k){te!=null&&te.value||I.mouseLeave({event:k,node:x})}function ue(k){return I.contextMenu({event:k,node:x})}function se(k){return I.doubleClick({event:k,node:x})}function C(k){Z.value&&(!r.value||!L.value||w.value>0)&&El(x,a.value,c,s,i,!1,T.value),I.click({event:k,node:x})}function v(k){if(!(gl(k)||h.value))if(ff.includes(k.key)&&Z.value){const E=k.key==="Escape";El(x,a.value,c,s,i,E,T.value)}else L.value&&x.selected&&Jn[k.key]&&(k.preventDefault(),y.value=`Moved selected node ${k.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~x.position.x}, y: ${~~x.position.y}`,q({x:Jn[k.key].x,y:Jn[k.key].y},k.shiftKey))}}});function lI(e={includeHiddenNodes:!1}){const{nodes:n}=Oe();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const sI={class:"vue-flow__nodes vue-flow__container"},cI={name:"Nodes",compatConfig:{MODE:3}},dI=t.defineComponent({...cI,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Oe(),i=lI(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",sI,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,u,f)=>{const p=[c.id];if(f&&f.key===c.id&&t.isMemoSame(f,p))return f;const m=(t.openBlock(),t.createBlock(t.unref(aI),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):t.createCommentVNode("",!0)]))}});function uI(){const{emits:e}=Oe();t.onMounted(()=>{if(Rf()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Xe(Ge.MISSING_STYLES))}})}const fI=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),pI={name:"VueFlow",compatConfig:{MODE:3}},ip=t.defineComponent({...pI,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=Ya(r,"modelValue",o),l=Ya(r,"nodes",o),s=Ya(r,"edges",o),c=Oe(r),d=eA({modelValue:a,nodes:l,edges:s},r,c);return nA(o,c.hooks),HA(),uI(),t.provide(gi,i),t.onUnmounted(()=>{d()}),n(c),(u,f)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(UA,null,{default:t.withCtx(()=>[t.createVNode(iI),fI,t.createVNode(dI),t.renderSlot(u.$slots,"zoom-pane")]),_:3}),t.renderSlot(u.$slots,"default"),t.createVNode(zA)],512))}}),mI={name:"Panel",compatConfig:{MODE:3}},gI=t.defineComponent({...mI,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Oe(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var Gt=(e=>(e.Lines="lines",e.Dots="dots",e))(Gt||{});const ap=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},lp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Gt.Lines+"",Gt.Dots+"";const hI={[Gt.Dots]:"#81818a",[Gt.Lines]:"#eee"},yI=["id","x","y","width","height","patternTransform"],_I={key:2,height:"100",width:"100"},bI=["fill"],wI=["x","y","fill"],kI={name:"Background",compatConfig:{MODE:3}},CI=t.defineComponent({...kI,props:{id:{},variant:{default:()=>Gt.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=Oe(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],u=e.size*l,[f,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[f*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:u}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||hI[e.variant||Gt.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(Gt).Lines?(t.openBlock(),t.createBlock(t.unref(ap),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(Gt).Dots?(t.openBlock(),t.createBlock(t.unref(lp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",_I,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,bI)])):t.createCommentVNode("",!0)])],8,yI)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,wI),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),EI={name:"ControlButton",compatConfig:{MODE:3}},NI=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},vI={class:"vue-flow__controls-button"};function SI(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",vI,[t.renderSlot(e.$slots,"default")])}const qo=NI(EI,[["render",SI]]),xI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},AI=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function II(e,n){return t.openBlock(),t.createElementBlock("svg",xI,AI)}const PI={render:II},TI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},OI=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function $I(e,n){return t.openBlock(),t.createElementBlock("svg",TI,OI)}const BI={render:$I},VI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},RI=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function DI(e,n){return t.openBlock(),t.createElementBlock("svg",VI,RI)}const MI={render:DI},LI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},FI=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function UI(e,n){return t.openBlock(),t.createElementBlock("svg",LI,FI)}const KI={render:UI},jI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},GI=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function qI(e,n){return t.openBlock(),t.createElementBlock("svg",jI,GI)}const zI={render:qI},HI={name:"Controls",compatConfig:{MODE:3}},YI=t.defineComponent({...HI,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>sf.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:d,minZoom:u,maxZoom:f}=Oe(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=u.value),h=t.toRef(()=>d.value.zoom>=f.value);function y(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function w(){a(!p.value),n("interactionChange",!p.value)}return(b,A)=>(t.openBlock(),t.createBlock(t.unref(gI),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(qo,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:y},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(PI))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(qo,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(BI))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(qo,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(MI))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(qo,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[p.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(zI))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(KI))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),zo={padding:80,gaps:{nodes:40,edges:80,ranks:40}},WI=1600,XI=1.2,ZI=0,JI=200,sp=Symbol("confirm-modal"),eo="{key}",Nn={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},Ci=Object.keys(Nn).filter(e=>e.includes(eo)).map(e=>e.replace(eo,""));function Pl(e){if(!e||!Yo(e))return;const n=Ci.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(eo,"")}function Ho(e){if(!e)return null;const n=Ci.find(o=>e.startsWith(o));return n||e}function Yo(e){return e?Ci.some(n=>e.startsWith(n)):!1}function cp(e){return e?Yo(e)?Ho(e)+eo:e:null}function Tl(e){var o;if(!e)return!1;const n=cp(e);return n?((o=Nn[n])==null?void 0:o.readable)??!1:!1}function Ol(e){var o;if(!e)return!1;const n=cp(e);return n?((o=Nn[n])==null?void 0:o.writable)??!1:!1}function QI(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var eP="\0",vn="\0",dp="";let tP=class{constructor(n){He(this,"_isDirected",!0);He(this,"_isMultigraph",!1);He(this,"_isCompound",!1);He(this,"_label");He(this,"_defaultNodeLabelFn",()=>{});He(this,"_defaultEdgeLabelFn",()=>{});He(this,"_nodes",{});He(this,"_in",{});He(this,"_preds",{});He(this,"_out",{});He(this,"_sucs",{});He(this,"_edgeObjs",{});He(this,"_edgeLabels",{});He(this,"_nodeCount",0);He(this,"_edgeCount",0);He(this,"_parent");He(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[vn]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=vn,this._children[n]={},this._children[vn][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=vn;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==vn)return o}}children(n=vn){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===vn)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=Wo(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=nP(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,up(this._preds[o],n),up(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?$l(this._isDirected,arguments[0]):Wo(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?$l(this._isDirected,arguments[0]):Wo(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?$l(this._isDirected,arguments[0]):Wo(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],fp(this._preds[o],n),fp(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function up(e,n){e[n]?e[n]++:e[n]=1}function fp(e,n){--e[n]||delete e[n]}function Wo(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+dp+a+dp+(r===void 0?eP:r)}function nP(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function $l(e,n){return Wo(e,n.v,n.w,n.name)}var Bl=tP,oP="2.2.4",rP={Graph:Bl,version:oP},iP=Bl,aP={write:lP,read:dP};function lP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:sP(e),edges:cP(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function sP(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function cP(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function dP(e){var n=new iP(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var uP=fP;function fP(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var pp=class{constructor(){He(this,"_arr",[]);He(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},pP=pp,mp=gP,mP=()=>1;function gP(e,n,o,r){return hP(e,String(n),o||mP,r||function(i){return e.outEdges(i)})}function hP(e,n,o,r){var i={},a=new pP,l,s,c=function(d){var u=d.v!==l?d.v:d.w,f=i[u],p=o(d),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<f.distance&&(f.distance=m,f.predecessor=l,a.decrease(u,m))};for(e.nodes().forEach(function(d){var u=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:u},a.add(d,u)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var yP=mp,_P=bP;function bP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=yP(e,i,n,o),r},{})}var gp=wP;function wP(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(u){Object.hasOwn(r,u)?r[u].onStack&&(s.lowlink=Math.min(s.lowlink,r[u].index)):(a(u),s.lowlink=Math.min(s.lowlink,r[u].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var kP=gp,CP=EP;function EP(e){return kP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var NP=SP,vP=()=>1;function SP(e,n,o){return xP(e,n||vP,o||function(r){return e.outEdges(r)})}function xP(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var u=c[a],f=l[d],p=c[d],m=u.distance+f.distance;m<p.distance&&(p.distance=m,p.predecessor=f.predecessor)})})}),r}function hp(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new Vl;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new Vl;return r}class Vl extends Error{constructor(){super(...arguments)}}var yp=hp;hp.CycleException=Vl;var _p=yp,AP=IP;function IP(e){try{_p(e)}catch(n){if(n instanceof _p.CycleException)return!1;throw n}return!0}var bp=PP;function PP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?TP:OP,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function TP(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),wp(n(a[0]),l=>i.push([l,!1])))}}function OP(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),wp(n(a),l=>i.push(l)))}}function wp(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var $P=bp,BP=VP;function VP(e,n){return $P(e,n,"post")}var RP=bp,DP=MP;function MP(e,n){return RP(e,n,"pre")}var LP=Bl,FP=pp,UP=KP;function KP(e,n){var o=new LP,r={},i=new FP,a;function l(c){var d=c.v===a?c.w:c.v,u=i.priority(d);if(u!==void 0){var f=n(c);f<u&&(r[d]=a,i.decrease(d,f))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var jP={components:uP,dijkstra:mp,dijkstraAll:_P,findCycles:CP,floydWarshall:NP,isAcyclic:AP,postorder:BP,preorder:DP,prim:UP,tarjan:gp,topsort:yp},kp=rP,kt={Graph:kp.Graph,json:aP,alg:jP,version:kp.version};let GP=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return Cp(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&Cp(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,qP)),r=r._prev;return"["+n.join(", ")+"]"}};function Cp(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function qP(e,n){if(e!=="_next"&&e!=="_prev")return n}var zP=GP;let HP=kt.Graph,YP=zP;var WP=ZP;let XP=()=>1;function ZP(e,n){if(e.nodeCount()<=1)return[];let o=QP(e,n||XP);return JP(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function JP(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Rl(e,n,o,l);for(;l=i.dequeue();)Rl(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(Rl(e,n,o,l,!0));break}}}return r}function Rl(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,Dl(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Dl(n,o,d)}),e.removeNode(r.v),a}function QP(e,n){let o=new HP,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=n(s),u=c+d;o.setEdge(s.v,s.w,u),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=eT(i+r+3).map(()=>new YP),l=r+1;return o.nodes().forEach(s=>{Dl(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Dl(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function eT(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let Ep=kt.Graph;var ze={addBorderNode:cT,addDummyNode:Np,applyWithChunking:Ei,asNonCompoundGraph:nT,buildLayerMatrix:aT,intersectRect:iT,mapValues:hT,maxRank:Sp,normalizeRanks:lT,notime:pT,partition:uT,pick:gT,predecessorWeights:rT,range:Ap,removeEmptyRanks:sT,simplify:tT,successorWeights:oT,time:fT,uniqueId:xp,zipObject:Ml};function Np(e,n,o,r){for(var i=r;e.hasNode(i);)i=xp(r);return o.dummy=n,e.setNode(i,o),i}function tT(e){let n=new Ep().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function nT(e){let n=new Ep({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function oT(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return Ml(e.nodes(),n)}function rT(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return Ml(e.nodes(),n)}function iT(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function aT(e){let n=Ap(Sp(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function lT(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=Ei(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function sT(e){let n=e.nodes().map(l=>e.node(l).rank),o=Ei(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function cT(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),Np(e,"border",i,n)}function dT(e,n=vp){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const vp=65535;function Ei(e,n){if(n.length>vp){const o=dT(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function Sp(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return Ei(Math.max,o)}function uT(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function fT(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function pT(e,n){return n()}let mT=0;function xp(e){var n=++mT;return e+(""+n)}function Ap(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function gT(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function hT(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function Ml(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let yT=WP,_T=ze.uniqueId;var bT={run:wT,undo:CT};function wT(e){(e.graph().acyclicer==="greedy"?yT(e,o(e)):kT(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,_T("rev"))});function o(r){return i=>r.edge(i).weight}}function kT(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function CT(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let ET=ze;var NT={run:vT,undo:xT};function vT(e){e.graph().dummyChains=[],e.edges().forEach(n=>ST(e,n))}function ST(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let d,u,f;for(f=0,++r;r<a;++f,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=ET.addDummyNode(e,"edge",u,"_d"),r===c&&(u.width=s.width,u.height=s.height,u.dummy="edge-label",u.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),f===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function xT(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:AT}=ze;var Ni={longestPath:IT,slack:PT};function IT(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=AT(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function PT(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var TT=kt.Graph,vi=Ni.slack,Ip=OT;function OT(e){var n=new TT({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;$T(n,e)<r;)i=BT(n,e),a=n.hasNode(i.v)?vi(e,i):-vi(e,i),VT(n,e,a);return n}function $T(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!vi(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function BT(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=vi(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function VT(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var RT=Ip,Pp=Ni.slack,DT=Ni.longestPath,MT=kt.alg.preorder,LT=kt.alg.postorder,FT=ze.simplify,UT=Sn;Sn.initLowLimValues=Fl,Sn.initCutValues=Ll,Sn.calcCutValue=Tp,Sn.leaveEdge=$p,Sn.enterEdge=Bp,Sn.exchangeEdges=Vp;function Sn(e){e=FT(e),DT(e);var n=RT(e);Fl(n),Ll(n,e);for(var o,r;o=$p(n);)r=Bp(n,e,o),Vp(n,e,o,r)}function Ll(e,n){var o=LT(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>KT(e,n,r))}function KT(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Tp(e,n,o)}function Tp(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var d=c.v===o,u=d?c.w:c.v;if(u!==i){var f=d===a,p=n.edge(c).weight;if(s+=f?p:-p,GT(e,o,u)){var m=e.edge(o,u).cutvalue;s+=f?-m:m}}}),s}function Fl(e,n){arguments.length<2&&(n=e.nodes()[0]),Op(e,{},1,n)}function Op(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=Op(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function $p(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function Bp(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=n.edges().filter(u=>c===Rp(e,e.node(u.v),s)&&c!==Rp(e,e.node(u.w),s));return d.reduce((u,f)=>Pp(n,f)<Pp(n,u)?f:u)}function Vp(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Fl(e),Ll(e,n),jT(e,n)}function jT(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=MT(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function GT(e,n,o){return e.hasEdge(n,o)}function Rp(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var qT=Ni,Dp=qT.longestPath,zT=Ip,HT=UT,YT=WT;function WT(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":Mp(e);break;case"tight-tree":ZT(e);break;case"longest-path":XT(e);break;case"none":break;default:Mp(e)}}var XT=Dp;function ZT(e){Dp(e),zT(e)}function Mp(e){HT(e)}var JT=QT;function QT(e){let n=tO(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=eO(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],u=!0;for(;o!==i.w;){if(r=e.node(o),u){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(u=!1)}if(!u){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function eO(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function tO(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let Si=ze;var nO={run:oO,cleanup:aO};function oO(e){let n=Si.addDummyNode(e,"root",{},"_root"),o=rO(e),r=Object.values(o),i=Si.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=iO(e)+1;e.children().forEach(s=>Lp(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function Lp(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=Si.addBorderNode(e,"_bt"),d=Si.addBorderNode(e,"_bb"),u=e.node(l);e.setParent(c,l),u.borderTop=c,e.setParent(d,l),u.borderBottom=d,s.forEach(f=>{Lp(e,n,o,r,i,a,f);let p=e.node(f),m=p.borderTop?p.borderTop:f,h=p.borderBottom?p.borderBottom:f,y=p.borderTop?r:2*r,g=m!==h?1:i-a[l]+1;e.setEdge(c,m,{weight:y,minlen:g,nestingEdge:!0}),e.setEdge(h,d,{weight:y,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function rO(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function iO(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function aO(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let lO=ze;var sO=cO;function cO(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)Fp(e,"borderLeft","_bl",o,i,a),Fp(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function Fp(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=lO.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var dO={adjust:uO,undo:fO};function uO(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Up(e)}function fO(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&pO(e),(n==="lr"||n==="rl")&&(mO(e),Up(e))}function Up(e){e.nodes().forEach(n=>Kp(e.node(n))),e.edges().forEach(n=>Kp(e.edge(n)))}function Kp(e){let n=e.width;e.width=e.height,e.height=n}function pO(e){e.nodes().forEach(n=>Ul(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Ul),Object.hasOwn(o,"y")&&Ul(o)})}function Ul(e){e.y=-e.y}function mO(e){e.nodes().forEach(n=>Kl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Kl),Object.hasOwn(o,"x")&&Kl(o)})}function Kl(e){let n=e.x;e.x=e.y,e.y=n}let jp=ze;var gO=hO;function hO(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=jp.applyWithChunking(Math.max,r),a=jp.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let yO=ze.zipObject;var _O=bO;function bO(e,n){let o=0;for(let r=1;r<n.length;++r)o+=wO(e,n[r-1],n[r]);return o}function wO(e,n,o){let r=yO(o,o.map((d,u)=>u)),i=n.flatMap(d=>e.outEdges(d).map(u=>({pos:r[u.w],weight:e.edge(u).weight})).sort((u,f)=>u.pos-f.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let u=d.pos+a;s[u]+=d.weight;let f=0;for(;u>0;)u%2&&(f+=s[u+1]),u=u-1>>1,s[u]+=d.weight;c+=d.weight*f}),c}var kO=CO;function CO(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let EO=ze;var NO=vO;function vO(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return SO(r)}function SO(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&xO(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>EO.pick(i,["vs","i","barycenter","weight"]))}function xO(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let AO=ze;var IO=PO;function PO(e,n){let o=AO.partition(e,u=>Object.hasOwn(u,"barycenter")),r=o.lhs,i=o.rhs.sort((u,f)=>f.i-u.i),a=[],l=0,s=0,c=0;r.sort(TO(!!n)),c=Gp(a,i,c),r.forEach(u=>{c+=u.vs.length,a.push(u.vs),l+=u.barycenter*u.weight,s+=u.weight,c=Gp(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Gp(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function TO(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let OO=kO,$O=NO,BO=IO;var VO=qp;function qp(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let d=OO(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=qp(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&DO(p,m)}});let u=$O(d,o);RO(u,c);let f=BO(u,r);if(l&&(f.vs=[l,f.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+p.order+m.order)/(f.weight+2),f.weight+=2}return f}function RO(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function DO(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let MO=kt.Graph,LO=ze;var FO=UO;function UO(e,n,o){let r=KO(e),i=new MO({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,u=i.edge(d,a),f=u!==void 0?u.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+f})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function KO(e){for(var n;e.hasNode(n=LO.uniqueId("_root")););return n}var jO=GO;function GO(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let qO=gO,zO=_O,HO=VO,YO=FO,WO=jO,XO=kt.Graph,xi=ze;var ZO=zp;function zp(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,zp);return}let o=xi.maxRank(e),r=Hp(e,xi.range(1,o+1),"inEdges"),i=Hp(e,xi.range(o-1,-1,-1),"outEdges"),a=qO(e);if(Yp(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){JO(c%2?r:i,c%4>=2),a=xi.buildLayerMatrix(e);let u=zO(e,a);u<l&&(d=0,s=Object.assign({},a),l=u)}Yp(e,s)}function Hp(e,n,o){return n.map(function(r){return YO(e,r,o)})}function JO(e,n){let o=new XO;e.forEach(function(r){let i=r.graph().root,a=HO(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),WO(r,o,a.vs)})}function Yp(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let QO=kt.Graph,qt=ze;var e$={positionX:u$};function t$(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((u,f)=>{let p=o$(e,u),m=p?e.node(p).order:c;(p||u===d)&&(a.slice(s,f+1).forEach(h=>{e.predecessors(h).forEach(y=>{let g=e.node(y),_=g.order;(_<l||m<_)&&!(g.dummy&&e.node(h).dummy)&&Wp(o,y,h)})}),s=f+1,l=m)}),a}return n.length&&n.reduce(r),o}function n$(e,n){let o={};function r(a,l,s,c,d){let u;qt.range(l,s).forEach(f=>{u=a[f],e.node(u).dummy&&e.predecessors(u).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&Wp(o,p,u)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((u,f)=>{if(e.node(u).dummy==="border"){let p=e.predecessors(u);p.length&&(c=e.node(p[0]).order,r(l,d,f,s,c),d=f,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function o$(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function Wp(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function r$(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function i$(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),n.forEach(s=>{let c=-1;s.forEach(d=>{let u=r(d);if(u.length){u=u.sort((p,m)=>l[p]-l[m]);let f=(u.length-1)/2;for(let p=Math.floor(f),m=Math.ceil(f);p<=m;++p){let h=u[p];a[d]===d&&c<l[h]&&!r$(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function a$(e,n,o,r,i){let a={},l=l$(e,n,o,i),s=i?"borderLeft":"borderRight";function c(f,p){let m=l.nodes(),h=m.pop(),y={};for(;h;)y[h]?f(h):(y[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(f){a[f]=l.inEdges(f).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function u(f){let p=l.outEdges(f).reduce((h,y)=>Math.min(h,a[y.w]-l.edge(y)),Number.POSITIVE_INFINITY),m=e.node(f);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[f]=Math.max(a[f],p))}return c(d,l.predecessors.bind(l)),c(u,l.successors.bind(l)),Object.keys(r).forEach(f=>a[f]=a[o[f]]),a}function l$(e,n,o,r){let i=new QO,a=e.graph(),l=f$(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let u=o[d];if(i.setNode(u),c){var f=o[c],p=i.edge(f,u);i.setEdge(f,u,Math.max(l(e,d,c),p||0))}c=d})}),i}function s$(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=p$(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function c$(e,n){let o=Object.values(n),r=qt.applyWithChunking(Math.min,o),i=qt.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let d=Object.values(c),u=r-qt.applyWithChunking(Math.min,d);l!=="l"&&(u=i-qt.applyWithChunking(Math.max,d)),u&&(e[s]=qt.mapValues(c,f=>f+u))})})}function d$(e,n){return qt.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function u$(e){let n=qt.buildLayerMatrix(e),o=Object.assign(t$(e,n),n$(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(f=>Object.values(f).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=i$(e,i,o,c),u=a$(e,i,d.root,d.align,s==="r");s==="r"&&(u=qt.mapValues(u,f=>-f)),r[l+s]=u})});let a=s$(e,r);return c$(r,a),d$(r,e.graph().align)}function f$(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function p$(e,n){return e.node(n).width}let Xp=ze,m$=e$.positionX;var g$=h$;function h$(e){e=Xp.asNonCompoundGraph(e),y$(e),Object.entries(m$(e)).forEach(([n,o])=>e.node(n).x=o)}function y$(e){let n=Xp.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let Zp=bT,Jp=NT,_$=YT,b$=ze.normalizeRanks,w$=JT,k$=ze.removeEmptyRanks,Qp=nO,C$=sO,em=dO,E$=ZO,N$=g$,mt=ze,v$=kt.Graph;var S$=x$;function x$(e,n){let o=n&&n.debugTiming?mt.time:mt.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>D$(e));o(" runLayout",()=>A$(r,o,n)),o(" updateInputGraph",()=>I$(e,r))})}function A$(e,n,o){n(" makeSpaceForEdgeLabels",()=>M$(e)),n(" removeSelfEdges",()=>H$(e)),n(" acyclic",()=>Zp.run(e)),n(" nestingGraph.run",()=>Qp.run(e)),n(" rank",()=>_$(mt.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>L$(e)),n(" removeEmptyRanks",()=>k$(e)),n(" nestingGraph.cleanup",()=>Qp.cleanup(e)),n(" normalizeRanks",()=>b$(e)),n(" assignRankMinMax",()=>F$(e)),n(" removeEdgeLabelProxies",()=>U$(e)),n(" normalize.run",()=>Jp.run(e)),n(" parentDummyChains",()=>w$(e)),n(" addBorderSegments",()=>C$(e)),n(" order",()=>E$(e,o)),n(" insertSelfEdges",()=>Y$(e)),n(" adjustCoordinateSystem",()=>em.adjust(e)),n(" position",()=>N$(e)),n(" positionSelfEdges",()=>W$(e)),n(" removeBorderNodes",()=>z$(e)),n(" normalize.undo",()=>Jp.undo(e)),n(" fixupEdgeLabelCoords",()=>G$(e)),n(" undoCoordinateSystem",()=>em.undo(e)),n(" translateGraph",()=>K$(e)),n(" assignNodeIntersects",()=>j$(e)),n(" reversePoints",()=>q$(e)),n(" acyclic.undo",()=>Zp.undo(e))}function I$(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let P$=["nodesep","edgesep","ranksep","marginx","marginy"],T$={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O$=["acyclicer","ranker","rankdir","align"],$$=["width","height","rank"],tm={width:0,height:0},B$=["minlen","weight","width","height","labeloffset"],V$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},R$=["labelpos"];function D$(e){let n=new v$({multigraph:!0,compound:!0}),o=Gl(e.graph());return n.setGraph(Object.assign({},T$,jl(o,P$),mt.pick(o,O$))),e.nodes().forEach(r=>{let i=Gl(e.node(r));const a=jl(i,$$);Object.keys(tm).forEach(l=>{a[l]===void 0&&(a[l]=tm[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Gl(e.edge(r));n.setEdge(r,Object.assign({},V$,jl(i,B$),mt.pick(i,R$)))}),n}function M$(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function L$(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};mt.addDummyNode(e,"edge-proxy",a,"_ep")}})}function F$(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function U$(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function K$(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let u=d.x,f=d.y,p=d.width,m=d.height;n=Math.min(n,u-p/2),o=Math.max(o,u+p/2),r=Math.min(r,f-m/2),i=Math.max(i,f+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let u=e.edge(d);Object.hasOwn(u,"x")&&c(u)}),n-=l,r-=s,e.nodes().forEach(d=>{let u=e.node(d);u.x-=n,u.y-=r}),e.edges().forEach(d=>{let u=e.edge(d);u.points.forEach(f=>{f.x-=n,f.y-=r}),Object.hasOwn(u,"x")&&(u.x-=n),Object.hasOwn(u,"y")&&(u.y-=r)}),a.width=o-n+l,a.height=i-r+s}function j$(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(mt.intersectRect(r,a)),o.points.push(mt.intersectRect(i,l))})}function G$(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function q$(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function z$(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function H$(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function Y$(e){var n=mt.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{mt.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function W$(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function jl(e,n){return mt.mapValues(mt.pick(e,n),Number)}function Gl(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let X$=ze,Z$=kt.Graph;var J$={debugOrdering:Q$};function Q$(e){let n=X$.buildLayerMatrix(e),o=new Z$({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var eB="1.1.5",tB={graphlib:kt,layout:S$,debug:J$,util:{time:ze.time,notime:ze.notime},version:eB};const nm=QI(tB);function nB(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(Cc,e);return o=>n(o)}function Ai(e,n,o){const r=n?Xt(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function Xo(e,n){const o=n(e.source),r=n(e.target);return[Ai(o,e.sourceField,"output"),Ai(r,e.targetField,"input")]}function ql(e,n,o,r,i){const a=i(e),l=i(o);return[Ai(a,n,"output"),Ai(l,r,"input")]}function oB(e){t.provide(sp,e)}function om(){return t.inject(sp,void 0)}function rB(){const e=om();if(!e)throw new Error("Confirm modal not provided");return e}function rm(e){const n=e.match(/^(input|output)s@(.*)$/);if(n)return{io:n[1],field:n[2]}}function iB(){const e={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};return[r=>{e.x1=Math.min(e.x1,r.x),e.y1=Math.min(e.y1,r.y),e.x2=Math.max(e.x2,r.x+r.width),e.y2=Math.max(e.y2,r.y+r.height)},()=>{const r={...e};return r.x1>r.x2&&(r.x1=r.x2=0),r.y1>r.y2&&(r.y1=r.y2=0),r}]}const aB={default:pk,hover:gk,selected:mk};let im,zl;function Ii(e){const n=e.id===im?"selected":e.id===zl?"hover":"default",o=aB[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o};return{...e,style:{...e.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:n==="default"?void 0:1}}const[lB,sB]=Ue.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=zo.padding,gaps:s=zo.gaps}=r,{nodes:c=zo.gaps.nodes,edges:d=zo.gaps.edges,ranks:u=zo.gaps.ranks}=s,f=Oe(o),p=it(),m=om(),h=nB(),{i18n:{t:y}}=Ae(),{findNode:g,fitView:_,deleteKeyCode:w,onNodeClick:b,onNodeDragStop:A,onEdgeClick:S,onConnect:N,onNodesChange:P,onEdgesChange:T,onEdgeUpdate:M,onEdgeMouseEnter:H,onEdgeMouseLeave:q,setEdges:x,getNodes:Y,addSelectedNodes:I}=f;w.value=["Delete","Backspace"];const{state:F,commit:L,moveNode:Z,selectNode:W,removeNode:K,getNodeById:U,connectEdge:R,disconnectEdge:D,getInEdgesByNodeId:te,commit:X,reset:oe}=p;function ie(k,E){const $=U(k.source),B=U(k.target);return!!($&&B&&$.phase===E&&B.phase===E)}const pe=t.computed(()=>F.value.nodes.filter(k=>k.phase===n).map(k=>({id:k.id,type:"flow",position:k.position,data:k,deletable:!ou(k)}))),ge=t.computed(()=>F.value.edges.filter(k=>ie(k,n)).map(k=>{const E=U(k.source),$=U(k.target);if(E){if(!$)throw new Error(`Missing target node "${k.target}" for edge "${k.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${k.source}" for edge "${k.id}" in phase "${n}"`);return Ii({id:k.id,source:k.source,target:k.target,sourceHandle:k.sourceField?`outputs@${k.sourceField}`:"output",targetHandle:k.targetField?`inputs@${k.targetField}`:"input",markerEnd:li.ArrowClosed,data:k,updatable:!i})})),J=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));b(({node:k})=>{console.debug("[useFlow] onNodeClick",t.toRaw(k))}),S(({edge:k})=>{console.debug("[useFlow] onEdgeClick",t.toRaw(k))});async function ee({source:k,sourceHandle:E,target:$,targetHandle:B}){if(console.debug("[useFlow] onConnect",{source:k,sourceHandle:E,target:$,targetHandle:B}),!E||!B)return;const j=rm(E),O=rm(B);if((j==null?void 0:j.io)==="input"||(O==null?void 0:O.io)==="output"||E==="output"&&B==="output")return;const z=te($);let V=!1,de=!1;const le=[],_e=[],me=(O==null?void 0:O.io)==="input"?z.filter(we=>!we.targetField):z.filter(we=>!!we.targetField);me.length>0&&(V=!0,me.forEach(we=>{_e.push(Xo(we,U)),D(we.id,!1)}));const Q=(O==null?void 0:O.io)==="input"?z.filter(we=>we.targetField===O.field):z.filter(we=>!we.targetField);if(Q.length>0){if(Q.some(ae=>ae.source===k&&ae.target===$&&ae.targetField===(O==null?void 0:O.field)&&ae.sourceField===(j==null?void 0:j.field)))return;de=!0,Q.forEach(ae=>{_e.push(Xo(ae,U)),D(ae.id,!1)})}if(!R({source:k,sourceField:j==null?void 0:j.field,target:$,targetField:O==null?void 0:O.field},!1)){oe(),h({message:y("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(le.push(ql(k,j==null?void 0:j.field,$,O==null?void 0:O.field,U)),V||de){if(!m)throw oe(),new Error("Expected confirm modal to be provided here when reachable");if(!await m(y(V?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),le,_e)){oe();return}}X()}N(ee),P(k=>{k.filter(E=>E.type==="select").sort((E,$)=>E.selected===$.selected?0:E.selected?1:-1).forEach(E=>{W(E.selected?E.id:void 0)}),k.forEach(E=>{E.type==="remove"&&K(E.id,!0)})}),A(({node:k})=>{k&&Z(k.id,k.position)}),T(k=>{k.filter($=>$.type==="select").sort(($,B)=>$.selected===B.selected?0:$.selected?1:-1).forEach($=>{im=$.selected?$.id:void 0,x(B=>B.map(j=>j.id!==$.id||!j.markerEnd?j:Ii({...j,zIndex:$.selected?1:void 0})))}),k.forEach($=>{$.type==="remove"&&D($.id,!0)})}),H(({edge:k})=>{zl=k.id,x(E=>E.map($=>$.id!==k.id?$:Ii($)))}),q(({edge:k})=>{zl=void 0,x(E=>E.map($=>$.id!==k.id?$:Ii($)))}),M(({edge:k,connection:E})=>{D(k.id,!1),ee(E)});function re(k=!0){let E,$;const B=[],j=ne=>{switch(ne.data.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(E)throw new Error("Duplicated request node in request phase");return E=ne,!0}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if($)throw new Error("Duplicated service_request node in request phase");return $=ne,!0}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if($)throw new Error("Duplicated service_response node in response phase");return $=ne,!0}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(E)throw new Error("Duplicated response node in response phase");return E=ne,!0}default:return B.push(ne),!1}};let O;for(const ne of pe.value)if(!j(ne)&&B.length>0){O||(O=new nm.graphlib.Graph({multigraph:!0}),O.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:u}));const $e=g(ne.id);if(!$e)throw new Error(`Node ${ne.id} is missing from the graph in ${n} phase`);O.setNode(ne.id,{width:$e.dimensions.width,height:$e.dimensions.height})}if(!E||!$)throw new Error(`One or more implicit nodes are missing from ${n} phase`);const z=g(E.id),V=g($.id);if(!z||!V)throw new Error(`One or more implicit nodes are missing from the graph in ${n} phase`);if(B.length>0){if(!O)throw new Error("dagreGraph should be defined here if reachable");const ne=new Set([E.id,$.id]);for(const $e of ge.value)!ne.has($e.source)&&!ne.has($e.target)&&O.setEdge($e.source,$e.target,{points:[]});nm.layout(O)}const[de,le]=iB(),_e=ne=>({x:ne.x-ne.width/2,y:ne.y-ne.height/2,width:ne.width,height:ne.height});if(B.length>0){if(!O)throw new Error("dagreGraph should be defined here if reachable");for(const ne of B){const $e=O.node(ne.id),zt=_e($e);de(zt),Z(ne.data.id,{x:zt.x,y:zt.y},!1)}}const me=le(),Q=me.x2-me.x1,he=me.y2-me.y1,we=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,WI)-Q-2*c-z.dimensions.width-V.dimensions.width-2*l),ae=me.y1+he/2;Z(E.data.id,{x:me.x1-c-we/2-z.dimensions.width,y:ae-z.dimensions.height/2},!1),Z($.data.id,{x:me.x2+c+we/2,y:ae-V.dimensions.height/2},!1),k&&L(`autolayout-${o}`)}function ue(k){_({...J.value,...k})}async function se(k){return W(k),new Promise(E=>setTimeout(()=>{const $=g(k);I($?[$]:[]),E()},0))}function C(k){const E=Y.value,$=E.find(({id:me})=>me===k);if(!$)throw new Error(`Node ${k} not found`);const{position:{x:B,y:j},dimensions:{width:O,height:z}}=$,V=j,de=j+z,le=E.filter(({id:me})=>me!==k).filter(({position:{y:me},dimensions:{height:Q}})=>me<de&&me+Q>V).map(({position:{x:me},dimensions:{width:Q}})=>({left:me,right:me+Q})).sort((me,Q)=>me.left-Q.left);let _e=B+O+c;for(const{left:me,right:Q}of le)if(!(Q<=_e)){if(_e+O<=me)return{x:_e,y:V};_e=Math.max(_e,Q)+c}return{x:_e,y:V}}function v(k){if(!k)return;const E=g(k);if(!E)throw new Error(`Node ${k} not found`);const{position:{x:$},dimensions:{width:B}}=E,j=$+B,{viewport:O,dimensions:z,setViewport:V}=f,{x:de,y:le,zoom:_e}=O.value,{width:me}=z.value,Q=$*_e+de,he=j*_e+de,we=me-Qd-c;if(he<=we)return;let ae=we-he;Q+ae<0&&(ae=-Q),ae!==0&&V({x:de+ae,y:le,zoom:_e},{duration:JI})}return{vueFlowStore:f,editorStore:p,readonly:i,nodes:pe,edges:ge,selectNode:se,autoLayout:re,placeToRight:C,scrollRightToReveal:v,fitViewParams:J,fitView:ue}}),Pi=Ee(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>be.Left},size:{default:()=>Number.parseFloat(jc)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.position===t.unref(be).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),am=Ee(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){const n=t.computed(()=>{var i;if(!xt(e.type))return((i=Vr[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>lN(e.type)),r=t.computed(()=>{switch(e.type){case"call":return"warning";case"jq":return"decorative";case"exit":return"danger";case"property":return"success";case"static":return"info";default:return"neutral"}});return(i,a)=>{const l=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(l,{appearance:r.value,class:t.normalizeClass({"icon-only":i.iconOnly}),size:i.size},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value)))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:1},8,["appearance","class","size"])}}}),[["__scopeId","data-v-aae106a9"]]);let to=null;function cB(){var n;if(to)return to;if(typeof navigator>"u")return to="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?to="mac":/Linux/i.test(e)&&!/Android/i.test(e)?to="linux":to="windows"}const dB={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},uB={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Win",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Spacebar",Delete:"Delete"},fB={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Super",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Space",Delete:"Delete"};function pB(e,n={}){const o=n.platform??cB(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?dB:o==="linux"?fB:uB;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const mB={key:0,class:"label"},gB={class:"keys"},Ti=Ee(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=pB(e.keys);return(o,r)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:o.reverse}])},[o.label?(t.openBlock(),t.createElementBlock("span",mB,t.toDisplayString(o.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",gB,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),hB={class:"body"},yB={class:"name"},_B={class:"handle"},bB={class:"handle-label-wrapper"},wB={class:"handle-label-wrapper"},kB={class:"handle-label text"},CB={class:"handle"},EB={class:"handle-label-wrapper"},NB={class:"handle-label-wrapper"},vB={class:"handle-label text"},lm=Ee(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean}},setup(e){const{t:n}=Ke.createI18n("en-us",Ye),o=sB(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,toggleExpanded:a,duplicateNode:l,removeNode:s,propertiesPanelOpen:c}=it(),d=t.computed(()=>Ka(e.data.type)),u=t.computed(()=>e.data.fields.input.length>0),f=t.computed(()=>e.data.fields.output.length>0),p=t.computed(()=>u.value&&r(e.data.id).every(x=>x.targetField===void 0)),m=t.computed(()=>f.value&&i(e.data.id).every(x=>x.sourceField===void 0)),h=t.computed(()=>e.data.expanded.input??!1),y=t.computed(()=>e.data.expanded.output??!1),g=t.computed(()=>{var x,Y;if(e.data.type==="property"){const I=(x=e.data.config)==null?void 0:x.property;return Ol(I)}return(Y=d.value.io)==null?void 0:Y.input}),_=t.computed(()=>{var x,Y;if(e.data.type==="property"){const I=(x=e.data.config)==null?void 0:x.property;return Tl(I)}return(Y=d.value.io)==null?void 0:Y.output}),w=t.computed(()=>ou(e.data)),b=t.computed(()=>e.data.phase==="response"),A=t.computed(()=>e.data.phase==="request"?be.Left:be.Right),S=t.computed(()=>e.data.phase==="request"?be.Right:be.Left),N=t.computed(()=>w.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),P=t.computed(()=>w.value?dk:uk);function T(x){!o||o.readonly||x==="input"&&!p.value||x==="output"&&!m.value||a(e.data.id,x)}async function M(){if(!o||o.readonly)return;const x=l(e.data.id,o.placeToRight(e.data.id));await o.selectNode(x),o.scrollRightToReveal(x),c.value=!0}t.watch(p,x=>{x||a(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(m,x=>{x||a(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(x,Y)=>{yo(x,Y)||a(e.data.id,"input",x.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(x,Y)=>{yo(x,Y)||a(e.data.id,"output",x.length>0,!0,"*")},{deep:!0});const H=t.useTemplateRef("menu");function q(){var x;(x=H.value)==null||x.closeDropdown()}return(x,Y)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:b.value,implicit:w.value}]),onMousedown:q},[t.createElementVNode("div",hB,[w.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:0,class:"badge",placement:"top",text:x.data.type},{default:t.withCtx(()=>[t.createVNode(am,{"icon-only":"",size:"small",type:x.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",yB,t.toDisplayString(N.value),1),x.error?(t.openBlock(),t.createBlock(t.unref(Ne.WarningIcon),{key:1,class:"error-icon",color:t.unref(Uc),size:16},null,8,["color"])):t.createCommentVNode("",!0),w.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KDropdown),{key:2,ref:"menu",class:"menu","kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:Y[1]||(Y[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(xe.KDropdownItem),{onClick:M},{default:t.withCtx(()=>[t.createVNode(Ti,{keys:t.unref(Br).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),t.createVNode(t.unref(xe.KDropdownItem),{danger:"",onClick:Y[0]||(Y[0]=I=>t.unref(s)(x.data.id))},{default:t.withCtx(()=>[t.createVNode(Ti,{keys:t.unref(Br).delete,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:t.unref(hk)},null,8,["color"])]),_:1})]),_:1},512))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:b.value}])},[g.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":u.value}])},[t.createElementVNode("div",_B,[t.createVNode(t.unref(nn),{id:"input",position:A.value,type:"target"},null,8,["position"]),t.createElementVNode("div",bB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:p.value}]),onClick:Y[2]||(Y[2]=t.withModifiers(I=>T("input"),["stop"]))},[Y[4]||(Y[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),u.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[h.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldMoreIcon),{key:0,size:t.unref(ko)},null,8,["size"])),h.value?(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldLessIcon),{key:1,color:p.value?void 0:t.unref(Kc),size:t.unref(ko)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),u.value&&h.value?(t.openBlock(),t.createBlock(Pi,{key:0,color:P.value,position:A.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),u.value&&h.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(x.data.fields.input,(I,F)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${I.id}`,class:"handle indented"},[t.createVNode(t.unref(nn),{id:`inputs@${I.id}`,position:A.value,type:"target"},null,8,["id","position"]),t.createElementVNode("div",wB,[t.createElementVNode("div",kB,t.toDisplayString(I.name),1),t.createVNode(Pi,{color:P.value,position:A.value,type:F<x.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),_.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":f.value}])},[t.createElementVNode("div",CB,[t.createElementVNode("div",EB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:m.value}]),onClick:Y[3]||(Y[3]=t.withModifiers(I=>T("output"),["stop"]))},[Y[5]||(Y[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),f.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldMoreIcon),{key:0,size:t.unref(ko)},null,8,["size"])),y.value?(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldLessIcon),{key:1,color:m.value?void 0:t.unref(Kc),size:t.unref(ko)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),f.value&&y.value?(t.openBlock(),t.createBlock(Pi,{key:0,color:P.value,position:S.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(nn),{id:"output",position:S.value,type:"source"},null,8,["position"])]),f.value&&y.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(x.data.fields.output,(I,F)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${I.id}`,class:"handle indented"},[t.createElementVNode("div",NB,[t.createElementVNode("div",vB,t.toDisplayString(I.name),1),t.createVNode(Pi,{color:P.value,position:S.value,type:F<x.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(nn),{id:`outputs@${I.id}`,position:S.value,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],2)],34))}}),[["__scopeId","data-v-67deb8db"]]),SB=["undo","redo","duplicate","cut","copy","paste"],sm=()=>{};function xB(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function AB(e){if(!(e.metaKey||e.ctrlKey))return;switch(e.key.toLowerCase()){case"z":return e.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const IB=Ue.createSharedComposable(()=>{const e=new Set;Ue.useEventListener("keydown",o=>{if(xB(o.target))return;const r=AB(o);if(r)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[r];if(a){if(o.defaultPrevented){t.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),a();return}}},{passive:!1});function n(o){if(!SB.some(i=>typeof o[i]=="function"))return sm;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function cm(e={}){if(typeof window>"u")return sm;const n=IB().subscribe(e);return t.onScopeDispose(n),n}const PB={},TB={fill:"currentColor",height:"24px",viewBox:"0 -960 960 960",width:"24px",xmlns:"http://www.w3.org/2000/svg"};function OB(e,n){return t.openBlock(),t.createElementBlock("svg",TB,n[0]||(n[0]=[t.createElementVNode("path",{d:"M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"},null,-1)]))}const $B=Ee(PB,[["render",OB]]),BB={key:0,class:"dk-flow-mask"},dm=Ee(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},readonly:{type:Boolean}},emits:["initialized"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ue.useElementBounding(i),{i18n:{t:l}}=Ae(),{vueFlowStore:s,editorStore:c,nodes:d,edges:u,autoLayout:f,fitViewParams:p,fitView:m,selectNode:h,placeToRight:y,scrollRightToReveal:g}=lB({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.readonly}),{addNode:_,propertiesPanelOpen:w,invalidConfigNodeIds:b,selectedNode:A,duplicateNode:S}=c,{project:N,vueFlowRef:P,zoomIn:T,zoomOut:M,viewport:H,maxZoom:q,minZoom:x}=s,Y=t.ref(!1);function I(){e.readonly||(w.value=!0)}function F(U){e.readonly||Y.value||U.preventDefault()}function L(U){var ee,re;if(e.readonly||Y.value)return;const R=(ee=U.dataTransfer)==null?void 0:ee.getData(xo);if(!R)return;U.preventDefault();const D=JSON.parse(R);if(D.action!=="create-node")return;const{top:te=0,left:X=0}=((re=P.value)==null?void 0:re.getBoundingClientRect())||{},oe=N({x:U.clientX-X,y:U.clientY-te}),{type:ie,anchor:pe}=D.data,ge={type:ie,phase:e.phase,position:{x:oe.x-pe.offsetX,y:oe.y-pe.offsetY}},J=_(ge);J&&(h(J),w.value=!0)}function Z(){f(),t.nextTick(()=>m())}const W=t.computed(()=>[{name:"zoom_in",icon:Ne.AddIcon,action:T,disabled:H.value.zoom>=q.value},{name:"zoom_out",icon:Ne.RemoveIcon,action:M,disabled:H.value.zoom<=x.value},{name:"fit_view",icon:$B,action:m},{name:"auto_layout",icon:Ne.AutoLayoutIcon,action:Z}]);if(e.phase==="response"&&!e.readonly){Ue.useEventListener("dragstart",R=>{var X;const D=(X=R.dataTransfer)==null?void 0:X.types.find(oe=>oe.startsWith(`${xo}/`));if(!D)return;const te=D.replace(`${xo}/`,"");(te==="call"||te==="exit")&&(Y.value=!0)});const{start:U}=Ue.useTimeoutFn(()=>{Y.value=!1},80);Ue.useEventListener("dragover",()=>{U()}),Ue.useEventListener("dragend",()=>{Y.value=!1})}async function K(){const U=A.value;if(e.readonly||!U||U.phase!==e.phase)return;const R=S(U.id,y(U.id));R&&(await h(R),w.value=!0,g(R))}return cm({enabled:t.computed(()=>!!A.value&&!e.readonly&&A.value.phase===e.phase),duplicate:K}),n({autoLayout:f,fitView:m}),(U,R)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(ip),{id:U.flowId,class:t.normalizeClass(["flow",{readonly:U.readonly}]),"connect-on-click":!1,edges:t.unref(u),"elements-selectable":!U.readonly,"max-zoom":t.unref(XI),"min-zoom":t.unref(ZI),"multi-selection-key-code":null,nodes:t.unref(d),"nodes-connectable":!U.readonly,"nodes-draggable":!U.readonly,"pan-on-drag":U.readonly?!1:void 0,"pan-on-scroll":U.readonly?!1:void 0,"zoom-on-double-click":U.readonly?!1:void 0,"zoom-on-pinch":U.readonly?!1:void 0,"zoom-on-scroll":U.readonly?!1:void 0,onDragover:F,onDrop:L,onNodeClick:I,onNodesInitialized:R[0]||(R[0]=D=>r("initialized"))},{"node-flow":t.withCtx(D=>[t.createVNode(lm,{data:D.data,error:t.unref(b).has(D.data.id)},null,8,["data","error"])]),default:t.withCtx(()=>[t.createVNode(t.unref(CI)),U.readonly?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(YI),{key:0,"fit-view-params":t.unref(p),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(W.value,D=>(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:D.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${D.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(qo),{class:"custom",disabled:D.disabled,onClick:t.withModifiers(D.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(D.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"]))]),_:1},8,["id","class","edges","elements-selectable","max-zoom","min-zoom","nodes","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"]),Y.value?(t.openBlock(),t.createElementBlock("div",BB,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-a35c800e"]]),um=Ee(t.defineComponent({__name:"FlowPanels",props:{readonly:{type:Boolean},resizable:{type:Boolean}},setup(e,{expose:n}){const o=t.ref([!1,!1]),{state:r,markAsLayoutCompleted:i,commit:a,clear:l}=it(),s=t.useId(),c=`${s}-request`,d=`${s}-response`,u=Oe(c),f=Oe(d);function p(D,te){const{onPaneClick:X,onNodesChange:oe,onEdgesChange:ie,getSelectedNodes:pe,getSelectedEdges:ge}=D,{removeSelectedElements:J}=te;function ee(re){if(!re){J();return}re.some(ue=>ue.type==="select")&&pe.value.length+ge.value.length>0&&J()}oe(ee),ie(ee),X(()=>ee())}p(u,f),p(f,u);const m=t.useTemplateRef("flowPanels"),h=t.useTemplateRef("requestLabel"),y=t.useTemplateRef("requestCanvasContainer"),g=t.useTemplateRef("requestFlow"),_=t.useTemplateRef("resizeHandle"),w=t.useTemplateRef("responseLabel"),b=t.useTemplateRef("responseCanvasContainer"),A=t.useTemplateRef("responseFlow"),S=Ue.useElementBounding(m),N=Ue.useElementBounding(h),P=Ue.useElementBounding(y),T=Ue.useElementBounding(_),M=Ue.useElementBounding(w),H=Ue.useElementBounding(b),q=t.computed(()=>Math.max(30,S.height.value*.03)),x=t.computed(()=>P.height.value<q.value),Y=t.computed(()=>H.height.value<q.value),I=t.ref("50%"),F=t.ref("50%"),L=()=>{e.resizable&&(x.value?(I.value="50%",F.value="50%"):(I.value="0",F.value="100%"))},Z=()=>{e.resizable&&(Y.value?(I.value="50%",F.value="50%"):(I.value="100%",F.value="0"))},W=t.computed(()=>S.height.value-N.height.value-T.height.value-M.height.value),{isDragging:K}=Ue.useDraggable(_,{onMove(D){if(!e.resizable)return;const te=Math.max(0,D.y-P.top.value),X=Math.min(1,Math.max(0,te/W.value));I.value=`${X*100}%`,F.value=`${(1-X)*100}%`},onEnd(){e.resizable&&(P.height.value<q.value?(I.value="0",F.value="100%"):H.height.value<q.value&&(I.value="100%",F.value="0"))}}),U=()=>{t.nextTick(()=>{var D,te;(D=g.value)==null||D.fitView(),(te=A.value)==null||te.fitView()})},R=t.watch(o,([D,te])=>{var X,oe;D&&te&&(r.value.needLayout&&((X=g.value)==null||X.autoLayout(!1),(oe=A.value)==null||oe.autoLayout(!1),i(),a(),l()),U(),R.stop())},{deep:!0});return n({fitView:U}),(D,te)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:m,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:h,class:t.normalizeClass(["label request",{resizable:D.resizable}]),onClick:L},[D.resizable?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:x.value}])},null,8,["class"])):t.createCommentVNode("",!0),te[2]||(te[2]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:y,class:t.normalizeClass(["canvas",{dragging:t.unref(K)}]),style:t.normalizeStyle({flexBasis:I.value})},[t.createVNode(dm,{ref_key:"requestFlow",ref:g,"flow-id":c,phase:"request",readonly:D.readonly,onInitialized:te[0]||(te[0]=X=>o.value[0]=!0)},null,8,["readonly"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:_,class:t.normalizeClass(["resize-handle",{resizable:D.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:w,class:t.normalizeClass(["label response",{dragging:t.unref(K),resizable:D.resizable}]),onClick:Z},[D.resizable?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:Y.value}])},null,8,["class"])):t.createCommentVNode("",!0),te[3]||(te[3]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:b,class:t.normalizeClass(["canvas response",{dragging:t.unref(K)}]),style:t.normalizeStyle({flexBasis:F.value})},[t.createVNode(dm,{ref_key:"responseFlow",ref:A,"flow-id":d,phase:"response",readonly:D.readonly,onInitialized:te[1]||(te[1]=X=>o.value[1]=!0)},null,8,["readonly"])],6)],512))}}),[["__scopeId","data-v-b469482f"]]),VB={class:"dk-confirm-modal-body"},RB={class:"dk-confirm-modal-connections"},DB=Ee(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=Ae(),i=o,a=t.ref(!1),l=t.ref(e.message),s=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function u(){a.value=!1,i("cancel"),d==null||d(!1)}function f(){a.value=!1,i("confirm"),d==null||d(!0)}async function p(m,h,y){return l.value=m,s.value=h??[],c.value=y??[],a.value=!0,await new Promise(g=>{d=g})}return n({open:p}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:m.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:u,onProceed:f},{default:t.withCtx(()=>[t.createElementVNode("div",VB,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",RB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ne.AddIcon),{color:t.unref(fk)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[0]||(h[0]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ne.RemoveIcon),{color:t.unref(Uc)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[1]||(h[1]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-9874f282"]]),MB={class:"dk-editor-nav"},LB={class:"top"},FB={class:"bottom"},UB=Ee(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Ke.createI18n("en-us",Ye),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ne.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=qa(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(d,u)=>(t.openBlock(),t.createElementBlock("nav",MB,[t.createElementVNode("div",LB,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:f,to:p,icon:m,onClick:h})=>t.createVNode(t.unref(xe.KTooltip),{key:f,"kpop-attributes":{offset:"10px"},label:f,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:f,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(Ea)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",FB,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:u[0]||(u[0]=t.withModifiers(f=>s.value=!1,["self"])),onTransitionstart:u[1]||(u[1]=t.withModifiers(f=>s.value=!0,["self"]))},[t.createVNode(t.unref(xe.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Ea)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Ea)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),KB={class:"dk-editor-main"},jB={class:"header"},GB={class:"actions"},qB={ref:"canvasContainer",class:"body"},zB=Ee(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Ke.createI18n("en-us",Ye),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l}=it();function s(){o.value=!1}return cm({enabled:o,undo:r,redo:i}),(c,d)=>{const u=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",KB,[t.createElementVNode("header",jB,[t.createElementVNode("div",GB,[t.createVNode(u,{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Ti,{keys:t.unref(Br).undo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(u,{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Ti,{keys:t.unref(Br).redo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",disabled:!t.unref(l),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),d[0]||(d[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),t.createVNode(t.unref(Ne.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(xe.KButton),{onClick:s},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",qB,[t.createVNode(um,{resizable:""})],512)])}}}),[["__scopeId","data-v-8e9ca69a"]]),HB={class:"icon"},YB={class:"content"},WB={class:"title"},XB={class:"description"},ZB=Ee(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{summary:n,icon:o}=Vr[e.type];return(r,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${r.type}`]:!0}])},[t.createElementVNode("div",HB,[t.createVNode(t.unref(o),{size:16})]),t.createElementVNode("div",YB,[t.createElementVNode("div",WB,t.toDisplayString(r.type),1),t.createElementVNode("div",XB,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-3b48dd37"]]),JB={class:"dk-node-panel"},QB={class:"title"},eV={class:"node-list"},tV={"aria-hidden":"true",class:"preview",inert:""},nV=Ee(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=Ke.createI18n("en-us",Ye),{createNode:o}=it(),r=`dk-drag-preview-${t.useId()}`,i=t.shallowRef(),a=t.computed(()=>i.value?[{id:"preview",type:"flow",data:i.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var T,M,H;const d=s.currentTarget,{left:u,top:f,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-u,y=s.clientY-f;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||d,_=g.cloneNode(!0);_.classList.add("dk-drag-snapshot");const{offsetWidth:w,offsetHeight:b}=g;Object.assign(_.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${b}px`}),document.body.appendChild(_);const A=h/p,S=y/m,N={ratioX:A,ratioY:S,offsetX:w*A,offsetY:b*S},P={action:"create-node",data:{type:c,anchor:N}};(T=s.dataTransfer)==null||T.setData(xo,JSON.stringify(P)),(M=s.dataTransfer)==null||M.setData(`${xo}/${c}`,c),(H=s.dataTransfer)==null||H.setDragImage(_,N.offsetX,N.offsetY),requestAnimationFrame(()=>{_.remove(),i.value=void 0})};return(s,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",JB,[t.createElementVNode("h3",QB,[t.createVNode(d,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])]),t.createElementVNode("div",eV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(Vr)),u=>(t.openBlock(),t.createBlock(ZB,{key:u,draggable:"true",type:u,onDragstart:f=>l(f,u)},null,8,["type","onDragstart"]))),128))]),t.createElementVNode("div",tV,[t.createVNode(t.unref(ip),{nodes:a.value},{"node-flow":t.withCtx(u=>[t.createVNode(lm,{id:r,data:u.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-98011dca"]]),oV=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(Nt,{items:t.unref(ua)([...t.unref(tu)]),name:n.name},null,8,["items","name"]))}}),rV=Ee(t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Me(),{i18n:o}=Ae(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(ot,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(Nt,{key:l,class:"dk-inputs-field-indent",clearable:"","enable-filtering":"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),[["__scopeId","data-v-fe101e72"]]),iV=["data-testid"],aV={class:"dk-inputs-map-field-entry-body"},lV={class:"dk-inputs-map-field-entry-content"},sV={class:"dk-inputs-map-field-indent"},cV=Ee(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=ba(o,r),{i18n:{t:c}}=Ae(),d=t.useTemplateRef("root"),u=t.ref(null),f=t.ref({});let p;async function m(S,N="key"){var P;d.value&&(await t.nextTick(),(P=d.value.querySelector(`[data-${N}-input="${S}"]`))==null||P.focus())}function h(){const{id:S}=a(),N=i.value.findIndex(({key:P})=>!P);m(N===-1?i.value.length-1:N),u.value=S}function y(S){l(S.id),S.id===u.value&&(u.value=null),S.key.trim()!==""&&r("remove:field",S.key)}function g(S){p=S.key}function _(S){if(w(S)){S.key=p,delete f.value[S.id];return}if(S.id===u.value){if(S.key.trim()==="")return;r("add:field",S.key,S.value),u.value=null}else r("rename:field",p,S.key);p=S.key}function w(S){delete f.value[S.id];const N=o.fieldNameValidator("input",p,S.key);if(N)return f.value[S.id]=N,N}function b(S){w(S)}function A(S,N){S.id!==u.value&&r("change:inputs",S.key,N)}return t.watch(()=>i.value,S=>{u.value&&(S.find(({id:N})=>N===u.value)||(u.value=null))}),(S,N)=>{const P=t.resolveComponent("KAlert"),T=t.resolveComponent("KLabel"),M=t.resolveComponent("KInput"),H=t.resolveComponent("KSelect"),q=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(x,Y)=>(t.openBlock(),t.createElementBlock("div",{key:x.id,class:"dk-inputs-map-field-entry dk-inputs-map-field-indent","data-testid":`ff-kv-container-${t.unref(s).path.value}.${Y}`},[t.createVNode(T,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${Y}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",aV,[t.createElementVNode("div",lV,[t.createVNode(M,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${Y}`,modelValue:x.key,"onUpdate:modelValue":[I=>x.key=I,I=>w(x)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":Y,"data-testid":`ff-key-${t.unref(s).path.value}.${Y}`,error:!!f.value[x.id],"error-message":f.value[x.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:I=>b(x),onChange:I=>_(x),onFocus:I=>g(x)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(H,{modelValue:x.value,"onUpdate:modelValue":I=>x.value=I,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${Y}`,"enable-filtering":"",items:S.items,placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:I=>A(x,(I==null?void 0:I.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","placeholder","onChange"])]),t.createVNode(q,{appearance:"none",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${Y}`,icon:"",onClick:I=>y(x)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,iV))),128)),t.createElementVNode("div",sV,[t.createVNode(q,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!u.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])])],512))}}}),[["__scopeId","data-v-39b90c25"]]),no=t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=Me(),{i18n:i}=Ae(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?rV:cV:null);function s(p){o("change:input",p?p.value:null)}function c(p,m){o("add:field",p,m)}function d(p,m){o("change:inputs",p,m)}function u(p){o("remove:field",p)}function f(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(r)("input")?(t.openBlock(),t.createBlock(Nt,{key:0,clearable:"","enable-filtering":"",items:p.items,label:"Inputs",name:"input",placeholder:t.unref(i).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:1,"field-name-validator":p.fieldNameValidator,items:p.items,"key-order":p.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":d,"onRemove:field":u,"onRename:field":f},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),dV={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},uV={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function fV(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function oo(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function ro(e){const{i18n:{t:n}}=Ae(),o=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return o()}}function fm(e,n){const{i18n:{t:o}}=Ae();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function pV(e=0,n=1/0,o){const{i18n:{t:r}}=Ae();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function pm(e){const{i18n:{t:n}}=Ae();return function(r){if(!fV(r))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function mm(e,n){const{i18n:{t:o}}=Ae();return function(i){if(i==null)return;const a=pm(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function gm(e=-1/0,n=1/0,o){const{i18n:{t:r}}=Ae();return function(a){if(a==null)return;const l=pm(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function mV(e,n){const{state:o}=it(),{i18n:{t:r}}=Ae();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function gV(e,n,o){const{i18n:{t:r}}=Ae();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function hV(){const{i18n:{t:e}}=Ae();return function(o){if(Ua(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function hm(e){const{i18n:{t:n}}=Ae(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return oo(ro(o),fm("identifier",o),hV(),mV(e,o))}function yV(e){const{i18n:{t:n}}=Ae(),{getNodeById:o}=it();return function(i,a,l){const s={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return oo(ro(s),gV(i,o(e),l))(a)}}function _V(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=f=>{const p=typeof f=="function"?f():f,m=s(p);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},u=f=>(d(),c(f));r[l]={handleChange:u,handleBlur:u,validate:u,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const d=l[c],u=typeof d=="function"?d():d;(s=r[c])==null||s.validate(u)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function Oi(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=it(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>_V(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const f=o(),p=l.value.validate(f),m={};for(const h in a.value)m[h]=p[h];return m}function u(f,p){return{onBlur:()=>{const m=o(),h=s.value[f];h&&h.handleBlur(m[f])},onUpdate:()=>{const m=o(),h=s.value[f];h&&h.handleChange(m[f]),p==null||p()},error:t.computed(()=>{const m=s.value[f];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[f];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const f=d(),p=Object.values(f).filter(Boolean).length>0;r(!p)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:u}}function xn(e,n){const{state:o,renameNode:r,getNodeById:i,addField:a,renameField:l,removeField:s,replaceConfig:c,disconnectEdge:d,connectEdge:u,invalidConfigNodeIds:f,undo:p,commit:m}=it(),{i18n:{t:h}}=Ae(),y=rB();let g=!1;t.watch(o,async()=>{g=!0,await t.nextTick(),g=!1},{immediate:!0,deep:!0}),console.log("state",o.value),window.store=it();const _=t.computed(()=>{const K=i(e);if(!K)throw new Error("Node not existed");return K}),w=t.computed(()=>{const U=o.value.edges.filter(R=>R.target===e).reduce((R,D)=>{var pe,ge;const te=i(D.source),X=(pe=Xt(te,"output",D.sourceField))==null?void 0:pe.id,oe=(ge=Xt(_.value,"input",D.targetField))==null?void 0:ge.name,ie=te.id+(X?`.${X}`:"");return oe?R.inputs={...R.inputs,[oe]:ie}:R.input=ie,R},{});return _.value.fields.input.forEach(R=>{U.inputs||(U.inputs={}),U.inputs[R.name]||(U.inputs[R.name]=null)}),{..._.value.config,...U,name:_.value.name}}),b=K=>{r(e,K??"",!0,`${e}:rename`)},A=(K,U=!0)=>{if(g)return;if(!n)throw new Error("getFormInnerData is not defined");const R=_c(n(),["name","input","inputs"]),D=K?`update:${e}:${K}`:void 0;c(e,R,U,D)},S=(K,U)=>{const R=qn(_.value,K,U);if(!R)throw new Error(`Field with name "${U}" not found in node "${_.value.name}"`);return R},N=(K,U,R)=>{const D=!!R;a(e,K,U,!D),D&&q(U,R)},P=(K,U,R)=>{if(g)return;const D=S(K,U).id;l(e,D,R)},T=(K,U)=>{const R=S(K,U).id;s(e,R)},M=t.computed(()=>o.value.edges.filter(K=>K.target===e&&!K.targetField)[0]),H=t.computed(()=>o.value.edges.filter(K=>K.target===e&&K.targetField)),q=async(K,U)=>{if(g)return;const R=U==null,D=S("input",K).id;if(R){const ee=H.value.find(re=>re.targetField===D);ee&&d(ee.id);return}const{nodeId:te,fieldId:X}=ru(U),oe=S("input",K).id,ie=[];M.value&&(ie.push(Xo(M.value,i)),d(M.value.id,!1));const pe=H.value.find(ee=>ee.targetField===D);pe&&(ie.push(Xo(pe,i)),d(pe.id,!1)),u({source:te,sourceField:X,target:e,targetField:oe},!1);const ge=ql(te,X,e,oe,i);m(),!(ie[0]&&ge&&ie[0][1]===ge[1])&&ie.length>0&&(await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ge],ie)||p())},x=async K=>{if(g)return;if(K==null){M.value&&d(M.value.id);return}const R=[];for(const oe of H.value.concat(M.value?[M.value]:[]))R.push(Xo(oe,i)),d(oe.id,!1);const{nodeId:D,fieldId:te}=ru(K);u({source:D,sourceField:te,target:e,targetField:void 0},!1);const X=ql(D,te,e,void 0,i);m(),R.length>0&&(await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[X],R)||p())},Y=K=>{const U=[...o.value.edges,{source:K,target:e}];return Ga(Mr(U))},I=t.computed(()=>{var U,R;const K=[];for(const D of o.value.nodes)if((U=Ka(D.type).io)!=null&&U.output&&D.fields.output&&D.id!==e&&!(D.type==="property"&&!Tl((R=D.config)==null?void 0:R.property))&&!Y(D.id)&&!(_.value.phase==="request"&&D.phase==="response")){K.push({value:D.id,label:D.name});for(const X of D.fields.output)K.push({value:`${D.id}.${X.id}`,label:`${D.name}.${X.name}`})}return K}),F=t.computed(()=>_.value.fields.input.map(K=>K.name)||[]);function L(K){f.value.delete(e),K||f.value.add(e)}const Z=yV(e);function W(K,U,R){const D=i(e);if(!D)throw new Error("Node not found when validating field name");const te=qn(D,K,U);return Z(K,R,te==null?void 0:te.id)}return{formData:w,inputOptions:I,inputEdge:M,inputsEdges:H,inputsFieldNames:F,currentNode:_,setName:b,setConfig:A,addField:N,renameFieldByName:P,removeFieldByName:T,setInputs:q,setInput:x,nameValidator:hm(e),fieldNameValidator:W,toggleNodeValid:L}}function An(e){const{getSchema:n}=Me();return t.computed(()=>{if(xt(e))switch(e){case"response":return uV;case"service_request":return dV}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const Zo=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ae(),a=t.ref(o.name),l=t.computed(()=>{const u=o.validate(a.value.trim());return u===void 0?"":u});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function d(){s=a.value.trim()}return t.watch(()=>o.name,u=>{u!==a.value&&(a.value=u)}),(u,f)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":f[0]||(f[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),bV=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Ae(),o=t.useTemplateRef("form"),r=An("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=xn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:h}=Oi({validationConfig:{url:oo(ro({fieldName:"URL"}),fm("url",{fieldName:"URL"})),timeout:oo(mm("integer",{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}),gm(0,2147483646,{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:p}),y=h("url",()=>l("url")),g=h("timeout",()=>l("timeout"));return(_,w)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Zo,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Dn,{error:t.unref(y).error.value,"error-message":t.unref(y).errorMessage.value,name:"url",onBlur:t.unref(y).onBlur,"onUpdate:modelValue":t.unref(y).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(oV,{name:"method","onUpdate:modelValue":w[0]||(w[0]=A=>t.unref(l)())}),t.createVNode(Mn,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,label:t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.timeout.label"),name:"timeout",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(Dn,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=A=>t.unref(l)("ssl_server_name"))}),t.createVNode(no,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),wV=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=An("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=xn(e.nodeId,()=>n.value.getInnerData());return(d,u)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(no,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),kV=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=An("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=xn(e.nodeId,()=>n.value.getInnerData());return(d,u)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(no,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),CV=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Ae(),o=t.useTemplateRef("form"),r=An("jq"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,addField:u,removeFieldByName:f,renameFieldByName:p,inputsFieldNames:m,nameValidator:h,toggleNodeValid:y,fieldNameValidator:g}=xn(e.nodeId,()=>o.value.getInnerData());function _(P,T){u("input",P,T)}function w(P){f("input",P)}function b(P,T){p("input",P,T)}const A=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:S}=Oi({validationConfig:{jq:oo(ro({fieldName:A}),pV(1,10240,{fieldName:A}))},getValidationData:()=>({jq:i.value.jq}),toggleNodeValid:y}),N=S("jq",()=>l("jq"));return(P,T)=>{const M=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Zo,{name:t.unref(i).name,validate:t.unref(h),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(M,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Dn,{error:t.unref(N).error.value,"error-message":t.unref(N).errorMessage.value,label:t.unref(A),multiline:"",name:"jq",resizable:"",rows:"2",onBlur:t.unref(N).onBlur,"onUpdate:modelValue":t.unref(N).onUpdate},null,8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(no,{"field-name-validator":t.unref(g),"field-names":t.unref(m),items:t.unref(s),"onAdd:field":_,"onChange:input":t.unref(d),"onChange:inputs":t.unref(c),"onRemove:field":w,"onRename:field":b},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),EV=Ee(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=ba(o,r,!1),{i18n:d}=Ae(),u=t.useTemplateRef("root"),f=t.ref(null);let p;async function m(S,N="key"){var P;u.value&&(await t.nextTick(),(P=u.value.querySelector(`[data-${N}-input="${S}"]`))==null||P.focus())}function h(){const S=l(),N=a.value.findIndex(({key:P})=>!P);m(N===-1?a.value.length-1:N),f.value=S}function y(S){var N;S.id===((N=f.value)==null?void 0:N.id)&&(f.value=null),s(S.id),S.key.trim()!==""&&r("remove:field",S.key)}function g(S){p=S.key}function _(S){var N;if(b(S)){S.key=p,delete i.value[S.id];return}if(S.id===((N=f.value)==null?void 0:N.id)){if(S.key.trim()==="")return;f.value=null,r("add:field",S.key,S.value)}else r("rename:field",p,S.key);p=S.key}function w(S,N){var T;if(N.id===((T=f.value)==null?void 0:T.id))return;const P=S.target.value.trim();r("change:value",N.key,P)}function b(S){delete i.value[S.id];const N=o.fieldNameValidator("output",p,S.key);if(N)return i.value[S.id]=N,N}function A(S){b(S)}return t.watchEffect(()=>{f.value&&!a.value.some(S=>S.id===f.value.id)&&a.value.push(f.value)}),(S,N)=>{const P=t.resolveComponent("KAlert"),T=t.resolveComponent("KLabel"),M=t.resolveComponent("KButton"),H=t.resolveComponent("KInput"),q=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:u,class:"dk-output-value-field"},[t.createVNode(T,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(x,Y)=>(t.openBlock(),t.createBlock(q,{key:x.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${Y}`},{actions:t.withCtx(()=>[t.createVNode(M,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${Y}`,icon:"",onClick:I=>y(x)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(H,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${Y}`,modelValue:x.key,"onUpdate:modelValue":[I=>x.key=I,I=>b(x)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":Y,"data-testid":`ff-key-${t.unref(c).path.value}.${Y}`,error:!!i.value[x.id],"error-message":i.value[x.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:I=>A(x),onChange:I=>_(x),onFocus:I=>g(x)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(H,{modelValue:x.value,"onUpdate:modelValue":I=>x.value=I,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${Y}`,label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:I=>w(I,x)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(M,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!f.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-5e17f8cb"]]);function NV(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function $i(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function vV(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const SV=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=it(),{fieldNameValidator:c}=xn(e.nodeId),d=An("static"),u=hm(e.nodeId),f=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var b;return((b=f.value)==null?void 0:b.fields.output.map(A=>A.name))||[]});function m(b){if(!f.value)throw new Error("No current node");n(f.value.id,b??"")}const h=t.computed(()=>{var M;if(!f.value)return{};const b=((M=f.value.config)==null?void 0:M.values)??{},A={},S=o(f.value.id).map(H=>H.sourceField).filter(Boolean).map(H=>Xt(f.value,"output",H)).map(H=>H==null?void 0:H.name).filter(Boolean),N=f.value.fields.output.map(H=>H.name),P=Object.keys(b);return new Set([...P,...S,...N]).forEach(H=>{if(H in b){A[H]=b[H];return}A[H]=""}),{name:f.value.name,values:NV(A)}});function y(b,A){if(!f.value)throw new Error("No selected node");const S=A!==void 0;if(r(e.nodeId,"output",b,!S),S){const N={values:$i({...h.value.values,[b]:A})};l(e.nodeId,N)}}function g(b,A){if(!f.value)throw new Error("No selected node");const S=qn(f.value,"output",b);if(!S)throw new Error("No field found to rename");const N={values:$i(vV(h.value.values??{},b,A))};l(e.nodeId,N,!1),i(e.nodeId,S.id,A)}function _(b){var N;if(!f.value)throw new Error("No selected node");const A=qn(f.value,"output",b);if(!A)throw new Error("No field found to delete");a((N=f.value)==null?void 0:N.id,A.id,!0,!1);const S={values:$i({...h.value.values})};delete S.values[b],l(e.nodeId,S)}function w(b,A){if(!f.value)throw new Error("No selected node");const S={...h.value.values};S[b]=A;const N={values:$i(S)};l(e.nodeId,N)}return(b,A)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>{var S;return[t.createVNode(Zo,{name:((S=f.value)==null?void 0:S.name)??"",validate:t.unref(u),onUpdate:m},null,8,["name","validate"]),t.createVNode(EV,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":y,"onChange:value":w,"onRemove:field":_,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),xV={class:"dk-kong-property-item"},AV={class:"property-type"},IV={class:"property-badges"},PV=Ee(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=Ae(),r=e,i=n,{formData:a}=Me(),l=t.ref(Ho(a.property)),s=t.computed(()=>Yo(a.property)),c=t.ref(Pl(a.property)),d=t.computed(()=>a.property??""),u=t.computed(()=>Object.entries(Nn).map(([m])=>{var g;const h=Yo(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(eo,"")):a.property===m;return{label:h&&c.value?m.replace(eo,c.value):m,value:m,selected:h}}));function f(m){const h=Ci.find(y=>{var g;return(g=a.property)==null?void 0:g.startsWith(y)});h&&(a.property=h+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function p(m){l.value!==Ho(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=Ho(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Pl(m),l.value=Ho(m)}),(m,h)=>{const y=t.resolveComponent("KBadge"),g=t.resolveComponent("KSelect"),_=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(g,{key:d.value,"enable-filtering":"",error:!m.validators.property.isValid.value,help:m.validators.property.error.value,items:u.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=w=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",xV,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",AV,t.toDisplayString(t.unref(Nn)[w.value].dataType),1)]),t.createElementVNode("div",IV,[t.unref(Nn)[w.value].readable?(t.openBlock(),t.createBlock(y,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(Nn)[w.value].writable?(t.openBlock(),t.createBlock(y,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(_,{key:0,"model-value":c.value,"onUpdate:modelValue":[h[1]||(h[1]=w=>c.value=w),f],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=w=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),TV=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=it(),a=An("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:u,setInput:f,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,fieldNameValidator:y}=xn(e.nodeId,()=>n.value.getInnerData()),g=t.computed(()=>Ol(l.value.property));function _(b){var S;const A=(S=o.value)==null?void 0:S.id;if(!A)throw new Error("Expected selectedNode to be defined");Tl(b)||i(A,!1),Ol(b)||r(A,!1),c()}const{fields:w}=Oi({validationConfig:()=>({property:ro({fieldName:"Property"}),key:Yo(l.value.property)?ro({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Pl(l.value.property)}),toggleNodeValid:h});return(b,A)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(Zo,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(Nt,{name:"content_type","onUpdate:modelValue":t.unref(c)},null,8,["onUpdate:modelValue"]),t.createVNode(PV,{validators:t.unref(w),"onUpdate:modelValue":_,"onUpdate:propertyKey":A[0]||(A[0]=S=>t.unref(c)("property-key"))},null,8,["validators"]),g.value?(t.openBlock(),t.createBlock(no,{key:0,"field-name-validator":t.unref(y),"field-names":t.unref(p),items:t.unref(d),"onChange:input":t.unref(f),"onChange:inputs":t.unref(u)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),OV=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=An("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:u,toggleNodeValid:f,fieldNameValidator:p}=xn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=Oi({validationConfig:{status:oo(mm("integer",{fieldName:"Status"}),gm(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:f}),h=m("status",()=>a("status"));return(y,g)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(Zo,{name:t.unref(r).name,validate:t.unref(u),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Mn,{error:t.unref(h).error.value,"error-message":t.unref(h).errorMessage.value,name:"status",onBlur:t.unref(h).onBlur,"onUpdate:modelValue":t.unref(h).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(_a,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=_=>t.unref(a)())}),t.createVNode(no,{"field-name-validator":t.unref(p),"field-names":t.unref(d),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),$V=["innerHTML"],BV=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${Qd}px`},offsetTop:{default:`${aN}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=it(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return bV;case"service_request":return wV;case"response":return kV;case"jq":return CV;case"static":return SV;case"property":return TV;case"exit":return OV;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref(xe.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":i.maxWidth,"offset-top":i.offsetTop,visible:i.visible,onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(St)(o.value.type)},null,8,$V)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:i.nodeId,class:"dk-node-properties-panel-form","node-id":i.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(am,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible"]))}}),VV=Ee(BV,[["__scopeId","data-v-fbb0f2e2"]]),RV={class:"dk-editor-content"},DV={class:"header"},MV={class:"title"},LV={class:"body"},FV={class:"node-selection-panel"},UV={class:"main"},KV=Ee(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=Ke.createI18n("en-us",Ye),{sidePanelExpanded:o}=qa(),{propertiesPanelOpen:r,selectedNode:i}=it();function a(){r.value=!1}t.watch(i,s=>{s||a()});const l=t.ref(!1);return t.onMounted(()=>{l.value=!0}),(s,c)=>{var d;return t.openBlock(),t.createElementBlock("div",RV,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:l.value}])},[t.createElementVNode("header",DV,[t.createElementVNode("h2",MV,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",LV,[t.createElementVNode("div",FV,[t.createVNode(nV)])])],2),t.createElementVNode("div",UV,[t.createVNode(zB)]),t.createVNode(VV,{"node-id":(d=t.unref(i))==null?void 0:d.id,visible:t.unref(r),onClose:a},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-e2ee6970"]]),jV={key:0,class:"dk-editor-modal"},GV=Ee(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(l=>({"56b1852c":`${t.unref(iN)}px`,"2d237748":`${t.unref(Jd)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal");oB(async(...l)=>{o.value=!0;const s=await r.value.open(...l);return o.value=!1,s});const i=Ue.useScrollLock(document);t.watch(n,l=>{i.value=!!l},{immediate:!0});function a(){n.value=!1}return(l,s)=>n.value?(t.openBlock(),t.createElementBlock("div",jV,[t.createVNode(UB,{class:"nav",onBack:a}),t.createVNode(KV,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(DB,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-08badb6f"]]),qV={class:"dk-flow-editor"},zV={class:"flow-panels-container"},HV={class:"overlay"},YV={class:"field"},WV=Ee(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){var c,d;const{t:o}=Ke.createI18n("en-us",Ye),{formData:r}=Me(),i=n,a=t.useTemplateRef("flowPanels");function l(u,f){const p={...r.config,nodes:u},m={...r.__ui_data,nodes:f};r.config=p,r.__ui_data=m,i("change",p,m)}const{modalOpen:s}=hN(((c=r.config)==null?void 0:c.nodes)??[],((d=r.__ui_data)==null?void 0:d.nodes)??[],{onChange:l,isEditing:e.isEditing});return t.watch(s,()=>{var u;s.value||(u=a.value)==null||u.fitView()}),(u,f)=>{const p=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",qV,[t.createElementVNode("div",zV,[t.createVNode(um,{ref_key:"flowPanels",ref:a,readonly:""},null,512),t.createElementVNode("div",HV,[t.createVNode(p,{appearance:"secondary",class:"button-open-editor",onClick:f[0]||(f[0]=m=>s.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ne.ExpandIcon))]),_:1})])]),t.createVNode(GV,{open:t.unref(s),"onUpdate:open":f[1]||(f[1]=m=>t.isRef(s)?s.value=m:null)},null,8,["open"]),t.createElementVNode("div",YV,[t.createVNode(_a,{description:t.unref(o)("plugins.free-form.datakit.flow_editor.debug.help"),label:t.unref(o)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(o)("plugins.free-form.datakit.flow_editor.debug.description")},name:"config.debug"},null,8,["description","label","label-attributes"])])])}}}),[["__scopeId","data-v-e500dbcf"]]);function XV(e,n){const o=[],r=(i,a)=>{typeof a=="string"&&o.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&r(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&r(["inputs",i],a);if("output"in e&&e.output!=null&&r(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&r(["outputs",i],a);return o}function ZV(e){const n=e.path[2];return n==="output"||n==="outputs"}function JV(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function ym(e,n,o){if(!e.nodes)return;const r=e.nodes.map(c=>c.name),i=new Set;r.forEach((c,d)=>{i.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",d,"name"]}),i.add(c)}),e.nodes.forEach((c,d)=>{const u="input"in c&&c.input!=null,f="inputs"in c&&JV(c.inputs);u&&f&&o.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["nodes",d,"inputs"]})});const a=new Set([...n,...r]),l=new Map,s=new Map;e.nodes.forEach((c,d)=>{for(const u of XV(c,d)){const f=u.value.split(".",1)[0];if(a.has(f)||o.addIssue({code:"custom",message:`Unknown node "${f}" in connection "${u.value}"`,path:u.path}),ZV(u)){const p=`${u.nodeName}->${f}`;s.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${u.nodeName}" outputs to "${f}" and "${f}" inputs from "${u.nodeName}". Specify it on one side only.`,path:u.path}):l.set(p,l.get(p)??u.path)}else{const p=`${f}->${u.nodeName}`;l.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${f}" outputs to "${u.nodeName}" and "${u.nodeName}" inputs from "${f}". Specify it on one side only.`,path:u.path}):s.set(p,s.get(p)??u.path)}}})}const QV=fe.z.enum(Or),eR=fe.z.enum($r),_m=e=>Or.includes(e),Hl=fe.z.enum(eu),bm=Hl.options;fe.z.union([Hl,QV]);const tR=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,wm=fe.z.string().min(1).max(255).regex(tR,"Invalid node name (snake_case / kebab-case only)").refine(e=>!_m(e),"Name clashes with reserved implicit node").brand(),km=fe.z.union([eR,wm]),nR=fe.z.string().min(1).brand(),$t=fe.z.string().refine(e=>{if(km.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return km.safeParse(o).success&&nR.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),Cm=fe.z.enum(tu),Jo=fe.z.object({type:fe.z.string(),name:wm,input:$t,inputs:fe.z.record(fe.z.string(),$t).nullish(),output:$t,outputs:fe.z.record(fe.z.string(),$t).nullish()}).loose(),oR=fe.z.object({type:fe.z.string(),name:fe.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),bm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${bm.join(", ")}`})}),rR=Jo.extend({type:fe.z.literal("call"),method:Cm.nullish(),ssl_server_name:fe.z.string().min(1).nullish(),timeout:fe.z.number().int().min(0).max(2147483646).nullish(),url:fe.z.url(),inputs:fe.z.object({body:$t,headers:$t,query:$t}).partial().nullish(),outputs:fe.z.object({body:$t,headers:$t,status:$t}).partial().nullish()}).strict(),iR=Jo.extend({type:fe.z.literal("exit"),status:fe.z.number().int().min(200).max(599).nullish(),warn_headers_sent:fe.z.boolean().nullish(),output:fe.z.never().optional(),outputs:fe.z.never().optional()}).strict(),aR=Jo.extend({type:fe.z.literal("jq"),jq:fe.z.string().min(1).max(10240),outputs:fe.z.never().optional()}).strict(),lR=Jo.extend({type:fe.z.literal("property"),content_type:fe.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:fe.z.string().min(1),inputs:fe.z.never().optional(),outputs:fe.z.never().optional()}).strict(),sR=Jo.extend({type:fe.z.literal("static"),values:fe.z.record(fe.z.string(),fe.z.unknown()),input:fe.z.never().optional(),inputs:fe.z.never().optional()}).strict(),cR=oR.pipe(fe.z.discriminatedUnion("type",[rR,iR,aR,lR,sR]));fe.z.object({nodes:fe.z.array(cR).min(1,"At least one node is required"),debug:fe.z.boolean().nullish()}).strict().superRefine((e,n)=>{ym(e,Or,n)});const Em=Hl.options,dR=fe.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!_m(e),"Node name conflicts with reserved implicit node"),Bt=fe.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const o=e.slice(0,n),r=e.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),Qo=fe.z.object({type:fe.z.string(),name:dR,input:Bt.nullish(),inputs:fe.z.record(fe.z.string(),Bt.nullish()).nullish(),output:Bt.nullish(),outputs:fe.z.record(fe.z.string(),Bt.nullish()).nullish()}).loose(),uR=fe.z.object({type:fe.z.string(),name:fe.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),Em.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Em.join(", ")}`})}),fR=Qo.extend({type:fe.z.literal("call"),method:Cm.nullish(),ssl_server_name:fe.z.string().nullish(),timeout:fe.z.union([fe.z.number(),fe.z.string()]).nullish(),url:fe.z.string().nullish(),inputs:fe.z.object({body:Bt.nullish(),headers:Bt.nullish(),query:Bt.nullish()}).partial().nullish(),outputs:fe.z.object({body:Bt.nullish(),headers:Bt.nullish(),status:Bt.nullish()}).partial().nullish()}).strict(),pR=Qo.extend({type:fe.z.literal("exit"),status:fe.z.union([fe.z.number(),fe.z.string()]).nullish(),warn_headers_sent:fe.z.boolean().nullish(),output:fe.z.never().optional(),outputs:fe.z.never().optional()}).strict(),mR=Qo.extend({type:fe.z.literal("jq"),jq:fe.z.string().nullish(),outputs:fe.z.never().optional()}).strict(),gR=Qo.extend({type:fe.z.literal("property"),content_type:fe.z.string().nullish(),property:fe.z.string().nullish(),inputs:fe.z.never().optional(),outputs:fe.z.never().optional()}).strict(),hR=Qo.extend({type:fe.z.literal("static"),values:fe.z.record(fe.z.string(),fe.z.unknown()).nullish(),input:fe.z.never().optional(),inputs:fe.z.never().optional()}).strict(),yR=uR.pipe(fe.z.discriminatedUnion("type",[fR,pR,mR,gR,hR])),_R=fe.z.object({nodes:fe.z.array(yR).nullish(),debug:fe.z.boolean().nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||ym(e,$r,n)}).nullish(),bR={class:"option-label"},wR=["innerHTML"],kR=Ee(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Ke.createI18n("en-us",Ye),o=e,r=t.inject(kc.DATAKIT_ENABLE_FLOW_EDITOR,!1),{editorMode:i}=qa(),a=t.computed(()=>r&&s.value?i.value:"code"),l={flow:Ne.DesignIcon,code:Ne.CodeblockIcon},s=t.ref(!0),c=t.computed(()=>{const h=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return h[0].disabled=!s.value,h}),d=t.computed(()=>{switch(a.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}});t.watch(a,()=>{var h;(h=o.onValidityChange)==null||h.call(o,{model:"config",valid:!0})});function u(){var h;(h=o.onValidityChange)==null||h.call(o,{model:"config",valid:!0})}function f(){u()}function p(h){u();const{success:y}=_R.safeParse(h);s.value=y}function m(h){var y;s.value=!1,(y=o.onValidityChange)==null||y.call(o,{model:"config",valid:!1,error:h})}return(h,y)=>{const g=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(Hc,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(_=>[t.createVNode(pt,t.mergeProps(_,{tag:"div"}),{default:t.withCtx(()=>[a.value==="flow"?(t.openBlock(),t.createBlock(WV,{key:0,"is-editing":o.isEditing,onChange:f},null,8,["is-editing"])):a.value==="code"?(t.openBlock(),t.createBlock(rN,{key:1,class:"code-editor",editing:o.isEditing,onChange:p,onError:m},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},1040)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:d.value},null,8,wR)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(xe.KSegmentedControl),{"model-value":a.value,options:c.value,"onUpdate:modelValue":y[0]||(y[0]=_=>i.value=_)},{"option-label":t.withCtx(({option:_})=>[t.createVNode(g,{disabled:s.value||_.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",bR,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l[_.value]))),t.createTextVNode(" "+t.toDisplayString(_.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-ef778da1"]]),Nm=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},vm=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},CR=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=De.useI18n(),l={prepareFormData:c=>{var u,f;const d=$n(c);return(f=(u=d.config)==null?void 0:u.tools)!=null&&f.length&&d.config.tools.forEach(p=>{vm(p.headers),vm(p.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var u,f;const d=$n(c);(f=(u=d.config)==null?void 0:u.tools)!=null&&f.length&&d.config.tools.forEach(p=>{Nm(p.headers),Nm(p.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(pt,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:u})=>[t.createVNode(Nr,{appearance:"tabs","item-label":(f,p)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:p+1}),name:u,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(vr)]),_:1},8,["data","schema"]))}}),ER=t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(ka,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(CR,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),NR=Ee(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(e,{emit:n}){const o=n,r=t.computed(()=>{const l=e.schema.fields.find(d=>Object.keys(d)[0]==="config").config.fields,s=[],c=[];for(const d of l){const u=Object.keys(d)[0];d[u].required?s.push(u):c.push(u)}return{required:s,nonRequired:c}}),i={hasValue:l=>!!(l!=null&&l.config)};function a(l){o("change",l)}return(l,s)=>(t.openBlock(),t.createBlock(pt,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(vr,{class:"ff-advanced-fields"},{default:t.withCtx(()=>[t.createVNode(ot,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),[["__scopeId","data-v-3e5ed51d"]]),Sm=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:ER,CommonForm:t.defineComponent({__name:"CommonForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Hc,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(NR,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),DatakitForm:kR,RequestCalloutForm:Dw,ServiceProtectionForm:Tk},Symbol.toStringTag,{value:"Module"})),vR={class:"kong-ui-entities-plugin-form"},SR={key:1,class:"entity-form"},xR={class:"plugin-config-empty-state"},AR=Ee(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var pe,ge;const o=Object.keys(Pe.sharedForms),r=Object.keys(Sm);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=ce.useAxios((pe=a.config)==null?void 0:pe.axiosRequestConfig),{parseSchema:s}=De.useSchemas({entityId:((ge=a.entityMap.focusedEntity)==null?void 0:ge.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:u,isObjectEmpty:f,unsetNullForeignKey:p}=De.usePluginHelpers(),m=De.useExperimentalFreeForms(),{objectsAreEqual:h}=ce.useHelpers(),{i18n:{t:y}}=Ae(),g=J=>a.config.app==="konnect"?J.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?J.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):J,_=(J,ee)=>{let re=`${a.config.apiBaseUrl}${Le.form[a.config.app].entityGetOne}`;return re=g(re),re=re.replace(/{entity}/gi,J),re=re.replace(/{id}/gi,ee),re},w=J=>{let ee=`${a.config.apiBaseUrl}${Le.form[a.config.app].entityGetAll}`;return ee=g(ee),ee=ee.replace(/{entity}/gi,J),ee},b=(J,ee)=>{const re=_(J,ee);return l.get(re)},A=(J,ee)=>{const re=w(J);return a.config.app==="konnect"?l.get(re).then(ue=>{const{data:{data:se}}=ue;if(delete ee.size,delete ee.offset,se.length&&Object.keys(ee).length===1){const C=Object.keys(ee)[0],v=se.filter(k=>k[C]?!!k[C].toLowerCase().includes(ee[C].toLowerCase()):!1);ue.data.data=v}return ue}):l.get(re,{params:ee})},S=(J,ee,re)=>{const ue=w(J);if(a.config.app==="konnect"){const{size:se,offset:C,...v}=ee;if(J==="consumer_groups")return l.get(ue,{params:{size:1e3},signal:re}).then(E=>{const{data:{data:$}}=E;if($.length&&Object.keys(v).length===1){const B=Object.keys(v)[0],j=$.filter(O=>O[B]?!!O[B].toLowerCase().includes(v[B].toLowerCase()):!1);E.data.data=j}return E});const k={size:se,offset:C};for(const E of Object.keys(v))k.filter={[E]:{contains:v[E]}};return l.get(ue,{params:k,signal:re})}return l.get(ue,{params:ee,signal:re})},N=(J,ee=50)=>{const re=w(J);return l.get(re,{params:{size:ee}})};t.provide(Pe.FORMS_API_KEY,{getOne:b,getAll:A,getAllV2:S,peek:N}),t.provide(Pe.FORMS_CONFIG,a.config);const P=t.ref(""),T=t.ref(""),M=t.ref(null),H=t.ref({}),q=t.reactive({}),x=t.reactive({}),Y=t.computed(()=>{var J;return(J=M.value)==null?void 0:J.options}),I=t.ref(!1),F=t.ref(),L=(J,ee)=>{I.value=J??"",F.value=ee},Z=J=>{var ee;(ee=F.value)==null||ee.call(F,J),I.value=!1},W=()=>{var v,k;const J={...a.schema},ee=x,re=q,ue=Object.keys(ee),se={};if(!f(H.value))for(let E=0;E<((k=(v=H.value)==null?void 0:v.fields)==null?void 0:k.length);E++)J[H.value.fields[E].model]=H.value.fields[E];Pe.customFields.forEach(E=>{J[E]&&(J[E].fields.forEach($=>{$.fields&&$.fields.forEach(B=>{J[B.model]=B}),$.model&&(J[$.model]=$)}),delete J[E])}),ue.forEach(E=>{var _e;if(!J[E]){E==="partials"&&(se[E]=ee[E]);return}const $=J[E];let B=ee[E];const j=re[E],O=Array.isArray(B)?"array":typeof B,z=$?$.valueType:null,V=$?$.valueArrayType:null,de=$?$.transform:null;if(B==null&&j==null&&!$.submitWhenNull)return;if($){if(z&&O!==z)switch(z){case"array":O==="string"&&B.length&&(B=B.split(",").map(me=>{if(me=me.trim(),V==="string")return String(me);if(V==="number")return Number(me);if(V==="boolean"){if(typeof me=="string")return me.toLowerCase()==="true"||me==="1";if(typeof me=="number")return me===1}return me})),(!B||!B.length)&&(B=$.submitWhenNull?null:[]);break;case"number":B=Number(B);break;case"boolean":O==="string"&&(B=B.toLowerCase()==="true"||B==="1"),O==="number"&&(B=B===1);break;case"string":B=B==null?"":String(B);break}else z==="array"&&(!B||!B.length?B=$.submitWhenNull?null:[]:((_e=$.inputAttributes)==null?void 0:_e.type)==="number"&&(B=B.map(me=>Number(me))));if($.type==="array"&&$.nestedFields){const me=Q=>{Object.keys(Q).forEach(he=>{Q[he]&&typeof Q[he]=="object"&&!Array.isArray(Q[he])&&Q[he]!==null?me(Q[he]):(Q[he]===void 0||Q[he]===null||typeof Q[he]=="number"&&isNaN(Q[he])||typeof Q[he]=="string"&&Q[he].trim().length===0)&&delete Q[he]})};B&&typeof B=="object"&&me(B)}$.type==="object-advanced"&&$.fields&&B!==null&&(Object.entries(B).length===0?B=null:Object.keys(B).forEach(me=>{Array.isArray(B[me])||(B[me]=B[me].split(","))}))}let le=c(E);if($.fieldNameHasDashes){const[me,...Q]=le.split(".").reverse();le=[me.replace(/_/g,"-"),...Q].reverse().join(".")}if(z==="object-expand"){let me;[le,me]=le.split(".");let Q={};se[le]&&(Q=se[le]),Q[me]=B,B=Q}j!==void 0&&B===""&&B!==j?se[le]=z==="object"?{}:null:$.type==="checklist"&&B===""?se[le]=[]:B!==""&&(se[le]=B),se[le]=de?de(B):se[le],p(le,se)});const C=d(se);return T.value&&Object.assign(C,te.value),C},K=(J,ee={})=>{u(x,ee,J,a.editing),i("model-updated",{model:x,originalModel:q,data:W()})},U=(J,ee)=>{var se;const re={[ee]:J};typeof((se=a.schema[ee])==null?void 0:se.modelTransformer)=="function"&&(re[ee]=a.schema[ee].modelTransformer(J));const ue=Object.assign({},x,re);Object.assign(x,ue),i("model-updated",{model:x,originalModel:q,data:W()})},R=J=>{i("validity-change",J)},D=(J,ee)=>{Object.keys(J).forEach(re=>{var k,E;let ue=ee?`${ee}-${re}`:re,se=a.schema[ue];if(!se){const $=ee?`${ee}-${re.replace(/-/g,"_")}`:re.replace(/-/g,"_");(k=a.schema[$])!=null&&k.fieldNameHasDashes&&(ue=$,se=a.schema[ue]),ee&&((E=a.schema[ee])==null?void 0:E.keyFromObject)===re&&(ue=ee,se=a.schema[ue])}const C=J[re],v=typeof C;if(se&&se.type==="object-advanced"&&!C){x[ue]={},q[ue]={};return}if(Array.isArray(C)){x[ue]=JSON.parse(JSON.stringify(C)),q[ue]=JSON.parse(JSON.stringify(C));return}if(v==="object"&&C&&!C.length)return D(C,ue);if(v==="object"&&C&&C.length&&se.type==="input"){x[ue]=C.join(", "),q[ue]=C.join(", ");return}x[ue]=C,q[ue]=C}),i("model-updated",{model:x,originalModel:q,data:W()})},te=t.shallowRef(a.record),X=J=>{te.value=J,i("model-updated",{model:{...x,...J},originalModel:q,data:W()})},oe=t.ref(!0),ie=()=>{var J;if(a.record&&a.schema&&(D({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&D({consumer_id:a.record.consumer_id||a.record.consumer}),D(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&D({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&K("redis",{partials:a.record.partials}),T.value?X(a.record):D(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ee={};for(const re in a.entityMap){const ue=a.entityMap[re].id,se=a.entityMap[re].idField,C=se==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(se).replace("_","-"));Object.prototype.hasOwnProperty.call(x,C)&&(ee[C]=ue)}D(ee)}if((J=a.entityMap.consumer)!=null&&J.id&&a.schema&&a.credential){const ee={};Object.prototype.hasOwnProperty.call(x,"consumer")&&(ee.consumer=a.entityMap.consumer.id),D(ee)}oe.value=!1};return t.watch(oe,J=>{i("loading",J)}),t.watch(()=>a.schema,(J,ee)=>{var ue,se;if(h(J||{},ee||{}))return;const re=s(J,void 0,void 0,a.engine);Object.assign(x,re.model),H.value={fields:(se=(ue=H.value)==null?void 0:ue.fields)==null?void 0:se.map(C=>({...C,disabled:C.disabled||!1}))},Object.assign(q,JSON.parse(JSON.stringify(re.model))),T.value=a.engine?a.engine==="vfg"?void 0:ca(re.model.name,m)||"CommonForm":ca(re.model.name,m),P.value=Pe.getSharedFormName(re.model.name),ie()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var J,ee;M.value=s(a.schema,void 0,void 0,a.engine),Object.assign(x,((J=M.value)==null?void 0:J.model)||{}),H.value=((ee=M.value)==null?void 0:ee.schema)||{},ie()}),(J,ee)=>{var ue;const re=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",vR,[oe.value?(t.openBlock(),t.createBlock(re,{key:0,type:"form"})):x.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",SR,[T.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(Sm[T.value]),{key:0,"form-model":x,"form-options":Y.value,"form-schema":H.value,"is-editing":e.editing,model:e.record,"on-form-change":X,"on-model-updated":U,"on-validity-change":R,schema:e.rawSchema,onGlobalAction:ee[0]||(ee[0]=(se,C)=>J.$emit("globalAction",se,C))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(se=>[se.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(lr.VaultSecretPickerProvider),t.mergeProps({key:0},se,{onOpen:L}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):P.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Pe.sharedForms)[P.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":x,"form-options":Y.value,"form-schema":H.value,"is-editing":e.editing,"on-model-updated":U,"on-partial-toggled":K,"show-new-partial-modal":se=>J.$emit("showNewPartialModal",se)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(se=>[se.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(lr.VaultSecretPickerProvider),t.mergeProps({key:0},se,{onOpen:L}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Pe.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:x,options:Y.value,schema:H.value,onModelUpdated:U,onPartialToggled:K,onRefreshModel:W,onShowNewPartialModal:ee[1]||(ee[1]=se=>J.$emit("showNewPartialModal",se))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",xR,t.toDisplayString(t.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ue=t.unref(Ct)[x.name])!=null&&ue.fieldRules&&(a.config.isNewOtelSchema||x.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(F0,{rules:t.unref(Ct)[x.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(se=>[se.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(lr.VaultSecretPickerProvider),t.mergeProps({key:0},se,{onOpen:L}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(lr.VaultSecretPicker),{config:a.config,setup:I.value,onCancel:ee[2]||(ee[2]=()=>I.value=!1),onProceed:Z},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-3a5319dd"]]),IR={key:1},PR=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",IR,[t.renderSlot(n.$slots,"default")]))}}),TR={class:"kong-ui-entities-plugin-form-container"},OR={key:0},$R={class:"plugin-form-actions"},BR=Ee(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null},engine:{type:String,required:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var j;const o=n,r=e,i=io.useRouter(),{i18n:{t:a}}=De.useI18n(),{customSchemas:l,typedefs:s}=De.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=De.usePluginHelpers(),{getMessageFromError:d}=ce.useErrors(),{capitalize:u}=ce.useStringHelpers(),{objectsAreEqual:f}=ce.useHelpers(),{axiosInstance:p}=ce.useAxios((j=r.config)==null?void 0:j.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),y=t.computed(()=>r.pluginId?ce.EntityBaseFormType.Edit:ce.EntityBaseFormType.Create),g=t.ref(void 0),_=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),A=t.ref({}),S=t.ref(),N=t.ref();t.provide(Gc,{redisType:S,redisPath:N,isEditing:h.value});const P=t.ref(!1),T=t.reactive({enabled:!0,protocols:[],tags:[]}),M=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),H=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&H.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const q=t.ref(""),x=t.computed(()=>{var z;if(w.value){let V=Le.form[r.config.app].credential[y.value];return V=V.replace(/{resourceEndpoint}/gi,L.value),V}let O;return r.config.entityType&&r.config.entityId?O=Le.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):O=Le.form[r.config.app].edit.all,r.config.app==="konnect"&&((z=Ct[r.pluginType])!=null&&z.useUIData)?`${O}?__ui_data=true`:O}),Y=()=>{m.value=!m.value},I=t.computed(()=>{var _e,me,Q,he,we,ae,ne,$e;const O=r.config.entityType==="consumers"&&r.config.entityId||((me=(_e=b.value)==null?void 0:_e.consumer)==null?void 0:me.id),z=r.config.entityType==="consumer_groups"&&r.config.entityId||((he=(Q=b.value)==null?void 0:Q.consumer_group)==null?void 0:he.id),V=r.config.entityType==="services"&&r.config.entityId||((ae=(we=b.value)==null?void 0:we.service)==null?void 0:ae.id),de=r.config.entityType==="routes"&&r.config.entityId||(($e=(ne=b.value)==null?void 0:ne.route)==null?void 0:$e.id);if(!(O||z||V||de))return{global:{entity:G.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const le={};return V&&(le.service={entity:G.PluginScope.SERVICE,entityEndpoint:"services",id:V,idField:on.SERVICE}),de&&(le.route={entity:G.PluginScope.ROUTE,entityEndpoint:"routes",id:de,idField:on.ROUTE}),O&&(le.consumer={entity:G.PluginScope.CONSUMER,entityEndpoint:"consumers",id:O,idField:on.CONSUMER}),z&&(le.consumer_group={entity:G.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:z,idField:on.CONSUMER_GROUP}),r.config.entityType&&(le.focusedEntity={entity:G.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:on[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),le}),F=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||y.value===ce.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),L=t.computed(()=>{var V;const O=r.developer?"developers":"consumers",z=((V=Pn[r.pluginType])==null?void 0:V.endpoint)||"/plugins";return`${O}/${r.config.entityId}${r.developer?"/credentials":""}${z}`}),Z=O=>{const z=Array.from(new Set(O.map(V=>typeof V)));return z.length>1?"string":z[0]},W=(O,z,V,de)=>{var Q,he;let le=z&&z.fields||[];const _e=l[r.pluginType],me=(he=(Q=Pn[r.pluginType])==null?void 0:Q.schema)==null?void 0:he.fields;return Array.isArray(le)&&(le=le.reduce((we,ae)=>{const ne=Object.keys(ae)[0];return ne.match(/-/g)?we[ne.replace(/-/g,"_")]={...ae[ne],fieldNameHasDashes:!0}:we[ne]=ae[ne],we},{})),Object.keys(le).sort().forEach(we=>{var zt,er,tr,nr,or,rr,ir;const ae=le[we];ae.type==="set"&&(ae.type="array");const ne=O?`${O}-${we}`:`${we}`;if((zt=_e==null?void 0:_e.fieldsToDelete)!=null&&zt.includes(ne)){wc(V,ne);return}if(Object.prototype.hasOwnProperty.call(ae,"overwrite")||ae.hidden)return;if(ae.type==="table")return W(ne,ae.schema,V);if(ae.fields)return de&&ae.type==="record"?(V[ne]={type:"object",model:we,schema:{fields:Object.values(W(ne,ae,{},!0))}},V):W(ne,ae,V);if(V[ne]={id:ne,model:we},V[ne].type=ae.type==="boolean"?"checkbox":"input",V[ne].required=ae.required,V[ne].referenceable=ae.referenceable,ne.startsWith("config-"))if(!de&&ae.type==="array"&&(q.value=ne),de&&q.value&&ne.startsWith(q.value)){const Se=ne.slice(q.value.length+1);V[ne].label=Se.split("-").map(c).join(".")}else V[ne].label=c(ne);if((O==="config"||O.startsWith("config-"))&&(er=le[we])!=null&&er.description&&(V[ne].help=ar.marked.parse(le[we].description,{mangle:!1,headerIds:!1})),ae.type==="map"){if(V[ne].type="object-advanced",V[ne].values=ae.values,ae.values.type==="array"){const{type:Se}=ae.values.elements||{};V[ne].schema={fields:[{schema:{fields:[{...Te,model:ne,valueArrayType:Se==="integer"?"number":Se||"string",inputAttributes:{...Te.inputAttributes,type:Se==="integer"?"number":"text",inputMode:Se==="integer"?"numeric":"text"}}]}}]}}else ae.values.fields&&(V[ne].schema={fields:[{type:"object",model:"object",schema:{fields:ae.values.fields.map(Se=>{const lt=Object.keys(Se)[0];return{model:lt,type:"input",label:u(lt),placeholder:lt,inputType:Se[lt].type}})}}]});return V}if(ae.enum&&ae.type==="array"&&(V[ne].type="checklist",V[ne].values=ae.enum,V[ne].multi=!0,V[ne].multiSelect=!0),ae.one_of&&ae.type!=="array"&&(V[ne].type="select",V[ne].values=ae.one_of,V[ne].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),ae.elements&&ae.type==="array"){const Se=ae.elements;if(V[ne].referenceable=Se.referenceable,V[ne].elements=Se,["string","integer","number"].includes(Se.type)&&!Se.one_of){const{id:lt,help:Fe,label:ve,hint:Ie,values:Be,referenceable:Ht,model:dt}=V[ne],{inputAttributes:Bi,...xD}=JSON.parse(JSON.stringify(Te));Bi.type=Se.type==="string"?"text":"number",V[ne]={id:lt,help:Fe,label:ve,hint:Ie,values:Be,referenceable:Ht,model:dt,inputAttributes:Bi,...xD}}}if(ae.hint&&(V[ne].hint=ae.hint),_e&&!_e.overwriteDefault&&Object.keys(_e).forEach(Se=>{if(Se===ne){const{help:lt,label:Fe,hint:ve,values:Ie,referenceable:Be,elements:Ht}=V[ne],{help:dt,...Bi}=_e[Se];V[ne]={help:lt,label:Fe,hint:ve,values:Ie,referenceable:Be,elements:Ht,...Bi},typeof dt=="string"&&(V[ne].help=ar.marked.parse(dt,{mangle:!1,headerIds:!1}))}}),ae.type==="array"&&((tr=ae.elements)==null?void 0:tr.type)==="record"&&Array.isArray(ae.elements.fields)){let Se={};for(const Fe of ae.elements.fields)Se={...Se,...Fe};const lt=(rr=(or=(nr=V[ne])==null?void 0:nr.items)==null?void 0:or.schema)==null?void 0:rr.fields;if(Array.isArray(lt))for(const Fe of V[ne].items.schema.fields){const ve=(ir=Se[Fe.model])==null?void 0:ir.description;Fe.help===void 0&&typeof ve=="string"&&(Fe.help=ar.marked.parse(ve,{mangle:!1,headerIds:!1}))}if(lt||(V[ne].type="array",V[ne].newElementButtonLabelClasses="kong-form-new-element-button-label",V[ne].fieldClasses="array-card-container-wrapper",V[ne].itemContainerComponent="FieldArrayCardContainer",V[ne].items={type:"object",schema:{fields:Object.values(W(ne,ae.elements,{},!0))}},V[ne].items.schema.fields.forEach(Fe=>{var ve,Ie;for(const Be of ae.elements.fields){const Ht=Object.keys(Be)[0],dt=((Ie=(ve=Fe.id)==null?void 0:ve.split)==null?void 0:Ie.call(ve,"-"))??[];if(dt[dt.length-1]===Ht){Fe.model=Ht,Fe.label=c(Ht);break}}}),ae.elements.type==="record"&&(V[ne].nestedFields=!0)),!V[ne].nestedFields)V[ne].items.default=()=>ae.elements.fields.reduce((Fe,ve)=>{const Ie=Object.keys(ve)[0];return Fe[Ie]=ve[Ie].default,Fe},{});else{const Fe=(ve,Ie)=>{if(ve.type==="object"){ve.model&&(Ie[ve.model]={});for(const Be of ve.schema.fields)Fe(Be,ve.model?Ie[ve.model]:Ie)}else ve.model&&(Ie[ve.model]=ve.default)};V[ne].items.default=()=>{const ve={};return Fe(V[ne].items,ve),ve}}}if(w.value&&me){for(let Se=0;Se<me.length;Se++)if(me[Se][ne]){V[ne]={...V[ne],...me[Se][ne]};break}}if(ae.required&&ae.type!=="boolean"&&(V[ne].required=!0,V[ne].selectOptions={hideNoneSelectedText:!0}),ae.required&&ae.type==="boolean"&&(V[ne].default=ae.default??!1),ae.default!=null&&typeof ae.default!="object"&&ae.default!=="function"&&(V[ne].default=ae.default),V[ne].type==="input"){["string","number"].includes(typeof V[ne].default)&&r.config.app==="konnect"&&(V[ne].placeholder=`Default: ${V[ne].default===""?"<empty string>":V[ne].default}`);const{type:Se}=ae.elements||{};Se&&(V[ne].valueArrayType=Se==="integer"?"number":Se),V[ne].inputType=ae.type==="array"||ae.type==="string"?ae.encrypted?"password":"text":ae.type}let $e="string";ae.enum?$e=Z(ae.enum):ae.type==="boolean"?$e="boolean":ae.type==="number"||ae.type==="integer"?($e="number",V[ne].inputType="number"):ae.type==="array"?($e="array",V[ne].default=ae.default,ae.len_min>0&&(V[ne].submitWhenNull=!0)):ae.type==="foreign"?$e="object":ae.default&&Array.isArray(ae.default)?($e="array",V[ne].valueArrayType=Z(ae.default)):ae.default&&($e=typeof ae.default),V[ne].valueType=$e,ae.fieldNameHasDashes&&(V[ne].fieldNameHasDashes=!0)}),V},K=()=>{var ne,$e,zt,er,tr,nr,or,rr,ir,Se,lt,Fe;const O=((ne=Ct[r.pluginType])==null?void 0:ne.scope.includes(G.PluginScope.SERVICE))??!0,z=(($e=Ct[r.pluginType])==null?void 0:$e.scope.includes(G.PluginScope.ROUTE))??!0,V=((zt=Ct[r.pluginType])==null?void 0:zt.scope.includes(G.PluginScope.CONSUMER))??!0,de=r.config.disableConsumerGroupScope?!1:((er=Ct[r.pluginType])==null?void 0:er.scope.includes(G.PluginScope.CONSUMER_GROUP))??!0,le=r.config.entityType==="consumers"&&!!r.config.entityId||!!((nr=(tr=b.value)==null?void 0:tr.consumer)!=null&&nr.id),_e=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((rr=(or=b.value)==null?void 0:or.consumer_group)!=null&&rr.id),me=r.config.entityType==="services"&&!!r.config.entityId||!!((Se=(ir=b.value)==null?void 0:ir.service)!=null&&Se.id),Q=r.config.entityType==="routes"&&!!r.config.entityId||!!((Fe=(lt=b.value)==null?void 0:lt.route)!=null&&Fe.id),he=[],we=(ve,Ie,Be)=>ve?a("plugins.form.disable_source_scope_change",{scope:Be}):Ie?a("plugins.form.disable_data_retrieving",{scope:Be}):"",ae=ve=>{var Ie,Be;return((Be=(Ie=r.scopedEntitiesPermissions)==null?void 0:Ie[ve])==null?void 0:Be.canRetrieve)===!1};if(O){const ve=ae("service"),Ie="services",Be=me&&r.disableScopeSelection;he.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",labelField:"name",entity:Ie,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Be||ve,disabledTooltip:we(Be,ve,Ie)})}if(z){const ve=ae("route"),Ie="routes",Be=Q&&r.disableScopeSelection;he.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Ie,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Be||ve,disabledTooltip:we(Be,ve,Ie)})}if(V){const ve=ae("consumer"),Ie="consumers",Be=le&&r.disableScopeSelection;he.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Ie,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Be||ve,disabledTooltip:we(Be,ve,Ie)})}if(de){const ve=ae("consumer_group"),Ie="consumer_groups",Be=_e&&r.disableScopeSelection;he.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Ie,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Be||ve,disabledTooltip:we(Be,ve,Ie)})}if(he.length){const ve=[...O?["service"]:[],...z?["route"]:[],...V?["consumer"]:[],...de?["consumer_group"]:[]],Be=ve.splice(ve.length-2,2).map(dt=>a(dt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${dt}.plural`)).join(`${ve.length>0?",":""} and/or `),Ht=["Specific",[...ve.length>0?[ve.map(dt=>a(dt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${dt}.plural`)).join(", ")]:[],Be].join(", ")].join(" ");F.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Ht,fields:[]}),F.selectionGroup.fields[1].fields=he}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(F,l[r.pluginType].formSchema)},U=t.computed(()=>!f(M.fields,T,!0)),R=t.computed(()=>!$.value&&!P.value&&(y.value===ce.EntityBaseFormType.Create||U.value)),D=t.ref(!1),te=t.ref(),X=O=>{r.credential&&O.password&&(O.password=""),M.fields.id=(O==null?void 0:O.id)||void 0,te.value=O==null?void 0:O.ordering,Object.assign(T,M.fields),b.value=O,D.value=!0},oe=t.ref({}),ie=O=>{var z;M.fields=O.model,M.fields.id=((z=b.value)==null?void 0:z.id)||void 0,Object.assign(T,O.originalModel),oe.value=O.data,r.isWizardStep&&o("model-updated",{model:M.fields,data:O.data,resourceEndpoint:L.value})},pe=t.ref(new Map),ge=t.computed(()=>[M.clientErrorMessage,M.serverErrorMessage].filter(Boolean).join("; ")),J=O=>{O.valid?pe.value.delete(O.model):pe.value.set(O.model,O.error),M.clientErrorMessage=[...pe.value.entries()].map(([z,V])=>`${z}: ${typeof V=="string"?V:d(V)}`).join("; "),M.clientErrorMessage&&(M.serverErrorMessage="")};t.watch([I,D],(O,z)=>{const V=O[0]!==z[0],de=O[1],le=z[1];if(!w.value&&y.value===ce.EntityBaseFormType.Edit&&(V||de&&de!==le)){const _e=W("config",A.value,F);se.value&&(_e._isCustomPlugin=!0),S.value&&(_e._supported_redis_partial_type=S.value),_.value=_e}},{deep:!0});const ee=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},re=t.computed(()=>{let O=`${r.config.apiBaseUrl}${Le.form[r.config.app].validate}`;return r.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),O=O.replace(/{id}/gi,r.pluginId),O}),ue=t.computed(()=>{const O=r.config.entityType&&r.config.entityId&&!r.developer,z=w.value?Le.form[r.config.app].credential[y.value]:Le.form[r.config.app][y.value][O?"forEntity":"all"];let V=`${r.config.apiBaseUrl}${z}`;return r.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),V=V.replace(/{resourceEndpoint}/gi,L.value),V=V.replace(/{id}/gi,r.pluginId),V=V.replace(/{entityType}/gi,r.config.entityType||""),V=V.replace(/{entityId}/gi,r.config.entityId||""),V}),se=t.computed(()=>!Object.keys(Ct).includes(r.pluginType)),C=t.computed(()=>{const O=oe.value;if(w.value){for(const z in G.PluginScope){const V=G.PluginScope[z];O[V]&&!O[V].id&&(O[V]={id:r.config.entityId})}delete O.created_at}return oe.value.partials&&N.value&&wc(O,N.value),O}),v=async()=>{if(!M.clientErrorMessage&&!r.isWizardStep)try{M.isReadonly=!0;let O;const z=JSON.parse(JSON.stringify(C.value)),V=l[r.pluginType];typeof(V==null?void 0:V.shamefullyTransformPayload)=="function"&&V.shamefullyTransformPayload({originalModel:T,model:M.fields,payload:z,schema:_.value}),!w.value&&!se.value&&await p.post(re.value,z),y.value==="create"?O=await p.post(ue.value,z):y.value==="edit"&&(O=r.config.app==="konnect"||S.value&&z.partials?await p.put(ue.value,Object.assign({ordering:te.value},z)):await p.patch(ue.value,z)),Object.assign(T,M.fields),o("update",O==null?void 0:O.data)}catch(O){M.serverErrorMessage=d(O),o("error",O)}finally{M.isReadonly=!1}},k=t.computed(()=>{var de;const O=w.value?(de=Pn[r.pluginType])==null?void 0:de.schemaEndpoint:r.pluginType,z=w.value?Le.form[r.config.app].credentialSchema:Le.form[r.config.app].pluginSchema;let V=`${r.config.apiBaseUrl}${z}`;return r.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),V=V.replace(/{plugin}/gi,O),V}),E=t.ref(""),$=t.ref(!1),B=t.ref("");return t.onBeforeMount(async()=>{var O,z,V,de;$.value=!0;try{if(w.value&&r.config.app==="konnect"){const le=(O=Pn[r.pluginType])==null?void 0:O.schemaEndpoint,_e=jm[le];E.value=le,_.value=W("",_e,{}),$.value=!1}else{const le=r.schema??(await p.get(k.value)).data;if(g.value=le,le)if(w.value)_.value=W("",le,{}),$.value=!1;else{const _e=le.fields.find(Q=>Q.config);A.value=_e?_e.config:le,le.supported_partials&&(S.value=Object.keys(le.supported_partials).find(Q=>[cr.REDIS_CE,cr.REDIS_EE].includes(Q)),N.value=(z=le.supported_partials[S.value])==null?void 0:z[0]),K();const me=(V=le.fields.find(Q=>Q.protocols))==null?void 0:V.protocols;if(me){const{default:Q=[],elements:he={}}=me;F.protocols.default=Q,F.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:Q.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(de=he.one_of)!=null&&de.length&&(F.protocols.values=he.one_of.map(we=>({label:we,value:we})))}if(D.value||y.value===ce.EntityBaseFormType.Create){const Q=W("config",A.value,F);S.value&&(Q._supported_redis_partial_type=S.value),se.value&&(Q._isCustomPlugin=!0),_.value=Q}}}}catch(le){console.error(le),B.value=d(le),o("error:fetch-schema",le)}finally{$.value=!1}}),(O,z)=>{const V=t.resolveComponent("KSkeleton"),de=t.resolveComponent("KEmptyState"),le=t.resolveComponent("KButton"),_e=t.resolveComponent("KTabs"),me=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",TR,[$.value?(t.openBlock(),t.createBlock(V,{key:0,type:"form"})):B.value?(t.openBlock(),t.createBlock(de,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(ce.EntityBaseForm),{key:2,"can-submit":R.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(ce.SupportedEntityType).Plugin,"error-message":ge.value,"fetch-url":x.value,"form-fields":C.value,"is-readonly":M.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ee,"onFetch:error":z[4]||(z[4]=Q=>O.$emit("error",Q)),"onFetch:success":X,onLoading:z[5]||(z[5]=Q=>O.$emit("loading",Q))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",OR)):(t.openBlock(),t.createBlock(PR,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",$R,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(le,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:z[3]||(z[3]=Q=>Y())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(le,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:M.isReadonly,onClick:ee},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(le,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!R.value||M.isReadonly,type:"submit",onClick:v},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:v},null,32),t.createVNode(AR,{config:e.config,credential:w.value,editing:y.value===t.unref(ce.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":I.value,"raw-schema":g.value,record:b.value,schema:_.value,onGlobalAction:z[0]||(z[0]=(Q,he)=>O.$emit("globalAction",Q,he)),onLoading:z[1]||(z[1]=Q=>P.value=Q),onModelUpdated:ie,onShowNewPartialModal:z[2]||(z[2]=Q=>O.$emit("showNewPartialModal",Q)),onValidityChange:J},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","engine","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(me,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:Y},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(_e,{"data-testid":"form-view-configuration-slideout-tabs",tabs:H.value},{json:t.withCtx(()=>[t.createVNode(t.unref(ce.JsonCodeBlock),{config:e.config,"entity-record":C.value,"fetcher-url":ue.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(ce.YamlCodeBlock),{"entity-record":C.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(ce.TerraformCodeBlock),{"credential-type":E.value,"entity-record":C.value,"entity-type":t.unref(ce.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-c83db710"]]),VR={class:"kong-ui-entities-plugins-list"},RR={class:"button-row"},DR={class:"name-cell-wrapper"},MR={class:"info-wrapper"},LR={key:0,class:"info-name"},FR={key:1,class:"info-name"},UR={key:2,class:"info-type"},KR={key:1},jR=Ee(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var E,$;const o=De.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=De.useI18n(),l=io.useRouter(),{axiosInstance:s}=ce.useAxios((E=i.config)==null?void 0:E.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=ce.useTableState(()=>b.value),u=t.computed(()=>c.value&&i.config.app==="konnect"),f=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var B;return((B=i.config)==null?void 0:B.entityType)==="consumers"}),m=t.computed(()=>{var B;return((B=i.config)==null?void 0:B.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||ce.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),y=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),g={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};($=i.config)!=null&&$.entityId||(g.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(g.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const _=g,w=t.computed(()=>{var j,O,z,V;let B=i.config.entityType?`${i.config.apiBaseUrl}${Le.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Le.list[i.config.app].all}`;return i.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,((j=i.config)==null?void 0:j.controlPlaneId)||""):i.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,(O=i.config)!=null&&O.workspace?`/${i.config.workspace}`:"")),B.replace(/{entityType}/gi,((z=i.config)==null?void 0:z.entityType)||"").replace(/{entityId}/gi,((V=i.config)==null?void 0:V.entityId)||"")}),b=t.ref(""),A=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:a("search.filter.field.enabled")},name:g.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:S,fetcherState:N,fetcherCacheKey:P}=ce.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),T=()=>{b.value=""},M=()=>{P.value++},H=t.ref(null),q=B=>{var O,z,V,de;const j=[];return((O=B.route)!=null&&O.id||B.route_id)&&j.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((z=B.service)!=null&&z.id||B.service_id)&&j.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((V=B.consumer)!=null&&V.id||B.consumer_id)&&j.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((de=B.consumer_group)!=null&&de.id||B.consumer_group_id)&&j.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),j.length?j:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},x=async(B,j)=>{var O;return B===null?!1:await((O=i.canRetrieveScopedEntity)==null?void 0:O.call(i,B,j.id))},Y=(B,j)=>{var z,V,de,le,_e;let O=null;switch(B){case"route":O=(z=j.route)==null?void 0:z.id;break;case"service":O=(V=j.service)==null?void 0:V.id;break;case"consumer":O=(de=j.consumer)==null?void 0:de.id;break;case"consumer_group":O=(le=j.consumer_group)==null?void 0:le.id;break}O&&((_e=i.config)!=null&&_e.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(B,O))},I=t.ref(!1),F=t.ref(null),L=t.computed(()=>{const B={action:"disable",id:"",name:""};if(F.value){const{enabled:j,id:O,name:z}=F.value;B.action=j?"disable":"enable",B.id=O,B.name=o.getDisplayName(z)||O}return B}),Z=B=>{I.value=!0,F.value=B},W=()=>{I.value=!1,F.value=null},K=async()=>{var z,V,de,le,_e,me,Q,he;if(!await((z=i.canEdit)==null?void 0:z.call(i,F.value))||!F.value)return;let j=`${i.config.apiBaseUrl}${(_e=Le.item[i.config.app])==null?void 0:_e[(V=i.config)!=null&&V.entityType?"forEntity":"all"].replace(/{entityType}/gi,((de=i.config)==null?void 0:de.entityType)||"").replace(/{entityId}/gi,((le=i.config)==null?void 0:le.entityId)||"")}`.replace(/{id}/gi,F.value.id||"");i.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,((me=i.config)==null?void 0:me.controlPlaneId)||""):i.config.app==="kongManager"&&(j=j.replace(/\/{workspace}/gi,(Q=i.config)!=null&&Q.workspace?`/${i.config.workspace}`:""));const O=!F.value.enabled;try{const{data:we}=((he=i.config)==null?void 0:he.app)==="konnect"?await s.put(j,{...F.value,enabled:O},{timeout:12e4}):await s.patch(j,{...F.value,enabled:O},{timeout:12e4});r("toggle-enabled",O,we),F.value.enabled=O}catch(we){r("error",we)}},U=async(B,j)=>{const O=B.id;if(!await j(O)){r("copy:error",{entity:B,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:B,field:"id",message:a("copy.success",{val:O})})},R=async(B,j)=>{const O=JSON.stringify(B);if(!await j(O)){r("copy:error",{entity:B,message:a("errors.copy")});return}r("copy:success",{entity:B,message:a("copy.success_brief")})},D=async B=>{var O;await((O=i.canRetrieve)==null?void 0:O.call(i,B))&&l.push(i.config.getViewRoute(B))},te=B=>({label:a("actions.view"),to:i.config.getViewRoute(B)}),X=B=>({label:a("actions.edit"),to:i.config.getEditRoute(B)}),oe=B=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(B)}),ie=t.ref(void 0),pe=t.ref(!1),ge=t.ref(!1),J=t.ref(""),ee=ce.useDeleteUrlBuilder(i.config,w.value),re=B=>{ie.value=B,pe.value=!0},ue=()=>{pe.value=!1},se=async()=>{var B,j,O;if((B=ie.value)!=null&&B.id){ge.value=!0;try{await s.delete(ee(ie.value.id)),ge.value=!1,pe.value=!1,P.value++,r("delete:success",ie.value)}catch(z){J.value=((O=(j=z.response)==null?void 0:j.data)==null?void 0:O.message)||z.message||a("errors.delete"),r("error",z)}finally{ge.value=!1}}},C=()=>{l.push(i.config.createRoute)};t.watch(N,B=>{var j,O,z;if(B.status===ce.FetcherStatus.Error){H.value={title:a("errors.general")},(z=(O=(j=B.error)==null?void 0:j.response)==null?void 0:O.data)!=null&&z.message&&(H.value.message=B.error.response.data.message),r("error",B.error);return}H.value=null});const v=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")}),k=t.ref(!1);return t.onBeforeMount(async()=>{k.value=await i.canCreate(),k.value&&(v.value.title=a("plugins.list.empty_state.title"),v.value.ctaText=a("actions.create"))}),(B,j)=>{const O=t.resolveComponent("KButton"),z=t.resolveComponent("KEmptyState"),V=t.resolveComponent("KBadge"),de=t.resolveComponent("KTruncate"),le=t.resolveComponent("KInputSwitch"),_e=t.resolveComponent("KDropdownItem"),me=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",VR,[t.createVNode(t.unref(ce.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":y.value,"empty-state-options":v.value,"enable-entity-actions":"","error-message":H.value,fetcher:t.unref(S),"fetcher-cache-key":t.unref(P),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(_),title:e.title,"title-tag":e.titleTag,onClearSearchInput:T,"onClick:row":j[4]||(j[4]=Q=>D(Q)),onSort:M,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(ce.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":j[0]||(j[0]=Q=>b.value=Q),config:A.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",RR,[!f.value&&u.value?(t.openBlock(),t.createBlock(O,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:j[1]||(j[1]=Q=>B.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(O,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:Q})=>[t.createElementVNode("div",DR,[t.createVNode(t.unref(lo.PluginIcon),{class:"plugin-icon",name:Q.name,size:24},null,8,["name"]),t.createElementVNode("div",MR,[Q.instance_name?(t.openBlock(),t.createElementBlock("span",LR,t.toDisplayString(Q.instance_name),1)):(t.openBlock(),t.createElementBlock("span",FR,t.toDisplayString(t.unref(o).getDisplayName(Q.name)),1)),Q.instance_name?(t.openBlock(),t.createElementBlock("span",UR,t.toDisplayString(t.unref(o).getDisplayName(Q.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:Q})=>[q(Q).length>0?(t.openBlock(),t.createBlock(de,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(q(Q),he=>(t.openBlock(),t.createBlock(t.unref(ce.PermissionsWrapper),{key:he.badgeText,"auth-function":()=>x(he.type,Q),"force-show":""},{default:t.withCtx(({isAllowed:we})=>[t.createVNode(V,{class:t.normalizeClass(we||"disabled"),onClick:t.withModifiers(ae=>we&&he.type&&Y(he.type,Q),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(he.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",KR,"-"))]),enabled:t.withCtx(({row:Q})=>[t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(Q)&&await e.canToggle(Q)),"force-show":""},{default:t.withCtx(({isAllowed:he})=>{var we,ae;return[t.createElementVNode("div",{onClick:j[3]||(j[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(le,{disabled:!he,"disabled-tooltip-text":!he&&((ae=(we=e.config).getToggleDisabledTooltip)==null?void 0:ae.call(we,Q))||void 0,"model-value":Q.enabled,onClick:t.withModifiers(ne=>he&&Z(Q),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:Q})=>[t.createVNode(V,{appearance:t.unref(hc)(Q)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(hc)(Q)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:Q})=>[t.createVNode(t.unref(ce.TableTags),{tags:Q},null,8,["tags"])]),actions:t.withCtx(({row:Q})=>[t.createVNode(me,null,{default:t.withCtx(({copyToClipboard:he})=>[t.createVNode(_e,{"data-testid":"action-entity-copy-id",onClick:we=>U(Q,he)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(me,null,{default:t.withCtx(({copyToClipboard:he})=>[t.createVNode(_e,{"data-testid":"action-entity-copy-json",onClick:we=>R(Q,he)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(Q)},{default:t.withCtx(()=>[t.createVNode(_e,{"data-testid":"action-entity-view","has-divider":"",item:te(Q)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":()=>e.canEdit(Q)},{default:t.withCtx(()=>[t.createVNode(_e,{"data-testid":"action-entity-edit",item:X(Q)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(ce.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(Q)},{default:t.withCtx(()=>[oe(Q)?(t.openBlock(),t.createBlock(_e,{key:0,"data-testid":"action-entity-config-dyn-order",item:oe(Q)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(ce.PermissionsWrapper),{"auth-function":()=>e.canDelete(Q)},{default:t.withCtx(()=>[t.createVNode(_e,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:he=>re(Q)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var Q;return[t.createVNode(z,{"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:t.unref(a)("plugins.list.empty_state_v2.description"),title:t.unref(a)("plugins.list.empty_state_v2.title")},t.createSlots({icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[k.value?(t.openBlock(),t.createBlock(O,{key:0,"data-testid":"entity-create-button",onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(O,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:j[2]||(j[2]=he=>B.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(Q=e.config)!=null&&Q.isControlPlaneGroup?{name:"default",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(ce.EntityToggleModal),{action:L.value.action,"entity-id":L.value.id,"entity-name":L.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":K,visible:I.value,onCancel:W,onProceed:W},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(ce.EntityDeleteModal),{"action-pending":ge.value,description:t.unref(a)("delete.description"),"entity-name":ie.value&&(ie.value.instance_name||ie.value.name||ie.value.id),"entity-type":t.unref(ce.EntityTypes).Plugin,error:J.value,title:t.unref(a)("delete.title"),visible:pe.value,onCancel:ue,onProceed:se},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-582a936c"]]),GR={class:"plugin-select-card-wrapper"},qR=["data-testid"],zR={class:"plugin-card-header"},HR={class:"plugin-card-title"},YR={key:0,class:"plugin-card-actions"},WR=["data-testid","title"],XR={key:0,class:"plugin-card-text"},ZR={key:0},JR=["title"],Yl=Ee(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=io.useRouter(),{i18n:{t:a}}=De.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},u=()=>{r.navigateOnClick?d():f()},f=()=>{o("plugin-clicked",r.plugin)},p=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===G.PluginGroup.CUSTOM_PLUGINS),h=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},y=(_,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(_,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const _=r.config;p.value&&_.createCustomRoute?i.push(_.createCustomRoute):m.value&&d()}};return(_,w)=>{const b=t.resolveComponent("KButton"),A=t.resolveComponent("KDropdownItem"),S=t.resolveComponent("KDropdownMenu"),N=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",GR,[t.createVNode(N,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=P=>s.value||m.value?void 0:u())},[t.createElementVNode("div",zR,[t.createElementVNode("div",HR,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",YR,[t.createVNode(S,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{size:t.unref(yk)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(A,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(P=>y(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(A,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(h,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(lo.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(t.openBlock(),t.createElementBlock("div",XR,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",ZR,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,JR)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,WR),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,qR)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),QR=Ee(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const o=e,r=n,{i18nT:i,i18n:{t:a}}=De.useI18n(),{getMessageFromError:l}=ce.useErrors(),{axiosInstance:s}=ce.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var y;return f.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((y=o.plugin)==null?void 0:y.name)||a("delete.custom_plugin")})}),d=t.ref(!1),u=t.ref(""),f=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const y=o.plugin.customPluginType==="streaming"?Le.select[o.config.app].streamingCustomPluginItem:Le.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${y}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var y,g,_,w;if(d.value=!0,u.value="",!(!((y=o.plugin)!=null&&y.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:A}=b;(A==null?void 0:A.status)===400&&((w=(_=A.data)==null?void 0:_.message)!=null&&w.includes("plugin schema is currently in use"))?f.value=!0:u.value=l(b)}finally{d.value=!1}};return(y,g)=>{const _=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!f.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(ce.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(ce.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>y.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(_,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),eD={class:"custom-plugins-grid"},tD={class:"empty-state-title"},nD={class:"empty-state-description"},Wl=310,oD=Ee(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=De.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=De.usePluginHelpers(),s=t.ref(!0),c=S=>{r("plugin-clicked",S)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const S=JSON.parse(JSON.stringify(o.pluginList))[G.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:G.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(S):S}),u=t.ref(!1),f=t.ref(null),p=S=>{u.value=!0,f.value={id:S.id,name:S.name,customPluginType:S.customPluginType}},m=S=>{var N;S&&(r("revalidate"),r("delete:success",((N=f.value)==null?void 0:N.name)||"")),u.value=!1,f.value=null},h=t.ref(Wl),y=t.ref(null),g=t.ref(null),_=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),w=t.ref(!1),b=()=>{h.value=Math.max(a(g.value),Wl),A()},A=()=>{var S,N;(S=g.value)!=null&&S.length&&(w.value=l(y.value,(N=g.value)==null?void 0:N.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),Wl),A(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(S,N)=>{const P=t.resolveComponent("KEmptyState"),T=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",eD,[d.value.length?(t.openBlock(),t.createBlock(T,{key:1,modelValue:s.value,"onUpdate:modelValue":N[0]||(N[0]=M=>s.value=M),class:"custom-plugins-collapse","data-testid":`${t.unref(G.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(G.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:t.normalizeStyle(_.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(M,H)=>(t.openBlock(),t.createBlock(Yl,{key:`plugin-card-${H}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:M,onCustomPluginDelete:q=>p(M),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[N[2]||(N[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(P,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",tD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",nD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&f.value?(t.openBlock(),t.createBlock(QR,{key:2,config:e.config,plugin:f.value,onClosed:m,onProceed:N[1]||(N[1]=M=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Xl=310,xm=Ee(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=De.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=De.usePluginHelpers(),c=t.ref(Xl),d=t.ref(null),u=t.ref(null),f=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(u.value),Xl),h()},h=()=>{var y,g;(y=u.value)!=null&&y.length&&(p.value=s(d.value,(g=u.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(u.value),Xl),h(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(y,g)=>{const _=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(_,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(f.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,w=>(t.openBlock(),t.createBlock(Yl,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),rD={class:"plugin-select-grid"},iD={class:"empty-state-title"},aD={class:"empty-state-description"},Zl=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=De.useI18n(),a=t.ref(!1),l=t.ref(ts),s=d=>{r("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[G.PluginGroup.CUSTOM_PLUGINS],d});return(d,u)=>{const f=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",rD,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(f,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",iD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",aD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(xm,{key:1,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:u[1]||(u[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(es),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(xm,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:u[2]||(u[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),lD={class:"kong-ui-entities-plugin-select-form"},sD={class:"plugins-filter-input-container"},cD={key:0},dD={key:3,"aria-live":"polite",class:"plugins-results-container"},uD={"data-testid":"kong-tab"},fD={class:"tab-description"},pD={"data-testid":"custom-tab"},mD={class:"tab-description"},gD=Ee(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var U;const o=e,r=n,i=io.useRoute(),a=io.useRouter(),{i18n:{t:l}}=De.useI18n(),{pluginMetaData:s}=De.usePluginMetaData(),{getMessageFromError:c}=ce.useErrors(),{sortAlpha:d,objectsAreEqual:u}=ce.useHelpers(),f=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref([]),g=t.ref([]),_=t.ref({}),w=t.ref([]),{axiosInstance:b}=ce.useAxios((U=o.config)==null?void 0:U.axiosRequestConfig),A=t.computed(()=>_.value?Object.entries(_.value).filter(([R])=>R!==G.PluginGroup.CUSTOM_PLUGINS).reduce((R,[,D])=>{for(const te of D)R[te.id]=te;return R},{}):{}),S=t.computed(()=>{var te;if(!_.value)return{};const R=f.value.toLowerCase(),D=JSON.parse(JSON.stringify(_.value));for(const X in _.value){const oe=((te=_.value[X])==null?void 0:te.filter(ie=>ie.name.toLowerCase().includes(R)||ie.id.toLowerCase().includes(R)||ie.group.toLowerCase().includes(R)))||[];oe.length?D[X]=oe:delete D[X]}return D}),N=t.computed(()=>o.highlightedPluginIds.reduce((R,D)=>{const te=A.value[D];return te&&R.push(te),R},[])),P=t.computed(()=>Object.keys(S.value).length>0),T=t.computed(()=>Object.keys(_.value).length>0&&!P.value),M=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),H=t.computed(()=>{var D;let R=M.value.length&&((i==null?void 0:i.hash)||((D=M.value[0])==null?void 0:D.hash))||"";return R==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(R="#kong"),R}),q=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...y.value])].filter(R=>!o.ignoredPlugins.includes(R)).filter(R=>o.config.entityType&&(o.config.entityType==="services"&&s[R]&&!s[R].scope.includes(G.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[R]&&!s[R].scope.includes(G.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[R]&&!s[R].scope.includes(G.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[R]&&!s[R].scope.includes(G.PluginScope.CONSUMER))?!1:R).reduce((R,D)=>{var pe;const te=s[D]&&s[D].name||D,X={...s[D],id:D,name:te,available:y.value.includes(D),disabledMessage:"",group:((pe=s[D])==null?void 0:pe.group)||G.PluginGroup.CUSTOM_PLUGINS};X.group===G.PluginGroup.CUSTOM_PLUGINS&&(X.customPluginType=g.value.find(ge=>ge.name===D)?"streaming":"schema"),o.disabledPlugins&&(X.disabledMessage=o.disabledPlugins[D]);const oe=X.group||l("plugins.select.misc_plugins");let ie=R[oe];return ie||(ie=[]),ie.push(X),ie.sort(d("name")),R[oe]=ie,R},{}),x=t.computed(()=>{var D;let R=`${o.config.apiBaseUrl}${Le.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?R=R.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(R=((D=o.config.gatewayInfo)==null?void 0:D.edition)==="community"?`${o.config.apiBaseUrl}${Le.select[o.config.app].availablePluginsForOss}`:R.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),R}),Y=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let R=`${o.config.apiBaseUrl}${Le.select[o.config.app].streamingCustomPlugins}`;return R=R.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),R}return null}),I=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let R=`${o.config.apiBaseUrl}${Le.list[o.config.app].forEntity}`;return o.config.app==="konnect"?R=R.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(R=R.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),R.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),F=R=>{a.replace({hash:R,query:i.query})};t.watch(()=>o.disabledPlugins,(R,D)=>{!u(R,D)&&!p.value&&(_.value=q())}),t.watch(()=>o.ignoredPlugins,(R,D)=>{!u(R,D)&&!p.value&&(_.value=q())}),t.watch(p,R=>{r("loading",R)});const L=t.ref(!1),Z=t.ref(!1),W=t.ref(!1);t.onBeforeMount(async()=>{L.value=await o.canCreateCustomPlugin(),Z.value=await o.canEditCustomPlugin(),W.value=await o.canDeleteCustomPlugin()});const K=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var R,D;(D=(R=K.value)==null?void 0:R.input)==null||D.focus();try{const{data:te}=await b.get(x.value);if(o.config.app==="konnect"){const{names:X}=te;if(y.value=X||[],Y.value){const{data:oe}=await b.get(Y.value);g.value=oe.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:X}}=te;y.value=X?Object.keys(X):[]}}catch(te){m.value=!0,h.value=c(te)}if(I.value)try{const{data:{data:te}}=await b.get(I.value);if(te!=null&&te.length){const X=te.reduce((oe,ie)=>(ie.name&&oe.push(ie.name),oe),[]);w.value=w.value.concat(X)}}catch{}m.value||(_.value=q()),p.value=!1}),(R,D)=>{const te=t.resolveComponent("KInput"),X=t.resolveComponent("KSkeletonBox"),oe=t.resolveComponent("KSkeleton"),ie=t.resolveComponent("KEmptyState"),pe=t.resolveComponent("KTooltip"),ge=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",lD,[t.createElementVNode("div",sD,[t.createVNode(te,{ref:"filter-input",modelValue:f.value,"onUpdate:modelValue":D[0]||(D[0]=J=>f.value=J),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",cD,[t.createVNode(X,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(oe,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ie,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):T.value&&f.value?(t.openBlock(),t.createBlock(ie,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:f.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",dD,[M.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(ge,{key:0,modelValue:H.value,"onUpdate:modelValue":D[5]||(D[5]=J=>H.value=J),"data-testid":"plugins-tabs",tabs:M.value,onChange:F},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",uD,[t.createElementVNode("p",fD,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Zl,{config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":N.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,onPluginClicked:D[1]||(D[1]=J=>R.$emit("plugin-clicked",J))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",pD,[t.createElementVNode("p",mD,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(oD,{"can-create-custom-plugin":L.value,"can-delete-custom-plugin":W.value,"can-edit-custom-plugin":Z.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,"onDelete:success":D[2]||(D[2]=J=>R.$emit("delete-custom:success",J)),onPluginClicked:D[3]||(D[3]=J=>R.$emit("plugin-clicked",J)),onRevalidate:D[4]||(D[4]=()=>_.value=q())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(pe,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Zl,{key:1,config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":N.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,onPluginClicked:D[6]||(D[6]=J=>R.$emit("plugin-clicked",J))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-f50670e9"]]),hD={class:"kong-ui-entity-plugin-config-card"},yD={class:"name-cell-wrapper"},_D={class:"info-name"},bD={key:0},wD={key:0},kD={key:0},CD={key:0},ED={key:0},Jl="config",ND=Ee(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var w;const o=n,r=e,{i18n:{t:i}}=De.useI18n(),a=De.usePluginMetaData(),{setFieldType:l}=De.usePluginHelpers(),{getPropValue:s}=ce.useHelpers(),c=t.computed(()=>{var b;return(b=Le.item[r.config.app])==null?void 0:b[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"")}),d=t.computed(()=>{var S,N;const b={},A=((S=y.value)==null?void 0:S.fields)||[];for(let P=0;P<A.length;P++){const T=y.value.fields[P],M=(N=Object.keys(T))==null?void 0:N[0];l(b,M,T[M])}return{...b,instance_name:{section:ce.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:ce.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:ce.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:ce.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:ce.ConfigurationSchemaSection.Basic,order:6},protocols:{type:ce.ConfigurationSchemaType.BadgeTag,section:ce.ConfigurationSchemaSection.Basic,order:7}}}),u=t.computed(()=>{var A,S,N;if(!((A=y.value)!=null&&A.fields))return[];const b=(S=y.value.fields)==null?void 0:S.find(P=>{var M;return((M=Object.keys(P))==null?void 0:M[0])===Jl});return((N=b==null?void 0:b[Jl])==null?void 0:N.fields)||[]}),f=t.computed(()=>{var A,S;const b={};if(!u.value)return b;for(let N=0;N<((A=u.value)==null?void 0:A.length);N++){const P=u.value[N],T=(S=Object.keys(P))==null?void 0:S[0],M=P[T];M.required&&(b[T]={order:1}),l(b,T,M)}return b}),{getMessageFromError:p}=ce.useErrors(),{axiosInstance:m}=ce.useAxios((w=r.config)==null?void 0:w.axiosRequestConfig),h=t.computed(()=>{var A,S;let b=`${r.config.apiBaseUrl}${Le.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?b=b.replace(/{controlPlaneId}/gi,((A=r.config)==null?void 0:A.controlPlaneId)||""):r.config.app==="kongManager"&&(b=b.replace(/\/{workspace}/gi,(S=r.config)!=null&&S.workspace?`/${r.config.workspace}`:"")),b=b.replace(/{plugin}/gi,r.config.pluginType),b}),y=t.ref({});ce.useSchemaProvider(y);const g=t.ref(!1),_=t.ref("");return t.onBeforeMount(async()=>{g.value=!0;try{const{data:b}=await m.get(h.value);y.value=b}catch(b){_.value=p(b),o("error:fetch-schema",b)}finally{g.value=!1}}),(b,A)=>{const S=t.resolveComponent("KSkeleton"),N=t.resolveComponent("KEmptyState"),P=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",hD,[g.value?(t.openBlock(),t.createBlock(S,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):_.value?(t.openBlock(),t.createBlock(N,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(_.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(ce.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":t.unref(ce.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":Jl,"plugin-config-schema":f.value,"onFetch:error":A[0]||(A[0]=T=>b.$emit("fetch:error",T)),"onFetch:success":A[1]||(A[1]=T=>b.$emit("fetch:success",T)),onLoading:A[2]||(A[2]=T=>b.$emit("loading",T))},{name:t.withCtx(T=>[t.createElementVNode("div",yD,[t.createVNode(t.unref(lo.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",T),size:24},null,8,["name"]),t.createElementVNode("span",_D,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",T))),1)])]),consumer:t.withCtx(T=>[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",T).id,value:t.unref(s)("rowValue",T).id,type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",T).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",T).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",bD,"–"))]),route:t.withCtx(T=>[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",T).id,value:t.unref(s)("rowValue",T).id,type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",T).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",T).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",wD,"–"))]),service:t.withCtx(T=>[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",T).id,value:t.unref(s)("rowValue",T).id,type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",T).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",T).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",kD,"–"))]),consumer_group:t.withCtx(T=>[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",T).id,value:t.unref(s)("rowValue",T).id,type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",T).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",T).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",CD,"–"))]),partials:t.withCtx(T=>{var M,H,q,x,Y,I,F,L,Z;return[t.unref(s)("rowValue",T)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(ce.InternalLinkItem),{key:1,item:{key:(H=(M=t.unref(s)("rowValue",T))==null?void 0:M[0])==null?void 0:H.id,value:((x=(q=t.unref(s)("rowValue",T))==null?void 0:q[0])==null?void 0:x.id)+((I=(Y=t.unref(s)("rowValue",T))==null?void 0:Y[0])!=null&&I.name?"/"+((L=(F=t.unref(s)("rowValue",T))==null?void 0:F[0])==null?void 0:L.name):""),type:t.unref(ce.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var W,K;return b.$emit("navigation-click",(K=(W=t.unref(s)("rowValue",T))==null?void 0:W[0])==null?void 0:K.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(P,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",T).label}),"data-testid":"partial-copy-uuid",text:(Z=t.unref(s)("rowValue",T))==null?void 0:Z[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",ED,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-53806ec8"]]),{usePluginMetaData:vD,useProvideExperimentalFreeForms:SD}=De;Object.defineProperty(ke,"PluginGroup",{enumerable:!0,get:()=>G.PluginGroup}),Object.defineProperty(ke,"PluginScope",{enumerable:!0,get:()=>G.PluginScope}),Object.defineProperty(ke,"PluginIcon",{enumerable:!0,get:()=>lo.PluginIcon}),Object.defineProperty(ke,"getPluginIconURL",{enumerable:!0,get:()=>lo.getPluginIconURL}),ke.EXPERIMENTAL_FREE_FORM_PROVIDER=da,ke.EntityTypeIdField=on,ke.FEATURE_FLAGS=kc,ke.PLUGIN_GROUPS_COLLAPSE_STATUS=ts,ke.PluginConfigCard=ND,ke.PluginForm=BR,ke.PluginGroupArray=es,ke.PluginList=jR,ke.PluginPartialType=cr,ke.PluginSelect=gD,ke.PluginSelectCard=Yl,ke.PluginSelectGrid=Zl,ke.TOASTER_PROVIDER=Cc,ke.pluginEndpoints=Le,ke.usePluginMetaData=vD,ke.useProvideExperimentalFreeForms=SD,Object.defineProperty(ke,Symbol.toStringTag,{value:"Module"})});