@kong-ui-public/entities-plugins 9.102.0 → 9.102.1
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.
- package/dist/entities-plugins.es.js +3231 -3234
- package/dist/entities-plugins.umd.js +26 -26
- package/dist/style.css +1 -1
- package/dist/types/components/free-form/Datakit/DatakitForm.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/schema/compat.d.ts +0 -70
- package/dist/types/components/free-form/Datakit/schema/compat.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
(function(we,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):(we=typeof globalThis<"u"?globalThis:we||self,t(we["kong-ui-public-entities-plugins"]={},we.Vue,we["kong-ui-public-entities-shared"],we.marked,we.VueRouter,we["kong-ui-public-i18n"],we.entitiesPluginsMetadata,we.forms,we.entitiesVaults,null,we.KongIcons,we.Kongponents,we.entitiesRedisConfigurations,null,we.monaco,we.core$1,we.zod,we.entitiesPluginsIcon))})(this,function(we,t,pe,cr,so,je,z,Oe,dr,XD,Ce,xe,co,ZD,Om,Ke,J,uo){"use strict";var YD=Object.defineProperty;var WD=(we,t,pe)=>t in we?YD(we,t,{enumerable:!0,configurable:!0,writable:!0,value:pe}):we[t]=pe;var Ye=(we,t,pe)=>WD(we,typeof t!="symbol"?t+"":t,pe);function $m(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 ur=$m(Om),We={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."},examples:"Examples",debug:{label:"Debug",description:'Enables detailed error messages in client responses, making debugging easier. <a href="https://developer.konghq.com/plugins/datakit/#debugging" target="_blank">See the docs</a> for details.'},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."},branch:{name:"branch",summary:"Coming soon...",description:"Coming soon..."},cache:{name:"cache",summary:"Coming soon...",description:"Coming soon..."},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."},vault:{name:"Vault",description:"Vault is a tool for securely accessing secrets."}},node_properties:{name:"Name",configuration:"Configuration",input:{label:"Inputs configuration",placeholder:"Select a source",add_button:"Add an input",or:"or",input:"Input",fields:"Fields",source:"Source",tooltip:"Fields are part of the node input. A source can connect to either the fields or the input, but not both."},input_name:{label:"Input name",placeholder:"Enter an input name"},timeout:{label:"Timeout(s)"},jq:{label:"jq script",help:"Refer to {link} for full documentation."},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 connect an output source to either all inputs of a node or to individual inputs.",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 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'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(we,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):(we=typeof globalThis<"u"?globalThis:we||self,t(we["kong-ui-public-entities-plugins"]={},we.Vue,we["kong-ui-public-entities-shared"],we.marked,we.VueRouter,we["kong-ui-public-i18n"],we.entitiesPluginsMetadata,we.forms,we.entitiesVaults,null,we.KongIcons,we.Kongponents,we.entitiesRedisConfigurations,null,we.monaco,we.core$1,we.zod,we.entitiesPluginsIcon))})(this,function(we,t,pe,cr,so,je,z,Oe,dr,WD,Ce,xe,co,XD,Tm,Ke,J,uo){"use strict";var HD=Object.defineProperty;var YD=(we,t,pe)=>t in we?HD(we,t,{enumerable:!0,configurable:!0,writable:!0,value:pe}):we[t]=pe;var Ye=(we,t,pe)=>YD(we,typeof t!="symbol"?t+"":t,pe);function Om(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 ur=Om(Tm),We={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."},examples:"Examples",debug:{label:"Debug",description:'Enables detailed error messages in client responses, making debugging easier. <a href="https://developer.konghq.com/plugins/datakit/#debugging" target="_blank">See the docs</a> for details.'},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."},branch:{name:"branch",summary:"Coming soon...",description:"Coming soon..."},cache:{name:"cache",summary:"Coming soon...",description:"Coming soon..."},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."},vault:{name:"Vault",description:"Vault is a tool for securely accessing secrets."}},node_properties:{name:"Name",configuration:"Configuration",input:{label:"Inputs configuration",placeholder:"Select a source",add_button:"Add an input",or:"or",input:"Input",fields:"Fields",source:"Source",tooltip:"Fields are part of the node input. A source can connect to either the fields or the input, but not both."},input_name:{label:"Input name",placeholder:"Enter an input name"},timeout:{label:"Timeout(s)"},jq:{label:"jq script",help:"Refer to {link} for full documentation."},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 connect an output source to either all inputs of a node or to individual inputs.",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 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'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 Pe(){const e=je.createI18n("en-us",We);return{i18n:e,i18nT:je.i18nTComponent(e)}}function
|
|
4
|
-
client. If missing, it will be generated for you.`}},{tags:ln},{ttl:{help:"Time-to-live value for data"}}]},
|
|
3
|
+
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function Pe(){const e=je.createI18n("en-us",We);return{i18n:e,i18nT:je.i18nTComponent(e)}}function rs(){const{capitalize:e}=pe.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(u,p,m)=>{var h,y,g;if(!(!u||!p||!m))switch(m.type){case"boolean":u[p]={type:pe.ConfigurationSchemaType.BadgeStatus,...u[p]};break;case"string":m.encrypted?u[p]={type:pe.ConfigurationSchemaType.Redacted,...u[p]}:u[p]={type:pe.ConfigurationSchemaType.Text,...u[p]};break;case"set":((h=m.elements)==null?void 0:h.type)==="string"&&(u[p]={type:pe.ConfigurationSchemaType.BadgeTag,...u[p]});break;case"array":n.includes(p)?u[p]={type:pe.ConfigurationSchemaType.BadgeMethod,...u[p]}:((y=m.elements)==null?void 0:y.type)==="string"?m.encrypted?u[p]={type:pe.ConfigurationSchemaType.RedactedArray,...u[p]}:u[p]={type:pe.ConfigurationSchemaType.BadgeTag,...u[p]}:((g=m.elements)==null?void 0:g.type)==="record"&&(u[p]={type:pe.ConfigurationSchemaType.Json,...u[p]});break;case"record":u[p]={type:pe.ConfigurationSchemaType.Json,...u[p]};break;default:u[p]={type:pe.ConfigurationSchemaType.Text,...u[p]};break}},convertToDotNotation:u=>u.replace(/-/g,"."),unFlattenObject:u=>{const p={};for(const m in u){const h=m.split(".");h.reduce((y,g,_)=>y[g]||(y[g]=isNaN(h[_+1])?h.length-1===_?u[m]:{}:[]),p)}return p},dismissField:(u,p,m="redis",h=!1)=>{const y=new RegExp("(?<=-redis-).*");if(typeof u!="object"||u===null)return u;m==="redis"?Object.keys(u).forEach(g=>{g.match(y)&&delete u[g]}):h?u[m]=null:delete u[m],Object.assign(u,p)},isObjectEmpty:u=>Object.keys(u).length===0,unsetNullForeignKey:(u,p)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(u)>-1&&p[u]===null&&(delete p[u],p[u.replace(".id","")]=null)},formatPluginFieldLabel:u=>e(u.replace(/_/g," ")),getTallestPluginCardHeight:u=>{let p=0;if(u.length)for(let m=0;m<u.length;m++){const h=u[m].$el;p=h.offsetHeight>p?h.offsetHeight:p}return p},getToggleVisibility:(u,p)=>{var m,h;if(u&&p){const y=(h=(m=window==null?void 0:window.getComputedStyle(u))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:h.split(" ").length;return p>y}return!0}}}var fr=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(fr||{});const is=[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],as={[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 rn=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(rn||{});const an=e=>{const n=Object.fromEntries(e.fields.map(o=>Object.entries(o)[0]));return"id"in n||(n.id={}),n},ln={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"},Tn={getColumnFields:an,tags:ln,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}}}},ls={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:ln}]},$m={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"}}]},ss={fields:[{username:{}},{password:{inputType:"password"}},{tags:ln}]},Bm={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"}}]},Vm={class:"field-wrapper"},Rm=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}=Oe.composables.useAbstractFields({model:t.toRef(()=>r.model),schema:r.schema,formOptions:r.formOptions,emitModelUpdated:b=>{i("modelUpdated",b.value,b.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")},f=t.inject(Oe.FORMS_CONFIG),{axiosInstance:u}=pe.useAxios(f==null?void 0:f.axiosRequestConfig),p=()=>{if((f==null?void 0:f.app)==="konnect"){const b=/\b(us|eu|au|me|in)\b/.exec((f==null?void 0:f.apiBaseUrl)||"");if(b)return{region:b[1]}}return{}},m=t.ref(!0),h=t.ref([d]),y=async()=>{if((f==null?void 0:f.app)==="konnect")try{m.value=!0;let b=`${f==null?void 0:f.apiBaseUrl}/v1/realms`;const w=[];do{const v=await u.get(b);v&&v.data&&v.data.data&&w.push(...v.data.data.map(x=>({value:x.id,label:x.name,group:c("custom_field.key_auth_identity_realms.realm_group_label")}))),b=v.data.meta.next?`${f==null?void 0:f.apiBaseUrl}${v.data.meta.next}`:null}while(b);h.value=[d,...w]}catch(b){console.error("Failed to fetch Konnect realms",b)}finally{m.value=!1}},g=t.computed(()=>l.value.map(b=>b.id||"current-cp")),_=b=>{const w=b.includes("current-cp")?[{scope:"cp",id:null}]:[],v=l.value.filter(({scope:D})=>D!=="cp").map(({id:D})=>D),x=b.filter(D=>D!=="current-cp"),$=(v.length!==x.length||v.some(D=>!x.includes(D))?x.filter(D=>!v.includes(D)):x).map(D=>({...p(),scope:"realm",id:D}));l.value=[...w,...$]};return t.watch(l,()=>{l.value||(l.value=[{scope:"cp",id:null}])}),t.onMounted(()=>{y()}),n({clearValidationErrors:a}),(b,w)=>{const v=t.resolveComponent("KMultiselect");return t.openBlock(),t.createElementBlock("div",Vm,[t.createVNode(v,{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},Dm=Ee(Rm,[["__scopeId","data-v-29b128ff"]]),cs={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
4
|
+
client. If missing, it will be generated for you.`}},{tags:ln},{ttl:{help:"Time-to-live value for data"}}]},Mm=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(Dm):null}}},Lm={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"}}]},ds={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
|
-
send it as part of the response body.`}},{tags:ln}]},
|
|
6
|
+
send it as part of the response body.`}},{tags:ln}]},Fm={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",encrypted:!0,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"}}]},Um={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
|
|
7
7
|
be auto-generated.`}},{algorithm:{order:1,hint:"The algorithm used to verify the token’s signature."}},{rsa_public_key:{order:2,type:"textArea",label:"RSA public-key",hint:`If algorithm is RSA or ECDSA, the public key (in PEM format) to
|
|
8
8
|
use to verify the token’s signature.`,rows:10,visible:e=>e&&e.algorithm&&/^((RS|PS|ES)(256|384|512)|EdDSA)$/.test(e.algorithm)}},{secret:{inputType:"text",hint:`If algorithm is HMAC, the secret used to sign JWTs for
|
|
9
|
-
this credential. If left out, will be auto-generated.`}},{tags:ln}]},
|
|
9
|
+
this credential. If left out, will be auto-generated.`}},{tags:ln}]},Km={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:"A unique string identifying the credential. If left out, it will be auto-generated.",required:!1,type:"string",encrypted:!0,unique:!0}},{secret:{auto:!0,hint:"If algorithm is HS256 or ES256, the secret used to sign JWTs for this credential. If left out, will be auto-generated.",type:"string",encrypted:!0}},{rsa_public_key:{type:"string"}},{algorithm:{default:"HS256",type:"string",one_of:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512","EdDSA"]}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},us={fields:[{name:{}},{client_id:{submitWhenNull:!1,hint:`You can optionally set your own unique client_id. If missing, it
|
|
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
|
-
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:
|
|
12
|
-
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:
|
|
13
|
-
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:ln},{ttl:{help:"Time-to-live value for data"}}]},Gm=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)}}:{},zm={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"}}]},Nt={"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"]}},$n={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:ss,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:an(ss),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:cs,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:an(cs)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:ds,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:an(ds)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:ps,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:an(ps)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:fs,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:an(fs)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:us,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:an(us)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Km,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Hm={acls:Bm,basicauth_credentials:Vm,keyauth_credentials:Fm,keyauth_enc_credentials:zm,oauth2_credentials:qm,hmacauth_credentials:Um,jwt_secrets:jm},Ym=()=>{const{i18n:{t:e}}=Pe(),n={},o={};for(const[i,a]of Object.entries(Nt))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries($n))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:$n,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},fo={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Wm={"config-prompts-prepend":{...fo,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":{...fo,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"}]}}}},Xm={"config-templates":{...fo,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"}]}}}},Zm={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)}},Jm={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},Qm={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:On.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"}},Ae={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"},pr={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},eg={"config-metrics":{...pr,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"}]}}}},tg={"config-functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},ng={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},og={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},rg={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},ig={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},ag={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},ms=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:On.fields.arrayItems({newElementButtonLabel:"Add"})}),ag),mr={"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"}},lg={"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":{}},sg=["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]:On.fields.arrayItems({newElementButtonLabel:"Add"})}),lg),gs={"config-add-json":{...Ae,label:"Config.Add.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Ae,label:"Config.Append.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Ae,label:"Config.Remove.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Ae,label:"Config.Rename.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Ae,label:"Config.Replace.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},cg={...gs,"config-allow-json":{...Ae,label:"Config.Allow.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Ae,label:"Config.Transform.Functions",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Ae,label:"Config.Transform.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},dg={"config-rules":{...fo,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"}]}}}},ug={"config-session_redis_cluster_nodes":{...fo,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"}]}}}},fg={"config-flow-functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},pg={"config-message-functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},mg={"config-metrics":{...pr,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"]}]}}}},gg={"config-metrics":{...pr,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"]}]}}}},hg={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},yg={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}};var hs=typeof global=="object"&&global&&global.Object===Object&&global,_g=typeof self=="object"&&self&&self.Object===Object&&self,St=hs||_g||Function("return this")(),ft=St.Symbol,ys=Object.prototype,bg=ys.hasOwnProperty,wg=ys.toString,po=ft?ft.toStringTag:void 0;function kg(e){var n=bg.call(e,po),o=e[po];try{e[po]=void 0;var r=!0}catch{}var i=wg.call(e);return r&&(n?e[po]=o:delete e[po]),i}var Cg=Object.prototype,Eg=Cg.toString;function Ng(e){return Eg.call(e)}var Sg="[object Null]",vg="[object Undefined]",_s=ft?ft.toStringTag:void 0;function sn(e){return e==null?e===void 0?vg:Sg:_s&&_s in Object(e)?kg(e):Ng(e)}function Rt(e){return e!=null&&typeof e=="object"}var xg="[object Symbol]";function Mi(e){return typeof e=="symbol"||Rt(e)&&sn(e)==xg}function bs(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 yt=Array.isArray,ws=ft?ft.prototype:void 0,ks=ws?ws.toString:void 0;function Cs(e){if(typeof e=="string")return e;if(yt(e))return bs(e,Cs)+"";if(Mi(e))return ks?ks.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function cn(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function Ag(e){return e}var Ig="[object AsyncFunction]",Pg="[object Function]",Tg="[object GeneratorFunction]",Og="[object Proxy]";function gr(e){if(!cn(e))return!1;var n=sn(e);return n==Pg||n==Tg||n==Ig||n==Og}var Li=St["__core-js_shared__"],Es=function(){var e=/[^.]+$/.exec(Li&&Li.keys&&Li.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function $g(e){return!!Es&&Es in e}var Bg=Function.prototype,Vg=Bg.toString;function dn(e){if(e!=null){try{return Vg.call(e)}catch{}try{return e+""}catch{}}return""}var Rg=/[\\^$.*+?()[\]{}|]/g,Dg=/^\[object .+?Constructor\]$/,Mg=Function.prototype,Lg=Object.prototype,Fg=Mg.toString,Ug=Lg.hasOwnProperty,Kg=RegExp("^"+Fg.call(Ug).replace(Rg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function jg(e){if(!cn(e)||$g(e))return!1;var n=gr(e)?Kg:Dg;return n.test(dn(e))}function qg(e,n){return e==null?void 0:e[n]}function un(e,n){var o=qg(e,n);return jg(o)?o:void 0}var Fi=un(St,"WeakMap"),Ns=Object.create,Gg=function(){function e(){}return function(n){if(!cn(n))return{};if(Ns)return Ns(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function zg(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 Hg(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Yg=800,Wg=16,Xg=Date.now;function Zg(e){var n=0,o=0;return function(){var r=Xg(),i=Wg-(r-o);if(o=r,i>0){if(++n>=Yg)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function Jg(e){return function(){return e}}var hr=function(){try{var e=un(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Qg=hr?function(e,n){return hr(e,"toString",{configurable:!0,enumerable:!1,value:Jg(n),writable:!0})}:Ag,eh=Zg(Qg);function th(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var nh=9007199254740991,oh=/^(?:0|[1-9]\d*)$/;function Ui(e,n){var o=typeof e;return n=n??nh,!!n&&(o=="number"||o!="symbol"&&oh.test(e))&&e>-1&&e%1==0&&e<n}function Ss(e,n,o){n=="__proto__"&&hr?hr(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function Ki(e,n){return e===n||e!==e&&n!==n}var rh=Object.prototype,ih=rh.hasOwnProperty;function ji(e,n,o){var r=e[n];(!(ih.call(e,n)&&Ki(r,o))||o===void 0&&!(n in e))&&Ss(e,n,o)}function mo(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?Ss(o,s,c):ji(o,s,c)}return o}var vs=Math.max;function ah(e,n,o){return n=vs(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=vs(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),zg(e,this,s)}}var lh=9007199254740991;function qi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=lh}function Gi(e){return e!=null&&qi(e.length)&&!gr(e)}var sh=Object.prototype;function yr(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||sh;return e===o}function ch(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var dh="[object Arguments]";function xs(e){return Rt(e)&&sn(e)==dh}var As=Object.prototype,uh=As.hasOwnProperty,fh=As.propertyIsEnumerable,_r=xs(function(){return arguments}())?xs:function(e){return Rt(e)&&uh.call(e,"callee")&&!fh.call(e,"callee")};function ph(){return!1}var Is=typeof we=="object"&&we&&!we.nodeType&&we,Ps=Is&&typeof module=="object"&&module&&!module.nodeType&&module,mh=Ps&&Ps.exports===Is,Ts=mh?St.Buffer:void 0,gh=Ts?Ts.isBuffer:void 0,go=gh||ph,hh="[object Arguments]",yh="[object Array]",_h="[object Boolean]",bh="[object Date]",wh="[object Error]",kh="[object Function]",Ch="[object Map]",Eh="[object Number]",Nh="[object Object]",Sh="[object RegExp]",vh="[object Set]",xh="[object String]",Ah="[object WeakMap]",Ih="[object ArrayBuffer]",Ph="[object DataView]",Th="[object Float32Array]",Oh="[object Float64Array]",$h="[object Int8Array]",Bh="[object Int16Array]",Vh="[object Int32Array]",Rh="[object Uint8Array]",Dh="[object Uint8ClampedArray]",Mh="[object Uint16Array]",Lh="[object Uint32Array]",Re={};Re[Th]=Re[Oh]=Re[$h]=Re[Bh]=Re[Vh]=Re[Rh]=Re[Dh]=Re[Mh]=Re[Lh]=!0,Re[hh]=Re[yh]=Re[Ih]=Re[_h]=Re[Ph]=Re[bh]=Re[wh]=Re[kh]=Re[Ch]=Re[Eh]=Re[Nh]=Re[Sh]=Re[vh]=Re[xh]=Re[Ah]=!1;function Fh(e){return Rt(e)&&qi(e.length)&&!!Re[sn(e)]}function zi(e){return function(n){return e(n)}}var Os=typeof we=="object"&&we&&!we.nodeType&&we,ho=Os&&typeof module=="object"&&module&&!module.nodeType&&module,Uh=ho&&ho.exports===Os,Hi=Uh&&hs.process,Bn=function(){try{var e=ho&&ho.require&&ho.require("util").types;return e||Hi&&Hi.binding&&Hi.binding("util")}catch{}}(),$s=Bn&&Bn.isTypedArray,Yi=$s?zi($s):Fh,Kh=Object.prototype,jh=Kh.hasOwnProperty;function Bs(e,n){var o=yt(e),r=!o&&_r(e),i=!o&&!r&&go(e),a=!o&&!r&&!i&&Yi(e),l=o||r||i||a,s=l?ch(e.length,String):[],c=s.length;for(var d in e)(n||jh.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Ui(d,c)))&&s.push(d);return s}function Vs(e,n){return function(o){return e(n(o))}}var qh=Vs(Object.keys,Object),Gh=Object.prototype,zh=Gh.hasOwnProperty;function Rs(e){if(!yr(e))return qh(e);var n=[];for(var o in Object(e))zh.call(e,o)&&o!="constructor"&&n.push(o);return n}function Wi(e){return Gi(e)?Bs(e):Rs(e)}function Hh(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Yh=Object.prototype,Wh=Yh.hasOwnProperty;function Xh(e){if(!cn(e))return Hh(e);var n=yr(e),o=[];for(var r in e)r=="constructor"&&(n||!Wh.call(e,r))||o.push(r);return o}function Xi(e){return Gi(e)?Bs(e,!0):Xh(e)}var Zh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Jh=/^\w*$/;function Qh(e,n){if(yt(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Mi(e)?!0:Jh.test(e)||!Zh.test(e)||n!=null&&e in Object(n)}var yo=un(Object,"create");function ey(){this.__data__=yo?yo(null):{},this.size=0}function ty(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var ny="__lodash_hash_undefined__",oy=Object.prototype,ry=oy.hasOwnProperty;function iy(e){var n=this.__data__;if(yo){var o=n[e];return o===ny?void 0:o}return ry.call(n,e)?n[e]:void 0}var ay=Object.prototype,ly=ay.hasOwnProperty;function sy(e){var n=this.__data__;return yo?n[e]!==void 0:ly.call(n,e)}var cy="__lodash_hash_undefined__";function dy(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=yo&&n===void 0?cy:n,this}function fn(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])}}fn.prototype.clear=ey,fn.prototype.delete=ty,fn.prototype.get=iy,fn.prototype.has=sy,fn.prototype.set=dy;function uy(){this.__data__=[],this.size=0}function br(e,n){for(var o=e.length;o--;)if(Ki(e[o][0],n))return o;return-1}var fy=Array.prototype,py=fy.splice;function my(e){var n=this.__data__,o=br(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():py.call(n,o,1),--this.size,!0}function gy(e){var n=this.__data__,o=br(n,e);return o<0?void 0:n[o][1]}function hy(e){return br(this.__data__,e)>-1}function yy(e,n){var o=this.__data__,r=br(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,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=uy,Dt.prototype.delete=my,Dt.prototype.get=gy,Dt.prototype.has=hy,Dt.prototype.set=yy;var _o=un(St,"Map");function _y(){this.size=0,this.__data__={hash:new fn,map:new(_o||Dt),string:new fn}}function by(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function wr(e,n){var o=e.__data__;return by(n)?o[typeof n=="string"?"string":"hash"]:o.map}function wy(e){var n=wr(this,e).delete(e);return this.size-=n?1:0,n}function ky(e){return wr(this,e).get(e)}function Cy(e){return wr(this,e).has(e)}function Ey(e,n){var o=wr(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function Mt(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])}}Mt.prototype.clear=_y,Mt.prototype.delete=wy,Mt.prototype.get=ky,Mt.prototype.has=Cy,Mt.prototype.set=Ey;var Ny="Expected a function";function Zi(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Ny);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(Zi.Cache||Mt),o}Zi.Cache=Mt;var Sy=500;function vy(e){var n=Zi(e,function(r){return o.size===Sy&&o.clear(),r}),o=n.cache;return n}var xy=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ay=/\\(\\)?/g,Iy=vy(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(xy,function(o,r,i,a){n.push(i?a.replace(Ay,"$1"):r||o)}),n});function Ji(e){return e==null?"":Cs(e)}function Vn(e,n){return yt(e)?e:Qh(e,n)?[e]:Iy(Ji(e))}function kr(e){if(typeof e=="string"||Mi(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Qi(e,n){n=Vn(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[kr(n[o++])];return o&&o==r?e:void 0}function Ds(e,n,o){var r=e==null?void 0:Qi(e,n);return r===void 0?o:r}function ea(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var Ms=ft?ft.isConcatSpreadable:void 0;function Py(e){return yt(e)||_r(e)||!!(Ms&&e&&e[Ms])}function Ty(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=Py),i||(i=[]);++a<l;){var s=e[a];o(s)?ea(i,s):i[i.length]=s}return i}function Oy(e){var n=e==null?0:e.length;return n?Ty(e):[]}function Ls(e){return eh(ah(e,void 0,Oy),e+"")}var ta=Vs(Object.getPrototypeOf,Object),$y="[object Object]",By=Function.prototype,Vy=Object.prototype,Fs=By.toString,Ry=Vy.hasOwnProperty,Dy=Fs.call(Object);function My(e){if(!Rt(e)||sn(e)!=$y)return!1;var n=ta(e);if(n===null)return!0;var o=Ry.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&Fs.call(o)==Dy}function Us(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 Ly(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:Us(e,n,o)}var Fy="\\ud800-\\udfff",Uy="\\u0300-\\u036f",Ky="\\ufe20-\\ufe2f",jy="\\u20d0-\\u20ff",qy=Uy+Ky+jy,Gy="\\ufe0e\\ufe0f",zy="\\u200d",Hy=RegExp("["+zy+Fy+qy+Gy+"]");function Ks(e){return Hy.test(e)}function Yy(e){return e.split("")}var js="\\ud800-\\udfff",Wy="\\u0300-\\u036f",Xy="\\ufe20-\\ufe2f",Zy="\\u20d0-\\u20ff",Jy=Wy+Xy+Zy,Qy="\\ufe0e\\ufe0f",e_="["+js+"]",na="["+Jy+"]",oa="\\ud83c[\\udffb-\\udfff]",t_="(?:"+na+"|"+oa+")",qs="[^"+js+"]",Gs="(?:\\ud83c[\\udde6-\\uddff]){2}",zs="[\\ud800-\\udbff][\\udc00-\\udfff]",n_="\\u200d",Hs=t_+"?",Ys="["+Qy+"]?",o_="(?:"+n_+"(?:"+[qs,Gs,zs].join("|")+")"+Ys+Hs+")*",r_=Ys+Hs+o_,i_="(?:"+[qs+na+"?",na,Gs,zs,e_].join("|")+")",a_=RegExp(oa+"(?="+oa+")|"+i_+r_,"g");function l_(e){return e.match(a_)||[]}function s_(e){return Ks(e)?l_(e):Yy(e)}function c_(e){return function(n){n=Ji(n);var o=Ks(n)?s_(n):void 0,r=o?o[0]:n.charAt(0),i=o?Ly(o,1).join(""):n.slice(1);return r[e]()+i}}var d_=c_("toUpperCase");function u_(){this.__data__=new Dt,this.size=0}function f_(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function p_(e){return this.__data__.get(e)}function m_(e){return this.__data__.has(e)}var g_=200;function h_(e,n){var o=this.__data__;if(o instanceof Dt){var r=o.__data__;if(!_o||r.length<g_-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Mt(r)}return o.set(e,n),this.size=o.size,this}function Lt(e){var n=this.__data__=new Dt(e);this.size=n.size}Lt.prototype.clear=u_,Lt.prototype.delete=f_,Lt.prototype.get=p_,Lt.prototype.has=m_,Lt.prototype.set=h_;function y_(e,n){return e&&mo(n,Wi(n),e)}function __(e,n){return e&&mo(n,Xi(n),e)}var Ws=typeof we=="object"&&we&&!we.nodeType&&we,Xs=Ws&&typeof module=="object"&&module&&!module.nodeType&&module,b_=Xs&&Xs.exports===Ws,Zs=b_?St.Buffer:void 0,Js=Zs?Zs.allocUnsafe:void 0;function w_(e,n){if(n)return e.slice();var o=e.length,r=Js?Js(o):new e.constructor(o);return e.copy(r),r}function k_(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 Qs(){return[]}var C_=Object.prototype,E_=C_.propertyIsEnumerable,ec=Object.getOwnPropertySymbols,ra=ec?function(e){return e==null?[]:(e=Object(e),k_(ec(e),function(n){return E_.call(e,n)}))}:Qs;function N_(e,n){return mo(e,ra(e),n)}var S_=Object.getOwnPropertySymbols,tc=S_?function(e){for(var n=[];e;)ea(n,ra(e)),e=ta(e);return n}:Qs;function v_(e,n){return mo(e,tc(e),n)}function nc(e,n,o){var r=n(e);return yt(e)?r:ea(r,o(e))}function ia(e){return nc(e,Wi,ra)}function oc(e){return nc(e,Xi,tc)}var aa=un(St,"DataView"),la=un(St,"Promise"),sa=un(St,"Set"),rc="[object Map]",x_="[object Object]",ic="[object Promise]",ac="[object Set]",lc="[object WeakMap]",sc="[object DataView]",A_=dn(aa),I_=dn(_o),P_=dn(la),T_=dn(sa),O_=dn(Fi),pt=sn;(aa&&pt(new aa(new ArrayBuffer(1)))!=sc||_o&&pt(new _o)!=rc||la&&pt(la.resolve())!=ic||sa&&pt(new sa)!=ac||Fi&&pt(new Fi)!=lc)&&(pt=function(e){var n=sn(e),o=n==x_?e.constructor:void 0,r=o?dn(o):"";if(r)switch(r){case A_:return sc;case I_:return rc;case P_:return ic;case T_:return ac;case O_:return lc}return n});var $_=Object.prototype,B_=$_.hasOwnProperty;function V_(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&B_.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Cr=St.Uint8Array;function ca(e){var n=new e.constructor(e.byteLength);return new Cr(n).set(new Cr(e)),n}function R_(e,n){var o=n?ca(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var D_=/\w*$/;function M_(e){var n=new e.constructor(e.source,D_.exec(e));return n.lastIndex=e.lastIndex,n}var cc=ft?ft.prototype:void 0,dc=cc?cc.valueOf:void 0;function L_(e){return dc?Object(dc.call(e)):{}}function F_(e,n){var o=n?ca(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var U_="[object Boolean]",K_="[object Date]",j_="[object Map]",q_="[object Number]",G_="[object RegExp]",z_="[object Set]",H_="[object String]",Y_="[object Symbol]",W_="[object ArrayBuffer]",X_="[object DataView]",Z_="[object Float32Array]",J_="[object Float64Array]",Q_="[object Int8Array]",eb="[object Int16Array]",tb="[object Int32Array]",nb="[object Uint8Array]",ob="[object Uint8ClampedArray]",rb="[object Uint16Array]",ib="[object Uint32Array]";function ab(e,n,o){var r=e.constructor;switch(n){case W_:return ca(e);case U_:case K_:return new r(+e);case X_:return R_(e,o);case Z_:case J_:case Q_:case eb:case tb:case nb:case ob:case rb:case ib:return F_(e,o);case j_:return new r;case q_:case H_:return new r(e);case G_:return M_(e);case z_:return new r;case Y_:return L_(e)}}function lb(e){return typeof e.constructor=="function"&&!yr(e)?Gg(ta(e)):{}}var sb="[object Map]";function cb(e){return Rt(e)&&pt(e)==sb}var uc=Bn&&Bn.isMap,db=uc?zi(uc):cb,ub="[object Set]";function fb(e){return Rt(e)&&pt(e)==ub}var fc=Bn&&Bn.isSet,pb=fc?zi(fc):fb,mb=1,gb=2,hb=4,pc="[object Arguments]",yb="[object Array]",_b="[object Boolean]",bb="[object Date]",wb="[object Error]",mc="[object Function]",kb="[object GeneratorFunction]",Cb="[object Map]",Eb="[object Number]",gc="[object Object]",Nb="[object RegExp]",Sb="[object Set]",vb="[object String]",xb="[object Symbol]",Ab="[object WeakMap]",Ib="[object ArrayBuffer]",Pb="[object DataView]",Tb="[object Float32Array]",Ob="[object Float64Array]",$b="[object Int8Array]",Bb="[object Int16Array]",Vb="[object Int32Array]",Rb="[object Uint8Array]",Db="[object Uint8ClampedArray]",Mb="[object Uint16Array]",Lb="[object Uint32Array]",Ve={};Ve[pc]=Ve[yb]=Ve[Ib]=Ve[Pb]=Ve[_b]=Ve[bb]=Ve[Tb]=Ve[Ob]=Ve[$b]=Ve[Bb]=Ve[Vb]=Ve[Cb]=Ve[Eb]=Ve[gc]=Ve[Nb]=Ve[Sb]=Ve[vb]=Ve[xb]=Ve[Rb]=Ve[Db]=Ve[Mb]=Ve[Lb]=!0,Ve[wb]=Ve[mc]=Ve[Ab]=!1;function bo(e,n,o,r,i,a){var l,s=n&mb,c=n&gb,d=n&hb;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!cn(e))return e;var f=yt(e);if(f){if(l=V_(e),!s)return Hg(e,l)}else{var u=pt(e),p=u==mc||u==kb;if(go(e))return w_(e,s);if(u==gc||u==pc||p&&!i){if(l=c||p?{}:lb(e),!s)return c?v_(e,__(l,e)):N_(e,y_(l,e))}else{if(!Ve[u])return i?e:{};l=ab(e,u,s)}}a||(a=new Lt);var m=a.get(e);if(m)return m;a.set(e,l),pb(e)?e.forEach(function(g){l.add(bo(g,n,o,g,e,a))}):db(e)&&e.forEach(function(g,_){l.set(_,bo(g,n,o,_,e,a))});var h=d?c?oc:ia:c?Xi:Wi,y=f?void 0:h(e);return th(y||e,function(g,_){y&&(_=g,g=e[_]),ji(l,_,bo(g,n,o,_,e,a))}),l}var Fb=1,Ub=4;function Rn(e){return bo(e,Fb|Ub)}var Kb="__lodash_hash_undefined__";function jb(e){return this.__data__.set(e,Kb),this}function qb(e){return this.__data__.has(e)}function Er(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new Mt;++n<o;)this.add(e[n])}Er.prototype.add=Er.prototype.push=jb,Er.prototype.has=qb;function Gb(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 zb(e,n){return e.has(n)}var Hb=1,Yb=2;function hc(e,n,o,r,i,a){var l=o&Hb,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var d=a.get(e),f=a.get(n);if(d&&f)return d==n&&f==e;var u=-1,p=!0,m=o&Yb?new Er:void 0;for(a.set(e,n),a.set(n,e);++u<s;){var h=e[u],y=n[u];if(r)var g=l?r(y,h,u,n,e,a):r(h,y,u,e,n,a);if(g!==void 0){if(g)continue;p=!1;break}if(m){if(!Gb(n,function(_,b){if(!zb(m,b)&&(h===_||i(h,_,o,r,a)))return m.push(b)})){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 Wb(e){var n=-1,o=Array(e.size);return e.forEach(function(r,i){o[++n]=[i,r]}),o}function Xb(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var Zb=1,Jb=2,Qb="[object Boolean]",e0="[object Date]",t0="[object Error]",n0="[object Map]",o0="[object Number]",r0="[object RegExp]",i0="[object Set]",a0="[object String]",l0="[object Symbol]",s0="[object ArrayBuffer]",c0="[object DataView]",yc=ft?ft.prototype:void 0,da=yc?yc.valueOf:void 0;function d0(e,n,o,r,i,a,l){switch(o){case c0:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case s0:return!(e.byteLength!=n.byteLength||!a(new Cr(e),new Cr(n)));case Qb:case e0:case o0:return Ki(+e,+n);case t0:return e.name==n.name&&e.message==n.message;case r0:case a0:return e==n+"";case n0:var s=Wb;case i0:var c=r&Zb;if(s||(s=Xb),e.size!=n.size&&!c)return!1;var d=l.get(e);if(d)return d==n;r|=Jb,l.set(e,n);var f=hc(s(e),s(n),r,i,a,l);return l.delete(e),f;case l0:if(da)return da.call(e)==da.call(n)}return!1}var u0=1,f0=Object.prototype,p0=f0.hasOwnProperty;function m0(e,n,o,r,i,a){var l=o&u0,s=ia(e),c=s.length,d=ia(n),f=d.length;if(c!=f&&!l)return!1;for(var u=c;u--;){var p=s[u];if(!(l?p in n:p0.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;++u<c;){p=s[u];var _=e[p],b=n[p];if(r)var w=l?r(b,_,p,n,e,a):r(_,b,p,e,n,a);if(!(w===void 0?_===b||i(_,b,o,r,a):w)){y=!1;break}g||(g=p=="constructor")}if(y&&!g){var v=e.constructor,x=n.constructor;v!=x&&"constructor"in e&&"constructor"in n&&!(typeof v=="function"&&v instanceof v&&typeof x=="function"&&x instanceof x)&&(y=!1)}return a.delete(e),a.delete(n),y}var g0=1,_c="[object Arguments]",bc="[object Array]",Nr="[object Object]",h0=Object.prototype,wc=h0.hasOwnProperty;function y0(e,n,o,r,i,a){var l=yt(e),s=yt(n),c=l?bc:pt(e),d=s?bc:pt(n);c=c==_c?Nr:c,d=d==_c?Nr:d;var f=c==Nr,u=d==Nr,p=c==d;if(p&&go(e)){if(!go(n))return!1;l=!0,f=!1}if(p&&!f)return a||(a=new Lt),l||Yi(e)?hc(e,n,o,r,i,a):d0(e,n,c,o,r,i,a);if(!(o&g0)){var m=f&&wc.call(e,"__wrapped__"),h=u&&wc.call(n,"__wrapped__");if(m||h){var y=m?e.value():e,g=h?n.value():n;return a||(a=new Lt),i(y,g,o,r,a)}}return p?(a||(a=new Lt),m0(e,n,o,r,i,a)):!1}function kc(e,n,o,r,i){return e===n?!0:e==null||n==null||!Rt(e)&&!Rt(n)?e!==e&&n!==n:y0(e,n,o,r,kc,i)}function _0(e,n){return e!=null&&n in Object(e)}function b0(e,n,o){n=Vn(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=kr(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&&qi(i)&&Ui(l,i)&&(yt(e)||_r(e)))}function w0(e,n){return e!=null&&b0(e,n,_0)}function k0(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function C0(e,n){return n.length<2?e:Qi(e,Us(n,0,-1))}var E0="[object Map]",N0="[object Set]",S0=Object.prototype,v0=S0.hasOwnProperty;function Cc(e){if(e==null)return!0;if(Gi(e)&&(yt(e)||typeof e=="string"||typeof e.splice=="function"||go(e)||Yi(e)||_r(e)))return!e.length;var n=pt(e);if(n==E0||n==N0)return!e.size;if(yr(e))return!Rs(e).length;for(var o in e)if(v0.call(e,o))return!1;return!0}function wo(e,n){return kc(e,n)}function Ec(e,n){return n=Vn(n,e),e=C0(e,n),e==null||delete e[kr(k0(n))]}function x0(e){return My(e)?void 0:e}var A0=1,I0=2,P0=4,ua=Ls(function(e,n){var o={};if(e==null)return o;var r=!1;n=bs(n,function(a){return a=Vn(a,e),r||(r=a.length>1),a}),mo(e,oc(e),o),r&&(o=bo(o,A0|I0|P0,x0));for(var i=n.length;i--;)Ec(o,n[i]);return o});function Nc(e,n,o,r){if(!cn(e))return e;n=Vn(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=kr(n[i]),d=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var f=s[c];d=void 0,d===void 0&&(d=cn(f)?f:Ui(n[i+1])?[]:{})}ji(s,c,d),s=s[c]}return e}function T0(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=Qi(e,l);o(s,l)&&Nc(a,Vn(l,e),s)}return a}function O0(e,n){return T0(e,n,function(o,r){return w0(e,r)})}var fa=Ls(function(e,n){return e==null?{}:O0(e,n)});function $0(e,n,o){return e==null?e:Nc(e,n,o)}var B0=0;function Sr(e){var n=++B0;return Ji(e)+n}function Sc(e,n){return e==null?!0:Ec(e,n)}const V0=[{authentication:{mode:"none"},ssl_verify:!0},{authentication:{basic:{}}},{authentication:{basic:{},oauth2:{token_headers:{},token_post_args:{}},oauth2_client:{}}}],pn=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,V0.some(s=>wo(e.confluent,s))&&(e.confluent=null)},R0={"config-message_by_lua_functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;pn((n=e.config)==null?void 0:n.schema_registry)}},D0={"config-message_by_lua_functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;pn((n=e.config)==null?void 0:n.schema_registry)}},M0={"config-message_by_lua_functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;pn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{pn(i==null?void 0:i.schema_registry)})}},L0={"config-message_by_lua_functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;pn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{pn(i==null?void 0:i.schema_registry)})}},F0={shamefullyTransformPayload:({payload:e})=>{var n;pn((n=e.config)==null?void 0:n.schema_registry)}},U0={"config-static_tags":{...pr,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"}]}}}},K0={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm"};function pa(e,n){const o=K0[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const ma=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),vr={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR"),DATAKIT_M2:Symbol("DATAKIT_M2")},vc=Symbol("TOASTER_PROVIDER");function xc(){return t.inject(ma,[])}function j0(e){t.provide(ma,e)}const q0=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},Ac=(e,n)=>(e.order??0)-(n.order??0),Ic=(e,n)=>q0(e,n)||Ac(e,n)||e.model.localeCompare(n.model),De={useI18n:Pe,usePluginMetaData:Ym,usePluginHelpers:is,useSchemas:e=>{const{capitalize:n}=pe.useStringHelpers(),{convertToDotNotation:o}=is(),{i18n:{t:r}}=Pe(),i=xc(),a={"application-registration":{overwriteDefault:!0,formSchema:{...Qm}},datadog:{...eg},"exit-transformer":{...tg},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...mg},"statsd-advanced":{...gg},"route-by-header":{...dg},"ai-prompt-decorator":{...Wm},"ai-prompt-template":{...Xm},"ai-proxy-advanced":{...Zm},"ai-llm-as-judge":{...Jm},"vault-auth":{...yg},"oas-validation":{...ig},mocking:{...rg},"rate-limiting":{...mr},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":mr["config-consumer_groups"]}:{...mr},"graphql-rate-limiting-advanced":{...ng},"injection-protection":{...og},"response-ratelimiting":{...mr},"pre-function":{...ms},"post-function":{...ms},"request-transformer-advanced":{...sg},"response-transformer":{...gs},"response-transformer-advanced":{...cg},zipkin:{...U0},"upstream-oauth":{...hg},saml:{...ug},"kafka-upstream":{...R0},"solace-consume":{...fg},"solace-upstream":{...pg},"key-auth":Lm(e),"key-auth-enc":Gm(e),confluent:{...D0},"confluent-consume":{...M0},"kafka-consume":{...L0},"kafka-log":{...F0}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(S,I,$,D)=>{let j={};(I||S)&&(j=I||(S.fields?S.fields:S));const K=l().concat(S.blacklist?S.blacklist:[]),k=Object.keys(j).filter(U=>!K.includes(U)),Y=k.indexOf("comparator");Y>-1&&k.splice(Y,1);let A={fields:[]};const F={};k.forEach(U=>{d(j[U],U,j,F,A,$)});const R=F.name,ee=Nt[R],q=[],H=U=>{const M=["cluster-cache"];for(const L of M)if(U.model.includes(L))return!1;return new RegExp("(?<=-redis-).*").test(U.model)};if(A._supported_redis_partial_type=S._supported_redis_partial_type,A._redis_partial_path=S._redis_partial_path,Oe.getSharedFormName(R)||pa(R,i)||ee!=null&&ee.useLegacyForm||e!=null&&e.credential||D==="freeform"){if(ee!=null&&ee.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&S._supported_redis_partial_type){for(const U of A.fields)if(H(U)){q.push(U);continue}A.fields=A.fields.filter(U=>!H(U)),q.length&&A.fields.push({id:"_redis",fields:q,model:"__redis_partial",pluginType:S._isCustomPlugin?"custom":"bundled",redisType:S._supported_redis_partial_type,redisPath:S._redis_partial_path})}A.fields.sort((U,M)=>(U.order=U.order||0,M.order=M.order||0,U.order-M.order))}else{const U=[],M=[],L=[],Z=[],W={};if(ee!=null&&ee.fieldRules){const de=[...ee.fieldRules.atLeastOneOf??[],...ee.fieldRules.onlyOneOf??[],...ee.fieldRules.mutuallyRequired??[]];if(ee.fieldRules.onlyOneOfMutuallyRequired)for(const ye of ee.fieldRules.onlyOneOfMutuallyRequired)de.push(...ye);for(const ye of de)for(const Q of ye)W[Q.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const de of A.fields){if(e!=null&&e.enableRedisPartial&&S._supported_redis_partial_type&&H(de)){Z.push(de);continue}if(de.pinned){U.push(de);continue}if(de.required||W[de.model]!==void 0){W[de.model]===!1&&(W[de.model]=!0),M.push(de);continue}L.push(de)}Z.length&&L.push({id:"_redis",fields:Z,model:"__redis_partial",pluginType:S._isCustomPlugin?"custom":"bundled",redisType:S._supported_redis_partial_type,redisPath:S._redis_partial_path,order:-1});const re=Object.entries(W).filter(([,de])=>!de).map(([de])=>de.replace(/-/g,".").replace(/_/g,"-"));re.length>0&&console.warn(`Unknown checked fields for plugin ${R}: ${re.join(", ")}`);const ae=[];U.length>0&&ae.push({fields:U.sort(Ac)}),(M.length>0||L.length>0)&&ae.push({fields:M.sort(Ic),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:L.sort(Ic),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"}}),A={groups:ae}}return{schema:A,model:F,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=S=>Array.isArray(S.default)||S.default!=null&&typeof S.default!="object"&&S.default!=="function",d=(S,I,$,D,j,K)=>{const k=c(S);return D[I]=k?S.default:null,S.id=I,S.model=I,S.fields&&S.type==="record"?u(S,I,$,D,j,K):($[I]=S,v(S,D),K&&K[I]&&f($[I],K[I]),j.fields.push(S)),$},f=(S,I)=>(I&&(Object.assign(S,I),I.label&&(S.label=I.label)),S),u=(S,I,$,D,j,K)=>{S.fields.forEach(k=>{Object.keys(k).forEach(Y=>{const A=k[Y];$=d(A,I+"-"+Y,$,D,j,K)})})},p=(S,I)=>{S.type="input",S.inputType="hidden",S.styleClasses="kong-form-hidden-field-wrapper";const $=e==null?void 0:e.entityId;I[S.model]=$?{id:$}:null},m=S=>{S.type="input",S.inputType="number",S.between&&S.between.length===2&&(S.min=S.between[0],S.max=S.between[1])},h=S=>{Object.prototype.hasOwnProperty.call(S,"one_of")?(S.type="select",S.values=S.one_of,S.selectOptions={hideNoneSelectedText:!0}):(S.type="input",S.inputType="text")},y=S=>{S.type="checkbox",S.default=!0,S.required=!1},g=S=>{if(S.type="object-advanced",S.values.type==="array"){const{type:I}=S.values.elements||{};S.schema={fields:[{schema:{fields:[{...Ae,model:S.model,valueArrayType:I==="integer"?"number":I||"string",inputAttributes:{...Ae.inputAttributes,type:I==="integer"?"number":"text",inputMode:I==="integer"?"numeric":"text"}}]}}]}}else S.values.fields&&(S.schema={fields:[{type:"object",model:"object",schema:{fields:S.values.fields.map(I=>{const $=Object.keys(I)[0];return{model:$,type:"input",label:n($),placeholder:$,inputType:I[$].type}})}}]})},_=S=>S.fields.reduce((I,$)=>($.fields&&$.fields.forEach(D=>{I[D.model]=D}),$.model&&(I[$.model]=$),I),{}),b=(S,I)=>{if(!Oe.customFields.includes(S.model))return;const $=_(S);Oe.customFields.forEach(D=>{Object.keys($).forEach(j=>{const K=c($[j]);I[j]=K?$[j].default:null}),delete I[D]})},w=(S,I)=>S.inputType==="hidden"?"":o(n(S.label||I.replace(/_/g," "))),v=(S,I)=>{switch(b(S,I),S.type){case"foreign":p(S,I);break;case"number":m(S),S.attributes={step:"any"};break;case"integer":m(S);break;case"string":h(S);break;case"boolean":y(S);break;case"map":g(S);break}S.inputType==="foreign"&&p(S,I),S.label=w(S,S.model)};function x(S,I){if(I==null||I.type&&I.type!=="record"||typeof S!="object"||S==null)return S;const $={};for(const D of I.fields){const j=Object.keys(D)[0],K=D[j];K.type==="record"?$[j]=x(S[j],K):K.type==="array"&&Array.isArray(S[j])&&K.elements.type==="record"?$[j]=S[j].map(k=>x(k,K.elements)):$[j]=S[j]}return $}return{buildFormSchema:d,parseSchema:s,customSchemas:a,typedefs:On,pruneRecord:x}},useExperimentalFreeForms:xc,useProvideExperimentalFreeForms:j0},Je="/v2/control-planes/{controlPlaneId}/core-entities",et="/{workspace}",Fe={list:{konnect:{all:`${Je}/plugins`,forEntity:`${Je}/{entityType}/{entityId}/plugins`},kongManager:{all:`${et}/plugins`,forEntity:`${et}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Je}/v1/available-plugins`,streamingCustomPlugins:`${Je}/custom-plugins`,schemaCustomPluginItem:`${Je}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${Je}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${et}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Je}/plugins`,forEntity:`${Je}/{entityType}/{entityId}/plugins`},edit:{all:`${Je}/plugins/{id}`,forEntity:`${Je}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Je}/{resourceEndpoint}`,edit:`${Je}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Je}/v1/schemas/json/plugin/validate`,entityGetOne:`${Je}/{entity}/{id}`,entityGetAll:`${Je}/{entity}`,entityPeek:`${Je}/{entity}?size={amount}`},kongManager:{create:{all:`${et}/plugins`,forEntity:`${et}/{entityType}/{entityId}/plugins`},edit:{all:`${et}/plugins/{id}`,forEntity:`${et}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${et}/schemas/plugins/{plugin}`,credential:{create:`${et}/{resourceEndpoint}`,edit:`${et}/{resourceEndpoint}/{id}`},credentialSchema:`${et}/schemas/{plugin}`,validate:`${et}/schemas/plugins/validate`,entityGetOne:`${et}/{entity}/{id}`,entityGetAll:`${et}/{entity}`}},item:{konnect:{all:`${Je}/plugins/{id}`,forEntity:`${Je}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${et}/plugins/{id}`,forEntity:`${et}/{entityType}/{entityId}/plugins/{id}`}}},G0={key:0},z0=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,(f,u)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${u}`},t.toDisplayString(f),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",G0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(f,u)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${u}`},[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(f,(p,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${u}-combination-${m}`},t.toDisplayString(i(p)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]),{t:Dn}=je.createI18n("en-us",We);function ga(e){return e.map(n=>({value:n,label:`${n}`}))}const ha="*",Pc="$",Tc=".";function _t(...e){return e.join(Tc)}function ya(...e){return _t(Pc,...e)}function Oc(e){return e.startsWith(_t(Pc,""))}function Mn(e){return e.split(Tc).filter(n=>n!=="")}function ko(e){const n=Mn(e);return n[n.length-1]}const H0=e=>{var n,o;return e.type==="redis-ce"?Dn("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?Dn("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?Dn("redis.shared_configuration.type_label.cluster"):Dn("redis.shared_configuration.type_label.host_port")},Y0={"redis-ce":Dn("redis.shared_configuration.open_source"),"redis-ee":Dn("redis.shared_configuration.enterprise")},W0=e=>Y0[e]??"";function X0(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 Z0(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const $c=Symbol("free-form-data"),Bc=Symbol("free-form-schema"),Vc=Symbol("free-form-field-path"),_a=Symbol("free-form-field-renderer-slots"),xr=Symbol("free-form-field-renderer-matchers-map"),Rc=Symbol("free-form-config"),Dc=Symbol("free-form-field-reset-label-path-setting"),Ln="free-form-field-renderers-slot",J0={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function Q0(e,n=""){const o={},r=e;return Array.isArray(r.fields)?Object.assign(o,ba(r,n)):e.type==="array"&&e.elements&&Object.assign(o,wa(e,n)),o}function ba(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?_t(n,i):i;if(o[l]=a,a.type==="record"&&Array.isArray(a.fields)){const s=ba(a,l);Object.assign(o,s)}else if(a.type==="array"&&a.elements){const s=wa(a,l);Object.assign(o,s)}}return o}function wa(e,n=""){const o={};if(e.elements){const r=e.elements,i=_t(n,ha);if(o[i]=r,r.type==="record"&&Array.isArray(r.fields)){const a=ba(r,i);Object.assign(o,a)}else if(r.type==="array"&&r.elements){const a=wa(r,i);Object.assign(o,a)}}return o}function ka(e){const n=Mn(e).map(o=>/^\d+$/.test(o)?ha:o);return _t(...n)}function ew(e){const n=t.toValue(e),o=t.computed(()=>n?Q0(n):{});function r(f){var u;return f==null?n:(u=o.value)==null?void 0:u[ka(f)]}function i(f,u=!1){const p=r(f);return p?p.default!==void 0?p.default:u||p.required?p.type==="record"?a(p,f):p.type==="array"?[]:null:null:null}function a(f,u){const p={};if(Array.isArray(f.fields))for(const m of f.fields){const h=Object.keys(m)[0],y=u?`${u}.${h}`:h,g=i(y,!1);g!==void 0&&(p[h]=g)}return p}function l(f){return f?i(f,!0):a(r(),"")}function s(f){const u=r(f),p=u!=null&&u.description?cr.marked.parse(u.description,{async:!1}):void 0;return{...J0,"data-testid":`ff-label-${f}`,info:p}}function c(f){var p;const u=r(f);return ga((u==null?void 0:u.one_of)||((p=u.elements)==null?void 0:p.one_of)||[])}function d(f){const u=r(f),p=u==null?void 0:u.default;let m=null;if((u==null?void 0:u.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 Le(){const e=t.inject($c),n=t.inject(Bc),o=t.inject(Rc,{});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 Mc=e=>{const n=t.inject(Vc,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!Oc(r)&&n.value&&(i=_t(n.value,r)),Oc(r)&&(i=i.slice(ya("").length)),i});return t.provide(Vc,o),o},tw=e=>{const{getSchema:n}=Le(),{default:o,...r}=t.useSlots(),i=t.inject(_a),a=t.inject(xr),l=t.computed(()=>{const c=t.toValue(i),d=Object.keys(r).filter(f=>f!==Ln&&f!=="item").reduce((f,u)=>{const p=ka(_t(t.toValue(e),u));return{...f,[p]:r[u]}},{});return c?{...c,...d}:d});t.provide(_a,l);const s=t.toValue(e);return t.computed(()=>{if(o)return;const c=l.value[ka(t.toValue(e))];if(c)return c;for(const[d,f]of a)if(d({path:s,schema:n(s)}))return f})},nw={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function ow(e){return nw[e.toLocaleLowerCase()]??e}function rw(e,n){const o=t.inject(Dc,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?_t(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:f}=c,u=d?_t(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=u,l.value.isolate=!1,l.value.parentPath=u}};(p=m[s])==null||p.call(m)}else f&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(Dc,l),a}function iw(e){return Mn(e).map(o=>o.split("_").map(ow).join(" ")).map(d_).join(" › ")}function aw(e,n){const o=t.toValue(e),r=ko(o),{formConfig:i}=Le(),a=rw(r,n),{getSchema:l}=Le(),s=Lc(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,u=(d==null?void 0:d.type)==="array"?"":iw(c);return i.transformLabel?i.transformLabel(u,o):u})}function bt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=Le(),a=t.toValue(e),l=t.toValue(n),s=aw(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 lw(e){var r;const n=Mn(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?_t(o.parent.path,i):i,o={parent:o}}return o}function Lc(e){return t.computed(()=>lw(t.toValue(e)))}function Fc(e){const{formData:n}=Le(),o=Mc(e);return{value:t.computed({get:()=>Ds(n,Mn(o.value)),set:i=>$0(n,Mn(o.value),i)})}}function ct(e){const{getSchema:n}=Le(),o=Mc(e),r=tw(o),{value:i}=Fc(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:Lc(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function Co(e){const{getSchema:n}=Le(),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 Uc(e,n){const o=new WeakMap,r=new Map;function i(){return Sr(`${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,f)=>{c.add(f)}),Array.from(r.keys()).forEach(d=>{c.has(d)||r.delete(d)})},{immediate:!0,deep:!0}),{getKey:a}}const sw="__request_callout_";function Kc(){return Sr(sw)}const mn=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=t.useAttrs(),i=n,a=t.computed(()=>o.multiline?xe.KTextArea:xe.KInput),l=t.computed(()=>r.characterLimit??(o.multiline?!1:void 0)),s=t.ref(o.modelValue);t.watch(()=>o.modelValue,u=>{s.value=u});const{formConfig:c}=Le(),d=u=>{s.value=u,c.updateOnChange||i("update:modelValue",u)},f=()=>{c.updateOnChange&&i("update:modelValue",s.value)};return(u,p)=>(t.openBlock(),t.createBlock(t.unref(a),t.mergeProps(u.$attrs,{"character-limit":l.value,"model-value":u.modelValue,resizable:u.multiline?!0:void 0,onChange:f,"onUpdate:modelValue":d}),t.createSlots({_:2},[t.renderList(t.useSlots(),(m,h)=>({name:h,fn:t.withCtx(y=>[t.renderSlot(u.$slots,h,t.normalizeProps(t.guardReactiveProps(y)))])}))]),1040,["character-limit","model-value","resizable"]))}}),cw=["innerHTML"],Fn=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}=Pe(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=ct(t.toRef(()=>e.name)),c=bt(s.path,t.toRef({...i,...o})),d=l==null?void 0:l.value;function f(_){d!==void 0&&_===""&&_!==d?(l.value=null,a("update:modelValue",null)):(l.value=_.trim(),a("update:modelValue",_.trim()))}const u=t.computed(()=>{var _;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((_=s.schema)==null?void 0:_.value).encrypted}),p=t.inject(Oe.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=Co(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:ko(e.name)==="name");return(_,b)=>{var v;const w=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(w,{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(mn,t.mergeProps({...t.unref(c),showPasswordMaskToggle:u.value,type:u.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:_.multiline&&_.error?_.errorMessage:_.help,"model-value":t.unref(l)??"",multiline:_.multiline,"onUpdate:modelValue":f}),t.createSlots({_:2},[(v=t.unref(c).labelAttributes)!=null&&v.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,cw)],!0)]),key:"0"}:void 0,_.multiline&&_.error?void 0:{name:"help",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"help",{},void 0,!0)]),key:"1"}]),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:f,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(w,{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-8b9ee4c2"]]),dw=["innerHTML"],Ca=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}=ct(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=bt(i.path,o);return(c,d)=>{var u;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(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},[(u=t.unref(s).labelAttributes)!=null&&u.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,dw)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),jc=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 f(p){Object.assign(p.style,r)}function u(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:u,onBeforeEnter:l,onBeforeLeave:d,onEnter:s,onLeave:f},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),uw=["data-testid"],fw=["data-testid"],pw=["data-testid"],mw=["innerHTML"],gw={class:"ff-object-field-actions"},hw=["data-testid"],rt=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}=ct(t.toRef(n,"name")),{getSchema:i,getDefault:a}=Le(),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 b=r.ancestors.value.parent;if(b!=null&&b.path)return((_=i(b.path))==null?void 0:_.type)==="array"}return!1}),f=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:d.value?"reset":"inherit"),u=bt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:f.value}))),p=t.computed(()=>u.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((_,b)=>{const w=Object.keys(_)[0],v=Object.keys(b)[0],x=e.fieldsOrder.indexOf(w),S=e.fieldsOrder.indexOf(v);return x===-1&&S===-1?0:x===-1?1:S===-1?-1:x-S}):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 w;const b=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(Ln)]))),r.error?(t.openBlock(),t.createBlock(b,{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,v=>(t.openBlock(),t.createBlock(nt,{key:Object.keys(v)[0],name:Object.keys(v)[0]},null,8,["name"]))),128))],!0)],16,uw)):(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(u),required:!1},{"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(w=t.unref(u).labelAttributes)!=null&&w.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,mw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",gw,[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]=v=>s.value=!c.value)},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(u).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(Ce.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(Ce.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,pw),t.createVNode(jc,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,v=>(t.openBlock(),t.createBlock(nt,{key:Object.keys(v)[0],name:Object.keys(v)[0]},null,8,["name"]))),128))],!0)],8,hw)):t.createCommentVNode("",!0)]),_:3})],16,fw))],64)}}}),[["__scopeId","data-v-6f044592"]]),yw=["innerHTML"],Un=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}=ct(t.toRef(()=>e.name)),a=bt(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 f(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 u=Co(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(mn,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(u),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:"number","onUpdate:modelValue":f}),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,yw)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-00c065d4"]]),_w=["innerHTML"],vt=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}},emits:["update"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:i}=Le(),{value:a,...l}=ct(t.toRef(()=>e.name)),s=bt(l.path,r),c=t.computed(()=>e.items?e.items:l.path?i(l.path.value):[]),d=t.computed(()=>{var u;return e.multiple!==void 0?e.multiple:((u=l.schema.value)==null?void 0:u.type)==="set"}),f=t.computed(()=>d.value?xe.KMultiselect:xe.KSelect);return(u,p)=>{var h;const m=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(f),t.mergeProps({key:1},{...r,...t.unref(s)},{modelValue:t.unref(a),"onUpdate:modelValue":[p[0]||(p[0]=y=>t.isRef(a)?a.value=y:null),p[1]||(p[1]=y=>o("update",y))],class:"ff-enum-field",clearable:!t.unref(s).required,"data-testid":`ff-${l.path.value}`,items:c.value,"kpop-attributes":{"data-testid":`${l.path.value}-items`}}),t.createSlots({_:2},[(h=t.unref(s).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,_w)],!0)]),key:"0"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-bfca8687"]]);function Ea(e,n,o=!0){const{value:r,...i}=ct(t.toRef(e,"name")),a=bt(i.path,t.toRef({...e,...t.useAttrs()})),l=t.ref(d(e.initialValue??t.toValue(r)??{},e.keyOrder));function s(){return Sr("ff-kv-field-")}function c(g,_,b){const w=b.indexOf(g),v=b.indexOf(_);return w===-1&&v===-1?0:w===-1?1:v===-1?-1:w-v}function d(g,_){const b=Object.entries(g).map(([w,v])=>({id:s(),key:w,value:v}));return _&&b.sort((w,v)=>c(w.key,v.key,_)),b}function f(){const g={id:s(),key:e.defaultKey||"",value:e.defaultValue||""};return l.value.push(g),g}function u(g){const _=l.value.findIndex(b=>b.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:b,value:w})=>[b,w]).filter(([b])=>b)):null;r.value=_,h=_,n("change",_)},{deep:!0,immediate:!0}),t.watch(()=>r==null?void 0:r.value,g=>{wo(g,h)||y(g)},{deep:!0});function y(g){if(!g){l.value=[];return}const _=new Map;l.value.forEach(x=>{x.key&&_.set(x.key,x)});const b=[],w=Object.keys(g);(e.keyOrder?[...w].sort((x,S)=>c(x,S,e.keyOrder)):w).forEach(x=>{const S=g[x];if(_.has(x)){const I=_.get(x);I.value=S,b.push(I)}else b.push({id:s(),key:x,value:S})}),l.value=b}return{entries:l,addEntry:f,removeEntry:u,reset:p,setValue:m,labelAttrs:a,field:i}}const bw=["data-testid"],ww=["data-testid"],kw=["innerHTML"],Cw=["data-testid"],Ew=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}=Pe(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:d,setValue:f,labelAttrs:u,field:p}=Ea(r,a),m=t.useTemplateRef("root");async function h(x,S="key"){var I;m.value&&(await t.nextTick(),(I=m.value.querySelector(`[data-${S}-input="${x}"]`))==null||I.focus())}function y(){s();const x=l.value.findIndex(({key:S})=>!S);h(x===-1?l.value.length-1:x)}function g(x){x===l.value.length-1&&s(),h(x+1)}const _=t.inject(Oe.AUTOFILL_SLOT,void 0),b=t.computed(()=>{var x,S;return e.showVaultSecretPicker??!!((S=(x=p.schema.value)==null?void 0:x.values)!=null&&S.referenceable)}),w=t.computed(()=>({referenceable:b.value}));function v(x,S){l.value[x].value=S}return n({reset:d,setValue:f}),(x,S)=>{var j;const I=t.resolveComponent("KAlert"),$=t.resolveComponent("KLabel"),D=t.resolveComponent("KButton");return t.unref(p).error?(t.openBlock(),t.createBlock(I,{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.mergeProps({class:"ff-kv-field-label"},t.unref(u),{"data-testid":`ff-label-${t.unref(p).path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(j=t.unref(u).labelAttributes)!=null&&j.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(x.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,kw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(D,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(p).path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon))]),_:1},8,["data-testid"])],8,ww),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(K,k)=>(t.openBlock(),t.createElementBlock("div",{key:K.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(p).path.value}.${k}`},[t.createVNode(mn,{modelValue:K.key,"onUpdate:modelValue":Y=>K.key=Y,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":k,"data-testid":`ff-key-${t.unref(p).path.value}.${k}`,placeholder:x.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(Y=>h(k,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(mn,{modelValue:K.value,"onUpdate:modelValue":Y=>K.value=Y,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(p).path.value}.${k}`,"data-value-input":k,placeholder:x.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(Y=>g(k),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(_)&&b.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(_)),{key:0,schema:w.value,update:Y=>v(k,Y),value:K.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),b.value&&!t.unref(_)?(t.openBlock(),t.createBlock(I,{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(D,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(p).path.value}.${k}`,icon:"",onClick:Y=>t.unref(c)(K.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,Cw))),128))],8,bw))}}}),[["__scopeId","data-v-92e0893d"]]),Nw=["data-testid"],Sw=["innerHTML"],Na=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}=ct(t.toRef(()=>e.name)),s=bt(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 f(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function u(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function p(y){d.value=y;const g=u(y),_=!g.length&&c.value?null:g;a.value=_,i("update:modelValue",_)}const m=Co(l.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:ko(e.name)==="name");return t.watch(a,y=>{const g=y?f(y):"";f(u(d.value))!==g&&(d.value=g)},{immediate:!0}),(y,g)=>{var b;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(mn,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},[(b=t.unref(s).labelAttributes)!=null&&b.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Sw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Nw))}}}),[["__scopeId","data-v-a27f4ff1"]]),vw=["data-testid"],xw=["innerHTML"],Aw=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}=ct(t.toRef(()=>e.name)),s=bt(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 f=Co(l.ancestors),u=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:ko(e.name)==="name");return t.watch(a,p=>{if(p&&typeof p=="object"){try{const m=JSON.parse(c.value);wo(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(mn,t.mergeProps(t.unref(s),{class:"ff-json-field","data-1p-ignore":u.value,"data-autofocus":t.unref(f),"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,xw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,vw))}}}),[["__scopeId","data-v-5749f722"]]),Iw=["innerHTML"],Pw=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}}=Pe(),i=t.createPropsRestProxy(e,["showPasswordMaskToggle","name"]),a=n,{value:l,...s}=ct(t.toRef(()=>e.name));if(s.error)throw new Error(s.error.message);const c=bt(s.path,t.toRef({...i,...o})),d=l.value?l.value.id:null,f=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"})}),u=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=Co(s.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:ko(e.name)==="name");return(y,g)=>{var _;return t.openBlock(),t.createBlock(mn,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":u.value,placeholder:f.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,Iw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])}}}),[["__scopeId","data-v-b54c028e"]]),nt=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=ct(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?vt:Fn;case"boolean":return"one_of"in o.schema.value?vt:Ca;case"number":case"integer":return"one_of"in o.schema.value?vt:Un;case"array":return Ar;case"set":return Z0(o.schema)?Na:vt;case"record":return rt;case"map":return Ew;case"json":return Aw;case"foreign":return Pw;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(Ln)]))),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:ya(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:ya(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)}}}),Tw=["data-testid"],Ow=["data-testid"],$w=["innerHTML"],Bw=["data-testid"],Vw={class:"ff-array-field-item-content"},Rw=["data-index","data-testid"],Ar=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 S;t.useCssVars(I=>({"3e1c9ee2":x.value}));const o=e,r=n,{i18n:{t:i}}=Pe(),{getDefault:a,getSchema:l}=Le(),{value:s,...c}=ct(t.toRef(o,"name")),d=bt(c.path,t.toRef({...o,...t.useAttrs()})),f=t.computed(()=>{if(!c.path)throw new Error("Field path is required for sub-schema retrieval");const I=l(c.path.value);if(!I)throw new Error(`Schema not found for path: ${c.path.value}`);return I.elements}),u=t.computed(()=>o.items??t.toValue(s)??[]),{getKey:p}=Uc("ff-array-field",u),m=t.computed(()=>o.appearance==="card"?xe.KCard:"div");function h(I,$){return typeof o.itemLabel=="function"?o.itemLabel(I,$):o.itemLabel||d.value.label||`Item #${$}`}const y=t.computed(()=>u.value.map((I,$)=>({hash:`#${p(I,$)}`,title:""}))),g=t.ref((S=y.value[0])==null?void 0:S.hash),_=async()=>{var $;const I=a(_t(c.path.value,ha));Array.isArray(s.value)||(s.value=[]),s.value.push(I),r("add"),o.appearance==="tabs"&&(await t.nextTick(),g.value=($=y.value[y.value.length-1])==null?void 0:$.hash),await t.nextTick(),v(u.value.length+1)},b=async I=>{var $;Array.isArray(s.value)&&s.value.splice(I,1),r("remove",I),o.appearance==="tabs"&&(g.value=($=y.value[Math.max(0,I-1)])==null?void 0:$.hash)},w=t.useTemplateRef("root");function v(I){var D;if(!w.value)return;const $=Math.max(0,Math.min(I,u.value.length-1));(D=w.value.querySelector(`[data-index="${$}"] [data-autofocus]`))==null||D.focus()}const x=t.computed(()=>{const{appearance:I,stickyTabs:$}=o;return I!=="tabs"||$==null||$===!1?null:typeof $=="number"?`${o.stickyTabs}px`:typeof $=="string"?$:"0"});return(I,$)=>{var Y;const D=t.resolveComponent("KAlert"),j=t.resolveComponent("KLabel"),K=t.resolveComponent("KButton"),k=t.resolveComponent("KTabs");return c.error?(t.openBlock(),t.createBlock(D,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:w,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${I.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":I.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(j,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(I.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,$w)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(K,{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(Ce.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,Ow),u.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[I.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(u.value,(A,F)=>(t.openBlock(),t.createBlock(t.unref(m),{key:t.unref(p)(A,F),class:"ff-array-field-item","data-index":F,"data-testid":`ff-array-item-${c.path.value}.${F}`},{default:t.withCtx(()=>[t.createElementVNode("div",Vw,[I.$slots.item?t.renderSlot(I.$slots,"item",{key:0,fieldName:String(F),index:F},void 0,!0):t.createCommentVNode("",!0),f.value.type==="array"&&f.value.elements.type==="string"?(t.openBlock(),t.createBlock(Na,{key:1,help:t.unref(i)("plugins.free-form.tag_helper"),name:String(F)},null,8,["help","name"])):(t.openBlock(),t.createBlock(nt,{key:2,name:String(F)},null,8,["name"]))]),t.createVNode(K,{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:R=>b(F)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,Bw)):(t.openBlock(),t.createBlock(t.unref(xe.KCard),{key:1,"data-testid":`ff-array-tab-container-${c.path.value}`},{default:t.withCtx(()=>[t.createVNode(k,{modelValue:g.value,"onUpdate:modelValue":$[0]||($[0]=A=>g.value=A),"data-testid":`ff-array-tabs-${c.path.value}`,tabs:y.value},t.createSlots({_:2},[t.renderList(u.value,(A,F)=>({name:t.unref(p)(A,F),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":F,"data-testid":`ff-array-item-${c.path.value}.${F}`},[I.$slots.item?t.renderSlot(I.$slots,"item",{key:0,fieldName:String(F),index:F},void 0,!0):(t.openBlock(),t.createBlock(nt,{key:1,name:String(F)},null,8,["name"]))],8,Rw)])})),t.renderList(u.value,(A,F)=>({name:`${t.unref(p)(A,F)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(h(A,F))+" ",1),t.createVNode(K,{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(R=>b(F),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,Tw))}}}),[["__scopeId","data-v-3edd064c"]]),Eo=Symbol(),Dw=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=Le(),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(({[Eo]: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(rt,{name:l.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(vt,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(rt,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(vt,t.mergeProps(d,{items:t.unref(ga)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),Mw=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=Le();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[Eo]=Kc())}return(r,i)=>(t.openBlock(),t.createBlock(Ar,{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(Dw,{"field-name":l,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),qc=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),r=t.inject(xr);if(!r)throw new Error(xr.toString()+"not provided");return o&&r.set(n.match,o),(i,a)=>null}}),mt=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=ew(e.schema);t.provide(Bc,a);const l=m=>{var h;return gr((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],b=e.fieldsOrder.indexOf(g),w=e.fieldsOrder.indexOf(_);return b===-1&&w===-1?0:b===-1?1:w===-1?-1:b-w}):m});let c=!1;const d=t.reactive({});t.provide($c,d),t.provide(_a,ua(i,"default",Ln));const f=new Map;t.provide(xr,f),t.provide(Rc,e.config??{}),t.watch(d,m=>{c&&r("change",t.toValue(m))},{deep:!0,immediate:!0});function u(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=Rn(t.toValue(m)),gr((y=e.config)==null?void 0:y.prepareFormData)?u(e.config.prepareFormData(h)):u(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(Ln)]))),t.renderSlot(m.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,y=>(t.openBlock(),t.createBlock(nt,{key:Object.keys(y)[0],name:Object.keys(y)[0],onGlobalAction:h[0]||(h[0]=(g,_)=>r("globalAction",g,_))},null,8,["name"]))),128))])]),_:3}))}}),Lw={class:"ff-advanced-fields"},Ir=Ee(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=je.createI18n("en-us",We),{getSchema:o}=Le(),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",Lw,[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(nt,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(nt,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(Na,{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"]]),Fw=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}}=Pe();function a(d,f=!1){return d.reduce((u,{[Eo]:p,name:m})=>(f?u[m]=p:u[p]=m,u),{})}function l(d){var m;const f=Rn(d);if(!((m=f.config)!=null&&m.callouts))return f;const{callouts:u}=f.config;u.forEach(h=>{h.request.body.custom=h.request.body.custom??{},h[Eo]=Kc()});const p=a(u,!0);return u.forEach(h=>{h.depends_on=h.depends_on.map(y=>p[y])}),f}function s(d){return!!(d!=null&&d.config)}function c(d){var p;if(!d)return;const f=Rn(d);if(!((p=f.config)!=null&&p.callouts))throw new Error("data is not correct");const u=a(f.config.callouts);f.config.callouts=f.config.callouts.map(m=>{const{[Eo]:h,depends_on:y,...g}=m;return{depends_on:y.map(_=>u[_]).filter(_=>_!=null),...g}}),o("change",f)}return(d,f)=>(t.openBlock(),t.createBlock(mt,{class:"rc-config-form",config:r,data:d.data,schema:d.schema,tag:"div",onChange:c},{[t.unref(Ln)]:t.withCtx(()=>[t.createVNode(qc,{match:({path:u})=>u.endsWith("by_lua")},{default:t.withCtx(u=>[t.createVNode(Fn,t.mergeProps(u,{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(qc,{match:({path:u})=>["cluster_nodes","sentinel_nodes"].some(p=>u.endsWith(p))},{default:t.withCtx(u=>[t.createVNode(Ar,t.mergeProps(u,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Mw),t.createVNode(rt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(rt,{appearance:"card",name:"cache"},{redis:t.withCtx(u=>[t.createVNode(rt,t.mergeProps(u,{"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(Ir)]),_:2},1032,["data","schema"]))}}),[["__scopeId","data-v-19d40902"]]),Uw={class:"ff-form-pinned-fields"},Kw={class:"ff-form-config-form"},Sa=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}=je.createI18n("en-us",We),o=e;t.useSlots();function r(f){return t.computed(()=>({fields:t.toValue(f).map(u=>{var p;return(p=o.formSchema)==null?void 0:p.fields.find(m=>m.model===u)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const f=o.schema;f.fields=f.fields.filter(p=>l.includes(Object.keys(p)[0])),f.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 u=f.fields.find(p=>Object.keys(p)[0]==="protocols");return u&&(u.protocols.help=u.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:u.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),u.protocols.description=n("plugins.form.fields.protocols.help")),f}),c=t.ref(!1),d=t.computed(()=>{const f=["config","instance_name","partials","protocols","tags","__ui_data"];return fa(o.model,f)});return(f,u)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Uw,[t.createVNode(t.unref(Oe.VueFormGenerator),{model:f.formModel,options:f.formOptions,schema:t.unref(a),onModelUpdated:f.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(xe.KCollapse),{modelValue:c.value,"onUpdate:modelValue":u[1]||(u[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",Kw,[t.renderSlot(f.$slots,"default",{class:"ff-form",data:d.value,schema:s.value,onChange:u[0]||(u[0]=(...p)=>f.onFormChange&&f.onFormChange(...p))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),jw=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(Oe.AUTOFILL_SLOT,o==null?void 0:o[Oe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Sa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Fw,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),qw={key:1},Gw=["innerHTML"],zw={class:"horizontal-container"},Hw=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}=Le(),a=ct(t.toRef(()=>e.name)),l=bt(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,f)=>{var m;const u=t.resolveComponent("KAlert"),p=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(u,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",qw,[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,Gw)]),key:"0"}:void 0]),1040),t.createElementVNode("div",zw,[(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":[f[0]||(f[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"]]),Yw={class:"sp-form-request-limits-subtitle"},Ww={class:"sp-form-request-limits-content"},Xw={class:"sp-form-window-type"},Zw={class:"sp-form-request-limits-items"},Jw={class:"sp-form-request-limits-row"},Qw=["id"],ek={class:"sp-form-request-limits-actions"},tk={key:0,class:"sp-form-request-limits-examples"},nk={class:"sp-form-request-limits-examples-badges"},va="config.window_type",ok=Ee(t.defineComponent({__name:"RequestLimitsForm",setup(e){var g;const{t:n}=je.createI18n("en-us",We),{formData:o,getSelectItems:r,getSchema:i}=Le(),a=t.computed(()=>{var b,w;const _=(w=(b=o.config)==null?void 0:b.limit)==null?void 0:w.map((v,x)=>{var S,I;return{limit:v,windowSize:(I=(S=o.config)==null?void 0:S.window_size)==null?void 0:I[x]}});return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Uc("request-limits",a),s=_=>{var b,w;p.value=void 0,o.config&&((b=o.config.limit)!=null&&b.length||(o.config.limit=[null]),(w=o.config.window_size)!=null&&w.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(va))==null?void 0:g.default,f=t.computed(()=>Ds(o,va)),u=t.computed(()=>r(va).sort((_,b)=>_.value===d?-1:b.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,f.value)?m[f.value]:[]),y=(_,b)=>{if(b===p.value){t.nextTick(()=>{p.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{p.value=b}),o.config.limit=[_.config.limit],o.config.window_size=[_.config.window_size]};return(_,b)=>{const w=t.resolveComponent("KLabel"),v=t.resolveComponent("KButton"),x=t.resolveComponent("KBadge"),S=t.resolveComponent("KTooltip"),I=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(I,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(w,{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",Yw,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Ww,[t.createElementVNode("div",Xw,[t.createVNode(Hw,{items:u.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":b[0]||(b[0]=$=>p.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",Zw,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,($,D)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)($,D)},[t.createVNode(w,{for:`sp-form-request-limits-item-${D}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:D+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",Jw,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${D}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Un,{name:`$.config.limit.${D}`,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(Un,{name:`$.config.window_size.${D}`,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,Qw),t.createElementVNode("div",ek,[t.createVNode(v,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(D)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(v,{appearance:"tertiary",onClick:()=>s(D)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",tk,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",nk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,($,D)=>(t.openBlock(),t.createBlock(S,{key:`use-case-${D}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString($.description),1),b[1]||(b[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString($.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString($.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(x,{appearance:p.value===`${f.value}-${D}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>y($,`${f.value}-${D}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString($.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),rk={id:"sp-form-error-legend",class:"sp-form-error-inputs"},ik=Ee(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=je.createI18n("en-us",We);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",rk,[t.createVNode(Un,{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(Fn,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),ak={class:"partial-config-card"},lk={class:"config-card-row-label"},sk={class:"label-text"},ck=["data-testid"],dk=["data-testid"],uk={key:1},fk=["data-testid"],pk=["data-testid"],mk=Ee(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=je.createI18n("en-us",We),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=u=>u!=null,l=(u,p)=>a(p)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:s}=pe.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([u,p])=>{var m,h,y,g;return{key:u,label:((m=r[u])==null?void 0:m.label)??s(u),value:(h=r[u])!=null&&h.formatter?r[u].formatter(p):p,type:((y=r[u])==null?void 0:y.type)??l(u,p),order:((g=r[u])==null?void 0:g.order)??100}}).sort((u,p)=>u.order-p.order).filter(u=>u.type!=="hidden")),d=X0(i.configFields,i.pluginRedisFields||[]),f=t.computed(()=>c.value.concat(d));return(u,p)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",ak,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,({key:h,label:y,value:g,type:_})=>(t.openBlock(),t.createElementBlock("div",{key:h,class:"partial-config-card-row"},[t.createElementVNode("div",lk,[t.createElementVNode("div",sk,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${h}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",uk,[_==="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,fk)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${h}-plain-text`},t.toDisplayString(g),9,pk))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-no-value`}," – ",8,dk))],8,ck)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),gk=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}=je.createI18n("en-us",We),i=t.inject(Oe.FORMS_CONFIG),a=n,{getMessageFromError:l}=pe.useErrors(),s=t.computed(()=>{switch(o.partialType){case co.PartialType.REDIS_CE:return co.PartialType.REDIS_EE;case co.PartialType.REDIS_EE:return co.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),d=t.ref(),f=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},u=()=>{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(co.RedisConfigurationForm),{"action-teleport-target":d.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:p,onError:f,onUpdate:u},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),hk="#52596e",yk="#e0e4ea",_k="#007d60",bk="#6c7489",wk="#0044f4",kk="#5f9aff",Ck="#000933",Gc="#d60027",zc="#afb7c5",No="12px",Ek="16px",xa="20px",Hc="8px",Yc=Symbol("redis-partial-info"),Wc={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"}},Xc=["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"],Nk={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Sk={key:0,class:"shared-redis-config"},vk={class:"shared-redis-config-title"},xk={class:"redis-config-select","data-testid":"redis-config-select"},Ak={class:"selected-redis-config"},Ik=["data-testid"],Pk={class:"select-item-name","data-testid":"selected-redis-config"},Tk={class:"empty-redis-config","data-testid":"empty-redis-config"},Ok={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},$k="1000",Bk=Ee(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var ee;const o=n,{t:r}=je.createI18n("en-us",We),i=e,a=t.inject(Yc),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var q;return i.redisPath?i.redisPath:(q=a==null?void 0:a.redisPath)!=null&&q.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((ee=a==null?void 0:a.redisType)==null?void 0:ee.value)||"all",d=t.computed(()=>{var q;return!!((q=a==null?void 0:a.redisType)!=null&&q.value)}),f=t.ref(!1),u=t.ref(null),p=t.ref(!l),{getMessageFromError:m}=pe.useErrors(),h=t.ref(i.defaultRedisConfigItem),y=t.ref({}),g=t.ref(),{value:_}=Fc("$.partials"),{value:b}=ct(s),w=t.inject(Oe.FORMS_CONFIG),{debouncedQueryChange:v,loading:x,error:S,loadItems:I,results:$}=pe.useDebouncedFilter(w,Wc[w.app].getAll,$k,{fetchedItemsKey:"data",searchKeys:["id","name"]}),D=t.computed(()=>S.value?m(S.value):""),j=q=>{let H=`${w.apiBaseUrl}${Wc[w.app].getOne}`;return w.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,(w==null?void 0:w.controlPlaneId)||""):w.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,w!=null&&w.workspace?`/${w.workspace}`:"")),H=H.replace(/{id}/gi,String(q)),H},K=t.computed(()=>{const q=($.value||[]).map(H=>({label:H.id,name:H.name,value:H.id,type:H.type,tag:H0(H)})).filter(H=>H.type==="redis-ce"||H.type==="redis-ee");return c!=="all"?q.filter(H=>H.type===c):q}),{axiosInstance:k}=pe.useAxios(w==null?void 0:w.axiosRequestConfig),Y=()=>{p.value?(g.value&&(_.value=g.value,h.value=g.value[0].id,b.value=void 0),b!=null&&b.value&&(y.value=b.value)):(Object.keys(y.value).length&&(b.value=y.value),_!=null&&_.value&&(g.value=_.value),_.value=l?null:void 0)},A=q=>{I(),o("globalAction","notify",q)},F=q=>{o("globalAction","notify",q)},R=async q=>{if(q){h.value=q,_.value=[{id:q}],g.value=[{id:q}],b.value=void 0;try{const H=await k.get(j(q));if(H.data.config){const U=Object.assign(H.data,H.data.config);delete U.config,u.value=U}}catch(H){console.error(H)}}};return t.watch(()=>p.value,()=>{Y()}),t.onBeforeMount(()=>{var q;if(I(),i.defaultRedisConfigItem||_!=null&&_.value){const H=i.defaultRedisConfigItem||((q=_==null?void 0:_.value)==null?void 0:q[0].id);R(H),p.value=!0}else b!=null&&b.value&&(y.value=b.value)}),(q,H)=>{const U=t.resolveComponent("KBadge"),M=t.resolveComponent("KRadio"),L=t.resolveComponent("KSelect"),Z=t.resolveComponent("KCard");return d.value?(t.openBlock(),t.createBlock(Z,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",Nk,[t.createVNode(M,{modelValue:p.value,"onUpdate:modelValue":H[0]||(H[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(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(M,{modelValue:p.value,"onUpdate:modelValue":H[1]||(H[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",Sk,[t.createElementVNode("div",vk,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",xk,[t.createVNode(L,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:K.value,loading:t.unref(x),"model-value":h.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:H[3]||(H[3]=W=>R(W==null?void 0:W.value)),onQueryChange:t.unref(v)},{"selected-item-template":t.withCtx(({item:W})=>[t.createElementVNode("div",Ak,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",Pk,t.toDisplayString(W.name),1),t.createVNode(U,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(W.tag),1)]),_:2},1024)],8,Ik)]),empty:t.withCtx(()=>[t.createElementVNode("div",Tk,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:H[2]||(H[2]=()=>f.value=!0)},[t.createVNode(t.unref(Ce.AddIcon),{size:t.unref(No)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(W0)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),u.value?(t.openBlock(),t.createBlock(mk,{key:0,"config-fields":u.value},null,8,["config-fields"])):t.createCommentVNode("",!0),D.value?(t.openBlock(),t.createElementBlock("p",Ok,t.toDisplayString(D.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(rt,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(Xc),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(gk,{"partial-type":t.unref(c),visible:f.value,onModalClose:H[4]||(H[4]=W=>f.value=!1),onPartialUpdateFailed:F,onPartialUpdated:A},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(rt,t.mergeProps({key:1},i,{"fields-order":t.unref(Xc),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-12b9ad82"]]),Vk=t.defineComponent({__name:"RedisField",emits:["globalAction"],setup(e){const{formData:n}=Le();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(jc,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock(Bk,{key:0,onGlobalAction:r[0]||(r[0]=(...a)=>o.$emit("globalAction",...a))})):t.createCommentVNode("",!0)]}),_:1}))}}),Rk=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(mt,{config:r,data:a.data,schema:a.schema,tag:"div",onChange:i},{default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(ok),t.createVNode(ik)]),_:1}),t.createVNode(Ir,null,{default:t.withCtx(()=>[t.createVNode(nt,{name:"config.dictionary_name"}),t.createVNode(nt,{name:"config.lock_dictionary_name"}),t.createVNode(nt,{name:"config.strategy"}),t.createVNode(Vk,{onGlobalAction:l[0]||(l[0]=(...s)=>a.$emit("globalAction",...s))}),t.createVNode(nt,{name:"config.namespace"}),t.createVNode(nt,{name:"config.hide_client_headers"}),t.createVNode(nt,{name:"config.disable_penalty"}),t.createVNode(nt,{name:"config.retry_after_jitter_max"}),t.createVNode(nt,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),Dk=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(Oe.AUTOFILL_SLOT,o==null?void 0:o[Oe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Sa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Rk,t.mergeProps(a,{onGlobalAction:i[0]||(i[0]=(...l)=>r.$emit("globalAction",...l))}),null,16)]),_:1},16))}}),Mk={class:"ff-standard-layout"},Lk={class:"enabled"},Fk={class:"scope"},Uk={key:0,class:"scope-detail"},Zc=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}=je.createI18n("en-us",We),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(b=>g.includes(b.model))}}),d=["config"],f=t.computed(()=>{const g=o.schema;return g.fields=g.fields.filter(_=>d.includes(Object.keys(_)[0])),g}),u=t.computed(()=>{const g=["config","partials","__ui_data"];return fa(o.model,g)}),p=fa(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 b=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Mk,[t.createVNode(t.unref(pe.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",Lk,[t.createVNode(t.unref(Oe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",Fk,[t.createVNode(t.unref(xe.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":_[0]||(_[0]=w=>m.value=w),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]=w=>m.value=w),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),m.value?(t.openBlock(),t.createElementBlock("div",Uk,[t.createVNode(t.unref(Oe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:y},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(b,{modelValue:h.value,"onUpdate:modelValue":_[2]||(_[2]=w=>h.value=w),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(Oe.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(pe.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:u.value,schema:f.value,onChange:_[3]||(_[3]=(...w)=>g.onFormChange&&g.onFormChange(...w))},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-8d0a8a0c"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Jc(e){return typeof e>"u"||e===null}function Kk(e){return typeof e=="object"&&e!==null}function jk(e){return Array.isArray(e)?e:Jc(e)?[]:[e]}function qk(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 Gk(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function zk(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Hk=Jc,Yk=Kk,Wk=jk,Xk=Gk,Zk=zk,Jk=qk,Xe={isNothing:Hk,isObject:Yk,toArray:Wk,repeat:Xk,isNegativeZero:Zk,extend:Jk};function Qc(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+=`
|
|
11
|
+
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:Tn.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
12
|
+
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:Tn.tags}]},jm={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"]}}]},fs={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:ln},{ttl:{help:"Time-to-live value for data"}}]},qm=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)}}:{},Gm={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"}}]},Nt={"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"]}},On={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:ls,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:an(ls),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:ss,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:an(ss)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:cs,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:an(cs)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:fs,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:an(fs)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:us,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:an(us)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:ds,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:an(ds)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Um,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},zm={acls:$m,basicauth_credentials:Bm,keyauth_credentials:Lm,keyauth_enc_credentials:Gm,oauth2_credentials:jm,hmacauth_credentials:Fm,jwt_secrets:Km},Hm=()=>{const{i18n:{t:e}}=Pe(),n={},o={};for(const[i,a]of Object.entries(Nt))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(On))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:On,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},fo={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Ym={"config-prompts-prepend":{...fo,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":{...fo,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"}]}}}},Wm={"config-templates":{...fo,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"}]}}}},Xm={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)}},Zm={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},Jm={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:Tn.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"}},Ae={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"},pr={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Qm={"config-metrics":{...pr,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"}]}}}},eg={"config-functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},tg={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},ng={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},og={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},rg={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},ig={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},ps=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Tn.fields.arrayItems({newElementButtonLabel:"Add"})}),ig),mr={"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"}},ag={"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":{}},lg=["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]:Tn.fields.arrayItems({newElementButtonLabel:"Add"})}),ag),ms={"config-add-json":{...Ae,label:"Config.Add.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Ae,label:"Config.Append.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Ae,label:"Config.Remove.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Ae,label:"Config.Rename.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Ae,label:"Config.Replace.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},sg={...ms,"config-allow-json":{...Ae,label:"Config.Allow.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Ae,label:"Config.Transform.Functions",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Ae,label:"Config.Transform.Json",inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},cg={"config-rules":{...fo,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"}]}}}},dg={"config-session_redis_cluster_nodes":{...fo,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"}]}}}},ug={"config-flow-functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},fg={"config-message-functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}}},pg={"config-metrics":{...pr,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"]}]}}}},mg={"config-metrics":{...pr,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"]}]}}}},gg={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},hg={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}};var gs=typeof global=="object"&&global&&global.Object===Object&&global,yg=typeof self=="object"&&self&&self.Object===Object&&self,St=gs||yg||Function("return this")(),ft=St.Symbol,hs=Object.prototype,_g=hs.hasOwnProperty,bg=hs.toString,po=ft?ft.toStringTag:void 0;function wg(e){var n=_g.call(e,po),o=e[po];try{e[po]=void 0;var r=!0}catch{}var i=bg.call(e);return r&&(n?e[po]=o:delete e[po]),i}var kg=Object.prototype,Cg=kg.toString;function Eg(e){return Cg.call(e)}var Ng="[object Null]",Sg="[object Undefined]",ys=ft?ft.toStringTag:void 0;function sn(e){return e==null?e===void 0?Sg:Ng:ys&&ys in Object(e)?wg(e):Eg(e)}function Rt(e){return e!=null&&typeof e=="object"}var vg="[object Symbol]";function Mi(e){return typeof e=="symbol"||Rt(e)&&sn(e)==vg}function _s(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 yt=Array.isArray,bs=ft?ft.prototype:void 0,ws=bs?bs.toString:void 0;function ks(e){if(typeof e=="string")return e;if(yt(e))return _s(e,ks)+"";if(Mi(e))return ws?ws.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function cn(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function xg(e){return e}var Ag="[object AsyncFunction]",Ig="[object Function]",Pg="[object GeneratorFunction]",Tg="[object Proxy]";function gr(e){if(!cn(e))return!1;var n=sn(e);return n==Ig||n==Pg||n==Ag||n==Tg}var Li=St["__core-js_shared__"],Cs=function(){var e=/[^.]+$/.exec(Li&&Li.keys&&Li.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Og(e){return!!Cs&&Cs in e}var $g=Function.prototype,Bg=$g.toString;function dn(e){if(e!=null){try{return Bg.call(e)}catch{}try{return e+""}catch{}}return""}var Vg=/[\\^$.*+?()[\]{}|]/g,Rg=/^\[object .+?Constructor\]$/,Dg=Function.prototype,Mg=Object.prototype,Lg=Dg.toString,Fg=Mg.hasOwnProperty,Ug=RegExp("^"+Lg.call(Fg).replace(Vg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Kg(e){if(!cn(e)||Og(e))return!1;var n=gr(e)?Ug:Rg;return n.test(dn(e))}function jg(e,n){return e==null?void 0:e[n]}function un(e,n){var o=jg(e,n);return Kg(o)?o:void 0}var Fi=un(St,"WeakMap"),Es=Object.create,qg=function(){function e(){}return function(n){if(!cn(n))return{};if(Es)return Es(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function Gg(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 zg(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Hg=800,Yg=16,Wg=Date.now;function Xg(e){var n=0,o=0;return function(){var r=Wg(),i=Yg-(r-o);if(o=r,i>0){if(++n>=Hg)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function Zg(e){return function(){return e}}var hr=function(){try{var e=un(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Jg=hr?function(e,n){return hr(e,"toString",{configurable:!0,enumerable:!1,value:Zg(n),writable:!0})}:xg,Qg=Xg(Jg);function eh(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var th=9007199254740991,nh=/^(?:0|[1-9]\d*)$/;function Ui(e,n){var o=typeof e;return n=n??th,!!n&&(o=="number"||o!="symbol"&&nh.test(e))&&e>-1&&e%1==0&&e<n}function Ns(e,n,o){n=="__proto__"&&hr?hr(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function Ki(e,n){return e===n||e!==e&&n!==n}var oh=Object.prototype,rh=oh.hasOwnProperty;function ji(e,n,o){var r=e[n];(!(rh.call(e,n)&&Ki(r,o))||o===void 0&&!(n in e))&&Ns(e,n,o)}function mo(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?Ns(o,s,c):ji(o,s,c)}return o}var Ss=Math.max;function ih(e,n,o){return n=Ss(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=Ss(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),Gg(e,this,s)}}var ah=9007199254740991;function qi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ah}function Gi(e){return e!=null&&qi(e.length)&&!gr(e)}var lh=Object.prototype;function yr(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||lh;return e===o}function sh(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var ch="[object Arguments]";function vs(e){return Rt(e)&&sn(e)==ch}var xs=Object.prototype,dh=xs.hasOwnProperty,uh=xs.propertyIsEnumerable,_r=vs(function(){return arguments}())?vs:function(e){return Rt(e)&&dh.call(e,"callee")&&!uh.call(e,"callee")};function fh(){return!1}var As=typeof we=="object"&&we&&!we.nodeType&&we,Is=As&&typeof module=="object"&&module&&!module.nodeType&&module,ph=Is&&Is.exports===As,Ps=ph?St.Buffer:void 0,mh=Ps?Ps.isBuffer:void 0,go=mh||fh,gh="[object Arguments]",hh="[object Array]",yh="[object Boolean]",_h="[object Date]",bh="[object Error]",wh="[object Function]",kh="[object Map]",Ch="[object Number]",Eh="[object Object]",Nh="[object RegExp]",Sh="[object Set]",vh="[object String]",xh="[object WeakMap]",Ah="[object ArrayBuffer]",Ih="[object DataView]",Ph="[object Float32Array]",Th="[object Float64Array]",Oh="[object Int8Array]",$h="[object Int16Array]",Bh="[object Int32Array]",Vh="[object Uint8Array]",Rh="[object Uint8ClampedArray]",Dh="[object Uint16Array]",Mh="[object Uint32Array]",Re={};Re[Ph]=Re[Th]=Re[Oh]=Re[$h]=Re[Bh]=Re[Vh]=Re[Rh]=Re[Dh]=Re[Mh]=!0,Re[gh]=Re[hh]=Re[Ah]=Re[yh]=Re[Ih]=Re[_h]=Re[bh]=Re[wh]=Re[kh]=Re[Ch]=Re[Eh]=Re[Nh]=Re[Sh]=Re[vh]=Re[xh]=!1;function Lh(e){return Rt(e)&&qi(e.length)&&!!Re[sn(e)]}function zi(e){return function(n){return e(n)}}var Ts=typeof we=="object"&&we&&!we.nodeType&&we,ho=Ts&&typeof module=="object"&&module&&!module.nodeType&&module,Fh=ho&&ho.exports===Ts,Hi=Fh&&gs.process,$n=function(){try{var e=ho&&ho.require&&ho.require("util").types;return e||Hi&&Hi.binding&&Hi.binding("util")}catch{}}(),Os=$n&&$n.isTypedArray,Yi=Os?zi(Os):Lh,Uh=Object.prototype,Kh=Uh.hasOwnProperty;function $s(e,n){var o=yt(e),r=!o&&_r(e),i=!o&&!r&&go(e),a=!o&&!r&&!i&&Yi(e),l=o||r||i||a,s=l?sh(e.length,String):[],c=s.length;for(var d in e)(n||Kh.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Ui(d,c)))&&s.push(d);return s}function Bs(e,n){return function(o){return e(n(o))}}var jh=Bs(Object.keys,Object),qh=Object.prototype,Gh=qh.hasOwnProperty;function Vs(e){if(!yr(e))return jh(e);var n=[];for(var o in Object(e))Gh.call(e,o)&&o!="constructor"&&n.push(o);return n}function Wi(e){return Gi(e)?$s(e):Vs(e)}function zh(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Hh=Object.prototype,Yh=Hh.hasOwnProperty;function Wh(e){if(!cn(e))return zh(e);var n=yr(e),o=[];for(var r in e)r=="constructor"&&(n||!Yh.call(e,r))||o.push(r);return o}function Xi(e){return Gi(e)?$s(e,!0):Wh(e)}var Xh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Zh=/^\w*$/;function Jh(e,n){if(yt(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Mi(e)?!0:Zh.test(e)||!Xh.test(e)||n!=null&&e in Object(n)}var yo=un(Object,"create");function Qh(){this.__data__=yo?yo(null):{},this.size=0}function ey(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var ty="__lodash_hash_undefined__",ny=Object.prototype,oy=ny.hasOwnProperty;function ry(e){var n=this.__data__;if(yo){var o=n[e];return o===ty?void 0:o}return oy.call(n,e)?n[e]:void 0}var iy=Object.prototype,ay=iy.hasOwnProperty;function ly(e){var n=this.__data__;return yo?n[e]!==void 0:ay.call(n,e)}var sy="__lodash_hash_undefined__";function cy(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=yo&&n===void 0?sy:n,this}function fn(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])}}fn.prototype.clear=Qh,fn.prototype.delete=ey,fn.prototype.get=ry,fn.prototype.has=ly,fn.prototype.set=cy;function dy(){this.__data__=[],this.size=0}function br(e,n){for(var o=e.length;o--;)if(Ki(e[o][0],n))return o;return-1}var uy=Array.prototype,fy=uy.splice;function py(e){var n=this.__data__,o=br(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():fy.call(n,o,1),--this.size,!0}function my(e){var n=this.__data__,o=br(n,e);return o<0?void 0:n[o][1]}function gy(e){return br(this.__data__,e)>-1}function hy(e,n){var o=this.__data__,r=br(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,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=dy,Dt.prototype.delete=py,Dt.prototype.get=my,Dt.prototype.has=gy,Dt.prototype.set=hy;var _o=un(St,"Map");function yy(){this.size=0,this.__data__={hash:new fn,map:new(_o||Dt),string:new fn}}function _y(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function wr(e,n){var o=e.__data__;return _y(n)?o[typeof n=="string"?"string":"hash"]:o.map}function by(e){var n=wr(this,e).delete(e);return this.size-=n?1:0,n}function wy(e){return wr(this,e).get(e)}function ky(e){return wr(this,e).has(e)}function Cy(e,n){var o=wr(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function Mt(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])}}Mt.prototype.clear=yy,Mt.prototype.delete=by,Mt.prototype.get=wy,Mt.prototype.has=ky,Mt.prototype.set=Cy;var Ey="Expected a function";function Zi(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Ey);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(Zi.Cache||Mt),o}Zi.Cache=Mt;var Ny=500;function Sy(e){var n=Zi(e,function(r){return o.size===Ny&&o.clear(),r}),o=n.cache;return n}var vy=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xy=/\\(\\)?/g,Ay=Sy(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(vy,function(o,r,i,a){n.push(i?a.replace(xy,"$1"):r||o)}),n});function Ji(e){return e==null?"":ks(e)}function Bn(e,n){return yt(e)?e:Jh(e,n)?[e]:Ay(Ji(e))}function kr(e){if(typeof e=="string"||Mi(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Qi(e,n){n=Bn(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[kr(n[o++])];return o&&o==r?e:void 0}function Rs(e,n,o){var r=e==null?void 0:Qi(e,n);return r===void 0?o:r}function ea(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var Ds=ft?ft.isConcatSpreadable:void 0;function Iy(e){return yt(e)||_r(e)||!!(Ds&&e&&e[Ds])}function Py(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=Iy),i||(i=[]);++a<l;){var s=e[a];o(s)?ea(i,s):i[i.length]=s}return i}function Ty(e){var n=e==null?0:e.length;return n?Py(e):[]}function Ms(e){return Qg(ih(e,void 0,Ty),e+"")}var ta=Bs(Object.getPrototypeOf,Object),Oy="[object Object]",$y=Function.prototype,By=Object.prototype,Ls=$y.toString,Vy=By.hasOwnProperty,Ry=Ls.call(Object);function Dy(e){if(!Rt(e)||sn(e)!=Oy)return!1;var n=ta(e);if(n===null)return!0;var o=Vy.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&Ls.call(o)==Ry}function Fs(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 My(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:Fs(e,n,o)}var Ly="\\ud800-\\udfff",Fy="\\u0300-\\u036f",Uy="\\ufe20-\\ufe2f",Ky="\\u20d0-\\u20ff",jy=Fy+Uy+Ky,qy="\\ufe0e\\ufe0f",Gy="\\u200d",zy=RegExp("["+Gy+Ly+jy+qy+"]");function Us(e){return zy.test(e)}function Hy(e){return e.split("")}var Ks="\\ud800-\\udfff",Yy="\\u0300-\\u036f",Wy="\\ufe20-\\ufe2f",Xy="\\u20d0-\\u20ff",Zy=Yy+Wy+Xy,Jy="\\ufe0e\\ufe0f",Qy="["+Ks+"]",na="["+Zy+"]",oa="\\ud83c[\\udffb-\\udfff]",e_="(?:"+na+"|"+oa+")",js="[^"+Ks+"]",qs="(?:\\ud83c[\\udde6-\\uddff]){2}",Gs="[\\ud800-\\udbff][\\udc00-\\udfff]",t_="\\u200d",zs=e_+"?",Hs="["+Jy+"]?",n_="(?:"+t_+"(?:"+[js,qs,Gs].join("|")+")"+Hs+zs+")*",o_=Hs+zs+n_,r_="(?:"+[js+na+"?",na,qs,Gs,Qy].join("|")+")",i_=RegExp(oa+"(?="+oa+")|"+r_+o_,"g");function a_(e){return e.match(i_)||[]}function l_(e){return Us(e)?a_(e):Hy(e)}function s_(e){return function(n){n=Ji(n);var o=Us(n)?l_(n):void 0,r=o?o[0]:n.charAt(0),i=o?My(o,1).join(""):n.slice(1);return r[e]()+i}}var c_=s_("toUpperCase");function d_(){this.__data__=new Dt,this.size=0}function u_(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function f_(e){return this.__data__.get(e)}function p_(e){return this.__data__.has(e)}var m_=200;function g_(e,n){var o=this.__data__;if(o instanceof Dt){var r=o.__data__;if(!_o||r.length<m_-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Mt(r)}return o.set(e,n),this.size=o.size,this}function Lt(e){var n=this.__data__=new Dt(e);this.size=n.size}Lt.prototype.clear=d_,Lt.prototype.delete=u_,Lt.prototype.get=f_,Lt.prototype.has=p_,Lt.prototype.set=g_;function h_(e,n){return e&&mo(n,Wi(n),e)}function y_(e,n){return e&&mo(n,Xi(n),e)}var Ys=typeof we=="object"&&we&&!we.nodeType&&we,Ws=Ys&&typeof module=="object"&&module&&!module.nodeType&&module,__=Ws&&Ws.exports===Ys,Xs=__?St.Buffer:void 0,Zs=Xs?Xs.allocUnsafe:void 0;function b_(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 w_(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 Js(){return[]}var k_=Object.prototype,C_=k_.propertyIsEnumerable,Qs=Object.getOwnPropertySymbols,ra=Qs?function(e){return e==null?[]:(e=Object(e),w_(Qs(e),function(n){return C_.call(e,n)}))}:Js;function E_(e,n){return mo(e,ra(e),n)}var N_=Object.getOwnPropertySymbols,ec=N_?function(e){for(var n=[];e;)ea(n,ra(e)),e=ta(e);return n}:Js;function S_(e,n){return mo(e,ec(e),n)}function tc(e,n,o){var r=n(e);return yt(e)?r:ea(r,o(e))}function ia(e){return tc(e,Wi,ra)}function nc(e){return tc(e,Xi,ec)}var aa=un(St,"DataView"),la=un(St,"Promise"),sa=un(St,"Set"),oc="[object Map]",v_="[object Object]",rc="[object Promise]",ic="[object Set]",ac="[object WeakMap]",lc="[object DataView]",x_=dn(aa),A_=dn(_o),I_=dn(la),P_=dn(sa),T_=dn(Fi),pt=sn;(aa&&pt(new aa(new ArrayBuffer(1)))!=lc||_o&&pt(new _o)!=oc||la&&pt(la.resolve())!=rc||sa&&pt(new sa)!=ic||Fi&&pt(new Fi)!=ac)&&(pt=function(e){var n=sn(e),o=n==v_?e.constructor:void 0,r=o?dn(o):"";if(r)switch(r){case x_:return lc;case A_:return oc;case I_:return rc;case P_:return ic;case T_:return ac}return n});var O_=Object.prototype,$_=O_.hasOwnProperty;function B_(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&$_.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Cr=St.Uint8Array;function ca(e){var n=new e.constructor(e.byteLength);return new Cr(n).set(new Cr(e)),n}function V_(e,n){var o=n?ca(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var R_=/\w*$/;function D_(e){var n=new e.constructor(e.source,R_.exec(e));return n.lastIndex=e.lastIndex,n}var sc=ft?ft.prototype:void 0,cc=sc?sc.valueOf:void 0;function M_(e){return cc?Object(cc.call(e)):{}}function L_(e,n){var o=n?ca(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var F_="[object Boolean]",U_="[object Date]",K_="[object Map]",j_="[object Number]",q_="[object RegExp]",G_="[object Set]",z_="[object String]",H_="[object Symbol]",Y_="[object ArrayBuffer]",W_="[object DataView]",X_="[object Float32Array]",Z_="[object Float64Array]",J_="[object Int8Array]",Q_="[object Int16Array]",eb="[object Int32Array]",tb="[object Uint8Array]",nb="[object Uint8ClampedArray]",ob="[object Uint16Array]",rb="[object Uint32Array]";function ib(e,n,o){var r=e.constructor;switch(n){case Y_:return ca(e);case F_:case U_:return new r(+e);case W_:return V_(e,o);case X_:case Z_:case J_:case Q_:case eb:case tb:case nb:case ob:case rb:return L_(e,o);case K_:return new r;case j_:case z_:return new r(e);case q_:return D_(e);case G_:return new r;case H_:return M_(e)}}function ab(e){return typeof e.constructor=="function"&&!yr(e)?qg(ta(e)):{}}var lb="[object Map]";function sb(e){return Rt(e)&&pt(e)==lb}var dc=$n&&$n.isMap,cb=dc?zi(dc):sb,db="[object Set]";function ub(e){return Rt(e)&&pt(e)==db}var uc=$n&&$n.isSet,fb=uc?zi(uc):ub,pb=1,mb=2,gb=4,fc="[object Arguments]",hb="[object Array]",yb="[object Boolean]",_b="[object Date]",bb="[object Error]",pc="[object Function]",wb="[object GeneratorFunction]",kb="[object Map]",Cb="[object Number]",mc="[object Object]",Eb="[object RegExp]",Nb="[object Set]",Sb="[object String]",vb="[object Symbol]",xb="[object WeakMap]",Ab="[object ArrayBuffer]",Ib="[object DataView]",Pb="[object Float32Array]",Tb="[object Float64Array]",Ob="[object Int8Array]",$b="[object Int16Array]",Bb="[object Int32Array]",Vb="[object Uint8Array]",Rb="[object Uint8ClampedArray]",Db="[object Uint16Array]",Mb="[object Uint32Array]",Ve={};Ve[fc]=Ve[hb]=Ve[Ab]=Ve[Ib]=Ve[yb]=Ve[_b]=Ve[Pb]=Ve[Tb]=Ve[Ob]=Ve[$b]=Ve[Bb]=Ve[kb]=Ve[Cb]=Ve[mc]=Ve[Eb]=Ve[Nb]=Ve[Sb]=Ve[vb]=Ve[Vb]=Ve[Rb]=Ve[Db]=Ve[Mb]=!0,Ve[bb]=Ve[pc]=Ve[xb]=!1;function bo(e,n,o,r,i,a){var l,s=n&pb,c=n&mb,d=n&gb;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!cn(e))return e;var f=yt(e);if(f){if(l=B_(e),!s)return zg(e,l)}else{var u=pt(e),p=u==pc||u==wb;if(go(e))return b_(e,s);if(u==mc||u==fc||p&&!i){if(l=c||p?{}:ab(e),!s)return c?S_(e,y_(l,e)):E_(e,h_(l,e))}else{if(!Ve[u])return i?e:{};l=ib(e,u,s)}}a||(a=new Lt);var m=a.get(e);if(m)return m;a.set(e,l),fb(e)?e.forEach(function(g){l.add(bo(g,n,o,g,e,a))}):cb(e)&&e.forEach(function(g,_){l.set(_,bo(g,n,o,_,e,a))});var h=d?c?nc:ia:c?Xi:Wi,y=f?void 0:h(e);return eh(y||e,function(g,_){y&&(_=g,g=e[_]),ji(l,_,bo(g,n,o,_,e,a))}),l}var Lb=1,Fb=4;function Vn(e){return bo(e,Lb|Fb)}var Ub="__lodash_hash_undefined__";function Kb(e){return this.__data__.set(e,Ub),this}function jb(e){return this.__data__.has(e)}function Er(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new Mt;++n<o;)this.add(e[n])}Er.prototype.add=Er.prototype.push=Kb,Er.prototype.has=jb;function qb(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 Gb(e,n){return e.has(n)}var zb=1,Hb=2;function gc(e,n,o,r,i,a){var l=o&zb,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var d=a.get(e),f=a.get(n);if(d&&f)return d==n&&f==e;var u=-1,p=!0,m=o&Hb?new Er:void 0;for(a.set(e,n),a.set(n,e);++u<s;){var h=e[u],y=n[u];if(r)var g=l?r(y,h,u,n,e,a):r(h,y,u,e,n,a);if(g!==void 0){if(g)continue;p=!1;break}if(m){if(!qb(n,function(_,b){if(!Gb(m,b)&&(h===_||i(h,_,o,r,a)))return m.push(b)})){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 Yb(e){var n=-1,o=Array(e.size);return e.forEach(function(r,i){o[++n]=[i,r]}),o}function Wb(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var Xb=1,Zb=2,Jb="[object Boolean]",Qb="[object Date]",e0="[object Error]",t0="[object Map]",n0="[object Number]",o0="[object RegExp]",r0="[object Set]",i0="[object String]",a0="[object Symbol]",l0="[object ArrayBuffer]",s0="[object DataView]",hc=ft?ft.prototype:void 0,da=hc?hc.valueOf:void 0;function c0(e,n,o,r,i,a,l){switch(o){case s0:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case l0:return!(e.byteLength!=n.byteLength||!a(new Cr(e),new Cr(n)));case Jb:case Qb:case n0:return Ki(+e,+n);case e0:return e.name==n.name&&e.message==n.message;case o0:case i0:return e==n+"";case t0:var s=Yb;case r0:var c=r&Xb;if(s||(s=Wb),e.size!=n.size&&!c)return!1;var d=l.get(e);if(d)return d==n;r|=Zb,l.set(e,n);var f=gc(s(e),s(n),r,i,a,l);return l.delete(e),f;case a0:if(da)return da.call(e)==da.call(n)}return!1}var d0=1,u0=Object.prototype,f0=u0.hasOwnProperty;function p0(e,n,o,r,i,a){var l=o&d0,s=ia(e),c=s.length,d=ia(n),f=d.length;if(c!=f&&!l)return!1;for(var u=c;u--;){var p=s[u];if(!(l?p in n:f0.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;++u<c;){p=s[u];var _=e[p],b=n[p];if(r)var w=l?r(b,_,p,n,e,a):r(_,b,p,e,n,a);if(!(w===void 0?_===b||i(_,b,o,r,a):w)){y=!1;break}g||(g=p=="constructor")}if(y&&!g){var v=e.constructor,x=n.constructor;v!=x&&"constructor"in e&&"constructor"in n&&!(typeof v=="function"&&v instanceof v&&typeof x=="function"&&x instanceof x)&&(y=!1)}return a.delete(e),a.delete(n),y}var m0=1,yc="[object Arguments]",_c="[object Array]",Nr="[object Object]",g0=Object.prototype,bc=g0.hasOwnProperty;function h0(e,n,o,r,i,a){var l=yt(e),s=yt(n),c=l?_c:pt(e),d=s?_c:pt(n);c=c==yc?Nr:c,d=d==yc?Nr:d;var f=c==Nr,u=d==Nr,p=c==d;if(p&&go(e)){if(!go(n))return!1;l=!0,f=!1}if(p&&!f)return a||(a=new Lt),l||Yi(e)?gc(e,n,o,r,i,a):c0(e,n,c,o,r,i,a);if(!(o&m0)){var m=f&&bc.call(e,"__wrapped__"),h=u&&bc.call(n,"__wrapped__");if(m||h){var y=m?e.value():e,g=h?n.value():n;return a||(a=new Lt),i(y,g,o,r,a)}}return p?(a||(a=new Lt),p0(e,n,o,r,i,a)):!1}function wc(e,n,o,r,i){return e===n?!0:e==null||n==null||!Rt(e)&&!Rt(n)?e!==e&&n!==n:h0(e,n,o,r,wc,i)}function y0(e,n){return e!=null&&n in Object(e)}function _0(e,n,o){n=Bn(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=kr(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&&qi(i)&&Ui(l,i)&&(yt(e)||_r(e)))}function b0(e,n){return e!=null&&_0(e,n,y0)}function w0(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function k0(e,n){return n.length<2?e:Qi(e,Fs(n,0,-1))}var C0="[object Map]",E0="[object Set]",N0=Object.prototype,S0=N0.hasOwnProperty;function kc(e){if(e==null)return!0;if(Gi(e)&&(yt(e)||typeof e=="string"||typeof e.splice=="function"||go(e)||Yi(e)||_r(e)))return!e.length;var n=pt(e);if(n==C0||n==E0)return!e.size;if(yr(e))return!Vs(e).length;for(var o in e)if(S0.call(e,o))return!1;return!0}function wo(e,n){return wc(e,n)}function Cc(e,n){return n=Bn(n,e),e=k0(e,n),e==null||delete e[kr(w0(n))]}function v0(e){return Dy(e)?void 0:e}var x0=1,A0=2,I0=4,ua=Ms(function(e,n){var o={};if(e==null)return o;var r=!1;n=_s(n,function(a){return a=Bn(a,e),r||(r=a.length>1),a}),mo(e,nc(e),o),r&&(o=bo(o,x0|A0|I0,v0));for(var i=n.length;i--;)Cc(o,n[i]);return o});function Ec(e,n,o,r){if(!cn(e))return e;n=Bn(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=kr(n[i]),d=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var f=s[c];d=void 0,d===void 0&&(d=cn(f)?f:Ui(n[i+1])?[]:{})}ji(s,c,d),s=s[c]}return e}function P0(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=Qi(e,l);o(s,l)&&Ec(a,Bn(l,e),s)}return a}function T0(e,n){return P0(e,n,function(o,r){return b0(e,r)})}var fa=Ms(function(e,n){return e==null?{}:T0(e,n)});function O0(e,n,o){return e==null?e:Ec(e,n,o)}var $0=0;function Sr(e){var n=++$0;return Ji(e)+n}function Nc(e,n){return e==null?!0:Cc(e,n)}const B0=[{authentication:{mode:"none"},ssl_verify:!0},{authentication:{basic:{}}},{authentication:{basic:{},oauth2:{token_headers:{},token_post_args:{}},oauth2_client:{}}}],pn=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,B0.some(s=>wo(e.confluent,s))&&(e.confluent=null)},V0={"config-message_by_lua_functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;pn((n=e.config)==null?void 0:n.schema_registry)}},R0={"config-message_by_lua_functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;pn((n=e.config)==null?void 0:n.schema_registry)}},D0={"config-message_by_lua_functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;pn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{pn(i==null?void 0:i.schema_registry)})}},M0={"config-message_by_lua_functions":{...Ae,inputAttributes:{...Ae.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;pn((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{pn(i==null?void 0:i.schema_registry)})}},L0={shamefullyTransformPayload:({payload:e})=>{var n;pn((n=e.config)==null?void 0:n.schema_registry)}},F0={"config-static_tags":{...pr,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"}]}}}},U0={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm"};function pa(e,n){const o=U0[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const ma=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),vr={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR"),DATAKIT_M2:Symbol("DATAKIT_M2")},Sc=Symbol("TOASTER_PROVIDER");function vc(){return t.inject(ma,[])}function K0(e){t.provide(ma,e)}const j0=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},xc=(e,n)=>(e.order??0)-(n.order??0),Ac=(e,n)=>j0(e,n)||xc(e,n)||e.model.localeCompare(n.model),De={useI18n:Pe,usePluginMetaData:Hm,usePluginHelpers:rs,useSchemas:e=>{const{capitalize:n}=pe.useStringHelpers(),{convertToDotNotation:o}=rs(),{i18n:{t:r}}=Pe(),i=vc(),a={"application-registration":{overwriteDefault:!0,formSchema:{...Jm}},datadog:{...Qm},"exit-transformer":{...eg},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...pg},"statsd-advanced":{...mg},"route-by-header":{...cg},"ai-prompt-decorator":{...Ym},"ai-prompt-template":{...Wm},"ai-proxy-advanced":{...Xm},"ai-llm-as-judge":{...Zm},"vault-auth":{...hg},"oas-validation":{...rg},mocking:{...og},"rate-limiting":{...mr},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":mr["config-consumer_groups"]}:{...mr},"graphql-rate-limiting-advanced":{...tg},"injection-protection":{...ng},"response-ratelimiting":{...mr},"pre-function":{...ps},"post-function":{...ps},"request-transformer-advanced":{...lg},"response-transformer":{...ms},"response-transformer-advanced":{...sg},zipkin:{...F0},"upstream-oauth":{...gg},saml:{...dg},"kafka-upstream":{...V0},"solace-consume":{...ug},"solace-upstream":{...fg},"key-auth":Mm(e),"key-auth-enc":qm(e),confluent:{...R0},"confluent-consume":{...D0},"kafka-consume":{...M0},"kafka-log":{...L0}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(S,I,$,D)=>{let j={};(I||S)&&(j=I||(S.fields?S.fields:S));const K=l().concat(S.blacklist?S.blacklist:[]),k=Object.keys(j).filter(U=>!K.includes(U)),Y=k.indexOf("comparator");Y>-1&&k.splice(Y,1);let A={fields:[]};const F={};k.forEach(U=>{d(j[U],U,j,F,A,$)});const R=F.name,ee=Nt[R],q=[],H=U=>{const M=["cluster-cache"];for(const L of M)if(U.model.includes(L))return!1;return new RegExp("(?<=-redis-).*").test(U.model)};if(A._supported_redis_partial_type=S._supported_redis_partial_type,A._redis_partial_path=S._redis_partial_path,Oe.getSharedFormName(R)||pa(R,i)||ee!=null&&ee.useLegacyForm||e!=null&&e.credential||D==="freeform"){if(ee!=null&&ee.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&S._supported_redis_partial_type){for(const U of A.fields)if(H(U)){q.push(U);continue}A.fields=A.fields.filter(U=>!H(U)),q.length&&A.fields.push({id:"_redis",fields:q,model:"__redis_partial",pluginType:S._isCustomPlugin?"custom":"bundled",redisType:S._supported_redis_partial_type,redisPath:S._redis_partial_path})}A.fields.sort((U,M)=>(U.order=U.order||0,M.order=M.order||0,U.order-M.order))}else{const U=[],M=[],L=[],Z=[],W={};if(ee!=null&&ee.fieldRules){const de=[...ee.fieldRules.atLeastOneOf??[],...ee.fieldRules.onlyOneOf??[],...ee.fieldRules.mutuallyRequired??[]];if(ee.fieldRules.onlyOneOfMutuallyRequired)for(const ye of ee.fieldRules.onlyOneOfMutuallyRequired)de.push(...ye);for(const ye of de)for(const Q of ye)W[Q.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const de of A.fields){if(e!=null&&e.enableRedisPartial&&S._supported_redis_partial_type&&H(de)){Z.push(de);continue}if(de.pinned){U.push(de);continue}if(de.required||W[de.model]!==void 0){W[de.model]===!1&&(W[de.model]=!0),M.push(de);continue}L.push(de)}Z.length&&L.push({id:"_redis",fields:Z,model:"__redis_partial",pluginType:S._isCustomPlugin?"custom":"bundled",redisType:S._supported_redis_partial_type,redisPath:S._redis_partial_path,order:-1});const re=Object.entries(W).filter(([,de])=>!de).map(([de])=>de.replace(/-/g,".").replace(/_/g,"-"));re.length>0&&console.warn(`Unknown checked fields for plugin ${R}: ${re.join(", ")}`);const ae=[];U.length>0&&ae.push({fields:U.sort(xc)}),(M.length>0||L.length>0)&&ae.push({fields:M.sort(Ac),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:L.sort(Ac),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"}}),A={groups:ae}}return{schema:A,model:F,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=S=>Array.isArray(S.default)||S.default!=null&&typeof S.default!="object"&&S.default!=="function",d=(S,I,$,D,j,K)=>{const k=c(S);return D[I]=k?S.default:null,S.id=I,S.model=I,S.fields&&S.type==="record"?u(S,I,$,D,j,K):($[I]=S,v(S,D),K&&K[I]&&f($[I],K[I]),j.fields.push(S)),$},f=(S,I)=>(I&&(Object.assign(S,I),I.label&&(S.label=I.label)),S),u=(S,I,$,D,j,K)=>{S.fields.forEach(k=>{Object.keys(k).forEach(Y=>{const A=k[Y];$=d(A,I+"-"+Y,$,D,j,K)})})},p=(S,I)=>{S.type="input",S.inputType="hidden",S.styleClasses="kong-form-hidden-field-wrapper";const $=e==null?void 0:e.entityId;I[S.model]=$?{id:$}:null},m=S=>{S.type="input",S.inputType="number",S.between&&S.between.length===2&&(S.min=S.between[0],S.max=S.between[1])},h=S=>{Object.prototype.hasOwnProperty.call(S,"one_of")?(S.type="select",S.values=S.one_of,S.selectOptions={hideNoneSelectedText:!0}):(S.type="input",S.inputType="text")},y=S=>{S.type="checkbox",S.default=!0,S.required=!1},g=S=>{if(S.type="object-advanced",S.values.type==="array"){const{type:I}=S.values.elements||{};S.schema={fields:[{schema:{fields:[{...Ae,model:S.model,valueArrayType:I==="integer"?"number":I||"string",inputAttributes:{...Ae.inputAttributes,type:I==="integer"?"number":"text",inputMode:I==="integer"?"numeric":"text"}}]}}]}}else S.values.fields&&(S.schema={fields:[{type:"object",model:"object",schema:{fields:S.values.fields.map(I=>{const $=Object.keys(I)[0];return{model:$,type:"input",label:n($),placeholder:$,inputType:I[$].type}})}}]})},_=S=>S.fields.reduce((I,$)=>($.fields&&$.fields.forEach(D=>{I[D.model]=D}),$.model&&(I[$.model]=$),I),{}),b=(S,I)=>{if(!Oe.customFields.includes(S.model))return;const $=_(S);Oe.customFields.forEach(D=>{Object.keys($).forEach(j=>{const K=c($[j]);I[j]=K?$[j].default:null}),delete I[D]})},w=(S,I)=>S.inputType==="hidden"?"":o(n(S.label||I.replace(/_/g," "))),v=(S,I)=>{switch(b(S,I),S.type){case"foreign":p(S,I);break;case"number":m(S),S.attributes={step:"any"};break;case"integer":m(S);break;case"string":h(S);break;case"boolean":y(S);break;case"map":g(S);break}S.inputType==="foreign"&&p(S,I),S.label=w(S,S.model)};function x(S,I){if(I==null||I.type&&I.type!=="record"||typeof S!="object"||S==null)return S;const $={};for(const D of I.fields){const j=Object.keys(D)[0],K=D[j];K.type==="record"?$[j]=x(S[j],K):K.type==="array"&&Array.isArray(S[j])&&K.elements.type==="record"?$[j]=S[j].map(k=>x(k,K.elements)):$[j]=S[j]}return $}return{buildFormSchema:d,parseSchema:s,customSchemas:a,typedefs:Tn,pruneRecord:x}},useExperimentalFreeForms:vc,useProvideExperimentalFreeForms:K0},Je="/v2/control-planes/{controlPlaneId}/core-entities",et="/{workspace}",Fe={list:{konnect:{all:`${Je}/plugins`,forEntity:`${Je}/{entityType}/{entityId}/plugins`},kongManager:{all:`${et}/plugins`,forEntity:`${et}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Je}/v1/available-plugins`,streamingCustomPlugins:`${Je}/custom-plugins`,schemaCustomPluginItem:`${Je}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${Je}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${et}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Je}/plugins`,forEntity:`${Je}/{entityType}/{entityId}/plugins`},edit:{all:`${Je}/plugins/{id}`,forEntity:`${Je}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Je}/{resourceEndpoint}`,edit:`${Je}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Je}/v1/schemas/json/plugin/validate`,entityGetOne:`${Je}/{entity}/{id}`,entityGetAll:`${Je}/{entity}`,entityPeek:`${Je}/{entity}?size={amount}`},kongManager:{create:{all:`${et}/plugins`,forEntity:`${et}/{entityType}/{entityId}/plugins`},edit:{all:`${et}/plugins/{id}`,forEntity:`${et}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${et}/schemas/plugins/{plugin}`,credential:{create:`${et}/{resourceEndpoint}`,edit:`${et}/{resourceEndpoint}/{id}`},credentialSchema:`${et}/schemas/{plugin}`,validate:`${et}/schemas/plugins/validate`,entityGetOne:`${et}/{entity}/{id}`,entityGetAll:`${et}/{entity}`}},item:{konnect:{all:`${Je}/plugins/{id}`,forEntity:`${Je}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${et}/plugins/{id}`,forEntity:`${et}/{entityType}/{entityId}/plugins/{id}`}}},q0={key:0},G0=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,(f,u)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${u}`},t.toDisplayString(f),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",q0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(f,u)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${u}`},[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(f,(p,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${u}-combination-${m}`},t.toDisplayString(i(p)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]),{t:Rn}=je.createI18n("en-us",We);function ga(e){return e.map(n=>({value:n,label:`${n}`}))}const ha="*",Ic="$",Pc=".";function _t(...e){return e.join(Pc)}function ya(...e){return _t(Ic,...e)}function Tc(e){return e.startsWith(_t(Ic,""))}function Dn(e){return e.split(Pc).filter(n=>n!=="")}function ko(e){const n=Dn(e);return n[n.length-1]}const z0=e=>{var n,o;return e.type==="redis-ce"?Rn("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?Rn("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?Rn("redis.shared_configuration.type_label.cluster"):Rn("redis.shared_configuration.type_label.host_port")},H0={"redis-ce":Rn("redis.shared_configuration.open_source"),"redis-ee":Rn("redis.shared_configuration.enterprise")},Y0=e=>H0[e]??"";function W0(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 X0(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const Oc=Symbol("free-form-data"),$c=Symbol("free-form-schema"),Bc=Symbol("free-form-field-path"),_a=Symbol("free-form-field-renderer-slots"),xr=Symbol("free-form-field-renderer-matchers-map"),Vc=Symbol("free-form-config"),Rc=Symbol("free-form-field-reset-label-path-setting"),Mn="free-form-field-renderers-slot",Z0={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function J0(e,n=""){const o={},r=e;return Array.isArray(r.fields)?Object.assign(o,ba(r,n)):e.type==="array"&&e.elements&&Object.assign(o,wa(e,n)),o}function ba(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?_t(n,i):i;if(o[l]=a,a.type==="record"&&Array.isArray(a.fields)){const s=ba(a,l);Object.assign(o,s)}else if(a.type==="array"&&a.elements){const s=wa(a,l);Object.assign(o,s)}}return o}function wa(e,n=""){const o={};if(e.elements){const r=e.elements,i=_t(n,ha);if(o[i]=r,r.type==="record"&&Array.isArray(r.fields)){const a=ba(r,i);Object.assign(o,a)}else if(r.type==="array"&&r.elements){const a=wa(r,i);Object.assign(o,a)}}return o}function ka(e){const n=Dn(e).map(o=>/^\d+$/.test(o)?ha:o);return _t(...n)}function Q0(e){const n=t.toValue(e),o=t.computed(()=>n?J0(n):{});function r(f){var u;return f==null?n:(u=o.value)==null?void 0:u[ka(f)]}function i(f,u=!1){const p=r(f);return p?p.default!==void 0?p.default:u||p.required?p.type==="record"?a(p,f):p.type==="array"?[]:null:null:null}function a(f,u){const p={};if(Array.isArray(f.fields))for(const m of f.fields){const h=Object.keys(m)[0],y=u?`${u}.${h}`:h,g=i(y,!1);g!==void 0&&(p[h]=g)}return p}function l(f){return f?i(f,!0):a(r(),"")}function s(f){const u=r(f),p=u!=null&&u.description?cr.marked.parse(u.description,{async:!1}):void 0;return{...Z0,"data-testid":`ff-label-${f}`,info:p}}function c(f){var p;const u=r(f);return ga((u==null?void 0:u.one_of)||((p=u.elements)==null?void 0:p.one_of)||[])}function d(f){const u=r(f),p=u==null?void 0:u.default;let m=null;if((u==null?void 0:u.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 Le(){const e=t.inject(Oc),n=t.inject($c),o=t.inject(Vc,{});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 Dc=e=>{const n=t.inject(Bc,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!Tc(r)&&n.value&&(i=_t(n.value,r)),Tc(r)&&(i=i.slice(ya("").length)),i});return t.provide(Bc,o),o},ew=e=>{const{getSchema:n}=Le(),{default:o,...r}=t.useSlots(),i=t.inject(_a),a=t.inject(xr),l=t.computed(()=>{const c=t.toValue(i),d=Object.keys(r).filter(f=>f!==Mn&&f!=="item").reduce((f,u)=>{const p=ka(_t(t.toValue(e),u));return{...f,[p]:r[u]}},{});return c?{...c,...d}:d});t.provide(_a,l);const s=t.toValue(e);return t.computed(()=>{if(o)return;const c=l.value[ka(t.toValue(e))];if(c)return c;for(const[d,f]of a)if(d({path:s,schema:n(s)}))return f})},tw={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function nw(e){return tw[e.toLocaleLowerCase()]??e}function ow(e,n){const o=t.inject(Rc,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?_t(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:f}=c,u=d?_t(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=u,l.value.isolate=!1,l.value.parentPath=u}};(p=m[s])==null||p.call(m)}else f&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(Rc,l),a}function rw(e){return Dn(e).map(o=>o.split("_").map(nw).join(" ")).map(c_).join(" › ")}function iw(e,n){const o=t.toValue(e),r=ko(o),{formConfig:i}=Le(),a=ow(r,n),{getSchema:l}=Le(),s=Mc(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,u=(d==null?void 0:d.type)==="array"?"":rw(c);return i.transformLabel?i.transformLabel(u,o):u})}function bt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=Le(),a=t.toValue(e),l=t.toValue(n),s=iw(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 aw(e){var r;const n=Dn(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?_t(o.parent.path,i):i,o={parent:o}}return o}function Mc(e){return t.computed(()=>aw(t.toValue(e)))}function Lc(e){const{formData:n}=Le(),o=Dc(e);return{value:t.computed({get:()=>Rs(n,Dn(o.value)),set:i=>O0(n,Dn(o.value),i)})}}function ct(e){const{getSchema:n}=Le(),o=Dc(e),r=ew(o),{value:i}=Lc(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:Mc(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function Co(e){const{getSchema:n}=Le(),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 Fc(e,n){const o=new WeakMap,r=new Map;function i(){return Sr(`${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,f)=>{c.add(f)}),Array.from(r.keys()).forEach(d=>{c.has(d)||r.delete(d)})},{immediate:!0,deep:!0}),{getKey:a}}const lw="__request_callout_";function Uc(){return Sr(lw)}const mn=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=t.useAttrs(),i=n,a=t.computed(()=>o.multiline?xe.KTextArea:xe.KInput),l=t.computed(()=>r.characterLimit??(o.multiline?!1:void 0)),s=t.ref(o.modelValue);t.watch(()=>o.modelValue,u=>{s.value=u});const{formConfig:c}=Le(),d=u=>{s.value=u,c.updateOnChange||i("update:modelValue",u)},f=()=>{c.updateOnChange&&i("update:modelValue",s.value)};return(u,p)=>(t.openBlock(),t.createBlock(t.unref(a),t.mergeProps(u.$attrs,{"character-limit":l.value,"model-value":u.modelValue,resizable:u.multiline?!0:void 0,onChange:f,"onUpdate:modelValue":d}),t.createSlots({_:2},[t.renderList(t.useSlots(),(m,h)=>({name:h,fn:t.withCtx(y=>[t.renderSlot(u.$slots,h,t.normalizeProps(t.guardReactiveProps(y)))])}))]),1040,["character-limit","model-value","resizable"]))}}),sw=["innerHTML"],Ln=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}=Pe(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=ct(t.toRef(()=>e.name)),c=bt(s.path,t.toRef({...i,...o})),d=l==null?void 0:l.value;function f(_){d!==void 0&&_===""&&_!==d?(l.value=null,a("update:modelValue",null)):(l.value=_.trim(),a("update:modelValue",_.trim()))}const u=t.computed(()=>{var _;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((_=s.schema)==null?void 0:_.value).encrypted}),p=t.inject(Oe.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=Co(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:ko(e.name)==="name");return(_,b)=>{var v;const w=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(w,{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(mn,t.mergeProps({...t.unref(c),showPasswordMaskToggle:u.value,type:u.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:_.multiline&&_.error?_.errorMessage:_.help,"model-value":t.unref(l)??"",multiline:_.multiline,"onUpdate:modelValue":f}),t.createSlots({_:2},[(v=t.unref(c).labelAttributes)!=null&&v.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,sw)],!0)]),key:"0"}:void 0,_.multiline&&_.error?void 0:{name:"help",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"help",{},void 0,!0)]),key:"1"}]),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:f,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(w,{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-8b9ee4c2"]]),cw=["innerHTML"],Ca=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}=ct(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=bt(i.path,o);return(c,d)=>{var u;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(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},[(u=t.unref(s).labelAttributes)!=null&&u.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,cw)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),Kc=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 f(p){Object.assign(p.style,r)}function u(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:u,onBeforeEnter:l,onBeforeLeave:d,onEnter:s,onLeave:f},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),dw=["data-testid"],uw=["data-testid"],fw=["data-testid"],pw=["innerHTML"],mw={class:"ff-object-field-actions"},gw=["data-testid"],rt=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}=ct(t.toRef(n,"name")),{getSchema:i,getDefault:a}=Le(),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 b=r.ancestors.value.parent;if(b!=null&&b.path)return((_=i(b.path))==null?void 0:_.type)==="array"}return!1}),f=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:d.value?"reset":"inherit"),u=bt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:f.value}))),p=t.computed(()=>u.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((_,b)=>{const w=Object.keys(_)[0],v=Object.keys(b)[0],x=e.fieldsOrder.indexOf(w),S=e.fieldsOrder.indexOf(v);return x===-1&&S===-1?0:x===-1?1:S===-1?-1:x-S}):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 w;const b=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(Mn)]))),r.error?(t.openBlock(),t.createBlock(b,{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,v=>(t.openBlock(),t.createBlock(nt,{key:Object.keys(v)[0],name:Object.keys(v)[0]},null,8,["name"]))),128))],!0)],16,dw)):(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(u),required:!1},{"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(w=t.unref(u).labelAttributes)!=null&&w.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,pw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",mw,[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]=v=>s.value=!c.value)},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(u).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(Ce.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(Ce.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,fw),t.createVNode(Kc,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,v=>(t.openBlock(),t.createBlock(nt,{key:Object.keys(v)[0],name:Object.keys(v)[0]},null,8,["name"]))),128))],!0)],8,gw)):t.createCommentVNode("",!0)]),_:3})],16,uw))],64)}}}),[["__scopeId","data-v-6f044592"]]),hw=["innerHTML"],Fn=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}=ct(t.toRef(()=>e.name)),a=bt(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 f(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 u=Co(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(mn,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(u),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:"number","onUpdate:modelValue":f}),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,hw)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-00c065d4"]]),yw=["innerHTML"],vt=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}},emits:["update"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:i}=Le(),{value:a,...l}=ct(t.toRef(()=>e.name)),s=bt(l.path,r),c=t.computed(()=>e.items?e.items:l.path?i(l.path.value):[]),d=t.computed(()=>{var u;return e.multiple!==void 0?e.multiple:((u=l.schema.value)==null?void 0:u.type)==="set"}),f=t.computed(()=>d.value?xe.KMultiselect:xe.KSelect);return(u,p)=>{var h;const m=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(f),t.mergeProps({key:1},{...r,...t.unref(s)},{modelValue:t.unref(a),"onUpdate:modelValue":[p[0]||(p[0]=y=>t.isRef(a)?a.value=y:null),p[1]||(p[1]=y=>o("update",y))],class:"ff-enum-field",clearable:!t.unref(s).required,"data-testid":`ff-${l.path.value}`,items:c.value,"kpop-attributes":{"data-testid":`${l.path.value}-items`}}),t.createSlots({_:2},[(h=t.unref(s).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,yw)],!0)]),key:"0"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-bfca8687"]]);function Ea(e,n,o=!0){const{value:r,...i}=ct(t.toRef(e,"name")),a=bt(i.path,t.toRef({...e,...t.useAttrs()})),l=t.ref(d(e.initialValue??t.toValue(r)??{},e.keyOrder));function s(){return Sr("ff-kv-field-")}function c(g,_,b){const w=b.indexOf(g),v=b.indexOf(_);return w===-1&&v===-1?0:w===-1?1:v===-1?-1:w-v}function d(g,_){const b=Object.entries(g).map(([w,v])=>({id:s(),key:w,value:v}));return _&&b.sort((w,v)=>c(w.key,v.key,_)),b}function f(){const g={id:s(),key:e.defaultKey||"",value:e.defaultValue||""};return l.value.push(g),g}function u(g){const _=l.value.findIndex(b=>b.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:b,value:w})=>[b,w]).filter(([b])=>b)):null;r.value=_,h=_,n("change",_)},{deep:!0,immediate:!0}),t.watch(()=>r==null?void 0:r.value,g=>{wo(g,h)||y(g)},{deep:!0});function y(g){if(!g){l.value=[];return}const _=new Map;l.value.forEach(x=>{x.key&&_.set(x.key,x)});const b=[],w=Object.keys(g);(e.keyOrder?[...w].sort((x,S)=>c(x,S,e.keyOrder)):w).forEach(x=>{const S=g[x];if(_.has(x)){const I=_.get(x);I.value=S,b.push(I)}else b.push({id:s(),key:x,value:S})}),l.value=b}return{entries:l,addEntry:f,removeEntry:u,reset:p,setValue:m,labelAttrs:a,field:i}}const _w=["data-testid"],bw=["data-testid"],ww=["innerHTML"],kw=["data-testid"],Cw=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}=Pe(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:d,setValue:f,labelAttrs:u,field:p}=Ea(r,a),m=t.useTemplateRef("root");async function h(x,S="key"){var I;m.value&&(await t.nextTick(),(I=m.value.querySelector(`[data-${S}-input="${x}"]`))==null||I.focus())}function y(){s();const x=l.value.findIndex(({key:S})=>!S);h(x===-1?l.value.length-1:x)}function g(x){x===l.value.length-1&&s(),h(x+1)}const _=t.inject(Oe.AUTOFILL_SLOT,void 0),b=t.computed(()=>{var x,S;return e.showVaultSecretPicker??!!((S=(x=p.schema.value)==null?void 0:x.values)!=null&&S.referenceable)}),w=t.computed(()=>({referenceable:b.value}));function v(x,S){l.value[x].value=S}return n({reset:d,setValue:f}),(x,S)=>{var j;const I=t.resolveComponent("KAlert"),$=t.resolveComponent("KLabel"),D=t.resolveComponent("KButton");return t.unref(p).error?(t.openBlock(),t.createBlock(I,{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.mergeProps({class:"ff-kv-field-label"},t.unref(u),{"data-testid":`ff-label-${t.unref(p).path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(j=t.unref(u).labelAttributes)!=null&&j.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(x.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,ww)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(D,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(p).path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon))]),_:1},8,["data-testid"])],8,bw),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(K,k)=>(t.openBlock(),t.createElementBlock("div",{key:K.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(p).path.value}.${k}`},[t.createVNode(mn,{modelValue:K.key,"onUpdate:modelValue":Y=>K.key=Y,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":k,"data-testid":`ff-key-${t.unref(p).path.value}.${k}`,placeholder:x.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(Y=>h(k,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(mn,{modelValue:K.value,"onUpdate:modelValue":Y=>K.value=Y,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(p).path.value}.${k}`,"data-value-input":k,placeholder:x.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(Y=>g(k),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(_)&&b.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(_)),{key:0,schema:w.value,update:Y=>v(k,Y),value:K.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),b.value&&!t.unref(_)?(t.openBlock(),t.createBlock(I,{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(D,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(p).path.value}.${k}`,icon:"",onClick:Y=>t.unref(c)(K.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,kw))),128))],8,_w))}}}),[["__scopeId","data-v-92e0893d"]]),Ew=["data-testid"],Nw=["innerHTML"],Na=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}=ct(t.toRef(()=>e.name)),s=bt(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 f(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function u(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function p(y){d.value=y;const g=u(y),_=!g.length&&c.value?null:g;a.value=_,i("update:modelValue",_)}const m=Co(l.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:ko(e.name)==="name");return t.watch(a,y=>{const g=y?f(y):"";f(u(d.value))!==g&&(d.value=g)},{immediate:!0}),(y,g)=>{var b;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(mn,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},[(b=t.unref(s).labelAttributes)!=null&&b.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Nw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Ew))}}}),[["__scopeId","data-v-a27f4ff1"]]),Sw=["data-testid"],vw=["innerHTML"],xw=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}=ct(t.toRef(()=>e.name)),s=bt(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 f=Co(l.ancestors),u=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:ko(e.name)==="name");return t.watch(a,p=>{if(p&&typeof p=="object"){try{const m=JSON.parse(c.value);wo(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(mn,t.mergeProps(t.unref(s),{class:"ff-json-field","data-1p-ignore":u.value,"data-autofocus":t.unref(f),"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,vw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Sw))}}}),[["__scopeId","data-v-5749f722"]]),Aw=["innerHTML"],Iw=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}}=Pe(),i=t.createPropsRestProxy(e,["showPasswordMaskToggle","name"]),a=n,{value:l,...s}=ct(t.toRef(()=>e.name));if(s.error)throw new Error(s.error.message);const c=bt(s.path,t.toRef({...i,...o})),d=l.value?l.value.id:null,f=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"})}),u=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=Co(s.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:ko(e.name)==="name");return(y,g)=>{var _;return t.openBlock(),t.createBlock(mn,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":u.value,placeholder:f.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,Aw)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])}}}),[["__scopeId","data-v-b54c028e"]]),nt=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=ct(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?vt:Ln;case"boolean":return"one_of"in o.schema.value?vt:Ca;case"number":case"integer":return"one_of"in o.schema.value?vt:Fn;case"array":return Ar;case"set":return X0(o.schema)?Na:vt;case"record":return rt;case"map":return Cw;case"json":return xw;case"foreign":return Iw;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(Mn)]))),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:ya(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:ya(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)}}}),Pw=["data-testid"],Tw=["data-testid"],Ow=["innerHTML"],$w=["data-testid"],Bw={class:"ff-array-field-item-content"},Vw=["data-index","data-testid"],Ar=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 S;t.useCssVars(I=>({"3e1c9ee2":x.value}));const o=e,r=n,{i18n:{t:i}}=Pe(),{getDefault:a,getSchema:l}=Le(),{value:s,...c}=ct(t.toRef(o,"name")),d=bt(c.path,t.toRef({...o,...t.useAttrs()})),f=t.computed(()=>{if(!c.path)throw new Error("Field path is required for sub-schema retrieval");const I=l(c.path.value);if(!I)throw new Error(`Schema not found for path: ${c.path.value}`);return I.elements}),u=t.computed(()=>o.items??t.toValue(s)??[]),{getKey:p}=Fc("ff-array-field",u),m=t.computed(()=>o.appearance==="card"?xe.KCard:"div");function h(I,$){return typeof o.itemLabel=="function"?o.itemLabel(I,$):o.itemLabel||d.value.label||`Item #${$}`}const y=t.computed(()=>u.value.map((I,$)=>({hash:`#${p(I,$)}`,title:""}))),g=t.ref((S=y.value[0])==null?void 0:S.hash),_=async()=>{var $;const I=a(_t(c.path.value,ha));Array.isArray(s.value)||(s.value=[]),s.value.push(I),r("add"),o.appearance==="tabs"&&(await t.nextTick(),g.value=($=y.value[y.value.length-1])==null?void 0:$.hash),await t.nextTick(),v(u.value.length+1)},b=async I=>{var $;Array.isArray(s.value)&&s.value.splice(I,1),r("remove",I),o.appearance==="tabs"&&(g.value=($=y.value[Math.max(0,I-1)])==null?void 0:$.hash)},w=t.useTemplateRef("root");function v(I){var D;if(!w.value)return;const $=Math.max(0,Math.min(I,u.value.length-1));(D=w.value.querySelector(`[data-index="${$}"] [data-autofocus]`))==null||D.focus()}const x=t.computed(()=>{const{appearance:I,stickyTabs:$}=o;return I!=="tabs"||$==null||$===!1?null:typeof $=="number"?`${o.stickyTabs}px`:typeof $=="string"?$:"0"});return(I,$)=>{var Y;const D=t.resolveComponent("KAlert"),j=t.resolveComponent("KLabel"),K=t.resolveComponent("KButton"),k=t.resolveComponent("KTabs");return c.error?(t.openBlock(),t.createBlock(D,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:w,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${I.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":I.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(j,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(I.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,Ow)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(K,{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(Ce.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,Tw),u.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[I.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(u.value,(A,F)=>(t.openBlock(),t.createBlock(t.unref(m),{key:t.unref(p)(A,F),class:"ff-array-field-item","data-index":F,"data-testid":`ff-array-item-${c.path.value}.${F}`},{default:t.withCtx(()=>[t.createElementVNode("div",Bw,[I.$slots.item?t.renderSlot(I.$slots,"item",{key:0,fieldName:String(F),index:F},void 0,!0):t.createCommentVNode("",!0),f.value.type==="array"&&f.value.elements.type==="string"?(t.openBlock(),t.createBlock(Na,{key:1,help:t.unref(i)("plugins.free-form.tag_helper"),name:String(F)},null,8,["help","name"])):(t.openBlock(),t.createBlock(nt,{key:2,name:String(F)},null,8,["name"]))]),t.createVNode(K,{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:R=>b(F)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,$w)):(t.openBlock(),t.createBlock(t.unref(xe.KCard),{key:1,"data-testid":`ff-array-tab-container-${c.path.value}`},{default:t.withCtx(()=>[t.createVNode(k,{modelValue:g.value,"onUpdate:modelValue":$[0]||($[0]=A=>g.value=A),"data-testid":`ff-array-tabs-${c.path.value}`,tabs:y.value},t.createSlots({_:2},[t.renderList(u.value,(A,F)=>({name:t.unref(p)(A,F),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":F,"data-testid":`ff-array-item-${c.path.value}.${F}`},[I.$slots.item?t.renderSlot(I.$slots,"item",{key:0,fieldName:String(F),index:F},void 0,!0):(t.openBlock(),t.createBlock(nt,{key:1,name:String(F)},null,8,["name"]))],8,Vw)])})),t.renderList(u.value,(A,F)=>({name:`${t.unref(p)(A,F)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(h(A,F))+" ",1),t.createVNode(K,{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(R=>b(F),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,Pw))}}}),[["__scopeId","data-v-3edd064c"]]),Eo=Symbol(),Rw=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=Le(),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(({[Eo]: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(rt,{name:l.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(vt,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(rt,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(vt,t.mergeProps(d,{items:t.unref(ga)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),Dw=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=Le();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[Eo]=Uc())}return(r,i)=>(t.openBlock(),t.createBlock(Ar,{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(Rw,{"field-name":l,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),jc=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),r=t.inject(xr);if(!r)throw new Error(xr.toString()+"not provided");return o&&r.set(n.match,o),(i,a)=>null}}),mt=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=Q0(e.schema);t.provide($c,a);const l=m=>{var h;return gr((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],b=e.fieldsOrder.indexOf(g),w=e.fieldsOrder.indexOf(_);return b===-1&&w===-1?0:b===-1?1:w===-1?-1:b-w}):m});let c=!1;const d=t.reactive({});t.provide(Oc,d),t.provide(_a,ua(i,"default",Mn));const f=new Map;t.provide(xr,f),t.provide(Vc,e.config??{}),t.watch(d,m=>{c&&r("change",t.toValue(m))},{deep:!0,immediate:!0});function u(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=Vn(t.toValue(m)),gr((y=e.config)==null?void 0:y.prepareFormData)?u(e.config.prepareFormData(h)):u(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(Mn)]))),t.renderSlot(m.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,y=>(t.openBlock(),t.createBlock(nt,{key:Object.keys(y)[0],name:Object.keys(y)[0],onGlobalAction:h[0]||(h[0]=(g,_)=>r("globalAction",g,_))},null,8,["name"]))),128))])]),_:3}))}}),Mw={class:"ff-advanced-fields"},Ir=Ee(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=je.createI18n("en-us",We),{getSchema:o}=Le(),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",Mw,[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(nt,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(nt,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(Na,{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"]]),Lw=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}}=Pe();function a(d,f=!1){return d.reduce((u,{[Eo]:p,name:m})=>(f?u[m]=p:u[p]=m,u),{})}function l(d){var m;const f=Vn(d);if(!((m=f.config)!=null&&m.callouts))return f;const{callouts:u}=f.config;u.forEach(h=>{h.request.body.custom=h.request.body.custom??{},h[Eo]=Uc()});const p=a(u,!0);return u.forEach(h=>{h.depends_on=h.depends_on.map(y=>p[y])}),f}function s(d){return!!(d!=null&&d.config)}function c(d){var p;if(!d)return;const f=Vn(d);if(!((p=f.config)!=null&&p.callouts))throw new Error("data is not correct");const u=a(f.config.callouts);f.config.callouts=f.config.callouts.map(m=>{const{[Eo]:h,depends_on:y,...g}=m;return{depends_on:y.map(_=>u[_]).filter(_=>_!=null),...g}}),o("change",f)}return(d,f)=>(t.openBlock(),t.createBlock(mt,{class:"rc-config-form",config:r,data:d.data,schema:d.schema,tag:"div",onChange:c},{[t.unref(Mn)]:t.withCtx(()=>[t.createVNode(jc,{match:({path:u})=>u.endsWith("by_lua")},{default:t.withCtx(u=>[t.createVNode(Ln,t.mergeProps(u,{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(jc,{match:({path:u})=>["cluster_nodes","sentinel_nodes"].some(p=>u.endsWith(p))},{default:t.withCtx(u=>[t.createVNode(Ar,t.mergeProps(u,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Dw),t.createVNode(rt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(rt,{appearance:"card",name:"cache"},{redis:t.withCtx(u=>[t.createVNode(rt,t.mergeProps(u,{"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(Ir)]),_:2},1032,["data","schema"]))}}),[["__scopeId","data-v-19d40902"]]),Fw={class:"ff-form-pinned-fields"},Uw={class:"ff-form-config-form"},Sa=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}=je.createI18n("en-us",We),o=e;t.useSlots();function r(f){return t.computed(()=>({fields:t.toValue(f).map(u=>{var p;return(p=o.formSchema)==null?void 0:p.fields.find(m=>m.model===u)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const f=o.schema;f.fields=f.fields.filter(p=>l.includes(Object.keys(p)[0])),f.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 u=f.fields.find(p=>Object.keys(p)[0]==="protocols");return u&&(u.protocols.help=u.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:u.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),u.protocols.description=n("plugins.form.fields.protocols.help")),f}),c=t.ref(!1),d=t.computed(()=>{const f=["config","instance_name","partials","protocols","tags","__ui_data"];return fa(o.model,f)});return(f,u)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Fw,[t.createVNode(t.unref(Oe.VueFormGenerator),{model:f.formModel,options:f.formOptions,schema:t.unref(a),onModelUpdated:f.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(xe.KCollapse),{modelValue:c.value,"onUpdate:modelValue":u[1]||(u[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",Uw,[t.renderSlot(f.$slots,"default",{class:"ff-form",data:d.value,schema:s.value,onChange:u[0]||(u[0]=(...p)=>f.onFormChange&&f.onFormChange(...p))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),Kw=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(Oe.AUTOFILL_SLOT,o==null?void 0:o[Oe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Sa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Lw,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),jw={key:1},qw=["innerHTML"],Gw={class:"horizontal-container"},zw=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}=Le(),a=ct(t.toRef(()=>e.name)),l=bt(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,f)=>{var m;const u=t.resolveComponent("KAlert"),p=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(u,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",jw,[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,qw)]),key:"0"}:void 0]),1040),t.createElementVNode("div",Gw,[(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":[f[0]||(f[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"]]),Hw={class:"sp-form-request-limits-subtitle"},Yw={class:"sp-form-request-limits-content"},Ww={class:"sp-form-window-type"},Xw={class:"sp-form-request-limits-items"},Zw={class:"sp-form-request-limits-row"},Jw=["id"],Qw={class:"sp-form-request-limits-actions"},ek={key:0,class:"sp-form-request-limits-examples"},tk={class:"sp-form-request-limits-examples-badges"},va="config.window_type",nk=Ee(t.defineComponent({__name:"RequestLimitsForm",setup(e){var g;const{t:n}=je.createI18n("en-us",We),{formData:o,getSelectItems:r,getSchema:i}=Le(),a=t.computed(()=>{var b,w;const _=(w=(b=o.config)==null?void 0:b.limit)==null?void 0:w.map((v,x)=>{var S,I;return{limit:v,windowSize:(I=(S=o.config)==null?void 0:S.window_size)==null?void 0:I[x]}});return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Fc("request-limits",a),s=_=>{var b,w;p.value=void 0,o.config&&((b=o.config.limit)!=null&&b.length||(o.config.limit=[null]),(w=o.config.window_size)!=null&&w.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(va))==null?void 0:g.default,f=t.computed(()=>Rs(o,va)),u=t.computed(()=>r(va).sort((_,b)=>_.value===d?-1:b.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,f.value)?m[f.value]:[]),y=(_,b)=>{if(b===p.value){t.nextTick(()=>{p.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{p.value=b}),o.config.limit=[_.config.limit],o.config.window_size=[_.config.window_size]};return(_,b)=>{const w=t.resolveComponent("KLabel"),v=t.resolveComponent("KButton"),x=t.resolveComponent("KBadge"),S=t.resolveComponent("KTooltip"),I=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(I,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(w,{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",Hw,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Yw,[t.createElementVNode("div",Ww,[t.createVNode(zw,{items:u.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":b[0]||(b[0]=$=>p.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",Xw,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,($,D)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)($,D)},[t.createVNode(w,{for:`sp-form-request-limits-item-${D}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:D+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",Zw,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${D}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Fn,{name:`$.config.limit.${D}`,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(Fn,{name:`$.config.window_size.${D}`,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,Jw),t.createElementVNode("div",Qw,[t.createVNode(v,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(D)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(v,{appearance:"tertiary",onClick:()=>s(D)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",ek,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",tk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,($,D)=>(t.openBlock(),t.createBlock(S,{key:`use-case-${D}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString($.description),1),b[1]||(b[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString($.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString($.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(x,{appearance:p.value===`${f.value}-${D}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>y($,`${f.value}-${D}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString($.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),ok={id:"sp-form-error-legend",class:"sp-form-error-inputs"},rk=Ee(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=je.createI18n("en-us",We);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",ok,[t.createVNode(Fn,{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(Ln,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),ik={class:"partial-config-card"},ak={class:"config-card-row-label"},lk={class:"label-text"},sk=["data-testid"],ck=["data-testid"],dk={key:1},uk=["data-testid"],fk=["data-testid"],pk=Ee(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=je.createI18n("en-us",We),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=u=>u!=null,l=(u,p)=>a(p)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:s}=pe.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([u,p])=>{var m,h,y,g;return{key:u,label:((m=r[u])==null?void 0:m.label)??s(u),value:(h=r[u])!=null&&h.formatter?r[u].formatter(p):p,type:((y=r[u])==null?void 0:y.type)??l(u,p),order:((g=r[u])==null?void 0:g.order)??100}}).sort((u,p)=>u.order-p.order).filter(u=>u.type!=="hidden")),d=W0(i.configFields,i.pluginRedisFields||[]),f=t.computed(()=>c.value.concat(d));return(u,p)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",ik,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,({key:h,label:y,value:g,type:_})=>(t.openBlock(),t.createElementBlock("div",{key:h,class:"partial-config-card-row"},[t.createElementVNode("div",ak,[t.createElementVNode("div",lk,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${h}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",dk,[_==="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,uk)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${h}-plain-text`},t.toDisplayString(g),9,fk))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-no-value`}," – ",8,ck))],8,sk)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),mk=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}=je.createI18n("en-us",We),i=t.inject(Oe.FORMS_CONFIG),a=n,{getMessageFromError:l}=pe.useErrors(),s=t.computed(()=>{switch(o.partialType){case co.PartialType.REDIS_CE:return co.PartialType.REDIS_EE;case co.PartialType.REDIS_EE:return co.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),d=t.ref(),f=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},u=()=>{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(co.RedisConfigurationForm),{"action-teleport-target":d.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:p,onError:f,onUpdate:u},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),gk="#52596e",hk="#e0e4ea",yk="#007d60",_k="#6c7489",bk="#0044f4",wk="#5f9aff",kk="#000933",qc="#d60027",Gc="#afb7c5",No="12px",Ck="16px",xa="20px",zc="8px",Hc=Symbol("redis-partial-info"),Yc={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"}},Wc=["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"],Ek={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Nk={key:0,class:"shared-redis-config"},Sk={class:"shared-redis-config-title"},vk={class:"redis-config-select","data-testid":"redis-config-select"},xk={class:"selected-redis-config"},Ak=["data-testid"],Ik={class:"select-item-name","data-testid":"selected-redis-config"},Pk={class:"empty-redis-config","data-testid":"empty-redis-config"},Tk={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Ok="1000",$k=Ee(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var ee;const o=n,{t:r}=je.createI18n("en-us",We),i=e,a=t.inject(Hc),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var q;return i.redisPath?i.redisPath:(q=a==null?void 0:a.redisPath)!=null&&q.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((ee=a==null?void 0:a.redisType)==null?void 0:ee.value)||"all",d=t.computed(()=>{var q;return!!((q=a==null?void 0:a.redisType)!=null&&q.value)}),f=t.ref(!1),u=t.ref(null),p=t.ref(!l),{getMessageFromError:m}=pe.useErrors(),h=t.ref(i.defaultRedisConfigItem),y=t.ref({}),g=t.ref(),{value:_}=Lc("$.partials"),{value:b}=ct(s),w=t.inject(Oe.FORMS_CONFIG),{debouncedQueryChange:v,loading:x,error:S,loadItems:I,results:$}=pe.useDebouncedFilter(w,Yc[w.app].getAll,Ok,{fetchedItemsKey:"data",searchKeys:["id","name"]}),D=t.computed(()=>S.value?m(S.value):""),j=q=>{let H=`${w.apiBaseUrl}${Yc[w.app].getOne}`;return w.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,(w==null?void 0:w.controlPlaneId)||""):w.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,w!=null&&w.workspace?`/${w.workspace}`:"")),H=H.replace(/{id}/gi,String(q)),H},K=t.computed(()=>{const q=($.value||[]).map(H=>({label:H.id,name:H.name,value:H.id,type:H.type,tag:z0(H)})).filter(H=>H.type==="redis-ce"||H.type==="redis-ee");return c!=="all"?q.filter(H=>H.type===c):q}),{axiosInstance:k}=pe.useAxios(w==null?void 0:w.axiosRequestConfig),Y=()=>{p.value?(g.value&&(_.value=g.value,h.value=g.value[0].id,b.value=void 0),b!=null&&b.value&&(y.value=b.value)):(Object.keys(y.value).length&&(b.value=y.value),_!=null&&_.value&&(g.value=_.value),_.value=l?null:void 0)},A=q=>{I(),o("globalAction","notify",q)},F=q=>{o("globalAction","notify",q)},R=async q=>{if(q){h.value=q,_.value=[{id:q}],g.value=[{id:q}],b.value=void 0;try{const H=await k.get(j(q));if(H.data.config){const U=Object.assign(H.data,H.data.config);delete U.config,u.value=U}}catch(H){console.error(H)}}};return t.watch(()=>p.value,()=>{Y()}),t.onBeforeMount(()=>{var q;if(I(),i.defaultRedisConfigItem||_!=null&&_.value){const H=i.defaultRedisConfigItem||((q=_==null?void 0:_.value)==null?void 0:q[0].id);R(H),p.value=!0}else b!=null&&b.value&&(y.value=b.value)}),(q,H)=>{const U=t.resolveComponent("KBadge"),M=t.resolveComponent("KRadio"),L=t.resolveComponent("KSelect"),Z=t.resolveComponent("KCard");return d.value?(t.openBlock(),t.createBlock(Z,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",Ek,[t.createVNode(M,{modelValue:p.value,"onUpdate:modelValue":H[0]||(H[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(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(M,{modelValue:p.value,"onUpdate:modelValue":H[1]||(H[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",Nk,[t.createElementVNode("div",Sk,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",vk,[t.createVNode(L,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:K.value,loading:t.unref(x),"model-value":h.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:H[3]||(H[3]=W=>R(W==null?void 0:W.value)),onQueryChange:t.unref(v)},{"selected-item-template":t.withCtx(({item:W})=>[t.createElementVNode("div",xk,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",Ik,t.toDisplayString(W.name),1),t.createVNode(U,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(W.tag),1)]),_:2},1024)],8,Ak)]),empty:t.withCtx(()=>[t.createElementVNode("div",Pk,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:H[2]||(H[2]=()=>f.value=!0)},[t.createVNode(t.unref(Ce.AddIcon),{size:t.unref(No)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(Y0)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),u.value?(t.openBlock(),t.createBlock(pk,{key:0,"config-fields":u.value},null,8,["config-fields"])):t.createCommentVNode("",!0),D.value?(t.openBlock(),t.createElementBlock("p",Tk,t.toDisplayString(D.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(rt,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(Wc),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(mk,{"partial-type":t.unref(c),visible:f.value,onModalClose:H[4]||(H[4]=W=>f.value=!1),onPartialUpdateFailed:F,onPartialUpdated:A},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(rt,t.mergeProps({key:1},i,{"fields-order":t.unref(Wc),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-12b9ad82"]]),Bk=t.defineComponent({__name:"RedisField",emits:["globalAction"],setup(e){const{formData:n}=Le();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(Kc,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock($k,{key:0,onGlobalAction:r[0]||(r[0]=(...a)=>o.$emit("globalAction",...a))})):t.createCommentVNode("",!0)]}),_:1}))}}),Vk=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(mt,{config:r,data:a.data,schema:a.schema,tag:"div",onChange:i},{default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(nk),t.createVNode(rk)]),_:1}),t.createVNode(Ir,null,{default:t.withCtx(()=>[t.createVNode(nt,{name:"config.dictionary_name"}),t.createVNode(nt,{name:"config.lock_dictionary_name"}),t.createVNode(nt,{name:"config.strategy"}),t.createVNode(Bk,{onGlobalAction:l[0]||(l[0]=(...s)=>a.$emit("globalAction",...s))}),t.createVNode(nt,{name:"config.namespace"}),t.createVNode(nt,{name:"config.hide_client_headers"}),t.createVNode(nt,{name:"config.disable_penalty"}),t.createVNode(nt,{name:"config.retry_after_jitter_max"}),t.createVNode(nt,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),Rk=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(Oe.AUTOFILL_SLOT,o==null?void 0:o[Oe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Sa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Vk,t.mergeProps(a,{onGlobalAction:i[0]||(i[0]=(...l)=>r.$emit("globalAction",...l))}),null,16)]),_:1},16))}}),Dk={class:"ff-standard-layout"},Mk={class:"enabled"},Lk={class:"scope"},Fk={key:0,class:"scope-detail"},Xc=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}=je.createI18n("en-us",We),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(b=>g.includes(b.model))}}),d=["config"],f=t.computed(()=>{const g=o.schema;return g.fields=g.fields.filter(_=>d.includes(Object.keys(_)[0])),g}),u=t.computed(()=>{const g=["config","partials","__ui_data"];return fa(o.model,g)}),p=fa(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 b=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Dk,[t.createVNode(t.unref(pe.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",Mk,[t.createVNode(t.unref(Oe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",Lk,[t.createVNode(t.unref(xe.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":_[0]||(_[0]=w=>m.value=w),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]=w=>m.value=w),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),m.value?(t.openBlock(),t.createElementBlock("div",Fk,[t.createVNode(t.unref(Oe.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:y},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(b,{modelValue:h.value,"onUpdate:modelValue":_[2]||(_[2]=w=>h.value=w),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(Oe.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(pe.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:u.value,schema:f.value,onChange:_[3]||(_[3]=(...w)=>g.onFormChange&&g.onFormChange(...w))},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-8d0a8a0c"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Zc(e){return typeof e>"u"||e===null}function Uk(e){return typeof e=="object"&&e!==null}function Kk(e){return Array.isArray(e)?e:Zc(e)?[]:[e]}function jk(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 qk(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function Gk(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var zk=Zc,Hk=Uk,Yk=Kk,Wk=qk,Xk=Gk,Zk=jk,Xe={isNothing:zk,isObject:Hk,toArray:Yk,repeat:Wk,isNegativeZero:Xk,extend:Zk};function Jc(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
|
-
`+e.mark.snippet),r+" "+o):r}function So(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=
|
|
15
|
+
`+e.mark.snippet),r+" "+o):r}function So(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Jc(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}So.prototype=Object.create(Error.prototype),So.prototype.constructor=So,So.prototype.toString=function(n){return this.name+": "+Jc(this,n)};var ot=So;function Aa(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 Ia(e,n){return Xe.repeat(" ",n-e.length)+e}function Jk(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,f=Math.min(e.line+n.linesAfter,i.length).toString().length,u=n.maxLength-(n.indent+f+3);for(c=1;c<=n.linesBefore&&!(l-c<0);c++)d=Aa(e.buffer,r[l-c],i[l-c],e.position-(r[l]-r[l-c]),u),s=Xe.repeat(" ",n.indent)+Ia((e.line-c+1).toString(),f)+" | "+d.str+`
|
|
16
16
|
`+s;for(d=Aa(e.buffer,r[l],i[l],e.position,u),s+=Xe.repeat(" ",n.indent)+Ia((e.line+1).toString(),f)+" | "+d.str+`
|
|
17
17
|
`,s+=Xe.repeat("-",n.indent+f+3+d.pos)+`^
|
|
18
18
|
`,c=1;c<=n.linesAfter&&!(l+c>=i.length);c++)d=Aa(e.buffer,r[l+c],i[l+c],e.position-(r[l]-r[l+c]),u),s+=Xe.repeat(" ",n.indent)+Ia((e.line+c+1).toString(),f)+" | "+d.str+`
|
|
19
|
-
`;return s.replace(/\n$/,"")}var
|
|
20
|
-
\r`;function
|
|
21
|
-
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function
|
|
22
|
-
`,n-1))}function
|
|
19
|
+
`;return s.replace(/\n$/,"")}var Qk=Jk,eC=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],tC=["scalar","sequence","mapping"];function nC(e){var n={};return e!==null&&Object.keys(e).forEach(function(o){e[o].forEach(function(r){n[String(r)]=o})}),n}function oC(e,n){if(n=n||{},Object.keys(n).forEach(function(o){if(eC.indexOf(o)===-1)throw new ot('Unknown option "'+o+'" is met in definition of "'+e+'" YAML type.')}),this.options=n,this.tag=e,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(o){return o},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=nC(n.styleAliases||null),tC.indexOf(this.kind)===-1)throw new ot('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var Qe=oC;function Qc(e,n){var o=[];return e[n].forEach(function(r){var i=o.length;o.forEach(function(a,l){a.tag===r.tag&&a.kind===r.kind&&a.multi===r.multi&&(i=l)}),o[i]=r}),o}function rC(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,o;function r(i){i.multi?(e.multi[i.kind].push(i),e.multi.fallback.push(i)):e[i.kind][i.tag]=e.fallback[i.tag]=i}for(n=0,o=arguments.length;n<o;n+=1)arguments[n].forEach(r);return e}function Pa(e){return this.extend(e)}Pa.prototype.extend=function(n){var o=[],r=[];if(n instanceof Qe)r.push(n);else if(Array.isArray(n))r=r.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(o=o.concat(n.implicit)),n.explicit&&(r=r.concat(n.explicit));else throw new ot("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");o.forEach(function(a){if(!(a instanceof Qe))throw new ot("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new ot("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new ot("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(a){if(!(a instanceof Qe))throw new ot("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(Pa.prototype);return i.implicit=(this.implicit||[]).concat(o),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=Qc(i,"implicit"),i.compiledExplicit=Qc(i,"explicit"),i.compiledTypeMap=rC(i.compiledImplicit,i.compiledExplicit),i};var ed=Pa,td=new Qe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),nd=new Qe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),od=new Qe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),rd=new ed({explicit:[td,nd,od]});function iC(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function aC(){return null}function lC(e){return e===null}var id=new Qe("tag:yaml.org,2002:null",{kind:"scalar",resolve:iC,construct:aC,predicate:lC,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function sC(e){if(e===null)return!1;var n=e.length;return n===4&&(e==="true"||e==="True"||e==="TRUE")||n===5&&(e==="false"||e==="False"||e==="FALSE")}function cC(e){return e==="true"||e==="True"||e==="TRUE"}function dC(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var ad=new Qe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:sC,construct:cC,predicate:dC,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function uC(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function fC(e){return 48<=e&&e<=55}function pC(e){return 48<=e&&e<=57}function mC(e){if(e===null)return!1;var n=e.length,o=0,r=!1,i;if(!n)return!1;if(i=e[o],(i==="-"||i==="+")&&(i=e[++o]),i==="0"){if(o+1===n)return!0;if(i=e[++o],i==="b"){for(o++;o<n;o++)if(i=e[o],i!=="_"){if(i!=="0"&&i!=="1")return!1;r=!0}return r&&i!=="_"}if(i==="x"){for(o++;o<n;o++)if(i=e[o],i!=="_"){if(!uC(e.charCodeAt(o)))return!1;r=!0}return r&&i!=="_"}if(i==="o"){for(o++;o<n;o++)if(i=e[o],i!=="_"){if(!fC(e.charCodeAt(o)))return!1;r=!0}return r&&i!=="_"}}if(i==="_")return!1;for(;o<n;o++)if(i=e[o],i!=="_"){if(!pC(e.charCodeAt(o)))return!1;r=!0}return!(!r||i==="_")}function gC(e){var n=e,o=1,r;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),r=n[0],(r==="-"||r==="+")&&(r==="-"&&(o=-1),n=n.slice(1),r=n[0]),n==="0")return 0;if(r==="0"){if(n[1]==="b")return o*parseInt(n.slice(2),2);if(n[1]==="x")return o*parseInt(n.slice(2),16);if(n[1]==="o")return o*parseInt(n.slice(2),8)}return o*parseInt(n,10)}function hC(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!Xe.isNegativeZero(e)}var ld=new Qe("tag:yaml.org,2002:int",{kind:"scalar",resolve:mC,construct:gC,predicate:hC,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),yC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function _C(e){return!(e===null||!yC.test(e)||e[e.length-1]==="_")}function bC(e){var n,o;return n=e.replace(/_/g,"").toLowerCase(),o=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?o===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:o*parseFloat(n,10)}var wC=/^[-+]?[0-9]+e/;function kC(e,n){var o;if(isNaN(e))switch(n){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(n){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(n){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Xe.isNegativeZero(e))return"-0.0";return o=e.toString(10),wC.test(o)?o.replace("e",".e"):o}function CC(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Xe.isNegativeZero(e))}var sd=new Qe("tag:yaml.org,2002:float",{kind:"scalar",resolve:_C,construct:bC,predicate:CC,represent:kC,defaultStyle:"lowercase"}),cd=rd.extend({implicit:[id,ad,ld,sd]}),dd=cd,ud=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),fd=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function EC(e){return e===null?!1:ud.exec(e)!==null||fd.exec(e)!==null}function NC(e){var n,o,r,i,a,l,s,c=0,d=null,f,u,p;if(n=ud.exec(e),n===null&&(n=fd.exec(e)),n===null)throw new Error("Date resolve error");if(o=+n[1],r=+n[2]-1,i=+n[3],!n[4])return new Date(Date.UTC(o,r,i));if(a=+n[4],l=+n[5],s=+n[6],n[7]){for(c=n[7].slice(0,3);c.length<3;)c+="0";c=+c}return n[9]&&(f=+n[10],u=+(n[11]||0),d=(f*60+u)*6e4,n[9]==="-"&&(d=-d)),p=new Date(Date.UTC(o,r,i,a,l,s,c)),d&&p.setTime(p.getTime()-d),p}function SC(e){return e.toISOString()}var pd=new Qe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:EC,construct:NC,instanceOf:Date,represent:SC});function vC(e){return e==="<<"||e===null}var md=new Qe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:vC}),Ta=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
20
|
+
\r`;function xC(e){if(e===null)return!1;var n,o,r=0,i=e.length,a=Ta;for(o=0;o<i;o++)if(n=a.indexOf(e.charAt(o)),!(n>64)){if(n<0)return!1;r+=6}return r%8===0}function AC(e){var n,o,r=e.replace(/[\r\n=]/g,""),i=r.length,a=Ta,l=0,s=[];for(n=0;n<i;n++)n%4===0&&n&&(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)),l=l<<6|a.indexOf(r.charAt(n));return o=i%4*6,o===0?(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)):o===18?(s.push(l>>10&255),s.push(l>>2&255)):o===12&&s.push(l>>4&255),new Uint8Array(s)}function IC(e){var n="",o=0,r,i,a=e.length,l=Ta;for(r=0;r<a;r++)r%3===0&&r&&(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]),o=(o<<8)+e[r];return i=a%3,i===0?(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]):i===2?(n+=l[o>>10&63],n+=l[o>>4&63],n+=l[o<<2&63],n+=l[64]):i===1&&(n+=l[o>>2&63],n+=l[o<<4&63],n+=l[64],n+=l[64]),n}function PC(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var gd=new Qe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:xC,construct:AC,predicate:PC,represent:IC}),TC=Object.prototype.hasOwnProperty,OC=Object.prototype.toString;function $C(e){if(e===null)return!0;var n=[],o,r,i,a,l,s=e;for(o=0,r=s.length;o<r;o+=1){if(i=s[o],l=!1,OC.call(i)!=="[object Object]")return!1;for(a in i)if(TC.call(i,a))if(!l)l=!0;else return!1;if(!l)return!1;if(n.indexOf(a)===-1)n.push(a);else return!1}return!0}function BC(e){return e!==null?e:[]}var hd=new Qe("tag:yaml.org,2002:omap",{kind:"sequence",resolve:$C,construct:BC}),VC=Object.prototype.toString;function RC(e){if(e===null)return!0;var n,o,r,i,a,l=e;for(a=new Array(l.length),n=0,o=l.length;n<o;n+=1){if(r=l[n],VC.call(r)!=="[object Object]"||(i=Object.keys(r),i.length!==1))return!1;a[n]=[i[0],r[i[0]]]}return!0}function DC(e){if(e===null)return[];var n,o,r,i,a,l=e;for(a=new Array(l.length),n=0,o=l.length;n<o;n+=1)r=l[n],i=Object.keys(r),a[n]=[i[0],r[i[0]]];return a}var yd=new Qe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:RC,construct:DC}),MC=Object.prototype.hasOwnProperty;function LC(e){if(e===null)return!0;var n,o=e;for(n in o)if(MC.call(o,n)&&o[n]!==null)return!1;return!0}function FC(e){return e!==null?e:{}}var _d=new Qe("tag:yaml.org,2002:set",{kind:"mapping",resolve:LC,construct:FC}),Oa=dd.extend({implicit:[pd,md],explicit:[gd,hd,yd,_d]}),Wt=Object.prototype.hasOwnProperty,Pr=1,bd=2,wd=3,Tr=4,$a=1,UC=2,kd=3,KC=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,jC=/[\x85\u2028\u2029]/,qC=/[,\[\]\{\}]/,Cd=/^(?:!|!!|![a-z\-]+!)$/i,Ed=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Nd(e){return Object.prototype.toString.call(e)}function xt(e){return e===10||e===13}function gn(e){return e===9||e===32}function it(e){return e===9||e===32||e===10||e===13}function Un(e){return e===44||e===91||e===93||e===123||e===125}function GC(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function zC(e){return e===120?2:e===117?4:e===85?8:0}function HC(e){return 48<=e&&e<=57?e-48:-1}function Sd(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
21
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function YC(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}for(var vd=new Array(256),xd=new Array(256),Kn=0;Kn<256;Kn++)vd[Kn]=Sd(Kn)?1:0,xd[Kn]=Sd(Kn);function WC(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||Oa,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Ad(e,n){var o={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return o.snippet=Qk(o),new ot(n,o)}function ke(e,n){throw Ad(e,n)}function Or(e,n){e.onWarning&&e.onWarning.call(null,Ad(e,n))}var Id={YAML:function(n,o,r){var i,a,l;n.version!==null&&ke(n,"duplication of %YAML directive"),r.length!==1&&ke(n,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),i===null&&ke(n,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),l=parseInt(i[2],10),a!==1&&ke(n,"unacceptable YAML version of the document"),n.version=r[0],n.checkLineBreaks=l<2,l!==1&&l!==2&&Or(n,"unsupported YAML version of the document")},TAG:function(n,o,r){var i,a;r.length!==2&&ke(n,"TAG directive accepts exactly two arguments"),i=r[0],a=r[1],Cd.test(i)||ke(n,"ill-formed tag handle (first argument) of the TAG directive"),Wt.call(n.tagMap,i)&&ke(n,'there is a previously declared suffix for "'+i+'" tag handle'),Ed.test(a)||ke(n,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{ke(n,"tag prefix is malformed: "+a)}n.tagMap[i]=a}};function Xt(e,n,o,r){var i,a,l,s;if(n<o){if(s=e.input.slice(n,o),r)for(i=0,a=s.length;i<a;i+=1)l=s.charCodeAt(i),l===9||32<=l&&l<=1114111||ke(e,"expected valid JSON character");else KC.test(s)&&ke(e,"the stream contains non-printable characters");e.result+=s}}function Pd(e,n,o,r){var i,a,l,s;for(Xe.isObject(o)||ke(e,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(o),l=0,s=i.length;l<s;l+=1)a=i[l],Wt.call(n,a)||(n[a]=o[a],r[a]=!0)}function jn(e,n,o,r,i,a,l,s,c){var d,f;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),d=0,f=i.length;d<f;d+=1)Array.isArray(i[d])&&ke(e,"nested arrays are not supported inside keys"),typeof i=="object"&&Nd(i[d])==="[object Object]"&&(i[d]="[object Object]");if(typeof i=="object"&&Nd(i)==="[object Object]"&&(i="[object Object]"),i=String(i),n===null&&(n={}),r==="tag:yaml.org,2002:merge")if(Array.isArray(a))for(d=0,f=a.length;d<f;d+=1)Pd(e,n,a[d],o);else Pd(e,n,a,o);else!e.json&&!Wt.call(o,i)&&Wt.call(n,i)&&(e.line=l||e.line,e.lineStart=s||e.lineStart,e.position=c||e.position,ke(e,"duplicated mapping key")),i==="__proto__"?Object.defineProperty(n,i,{configurable:!0,enumerable:!0,writable:!0,value:a}):n[i]=a,delete o[i];return n}function Ba(e){var n;n=e.input.charCodeAt(e.position),n===10?e.position++:n===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):ke(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function qe(e,n,o){for(var r=0,i=e.input.charCodeAt(e.position);i!==0;){for(;gn(i);)i===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),i=e.input.charCodeAt(++e.position);if(n&&i===35)do i=e.input.charCodeAt(++e.position);while(i!==10&&i!==13&&i!==0);if(xt(i))for(Ba(e),i=e.input.charCodeAt(e.position),r++,e.lineIndent=0;i===32;)e.lineIndent++,i=e.input.charCodeAt(++e.position);else break}return o!==-1&&r!==0&&e.lineIndent<o&&Or(e,"deficient indentation"),r}function $r(e){var n=e.position,o;return o=e.input.charCodeAt(n),!!((o===45||o===46)&&o===e.input.charCodeAt(n+1)&&o===e.input.charCodeAt(n+2)&&(n+=3,o=e.input.charCodeAt(n),o===0||it(o)))}function Va(e,n){n===1?e.result+=" ":n>1&&(e.result+=Xe.repeat(`
|
|
22
|
+
`,n-1))}function XC(e,n,o){var r,i,a,l,s,c,d,f,u=e.kind,p=e.result,m;if(m=e.input.charCodeAt(e.position),it(m)||Un(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=e.input.charCodeAt(e.position+1),it(i)||o&&Un(i)))return!1;for(e.kind="scalar",e.result="",a=l=e.position,s=!1;m!==0;){if(m===58){if(i=e.input.charCodeAt(e.position+1),it(i)||o&&Un(i))break}else if(m===35){if(r=e.input.charCodeAt(e.position-1),it(r))break}else{if(e.position===e.lineStart&&$r(e)||o&&Un(m))break;if(xt(m))if(c=e.line,d=e.lineStart,f=e.lineIndent,qe(e,!1,-1),e.lineIndent>=n){s=!0,m=e.input.charCodeAt(e.position);continue}else{e.position=l,e.line=c,e.lineStart=d,e.lineIndent=f;break}}s&&(Xt(e,a,l,!1),Va(e,e.line-c),a=l=e.position,s=!1),gn(m)||(l=e.position+1),m=e.input.charCodeAt(++e.position)}return Xt(e,a,l,!1),e.result?!0:(e.kind=u,e.result=p,!1)}function ZC(e,n){var o,r,i;if(o=e.input.charCodeAt(e.position),o!==39)return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;(o=e.input.charCodeAt(e.position))!==0;)if(o===39)if(Xt(e,r,e.position,!0),o=e.input.charCodeAt(++e.position),o===39)r=e.position,e.position++,i=e.position;else return!0;else xt(o)?(Xt(e,r,i,!0),Va(e,qe(e,!1,n)),r=i=e.position):e.position===e.lineStart&&$r(e)?ke(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);ke(e,"unexpected end of the stream within a single quoted scalar")}function JC(e,n){var o,r,i,a,l,s;if(s=e.input.charCodeAt(e.position),s!==34)return!1;for(e.kind="scalar",e.result="",e.position++,o=r=e.position;(s=e.input.charCodeAt(e.position))!==0;){if(s===34)return Xt(e,o,e.position,!0),e.position++,!0;if(s===92){if(Xt(e,o,e.position,!0),s=e.input.charCodeAt(++e.position),xt(s))qe(e,!1,n);else if(s<256&&vd[s])e.result+=xd[s],e.position++;else if((l=zC(s))>0){for(i=l,a=0;i>0;i--)s=e.input.charCodeAt(++e.position),(l=GC(s))>=0?a=(a<<4)+l:ke(e,"expected hexadecimal character");e.result+=YC(a),e.position++}else ke(e,"unknown escape sequence");o=r=e.position}else xt(s)?(Xt(e,o,r,!0),Va(e,qe(e,!1,n)),o=r=e.position):e.position===e.lineStart&&$r(e)?ke(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}ke(e,"unexpected end of the stream within a double quoted scalar")}function QC(e,n){var o=!0,r,i,a,l=e.tag,s,c=e.anchor,d,f,u,p,m,h=Object.create(null),y,g,_,b;if(b=e.input.charCodeAt(e.position),b===91)f=93,m=!1,s=[];else if(b===123)f=125,m=!0,s={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),b=e.input.charCodeAt(++e.position);b!==0;){if(qe(e,!0,n),b=e.input.charCodeAt(e.position),b===f)return e.position++,e.tag=l,e.anchor=c,e.kind=m?"mapping":"sequence",e.result=s,!0;o?b===44&&ke(e,"expected the node content, but found ','"):ke(e,"missed comma between flow collection entries"),g=y=_=null,u=p=!1,b===63&&(d=e.input.charCodeAt(e.position+1),it(d)&&(u=p=!0,e.position++,qe(e,!0,n))),r=e.line,i=e.lineStart,a=e.position,qn(e,n,Pr,!1,!0),g=e.tag,y=e.result,qe(e,!0,n),b=e.input.charCodeAt(e.position),(p||e.line===r)&&b===58&&(u=!0,b=e.input.charCodeAt(++e.position),qe(e,!0,n),qn(e,n,Pr,!1,!0),_=e.result),m?jn(e,s,h,g,y,_,r,i,a):u?s.push(jn(e,null,h,g,y,_,r,i,a)):s.push(y),qe(e,!0,n),b=e.input.charCodeAt(e.position),b===44?(o=!0,b=e.input.charCodeAt(++e.position)):o=!1}ke(e,"unexpected end of the stream within a flow collection")}function eE(e,n){var o,r,i=$a,a=!1,l=!1,s=n,c=0,d=!1,f,u;if(u=e.input.charCodeAt(e.position),u===124)r=!1;else if(u===62)r=!0;else return!1;for(e.kind="scalar",e.result="";u!==0;)if(u=e.input.charCodeAt(++e.position),u===43||u===45)$a===i?i=u===43?kd:UC:ke(e,"repeat of a chomping mode identifier");else if((f=HC(u))>=0)f===0?ke(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?ke(e,"repeat of an indentation width identifier"):(s=n+f-1,l=!0);else break;if(gn(u)){do u=e.input.charCodeAt(++e.position);while(gn(u));if(u===35)do u=e.input.charCodeAt(++e.position);while(!xt(u)&&u!==0)}for(;u!==0;){for(Ba(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!l||e.lineIndent<s)&&u===32;)e.lineIndent++,u=e.input.charCodeAt(++e.position);if(!l&&e.lineIndent>s&&(s=e.lineIndent),xt(u)){c++;continue}if(e.lineIndent<s){i===kd?e.result+=Xe.repeat(`
|
|
23
23
|
`,a?1+c:c):i===$a&&a&&(e.result+=`
|
|
24
24
|
`);break}for(r?gn(u)?(d=!0,e.result+=Xe.repeat(`
|
|
25
25
|
`,a?1+c:c)):d?(d=!1,e.result+=Xe.repeat(`
|
|
26
26
|
`,c+1)):c===0?a&&(e.result+=" "):e.result+=Xe.repeat(`
|
|
27
27
|
`,c):e.result+=Xe.repeat(`
|
|
28
|
-
`,a?1+c:c),a=!0,l=!0,c=0,o=e.position;!xt(u)&&u!==0;)u=e.input.charCodeAt(++e.position);Xt(e,o,e.position,!1)}return!0}function
|
|
29
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var o=new
|
|
28
|
+
`,a?1+c:c),a=!0,l=!0,c=0,o=e.position;!xt(u)&&u!==0;)u=e.input.charCodeAt(++e.position);Xt(e,o,e.position,!1)}return!0}function Td(e,n){var o,r=e.tag,i=e.anchor,a=[],l,s=!1,c;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),c=e.input.charCodeAt(e.position);c!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,ke(e,"tab characters must not be used in indentation")),!(c!==45||(l=e.input.charCodeAt(e.position+1),!it(l))));){if(s=!0,e.position++,qe(e,!0,-1)&&e.lineIndent<=n){a.push(null),c=e.input.charCodeAt(e.position);continue}if(o=e.line,qn(e,n,wd,!1,!0),a.push(e.result),qe(e,!0,-1),c=e.input.charCodeAt(e.position),(e.line===o||e.lineIndent>n)&&c!==0)ke(e,"bad indentation of a sequence entry");else if(e.lineIndent<n)break}return s?(e.tag=r,e.anchor=i,e.kind="sequence",e.result=a,!0):!1}function tE(e,n,o){var r,i,a,l,s,c,d=e.tag,f=e.anchor,u={},p=Object.create(null),m=null,h=null,y=null,g=!1,_=!1,b;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=u),b=e.input.charCodeAt(e.position);b!==0;){if(!g&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,ke(e,"tab characters must not be used in indentation")),r=e.input.charCodeAt(e.position+1),a=e.line,(b===63||b===58)&&it(r))b===63?(g&&(jn(e,u,p,m,h,null,l,s,c),m=h=y=null),_=!0,g=!0,i=!0):g?(g=!1,i=!0):ke(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,b=r;else{if(l=e.line,s=e.lineStart,c=e.position,!qn(e,o,bd,!1,!0))break;if(e.line===a){for(b=e.input.charCodeAt(e.position);gn(b);)b=e.input.charCodeAt(++e.position);if(b===58)b=e.input.charCodeAt(++e.position),it(b)||ke(e,"a whitespace character is expected after the key-value separator within a block mapping"),g&&(jn(e,u,p,m,h,null,l,s,c),m=h=y=null),_=!0,g=!1,i=!1,m=e.tag,h=e.result;else if(_)ke(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=d,e.anchor=f,!0}else if(_)ke(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=d,e.anchor=f,!0}if((e.line===a||e.lineIndent>n)&&(g&&(l=e.line,s=e.lineStart,c=e.position),qn(e,n,Tr,!0,i)&&(g?h=e.result:y=e.result),g||(jn(e,u,p,m,h,y,l,s,c),m=h=y=null),qe(e,!0,-1),b=e.input.charCodeAt(e.position)),(e.line===a||e.lineIndent>n)&&b!==0)ke(e,"bad indentation of a mapping entry");else if(e.lineIndent<n)break}return g&&jn(e,u,p,m,h,null,l,s,c),_&&(e.tag=d,e.anchor=f,e.kind="mapping",e.result=u),_}function nE(e){var n,o=!1,r=!1,i,a,l;if(l=e.input.charCodeAt(e.position),l!==33)return!1;if(e.tag!==null&&ke(e,"duplication of a tag property"),l=e.input.charCodeAt(++e.position),l===60?(o=!0,l=e.input.charCodeAt(++e.position)):l===33?(r=!0,i="!!",l=e.input.charCodeAt(++e.position)):i="!",n=e.position,o){do l=e.input.charCodeAt(++e.position);while(l!==0&&l!==62);e.position<e.length?(a=e.input.slice(n,e.position),l=e.input.charCodeAt(++e.position)):ke(e,"unexpected end of the stream within a verbatim tag")}else{for(;l!==0&&!it(l);)l===33&&(r?ke(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(n-1,e.position+1),Cd.test(i)||ke(e,"named tag handle cannot contain such characters"),r=!0,n=e.position+1)),l=e.input.charCodeAt(++e.position);a=e.input.slice(n,e.position),qC.test(a)&&ke(e,"tag suffix cannot contain flow indicator characters")}a&&!Ed.test(a)&&ke(e,"tag name cannot contain such characters: "+a);try{a=decodeURIComponent(a)}catch{ke(e,"tag name is malformed: "+a)}return o?e.tag=a:Wt.call(e.tagMap,i)?e.tag=e.tagMap[i]+a:i==="!"?e.tag="!"+a:i==="!!"?e.tag="tag:yaml.org,2002:"+a:ke(e,'undeclared tag handle "'+i+'"'),!0}function oE(e){var n,o;if(o=e.input.charCodeAt(e.position),o!==38)return!1;for(e.anchor!==null&&ke(e,"duplication of an anchor property"),o=e.input.charCodeAt(++e.position),n=e.position;o!==0&&!it(o)&&!Un(o);)o=e.input.charCodeAt(++e.position);return e.position===n&&ke(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(n,e.position),!0}function rE(e){var n,o,r;if(r=e.input.charCodeAt(e.position),r!==42)return!1;for(r=e.input.charCodeAt(++e.position),n=e.position;r!==0&&!it(r)&&!Un(r);)r=e.input.charCodeAt(++e.position);return e.position===n&&ke(e,"name of an alias node must contain at least one character"),o=e.input.slice(n,e.position),Wt.call(e.anchorMap,o)||ke(e,'unidentified alias "'+o+'"'),e.result=e.anchorMap[o],qe(e,!0,-1),!0}function qn(e,n,o,r,i){var a,l,s,c=1,d=!1,f=!1,u,p,m,h,y,g;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=l=s=Tr===o||wd===o,r&&qe(e,!0,-1)&&(d=!0,e.lineIndent>n?c=1:e.lineIndent===n?c=0:e.lineIndent<n&&(c=-1)),c===1)for(;nE(e)||oE(e);)qe(e,!0,-1)?(d=!0,s=a,e.lineIndent>n?c=1:e.lineIndent===n?c=0:e.lineIndent<n&&(c=-1)):s=!1;if(s&&(s=d||i),(c===1||Tr===o)&&(Pr===o||bd===o?y=n:y=n+1,g=e.position-e.lineStart,c===1?s&&(Td(e,g)||tE(e,g,y))||QC(e,y)?f=!0:(l&&eE(e,y)||ZC(e,y)||JC(e,y)?f=!0:rE(e)?(f=!0,(e.tag!==null||e.anchor!==null)&&ke(e,"alias node should not have any properties")):XC(e,y,Pr===o)&&(f=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):c===0&&(f=s&&Td(e,g))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&ke(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),u=0,p=e.implicitTypes.length;u<p;u+=1)if(h=e.implicitTypes[u],h.resolve(e.result)){e.result=h.construct(e.result),e.tag=h.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(Wt.call(e.typeMap[e.kind||"fallback"],e.tag))h=e.typeMap[e.kind||"fallback"][e.tag];else for(h=null,m=e.typeMap.multi[e.kind||"fallback"],u=0,p=m.length;u<p;u+=1)if(e.tag.slice(0,m[u].tag.length)===m[u].tag){h=m[u];break}h||ke(e,"unknown tag !<"+e.tag+">"),e.result!==null&&h.kind!==e.kind&&ke(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result,e.tag)?(e.result=h.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):ke(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||f}function iE(e){var n=e.position,o,r,i,a=!1,l;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(l=e.input.charCodeAt(e.position))!==0&&(qe(e,!0,-1),l=e.input.charCodeAt(e.position),!(e.lineIndent>0||l!==37));){for(a=!0,l=e.input.charCodeAt(++e.position),o=e.position;l!==0&&!it(l);)l=e.input.charCodeAt(++e.position);for(r=e.input.slice(o,e.position),i=[],r.length<1&&ke(e,"directive name must not be less than one character in length");l!==0;){for(;gn(l);)l=e.input.charCodeAt(++e.position);if(l===35){do l=e.input.charCodeAt(++e.position);while(l!==0&&!xt(l));break}if(xt(l))break;for(o=e.position;l!==0&&!it(l);)l=e.input.charCodeAt(++e.position);i.push(e.input.slice(o,e.position))}l!==0&&Ba(e),Wt.call(Id,r)?Id[r](e,r,i):Or(e,'unknown document directive "'+r+'"')}if(qe(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,qe(e,!0,-1)):a&&ke(e,"directives end mark is expected"),qn(e,e.lineIndent-1,Tr,!1,!0),qe(e,!0,-1),e.checkLineBreaks&&jC.test(e.input.slice(n,e.position))&&Or(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&$r(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,qe(e,!0,-1));return}if(e.position<e.length-1)ke(e,"end of the stream or a document separator is expected");else return}function Od(e,n){e=String(e),n=n||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
29
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var o=new WC(e,n),r=e.indexOf("\0");for(r!==-1&&(o.position=r,ke(o,"null byte is not allowed in input")),o.input+="\0";o.input.charCodeAt(o.position)===32;)o.lineIndent+=1,o.position+=1;for(;o.position<o.length-1;)iE(o);return o.documents}function aE(e,n,o){n!==null&&typeof n=="object"&&typeof o>"u"&&(o=n,n=null);var r=Od(e,o);if(typeof n!="function")return r;for(var i=0,a=r.length;i<a;i+=1)n(r[i])}function lE(e,n){var o=Od(e,n);if(o.length!==0){if(o.length===1)return o[0];throw new ot("expected a single document in the stream, but found more")}}var sE=aE,cE=lE,$d={loadAll:sE,load:cE},Bd=Object.prototype.toString,Vd=Object.prototype.hasOwnProperty,Ra=65279,dE=9,vo=10,uE=13,fE=32,pE=33,mE=34,Da=35,gE=37,hE=38,yE=39,_E=42,Rd=44,bE=45,Br=58,wE=61,kE=62,CE=63,EE=64,Dd=91,Md=93,NE=96,Ld=123,SE=124,Fd=125,tt={};tt[0]="\\0",tt[7]="\\a",tt[8]="\\b",tt[9]="\\t",tt[10]="\\n",tt[11]="\\v",tt[12]="\\f",tt[13]="\\r",tt[27]="\\e",tt[34]='\\"',tt[92]="\\\\",tt[133]="\\N",tt[160]="\\_",tt[8232]="\\L",tt[8233]="\\P";var vE=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],xE=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function AE(e,n){var o,r,i,a,l,s,c;if(n===null)return{};for(o={},r=Object.keys(n),i=0,a=r.length;i<a;i+=1)l=r[i],s=String(n[l]),l.slice(0,2)==="!!"&&(l="tag:yaml.org,2002:"+l.slice(2)),c=e.compiledTypeMap.fallback[l],c&&Vd.call(c.styleAliases,s)&&(s=c.styleAliases[s]),o[l]=s;return o}function IE(e){var n,o,r;if(n=e.toString(16).toUpperCase(),e<=255)o="x",r=2;else if(e<=65535)o="u",r=4;else if(e<=4294967295)o="U",r=8;else throw new ot("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+o+Xe.repeat("0",r-n.length)+n}var PE=1,xo=2;function TE(e){this.schema=e.schema||Oa,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=Xe.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=AE(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?xo:PE,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Ud(e,n){for(var o=Xe.repeat(" ",n),r=0,i=-1,a="",l,s=e.length;r<s;)i=e.indexOf(`
|
|
30
30
|
`,r),i===-1?(l=e.slice(r),r=s):(l=e.slice(r,i+1),r=i+1),l.length&&l!==`
|
|
31
31
|
`&&(a+=o),a+=l;return a}function Ma(e,n){return`
|
|
32
|
-
`+Xe.repeat(" ",e.indent*n)}function
|
|
32
|
+
`+Xe.repeat(" ",e.indent*n)}function OE(e,n){var o,r,i;for(o=0,r=e.implicitTypes.length;o<r;o+=1)if(i=e.implicitTypes[o],i.resolve(n))return!0;return!1}function Vr(e){return e===fE||e===dE}function Ao(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==Ra||65536<=e&&e<=1114111}function Kd(e){return Ao(e)&&e!==Ra&&e!==uE&&e!==vo}function jd(e,n,o){var r=Kd(e),i=r&&!Vr(e);return(o?r:r&&e!==Rd&&e!==Dd&&e!==Md&&e!==Ld&&e!==Fd)&&e!==Da&&!(n===Br&&!i)||Kd(n)&&!Vr(n)&&e===Da||n===Br&&i}function $E(e){return Ao(e)&&e!==Ra&&!Vr(e)&&e!==bE&&e!==CE&&e!==Br&&e!==Rd&&e!==Dd&&e!==Md&&e!==Ld&&e!==Fd&&e!==Da&&e!==hE&&e!==_E&&e!==pE&&e!==SE&&e!==wE&&e!==kE&&e!==yE&&e!==mE&&e!==gE&&e!==EE&&e!==NE}function BE(e){return!Vr(e)&&e!==Br}function Io(e,n){var o=e.charCodeAt(n),r;return o>=55296&&o<=56319&&n+1<e.length&&(r=e.charCodeAt(n+1),r>=56320&&r<=57343)?(o-55296)*1024+r-56320+65536:o}function qd(e){var n=/^\n* /;return n.test(e)}var Gd=1,La=2,zd=3,Hd=4,Gn=5;function VE(e,n,o,r,i,a,l,s){var c,d=0,f=null,u=!1,p=!1,m=r!==-1,h=-1,y=$E(Io(e,0))&&BE(Io(e,e.length-1));if(n||l)for(c=0;c<e.length;d>=65536?c+=2:c++){if(d=Io(e,c),!Ao(d))return Gn;y=y&&jd(d,f,s),f=d}else{for(c=0;c<e.length;d>=65536?c+=2:c++){if(d=Io(e,c),d===vo)u=!0,m&&(p=p||c-h-1>r&&e[h+1]!==" ",h=c);else if(!Ao(d))return Gn;y=y&&jd(d,f,s),f=d}p=p||m&&c-h-1>r&&e[h+1]!==" "}return!u&&!p?y&&!l&&!i(e)?Gd:a===xo?Gn:La:o>9&&qd(e)?Gn:l?a===xo?Gn:La:p?Hd:zd}function RE(e,n,o,r,i){e.dump=function(){if(n.length===0)return e.quotingType===xo?'""':"''";if(!e.noCompatMode&&(vE.indexOf(n)!==-1||xE.test(n)))return e.quotingType===xo?'"'+n+'"':"'"+n+"'";var a=e.indent*Math.max(1,o),l=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),s=r||e.flowLevel>-1&&o>=e.flowLevel;function c(d){return OE(e,d)}switch(VE(n,s,e.indent,l,c,e.quotingType,e.forceQuotes&&!r,i)){case Gd:return n;case La:return"'"+n.replace(/'/g,"''")+"'";case zd:return"|"+Yd(n,e.indent)+Wd(Ud(n,a));case Hd:return">"+Yd(n,e.indent)+Wd(Ud(DE(n,l),a));case Gn:return'"'+ME(n)+'"';default:throw new ot("impossible error: invalid scalar style")}}()}function Yd(e,n){var o=qd(e)?String(n):"",r=e[e.length-1]===`
|
|
33
33
|
`,i=r&&(e[e.length-2]===`
|
|
34
34
|
`||e===`
|
|
35
35
|
`),a=i?"+":r?"":"-";return o+a+`
|
|
36
|
-
`}function
|
|
37
|
-
`?e.slice(0,-1):e}function
|
|
38
|
-
`);return d=d!==-1?d:e.length,o.lastIndex=d,
|
|
36
|
+
`}function Wd(e){return e[e.length-1]===`
|
|
37
|
+
`?e.slice(0,-1):e}function DE(e,n){for(var o=/(\n+)([^\n]*)/g,r=function(){var d=e.indexOf(`
|
|
38
|
+
`);return d=d!==-1?d:e.length,o.lastIndex=d,Xd(e.slice(0,d),n)}(),i=e[0]===`
|
|
39
39
|
`||e[0]===" ",a,l;l=o.exec(e);){var s=l[1],c=l[2];a=c[0]===" ",r+=s+(!i&&!a&&c!==""?`
|
|
40
|
-
`:"")+
|
|
40
|
+
`:"")+Xd(c,n),i=a}return r}function Xd(e,n){if(e===""||e[0]===" ")return e;for(var o=/ [^ ]/g,r,i=0,a,l=0,s=0,c="";r=o.exec(e);)s=r.index,s-i>n&&(a=l>i?l:s,c+=`
|
|
41
41
|
`+e.slice(i,a),i=a+1),l=s;return c+=`
|
|
42
42
|
`,e.length-i>n&&l>i?c+=e.slice(i,l)+`
|
|
43
|
-
`+e.slice(l+1):c+=e.slice(i),c.slice(1)}function
|
|
44
|
-
`:""}var
|
|
43
|
+
`+e.slice(l+1):c+=e.slice(i),c.slice(1)}function ME(e){for(var n="",o=0,r,i=0;i<e.length;o>=65536?i+=2:i++)o=Io(e,i),r=tt[o],!r&&Ao(o)?(n+=e[i],o>=65536&&(n+=e[i+1])):n+=r||IE(o);return n}function LE(e,n,o){var r="",i=e.tag,a,l,s;for(a=0,l=o.length;a<l;a+=1)s=o[a],e.replacer&&(s=e.replacer.call(o,String(a),s)),(Ft(e,n,s,!1,!1)||typeof s>"u"&&Ft(e,n,null,!1,!1))&&(r!==""&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=i,e.dump="["+r+"]"}function Zd(e,n,o,r){var i="",a=e.tag,l,s,c;for(l=0,s=o.length;l<s;l+=1)c=o[l],e.replacer&&(c=e.replacer.call(o,String(l),c)),(Ft(e,n+1,c,!0,!0,!1,!0)||typeof c>"u"&&Ft(e,n+1,null,!0,!0,!1,!0))&&((!r||i!=="")&&(i+=Ma(e,n)),e.dump&&vo===e.dump.charCodeAt(0)?i+="-":i+="- ",i+=e.dump);e.tag=a,e.dump=i||"[]"}function FE(e,n,o){var r="",i=e.tag,a=Object.keys(o),l,s,c,d,f;for(l=0,s=a.length;l<s;l+=1)f="",r!==""&&(f+=", "),e.condenseFlow&&(f+='"'),c=a[l],d=o[c],e.replacer&&(d=e.replacer.call(o,c,d)),Ft(e,n,c,!1,!1)&&(e.dump.length>1024&&(f+="? "),f+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Ft(e,n,d,!1,!1)&&(f+=e.dump,r+=f));e.tag=i,e.dump="{"+r+"}"}function UE(e,n,o,r){var i="",a=e.tag,l=Object.keys(o),s,c,d,f,u,p;if(e.sortKeys===!0)l.sort();else if(typeof e.sortKeys=="function")l.sort(e.sortKeys);else if(e.sortKeys)throw new ot("sortKeys must be a boolean or a function");for(s=0,c=l.length;s<c;s+=1)p="",(!r||i!=="")&&(p+=Ma(e,n)),d=l[s],f=o[d],e.replacer&&(f=e.replacer.call(o,d,f)),Ft(e,n+1,d,!0,!0,!0)&&(u=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,u&&(e.dump&&vo===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,u&&(p+=Ma(e,n)),Ft(e,n+1,f,!0,u)&&(e.dump&&vo===e.dump.charCodeAt(0)?p+=":":p+=": ",p+=e.dump,i+=p));e.tag=a,e.dump=i||"{}"}function Jd(e,n,o){var r,i,a,l,s,c;for(i=o?e.explicitTypes:e.implicitTypes,a=0,l=i.length;a<l;a+=1)if(s=i[a],(s.instanceOf||s.predicate)&&(!s.instanceOf||typeof n=="object"&&n instanceof s.instanceOf)&&(!s.predicate||s.predicate(n))){if(o?s.multi&&s.representName?e.tag=s.representName(n):e.tag=s.tag:e.tag="?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,Bd.call(s.represent)==="[object Function]")r=s.represent(n,c);else if(Vd.call(s.represent,c))r=s.represent[c](n,c);else throw new ot("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');e.dump=r}return!0}return!1}function Ft(e,n,o,r,i,a,l){e.tag=null,e.dump=o,Jd(e,o,!1)||Jd(e,o,!0);var s=Bd.call(e.dump),c=r,d;r&&(r=e.flowLevel<0||e.flowLevel>n);var f=s==="[object Object]"||s==="[object Array]",u,p;if(f&&(u=e.duplicates.indexOf(o),p=u!==-1),(e.tag!==null&&e.tag!=="?"||p||e.indent!==2&&n>0)&&(i=!1),p&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(f&&p&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),s==="[object Object]")r&&Object.keys(e.dump).length!==0?(UE(e,n,e.dump,i),p&&(e.dump="&ref_"+u+e.dump)):(FE(e,n,e.dump),p&&(e.dump="&ref_"+u+" "+e.dump));else if(s==="[object Array]")r&&e.dump.length!==0?(e.noArrayIndent&&!l&&n>0?Zd(e,n-1,e.dump,i):Zd(e,n,e.dump,i),p&&(e.dump="&ref_"+u+e.dump)):(LE(e,n,e.dump),p&&(e.dump="&ref_"+u+" "+e.dump));else if(s==="[object String]")e.tag!=="?"&&RE(e,e.dump,n,a,c);else{if(s==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new ot("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(d=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?d="!"+d:d.slice(0,18)==="tag:yaml.org,2002:"?d="!!"+d.slice(18):d="!<"+d+">",e.dump=d+" "+e.dump)}return!0}function KE(e,n){var o=[],r=[],i,a;for(Fa(e,o,r),i=0,a=r.length;i<a;i+=1)n.duplicates.push(o[r[i]]);n.usedDuplicates=new Array(a)}function Fa(e,n,o){var r,i,a;if(e!==null&&typeof e=="object")if(i=n.indexOf(e),i!==-1)o.indexOf(i)===-1&&o.push(i);else if(n.push(e),Array.isArray(e))for(i=0,a=e.length;i<a;i+=1)Fa(e[i],n,o);else for(r=Object.keys(e),i=0,a=r.length;i<a;i+=1)Fa(e[r[i]],n,o)}function jE(e,n){n=n||{};var o=new TE(n);o.noRefs||KE(e,o);var r=e;return o.replacer&&(r=o.replacer.call({"":r},"",r)),Ft(o,0,r,!0,!0)?o.dump+`
|
|
44
|
+
`:""}var qE=jE,GE={dump:qE};function Ua(e,n){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var zE=Qe,HE=ed,YE=rd,Rr=cd,WE=dd,XE=Oa,ZE=$d.load,JE=$d.loadAll,QE=GE.dump,eN=ot,tN={binary:gd,float:sd,map:od,null:id,pairs:yd,set:_d,timestamp:pd,bool:ad,int:ld,merge:md,omap:hd,seq:nd,str:td},nN=Ua("safeLoad","load"),oN=Ua("safeLoadAll","loadAll"),rN=Ua("safeDump","dump"),Ka={Type:zE,Schema:HE,FAILSAFE_SCHEMA:YE,JSON_SCHEMA:Rr,CORE_SCHEMA:WE,DEFAULT_SCHEMA:XE,load:ZE,loadAll:JE,dump:QE,YAMLException:eN,types:tN,safeLoad:nN,safeLoadAll:oN,safeDump:rN};const ja=Object.freeze(Object.defineProperty({__proto__:null,authenticate:`nodes:
|
|
45
45
|
- name: STATIC_INPUTS
|
|
46
46
|
type: static
|
|
47
47
|
values:
|
|
@@ -115,13 +115,13 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
|
|
|
115
115
|
type: exit
|
|
116
116
|
input: API
|
|
117
117
|
status: 200
|
|
118
|
-
`},Symbol.toStringTag,{value:"Module"})),
|
|
119
|
-
`)[0],w=[{startLineNumber:g+1,startColumn:_+1,endLineNumber:g+1,endColumn:_+2,message:b,severity:ur.MarkerSeverity.Error,source:qa}];ur.editor.setModelMarkers(u,qa,w),a("error",b)}})}),t.onBeforeUnmount(()=>{var f;(f=s.value)==null||f.dispose()}),n({setExampleCode:c}),(f,u)=>(t.openBlock(),t.createElementBlock("div",aN,[t.createVNode(t.unref(xe.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ce.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",lN,[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(ja,(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",sN,null,512)]))}}),[["__scopeId","data-v-5f51e876"]]),eu=44,uN=220,tu=366,fN=eu+parseFloat(Hc),nu=["request","service_request","service_response","response","vault"],hn=nu,ou=["call","jq","exit","property","static","branch","cache"],ru=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],Po="application/x-datakit+json",Dr={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:Ga}=je.createI18n("en-us",We);function gt(e){return Ga(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function yn(e){return Ga(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function pN(e){return Ga(`plugins.free-form.datakit.flow_editor.node_types.${e}.name`)}const Mr={call:{type:"call",summary:yn("call"),description:gt("call"),icon:Ce.NetworkIcon,io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}}},jq:{type:"jq",summary:yn("jq"),description:gt("jq"),icon:Ce.CodeblockIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},exit:{type:"exit",summary:yn("exit"),description:gt("exit"),icon:Ce.GatewayIcon,io:{input:{fields:[{name:"headers"},{name:"body"}]}}},property:{type:"property",summary:yn("property"),description:gt("property"),icon:Ce.StackIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},static:{type:"static",summary:yn("static"),description:gt("static"),icon:Ce.VitalsIcon,io:{output:{fields:[],configurable:!0}}},branch:{type:"branch",summary:yn("branch"),description:gt("branch"),icon:Ce.ArrowSplitIcon},cache:{type:"cache",summary:yn("cache"),description:gt("cache"),icon:Ce.CachedIcon}},Lr={request:{type:"request",icon:Ce.CloudIcon,description:gt("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_request:{type:"service_request",description:gt("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_response:{type:"service_response",icon:Ce.CloudIcon,description:gt("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}}},response:{type:"response",description:gt("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}}},vault:{type:"vault",icon:Ce.KeyIcon,io:{output:{fields:[],configurable:!0}},hidden:!0}},iu=Object.keys(Lr),za=e=>iu.includes(e),At=e=>iu.includes(e),mN=e=>ou.includes(e),au=e=>At(e.type);function _n(e){return Rn(e)}function Hn(e){return`${e}:${Sr()}`}function Fr(e){const[n,o]=e.split(".");return{nodeName:n,fieldName:o}}function lu(e){const[n,o]=e.split(".");return{nodeId:n,fieldId:o}}function To(e){return At(e)?Lr[e]:Mr[e]}function su(e){var i,a,l,s,c,d;const n=To(e),o=((l=(a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields)==null?void 0:l.map(({name:f})=>f))??[],r=((d=(c=(s=n.io)==null?void 0:s.output)==null?void 0:c.fields)==null?void 0:d.map(({name:f})=>f))??[];return{input:o,output:r}}function cu(e){return(e??[]).map(n=>({id:Hn("field"),name:n}))}function Yn(e,n,o){if(o)return e.fields[n].find(r=>r.name===o)}function Zt(e,n,o){if(o)return e.fields[n].find(r=>r.id===o)}function Ha(e,n){return n?e.fields.output.some(o=>o.id===n):!0}function du(e,n){return n?e.fields.input.some(o=>o.id===n):!0}function gN(e){const n=["request","service_request","vault"].includes(e)?"request":"response",o=Lr[e];return{name:e,phase:n,position:{x:0,y:0},fields:su(o.type),expanded:{},hidden:o.hidden}}function uu(e,n){const r=(mN(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${r}_${i}`;if(!n.has(a))return a}}function hN(e,n){const{commit:o,undo:r,redo:i,canUndo:a,canRedo:l,clear:s,reset:c,undoStack:d,redoStack:f}=Ke.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let u;function p(w){var v;(v=n==null?void 0:n.onHistoryChange)==null||v.call(n,w,e.value)}function m(w){if(!w){u=void 0,o(),p("commit");return}if(w!=="*"&&u!==w){u=w,o(),p("commit");return}o(),d.value.shift(),p("commit")}function h(){r(),u=void 0,p("undo")}function y(){i(),u=void 0,p("redo")}function g(){s(),u=void 0,p("clear")}function _(){c(),u=void 0,p("reset")}function b(){r(),f.value.shift(),u=void 0,p("revert")}return{canUndo:a,canRedo:l,commit:m,undo:h,redo:y,clear:g,reset:_,revert:b}}function fu(e,n){var m,h,y,g,_;const o=((m=e.config)==null?void 0:m.nodes)??[],r=((h=e.__ui_data)==null?void 0:h.nodes)??[],i=((y=e.config)==null?void 0:y.resources)??{},a=new Map(r.map(b=>[b.name,b])),l=[],s=[],c=new Map,d=[],f=new Map,u=b=>{const w=new Set,v=[...b];for(;v.length>0;){const x=v.shift();if(!w.has(x)&&(w.add(x),za(x)||(c.get(x).phase="request"),!!f.has(x)))for(const S of f.get(x))w.has(S)||v.push(S)}};let p=!1;for(const b of o){const w=a.get(b.name);!w&&!p&&(p=!0);const v=mu(b.type,b,w,i);l.push(v),c.set(v.name,v)}for(const b of hn)if(!c.has(b)){let w=a.get(b);w||(p||(p=!0),w=gN(b));const v=mu(b,void 0,w,i);l.push(v),c.set(v.name,v)}for(const b of o)bN(b,d);for(const b of d){const w=c.get(b.source),v=c.get(b.target);if(!w||!v){w||console.warn(`[initEditorState] skip: source "${b.source}" not found`),v||console.warn(`[initEditorState] skip: target "${b.target}" not found`);continue}f.has(b.source)||f.set(b.source,new Set),f.get(b.source).add(b.target),f.has(b.target)||f.set(b.target,new Set),f.get(b.target).add(b.source),s.push({id:Hn("edge"),source:w.id,sourceField:(g=Yn(w,"output",b.sourceField))==null?void 0:g.id,target:v.id,targetField:(_=Yn(v,"input",b.targetField))==null?void 0:_.id})}return u(["request","service_request"]),{nodes:l,edges:s,pendingLayout:p?n?"keepHistory":"clearHistory":!1,pendingFitView:!0}}function pu(e){const{type:n,name:o,phase:r,position:i,fields:a,config:l}=e,s=su(n),c=To(n);return{id:Hn("node"),type:n,name:o??n,phase:r??"request",position:i??{x:0,y:0},expanded:{},fields:{input:cu((a==null?void 0:a.input)??s.input),output:cu((a==null?void 0:a.output)??s.output)},hidden:e.hidden||c.hidden,config:l?_n(l):{}}}function yN(e){return At(e)?e==="request"||e==="service_request"?"request":"response":"request"}function mu(e,n,o,r){return pu({type:e,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??yN(e),position:o==null?void 0:o.position,fields:wN(e,o,n,r),hidden:o==null?void 0:o.hidden,config:n?_N(n):void 0})}function _N(e){const{type:n,name:o,input:r,inputs:i,output:a,outputs:l,...s}=e;return _n(s)}function bN(e,n){const o=e.name;if(e.input){const{nodeName:r,fieldName:i}=Fr(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}=Fr(i);a&&n.push({source:a,sourceField:l,target:o,targetField:r})}if(e.output){const{nodeName:r,fieldName:i}=Fr(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}=Fr(i);a&&n.push({source:o,sourceField:r,target:a,targetField:l})}}function wN(e,n,o,r){var s,c,d,f;const i=To(e),a=i==null?void 0:i.io;if(!a)return;const l={};if((s=a.input)!=null&&s.configurable&&(n?l.input=((c=n.fields)==null?void 0:c.input)??[]:o!=null&&o.inputs&&(l.input=Object.keys(o.inputs))),(d=a.output)!=null&&d.configurable){if(n)l.output=((f=n.fields)==null?void 0:f.output)??[];else{const u=new Set;o!=null&&o.outputs&&Object.keys(o.outputs).forEach(p=>u.add(p)),(o==null?void 0:o.type)==="static"&&o.values&&Object.keys(o.values).forEach(p=>u.add(p)),u.size&&(l.output=Array.from(u))}e==="vault"&&(l.output=kN(r))}return Object.keys(l).length?l:void 0}function kN(e){return e!=null&&e.vault?Object.keys(e.vault):[]}function CN(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),f=n.value.get(c.target);if(!d||!f)return c;const u=du(d,c.sourceField)&&!Ha(d,c.sourceField),p=Ha(f,c.targetField);return u&&p?{source:c.target,sourceField:c.targetField,target:c.source,targetField:c.sourceField}:c}function i(c){const d=r(c),f=[],u=n.value.get(d.source),p=n.value.get(d.target);if(u||f.push("source node not found"),p||f.push("target node not found"),!u||!p)return{ok:!1,errors:f};Ha(u,d.sourceField)||f.push("source handle is not an output field"),du(p,d.targetField)||f.push("target handle is not an input field"),p.name==="request"&&f.push('cannot target "request"'),u.name==="response"&&f.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)&&f.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)&&f.push("target field already connected"),!d.targetField&&o.value.some(g=>g.target===d.target&&!g.targetField)&&f.push("target input already taken"),d.source===d.target&&f.push("self-loop not allowed");const y=Ur(o.value,d);return Ya(y)&&f.push("connection introduces a cycle"),f.length?{ok:!1,errors:f}:{ok:!0}}function a(){const c=[];for(const d of hn)[...n.value.values()].some(f=>f.name===d)||c.push(`missing implicit node "${d}"`);for(const d of o.value){const f=n.value.get(d.source);n.value.get(d.target).name==="request"&&c.push(`edge "${d.id}" targets "request"`),f.name==="response"&&c.push(`edge "${d.id}" sources from "response"`)}return Ya(Ur(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:Ur}}function Ya(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 Ur(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[gu,EN]=Ke.createInjectionState(function(n,o={}){const r=t.ref(fu(n)),i=t.ref(),a=t.ref(!1),l=t.ref(!1),s=hN(r,{capacity:200,clone:_n,onHistoryChange:E=>{var N;E!=="clear"&&((N=o.onChange)==null||N.call(o,le(),fe()))}}),c=t.ref(!1),d=t.ref(new Set);function f(){r.value.pendingLayout=!1,s.commit("*")}function u(E=!0){r.value.pendingFitView!==E&&(r.value.pendingFitView=E,s.commit("*"))}const p=t.computed(()=>new Map(r.value.nodes.map(E=>[E.id,E]))),m=t.computed(()=>new Map(r.value.nodes.map(E=>[E.name,E]))),h=t.computed(()=>{const E=new Map,N=new Map;for(const P of r.value.edges)E.set(P.id,P),N.has(P.source)||N.set(P.source,new Set),N.get(P.source).add(P.id),N.has(P.target)||N.set(P.target,new Set),N.get(P.target).add(P.id);return{edgeMapById:E,edgeIdMapByNodeId:N}}),y=t.computed(()=>h.value.edgeMapById),g=t.computed(()=>h.value.edgeIdMapByNodeId),_=t.computed(()=>new Set(r.value.nodes.map(E=>E.name))),{canonicalizeConnection:b,validateConnection:w,validateGraph:v,isValidConnection:x,isValidVueFlowConnection:S}=CN(r);function I(E){return p.value.get(E)}function $(E){return m.value.get(E)}function D(E){return y.value.get(E)}function j(E){if(!g.value.has(E))return[];const N=[];return g.value.get(E).forEach(P=>{const C=D(P);C&&N.push(C)}),N}function K(E){return j(E).filter(N=>N.target===E)}function k(E){return j(E).filter(N=>N.source===E)}const Y=t.computed(()=>i.value?I(i.value):void 0);function A(E){i.value=E}function F(E){if(At(E.type))throw new Error("[createNode] implicit nodes are fixed.");return pu({type:E.type,name:E.name||(At(E.type)?void 0:uu(E.type,_.value)),phase:E.phase,position:E.position,fields:E.fields,config:E.config})}function R(E,N=!0){const P=F(E);if(P)return r.value.nodes.push(P),N&&s.commit(),c.value=!0,P.id}function ee(E,N,P=!0){const C=I(E);if(!C||At(C.type))return;const O={..._n(C),id:Hn("node"),name:uu(C.name,_.value),position:N??{x:C.position.x+20,y:C.position.y+20}};return r.value.nodes.push(O),P&&s.commit(),c.value=!0,O.id}function q(E,N=!0){r.value.edges=r.value.edges.filter(C=>C.source!==E&&C.target!==E),r.value.nodes=r.value.nodes.filter(C=>C.id!==E),i.value===E&&(i.value=void 0);const P=v();P.ok||console.warn("[removeNode] topology invalid:",P.errors.join("; ")),N&&s.commit()}function H(E,N,P=!0,C){const O=I(E);if(O){if(za(O.name)){console.warn("[renameNode] implicit node name is reserved.");return}O.name=N,P&&s.commit(C)}}function U(E,N,P=!0){const C=I(E);C&&(C.position={...N},P&&s.commit())}function M(E,N,P,C=!0,O){const T=I(E);if(!T)return;const G=P??!T.expanded[N];G!==!!T.expanded[N]&&(T.expanded[N]=G,C&&s.commit(O??`toggle:${E}:${N}`))}function L(E,N,P=!0,C){const O=I(E);O&&(O.config=_n(N),P&&s.commit(C))}function Z(E,N,P,C=!0){const O=I(E);if(!O)return;const T=O.fields[N];if(T.some(G=>G.name===P)){console.warn(`[addField] field "${P}" already exists on ${N}.`);return}T.push({id:Hn("field"),name:P}),N==="input"?O.fields.input=T:O.fields.output=T,C&&s.commit()}function W(E,N,P,C=!0){const O=I(E);if(!O)return;const T=O.fields.input,G=O.fields.output,X=T.find(B=>B.id===N)??G.find(B=>B.id===N);X&&(X.name=P,C&&s.commit())}function re(E,N,P=!0,C=!0){const O=I(E);if(!O)return;const T=O.fields.input,G=O.fields.output,X=T.findIndex(V=>V.id===N);X>=0&&T.splice(X,1);const B=G.findIndex(V=>V.id===N);B>=0&&G.splice(B,1),O.fields.input=T,O.fields.output=G,P&&(r.value.edges=r.value.edges.filter(V=>V.sourceField!==N&&V.targetField!==N));const te=v();te.ok||console.warn("[removeField] topology invalid:",te.errors.join("; ")),C&&s.commit()}function ae(E,N=!0){const P=b(E),C=w(P);if(!C.ok){console.warn("[connectEdge] invalid connection:",C.errors.join("; "));return}const O={id:Hn("edge"),...P};r.value.edges.push(O);const T=v();if(!T.ok){r.value.edges.pop(),console.warn("[connectEdge] topology invalid:",T.errors.join("; "));return}return N&&s.commit(),O.id}function de(E,N,P=!0){ye(E,!1),ae(N,!1),P&&s.commit()}function ye(E,N=!0){const P=r.value.edges.findIndex(T=>T.id===E);if(P<0)return;const C=r.value.edges[P];r.value.edges.splice(P,1);const O=v();if(!O.ok){r.value.edges.splice(P,0,C),console.warn("[disconnectEdge] topology invalid:",O.errors.join("; "));return}N&&s.commit()}function Q(E,N=!0){const P=K(E);for(const C of P)ye(C.id,!1);N&&s.commit()}function ne(E,N=!0){const P=k(E);for(const C of P)ye(C.id,!1);N&&s.commit()}function le(){var N,P,C,O,T;const E=[];for(const G of r.value.nodes){if(At(G.type))continue;let X;const B={};let te;const V={};for(const oe of r.value.edges.filter(ue=>ue.target===G.id)){const ue=I(oe.source);if(!ue)continue;const ve=(N=Zt(ue,"output",oe.sourceField))==null?void 0:N.name,Ne=ve?`${ue.name}.${ve}`:ue.name,se=(P=Zt(G,"input",oe.targetField))==null?void 0:P.name;se?B[se]=Ne:X===void 0&&(X=Ne)}for(const oe of r.value.edges.filter(ue=>ue.source===G.id)){const ue=I(oe.target);if(!ue)continue;const ve=ue.type;if(!At(ve)||!((C=Lr[ve].io)!=null&&C.input))continue;const Ne=(O=Zt(ue,"input",oe.targetField))==null?void 0:O.name,se=Ne?`${ue.name}.${Ne}`:ue.name,ie=(T=Zt(G,"output",oe.sourceField))==null?void 0:T.name;ie?V[ie]=se:te===void 0&&(te=se)}const me={..._n(G.config),name:G.name,type:G.type};Object.keys(B).length>0?me.inputs=B:X!==void 0&&(me.input=X),Object.keys(V).length>0?me.outputs=V:te!==void 0&&(me.output=te),E.push(me)}return E}function fe(){return r.value.nodes.map(E=>_n({name:E.name,phase:E.phase,position:{...E.position},expanded:{...E.expanded},fields:{input:E.fields.input.map(N=>N.name),output:E.fields.output.map(N=>N.name)}}))}function ce(E,N){N&&s.commit(),r.value=fu(E,N),N||s.clear()}return{state:r,selection:i,modalOpen:a,skipValidation:c,invalidConfigNodeIds:d,propertiesPanelOpen:l,nodeMapById:p,nodeMapByName:m,edgeMapById:y,edgeIdMapByNodeId:g,getNodeById:I,getNodeByName:$,getEdgeById:D,getEdgesByNodeId:j,getInEdgesByNodeId:K,getOutEdgesByNodeId:k,selectedNode:Y,selectNode:A,createNode:F,addNode:R,duplicateNode:ee,removeNode:q,renameNode:H,moveNode:U,toggleExpanded:M,replaceConfig:L,addField:Z,renameField:W,removeField:re,connectEdge:ae,replaceConnection:de,disconnectEdge:ye,disconnectInEdges:Q,disconnectOutEdges:ne,toConfigNodes:le,toUINodes:fe,load:ce,commit:s.commit,undo:s.undo,redo:s.redo,canUndo:s.canUndo,canRedo:s.canRedo,clear:s.clear,reset:s.reset,revert:s.revert,isValidConnection:x,isValidVueFlowConnection:S,validateGraph:()=>v(),clearPendingLayout:f,setPendingFitView:u}});function at(){const e=EN();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const Wa=Ke.createGlobalState(()=>{const e=Ke.useLocalStorage("datakit-editor-mode","flow"),n=Ke.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}});function Kr(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function Ut(e){return typeof e=="function"?e():t.unref(e)}const NN=typeof window<"u"&&typeof document<"u",SN=e=>typeof e<"u",vN=Object.prototype.toString,xN=e=>vN.call(e)==="[object Object]",AN=()=>{};function IN(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 hu=e=>e();function PN(e=hu){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 yu(e,n=!1,o="Timeout"){return new Promise((r,i)=>{setTimeout(n?()=>i(o):r,e)})}function TN(e,n,o={}){const{eventFilter:r=hu,...i}=o;return t.watch(e,IN(r,n),i)}function Wn(e,n,o={}){const{eventFilter:r,...i}=o,{eventFilter:a,pause:l,resume:s,isActive:c}=PN(r);return{stop:TN(e,n,{...i,eventFilter:a}),pause:l,resume:s,isActive:c}}function ON(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=Ut(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 Xa(e,n=!1){function o(u,{flush:p="sync",deep:m=!1,timeout:h,throwOnTimeout:y}={}){let g=null;const b=[new Promise(w=>{g=t.watch(e,v=>{u(v)!==n&&(g==null||g(),w(v))},{flush:p,deep:m,immediate:!0})})];return h!=null&&b.push(yu(h,y).then(()=>Ut(e)).finally(()=>g==null?void 0:g())),Promise.race(b)}function r(u,p){if(!t.isRef(u))return o(v=>v===u,p);const{flush:m="sync",deep:h=!1,timeout:y,throwOnTimeout:g}=p??{};let _=null;const w=[new Promise(v=>{_=t.watch([e,u],([x,S])=>{n!==(x===S)&&(_==null||_(),v(x))},{flush:m,deep:h,immediate:!0})})];return y!=null&&w.push(yu(y,g).then(()=>Ut(e)).finally(()=>(_==null||_(),Ut(e)))),Promise.race(w)}function i(u){return o(p=>!!p,u)}function a(u){return r(null,u)}function l(u){return r(void 0,u)}function s(u){return o(Number.isNaN,u)}function c(u,p){return o(m=>{const h=Array.from(m);return h.includes(u)||h.includes(Ut(u))},p)}function d(u){return f(1,u)}function f(u=1,p){let m=-1;return o(()=>(m+=1,m>=u),p)}return Array.isArray(Ut(e))?{toMatch:o,toContains:c,changed:d,changedTimes:f,get not(){return Xa(e,!n)}}:{toMatch:o,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:l,changed:d,changedTimes:f,get not(){return Xa(e,!n)}}}function Za(e){return Xa(e)}function $N(e){var n;const o=Ut(e);return(n=o==null?void 0:o.$el)!=null?n:o}const _u=NN?window:void 0;function bu(...e){let n,o,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([o,r,i]=e,n=_u):[n,o,r,i]=e,!n)return AN;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const a=[],l=()=>{a.forEach(f=>f()),a.length=0},s=(f,u,p,m)=>(f.addEventListener(u,p,m),()=>f.removeEventListener(u,p,m)),c=t.watch(()=>[$N(n),Ut(i)],([f,u])=>{if(l(),!f)return;const p=xN(u)?{...u}:u;a.push(...o.flatMap(m=>r.map(h=>s(f,m,h,p))))},{immediate:!0,flush:"post"}),d=()=>{c(),l()};return Kr(d),d}function BN(e){return typeof e=="function"?e:typeof e=="string"?n=>n.key===e:Array.isArray(e)?n=>e.includes(n.key):()=>!0}function wu(...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=_u,eventName:a="keydown",passive:l=!1,dedupe:s=!1}=r,c=BN(n);return bu(i,a,f=>{f.repeat&&Ut(s)||c(f)&&o(f)},l)}function VN(e){return JSON.parse(JSON.stringify(e))}function Ja(e,n,o,r={}){var i,a,l;const{clone:s=!1,passive:c=!1,eventName:d,deep:f=!1,defaultValue:u,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=w=>s?typeof s=="function"?s(w):VN(w):w,_=()=>SN(e[n])?g(e[n]):u,b=w=>{p?p(w)&&h(y,w):h(y,w)};if(c){const w=_(),v=t.ref(w);let x=!1;return t.watch(()=>e[n],S=>{x||(x=!0,v.value=g(S),t.nextTick(()=>x=!1))}),t.watch(v,S=>{!x&&(S!==e[n]||f)&&b(S)},{deep:f}),v}else return t.computed({get(){return _()},set(w){b(w)}})}var RN={value:()=>{}};function jr(){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 qr(o)}function qr(e){this._=e}function DN(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}})}qr.prototype=jr.prototype={constructor:qr,on:function(e,n){var o=this._,r=DN(e+"",o),i,a=-1,l=r.length;if(arguments.length<2){for(;++a<l;)if((i=(e=r[a]).type)&&(i=MN(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]=ku(o[i],e.name,n);else if(n==null)for(i in o)o[i]=ku(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 qr(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 MN(e,n){for(var o=0,r=e.length,i;o<r;++o)if((i=e[o]).name===n)return i.value}function ku(e,n,o){for(var r=0,i=e.length;r<i;++r)if(e[r].name===n){e[r]=RN,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:n,value:o}),e}var Qa="http://www.w3.org/1999/xhtml";const Cu={svg:"http://www.w3.org/2000/svg",xhtml:Qa,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Gr(e){var n=e+="",o=n.indexOf(":");return o>=0&&(n=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),Cu.hasOwnProperty(n)?{space:Cu[n],local:e}:e}function LN(e){return function(){var n=this.ownerDocument,o=this.namespaceURI;return o===Qa&&n.documentElement.namespaceURI===Qa?n.createElement(e):n.createElementNS(o,e)}}function FN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Eu(e){var n=Gr(e);return(n.local?FN:LN)(n)}function UN(){}function el(e){return e==null?UN:function(){return this.querySelector(e)}}function KN(e){typeof e!="function"&&(e=el(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,f=0;f<l;++f)(c=a[f])&&(d=e.call(c,c.__data__,f,a))&&("__data__"in c&&(d.__data__=c.__data__),s[f]=d);return new dt(r,this._parents)}function jN(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function qN(){return[]}function Nu(e){return e==null?qN:function(){return this.querySelectorAll(e)}}function GN(e){return function(){return jN(e.apply(this,arguments))}}function zN(e){typeof e=="function"?e=GN(e):e=Nu(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 dt(r,i)}function Su(e){return function(){return this.matches(e)}}function vu(e){return function(n){return n.matches(e)}}var HN=Array.prototype.find;function YN(e){return function(){return HN.call(this.children,e)}}function WN(){return this.firstElementChild}function XN(e){return this.select(e==null?WN:YN(typeof e=="function"?e:vu(e)))}var ZN=Array.prototype.filter;function JN(){return Array.from(this.children)}function QN(e){return function(){return ZN.call(this.children,e)}}function e1(e){return this.selectAll(e==null?JN:QN(typeof e=="function"?e:vu(e)))}function t1(e){typeof e!="function"&&(e=Su(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 dt(r,this._parents)}function xu(e){return new Array(e.length)}function n1(){return new dt(this._enter||this._groups.map(xu),this._parents)}function zr(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}zr.prototype={constructor:zr,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 o1(e){return function(){return e}}function r1(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 zr(e,a[l]);for(;l<c;++l)(s=n[l])&&(i[l]=s)}function i1(e,n,o,r,i,a,l){var s,c,d=new Map,f=n.length,u=a.length,p=new Array(f),m;for(s=0;s<f;++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<u;++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 zr(e,a[s]);for(s=0;s<f;++s)(c=n[s])&&d.get(p[s])===c&&(i[s]=c)}function a1(e){return e.__data__}function l1(e,n){if(!arguments.length)return Array.from(this,a1);var o=n?i1:r1,r=this._parents,i=this._groups;typeof e!="function"&&(e=o1(e));for(var a=i.length,l=new Array(a),s=new Array(a),c=new Array(a),d=0;d<a;++d){var f=r[d],u=i[d],p=u.length,m=s1(e.call(f,f&&f.__data__,d,r)),h=m.length,y=s[d]=new Array(h),g=l[d]=new Array(h),_=c[d]=new Array(p);o(f,u,y,g,_,m,n);for(var b=0,w=0,v,x;b<h;++b)if(v=y[b]){for(b>=w&&(w=b+1);!(x=g[w])&&++w<h;);v._next=x||null}}return l=new dt(l,r),l._enter=s,l._exit=c,l}function s1(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function c1(){return new dt(this._exit||this._groups.map(xu),this._parents)}function d1(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 u1(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],f=r[c],u=d.length,p=s[c]=new Array(u),m,h=0;h<u;++h)(m=d[h]||f[h])&&(p[h]=m);for(;c<i;++c)s[c]=o[c];return new dt(s,this._parents)}function f1(){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 p1(e){e||(e=m1);function n(u,p){return u&&p?e(u.__data__,p.__data__):!u-!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,f=0;f<s;++f)(d=l[f])&&(c[f]=d);c.sort(n)}return new dt(i,this._parents).order()}function m1(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function g1(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function h1(){return Array.from(this)}function y1(){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 _1(){let e=0;for(const n of this)++e;return e}function b1(){return!this.node()}function w1(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 k1(e){return function(){this.removeAttribute(e)}}function C1(e){return function(){this.removeAttributeNS(e.space,e.local)}}function E1(e,n){return function(){this.setAttribute(e,n)}}function N1(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function S1(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function v1(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 x1(e,n){var o=Gr(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?C1:k1:typeof n=="function"?o.local?v1:S1:o.local?N1:E1)(o,n))}function Au(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function A1(e){return function(){this.style.removeProperty(e)}}function I1(e,n,o){return function(){this.style.setProperty(e,n,o)}}function P1(e,n,o){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function T1(e,n,o){return arguments.length>1?this.each((n==null?A1:typeof n=="function"?P1:I1)(e,n,o??"")):Xn(this.node(),e)}function Xn(e,n){return e.style.getPropertyValue(n)||Au(e).getComputedStyle(e,null).getPropertyValue(n)}function O1(e){return function(){delete this[e]}}function $1(e,n){return function(){this[e]=n}}function B1(e,n){return function(){var o=n.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function V1(e,n){return arguments.length>1?this.each((n==null?O1:typeof n=="function"?B1:$1)(e,n)):this.node()[e]}function Iu(e){return e.trim().split(/^|\s+/)}function tl(e){return e.classList||new Pu(e)}function Pu(e){this._node=e,this._names=Iu(e.getAttribute("class")||"")}Pu.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 Tu(e,n){for(var o=tl(e),r=-1,i=n.length;++r<i;)o.add(n[r])}function Ou(e,n){for(var o=tl(e),r=-1,i=n.length;++r<i;)o.remove(n[r])}function R1(e){return function(){Tu(this,e)}}function D1(e){return function(){Ou(this,e)}}function M1(e,n){return function(){(n.apply(this,arguments)?Tu:Ou)(this,e)}}function L1(e,n){var o=Iu(e+"");if(arguments.length<2){for(var r=tl(this.node()),i=-1,a=o.length;++i<a;)if(!r.contains(o[i]))return!1;return!0}return this.each((typeof n=="function"?M1:n?R1:D1)(o,n))}function F1(){this.textContent=""}function U1(e){return function(){this.textContent=e}}function K1(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function j1(e){return arguments.length?this.each(e==null?F1:(typeof e=="function"?K1:U1)(e)):this.node().textContent}function q1(){this.innerHTML=""}function G1(e){return function(){this.innerHTML=e}}function z1(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function H1(e){return arguments.length?this.each(e==null?q1:(typeof e=="function"?z1:G1)(e)):this.node().innerHTML}function Y1(){this.nextSibling&&this.parentNode.appendChild(this)}function W1(){return this.each(Y1)}function X1(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Z1(){return this.each(X1)}function J1(e){var n=typeof e=="function"?e:Eu(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Q1(){return null}function eS(e,n){var o=typeof e=="function"?e:Eu(e),r=n==null?Q1:typeof n=="function"?n:el(n);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function tS(){var e=this.parentNode;e&&e.removeChild(this)}function nS(){return this.each(tS)}function oS(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function rS(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function iS(e){return this.select(e?rS:oS)}function aS(e){return arguments.length?this.property("__data__",e):this.node().__data__}function lS(e){return function(n){e.call(this,n,this.__data__)}}function sS(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 cS(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 dS(e,n,o){return function(){var r=this.__on,i,a=lS(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 uS(e,n,o){var r=sS(e+""),i,a=r.length,l;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,d=s.length,f;c<d;++c)for(i=0,f=s[c];i<a;++i)if((l=r[i]).type===f.type&&l.name===f.name)return f.value}return}for(s=n?dS:cS,i=0;i<a;++i)this.each(s(r[i],n,o));return this}function $u(e,n,o){var r=Au(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 fS(e,n){return function(){return $u(this,e,n)}}function pS(e,n){return function(){return $u(this,e,n.apply(this,arguments))}}function mS(e,n){return this.each((typeof n=="function"?pS:fS)(e,n))}function*gS(){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 Bu=[null];function dt(e,n){this._groups=e,this._parents=n}function Oo(){return new dt([[document.documentElement]],Bu)}function hS(){return this}dt.prototype=Oo.prototype={constructor:dt,select:KN,selectAll:zN,selectChild:XN,selectChildren:e1,filter:t1,data:l1,enter:n1,exit:c1,join:d1,merge:u1,selection:hS,order:f1,sort:p1,call:g1,nodes:h1,node:y1,size:_1,empty:b1,each:w1,attr:x1,style:T1,property:V1,classed:L1,text:j1,html:H1,raise:W1,lower:Z1,append:J1,insert:eS,remove:nS,clone:iS,datum:aS,on:uS,dispatch:mS,[Symbol.iterator]:gS};function wt(e){return typeof e=="string"?new dt([[document.querySelector(e)]],[document.documentElement]):new dt([[e]],Bu)}function yS(e){let n;for(;n=e.sourceEvent;)e=n;return e}function It(e,n){if(e=yS(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 _S={passive:!1},$o={capture:!0,passive:!1};function nl(e){e.stopImmediatePropagation()}function Zn(e){e.preventDefault(),e.stopImmediatePropagation()}function Vu(e){var n=e.document.documentElement,o=wt(e).on("dragstart.drag",Zn,$o);"onselectstart"in n?o.on("selectstart.drag",Zn,$o):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Ru(e,n){var o=e.document.documentElement,r=wt(e).on("dragstart.drag",null);n&&(r.on("click.drag",Zn,$o),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 Hr=e=>()=>e;function ol(e,{sourceEvent:n,subject:o,target:r,identifier:i,active:a,x:l,y:s,dx:c,dy:d,dispatch:f}){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:f}})}ol.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function bS(e){return!e.ctrlKey&&!e.button}function wS(){return this.parentNode}function kS(e,n){return n??{x:e.x,y:e.y}}function CS(){return navigator.maxTouchPoints||"ontouchstart"in this}function ES(){var e=bS,n=wS,o=kS,r=CS,i={},a=jr("start","drag","end"),l=0,s,c,d,f,u=0;function p(v){v.on("mousedown.drag",m).filter(r).on("touchstart.drag",g).on("touchmove.drag",_,_S).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(v,x){if(!(f||!e.call(this,v,x))){var S=w(this,n.call(this,v,x),v,x,"mouse");S&&(wt(v.view).on("mousemove.drag",h,$o).on("mouseup.drag",y,$o),Vu(v.view),nl(v),d=!1,s=v.clientX,c=v.clientY,S("start",v))}}function h(v){if(Zn(v),!d){var x=v.clientX-s,S=v.clientY-c;d=x*x+S*S>u}i.mouse("drag",v)}function y(v){wt(v.view).on("mousemove.drag mouseup.drag",null),Ru(v.view,d),Zn(v),i.mouse("end",v)}function g(v,x){if(e.call(this,v,x)){var S=v.changedTouches,I=n.call(this,v,x),$=S.length,D,j;for(D=0;D<$;++D)(j=w(this,I,v,x,S[D].identifier,S[D]))&&(nl(v),j("start",v,S[D]))}}function _(v){var x=v.changedTouches,S=x.length,I,$;for(I=0;I<S;++I)($=i[x[I].identifier])&&(Zn(v),$("drag",v,x[I]))}function b(v){var x=v.changedTouches,S=x.length,I,$;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),I=0;I<S;++I)($=i[x[I].identifier])&&(nl(v),$("end",v,x[I]))}function w(v,x,S,I,$,D){var j=a.copy(),K=It(D||S,x),k,Y,A;if((A=o.call(v,new ol("beforestart",{sourceEvent:S,target:p,identifier:$,active:l,x:K[0],y:K[1],dx:0,dy:0,dispatch:j}),I))!=null)return k=A.x-K[0]||0,Y=A.y-K[1]||0,function F(R,ee,q){var H=K,U;switch(R){case"start":i[$]=F,U=l++;break;case"end":delete i[$],--l;case"drag":K=It(q||ee,x),U=l;break}j.call(R,v,new ol(R,{sourceEvent:ee,subject:A,target:p,identifier:$,active:U,x:K[0]+k,y:K[1]+Y,dx:K[0]-H[0],dy:K[1]-H[1],dispatch:j}),I)}}return p.filter=function(v){return arguments.length?(e=typeof v=="function"?v:Hr(!!v),p):e},p.container=function(v){return arguments.length?(n=typeof v=="function"?v:Hr(v),p):n},p.subject=function(v){return arguments.length?(o=typeof v=="function"?v:Hr(v),p):o},p.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:Hr(!!v),p):r},p.on=function(){var v=a.on.apply(a,arguments);return v===a?p:v},p.clickDistance=function(v){return arguments.length?(u=(v=+v)*v,p):Math.sqrt(u)},p}function rl(e,n,o){e.prototype=n.prototype=o,o.constructor=e}function Du(e,n){var o=Object.create(e.prototype);for(var r in n)o[r]=n[r];return o}function Bo(){}var Vo=.7,Yr=1/Vo,Jn="\\s*([+-]?\\d+)\\s*",Ro="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Pt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",NS=/^#([0-9a-f]{3,8})$/,SS=new RegExp(`^rgb\\(${Jn},${Jn},${Jn}\\)$`),vS=new RegExp(`^rgb\\(${Pt},${Pt},${Pt}\\)$`),xS=new RegExp(`^rgba\\(${Jn},${Jn},${Jn},${Ro}\\)$`),AS=new RegExp(`^rgba\\(${Pt},${Pt},${Pt},${Ro}\\)$`),IS=new RegExp(`^hsl\\(${Ro},${Pt},${Pt}\\)$`),PS=new RegExp(`^hsla\\(${Ro},${Pt},${Pt},${Ro}\\)$`),Mu={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};rl(Bo,bn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Lu,formatHex:Lu,formatHex8:TS,formatHsl:OS,formatRgb:Fu,toString:Fu});function Lu(){return this.rgb().formatHex()}function TS(){return this.rgb().formatHex8()}function OS(){return Gu(this).formatHsl()}function Fu(){return this.rgb().formatRgb()}function bn(e){var n,o;return e=(e+"").trim().toLowerCase(),(n=NS.exec(e))?(o=n[1].length,n=parseInt(n[1],16),o===6?Uu(n):o===3?new lt(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):o===8?Wr(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):o===4?Wr(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=SS.exec(e))?new lt(n[1],n[2],n[3],1):(n=vS.exec(e))?new lt(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=xS.exec(e))?Wr(n[1],n[2],n[3],n[4]):(n=AS.exec(e))?Wr(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=IS.exec(e))?qu(n[1],n[2]/100,n[3]/100,1):(n=PS.exec(e))?qu(n[1],n[2]/100,n[3]/100,n[4]):Mu.hasOwnProperty(e)?Uu(Mu[e]):e==="transparent"?new lt(NaN,NaN,NaN,0):null}function Uu(e){return new lt(e>>16&255,e>>8&255,e&255,1)}function Wr(e,n,o,r){return r<=0&&(e=n=o=NaN),new lt(e,n,o,r)}function $S(e){return e instanceof Bo||(e=bn(e)),e?(e=e.rgb(),new lt(e.r,e.g,e.b,e.opacity)):new lt}function il(e,n,o,r){return arguments.length===1?$S(e):new lt(e,n,o,r??1)}function lt(e,n,o,r){this.r=+e,this.g=+n,this.b=+o,this.opacity=+r}rl(lt,il,Du(Bo,{brighter(e){return e=e==null?Yr:Math.pow(Yr,e),new lt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Vo:Math.pow(Vo,e),new lt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new lt(wn(this.r),wn(this.g),wn(this.b),Xr(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:Ku,formatHex:Ku,formatHex8:BS,formatRgb:ju,toString:ju}));function Ku(){return`#${kn(this.r)}${kn(this.g)}${kn(this.b)}`}function BS(){return`#${kn(this.r)}${kn(this.g)}${kn(this.b)}${kn((isNaN(this.opacity)?1:this.opacity)*255)}`}function ju(){const e=Xr(this.opacity);return`${e===1?"rgb(":"rgba("}${wn(this.r)}, ${wn(this.g)}, ${wn(this.b)}${e===1?")":`, ${e})`}`}function Xr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function wn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function kn(e){return e=wn(e),(e<16?"0":"")+e.toString(16)}function qu(e,n,o,r){return r<=0?e=n=o=NaN:o<=0||o>=1?e=n=NaN:n<=0&&(e=NaN),new kt(e,n,o,r)}function Gu(e){if(e instanceof kt)return new kt(e.h,e.s,e.l,e.opacity);if(e instanceof Bo||(e=bn(e)),!e)return new kt;if(e instanceof kt)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 kt(l,s,c,e.opacity)}function VS(e,n,o,r){return arguments.length===1?Gu(e):new kt(e,n,o,r??1)}function kt(e,n,o,r){this.h=+e,this.s=+n,this.l=+o,this.opacity=+r}rl(kt,VS,Du(Bo,{brighter(e){return e=e==null?Yr:Math.pow(Yr,e),new kt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Vo:Math.pow(Vo,e),new kt(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 lt(al(e>=240?e-240:e+120,i,r),al(e,i,r),al(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new kt(zu(this.h),Zr(this.s),Zr(this.l),Xr(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=Xr(this.opacity);return`${e===1?"hsl(":"hsla("}${zu(this.h)}, ${Zr(this.s)*100}%, ${Zr(this.l)*100}%${e===1?")":`, ${e})`}`}}));function zu(e){return e=(e||0)%360,e<0?e+360:e}function Zr(e){return Math.max(0,Math.min(1,e||0))}function al(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 ll=e=>()=>e;function RS(e,n){return function(o){return e+o*n}}function DS(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 MS(e){return(e=+e)==1?Hu:function(n,o){return o-n?DS(n,o,e):ll(isNaN(n)?o:n)}}function Hu(e,n){var o=n-e;return o?RS(e,o):ll(isNaN(e)?n:e)}const Jr=function e(n){var o=MS(n);function r(i,a){var l=o((i=il(i)).r,(a=il(a)).r),s=o(i.g,a.g),c=o(i.b,a.b),d=Hu(i.opacity,a.opacity);return function(f){return i.r=l(f),i.g=s(f),i.b=c(f),i.opacity=d(f),i+""}}return r.gamma=e,r}(1);function LS(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 FS(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function US(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]=Do(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 KS(e,n){var o=new Date;return e=+e,n=+n,function(r){return o.setTime(e*(1-r)+n*r),o}}function Tt(e,n){return e=+e,n=+n,function(o){return e*(1-o)+n*o}}function jS(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]=Do(e[i],n[i]):r[i]=n[i];return function(a){for(i in o)r[i]=o[i](a);return r}}var sl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,cl=new RegExp(sl.source,"g");function qS(e){return function(){return e}}function GS(e){return function(n){return e(n)+""}}function Yu(e,n){var o=sl.lastIndex=cl.lastIndex=0,r,i,a,l=-1,s=[],c=[];for(e=e+"",n=n+"";(r=sl.exec(e))&&(i=cl.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:Tt(r,i)})),o=cl.lastIndex;return o<n.length&&(a=n.slice(o),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?GS(c[0].x):qS(n):(n=c.length,function(d){for(var f=0,u;f<n;++f)s[(u=c[f]).i]=u.x(d);return s.join("")})}function Do(e,n){var o=typeof n,r;return n==null||o==="boolean"?ll(n):(o==="number"?Tt:o==="string"?(r=bn(n))?(n=r,Jr):Yu:n instanceof bn?Jr:n instanceof Date?KS:FS(n)?LS:Array.isArray(n)?US:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?jS:Tt)(e,n)}var Wu=180/Math.PI,dl={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Xu(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)*Wu,skewX:Math.atan(c)*Wu,scaleX:l,scaleY:s}}var Qr;function zS(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?dl:Xu(n.a,n.b,n.c,n.d,n.e,n.f)}function HS(e){return e==null||(Qr||(Qr=document.createElementNS("http://www.w3.org/2000/svg","g")),Qr.setAttribute("transform",e),!(e=Qr.transform.baseVal.consolidate()))?dl:(e=e.matrix,Xu(e.a,e.b,e.c,e.d,e.e,e.f))}function Zu(e,n,o,r){function i(d){return d.length?d.pop()+" ":""}function a(d,f,u,p,m,h){if(d!==u||f!==p){var y=m.push("translate(",null,n,null,o);h.push({i:y-4,x:Tt(d,u)},{i:y-2,x:Tt(f,p)})}else(u||p)&&m.push("translate("+u+n+p+o)}function l(d,f,u,p){d!==f?(d-f>180?f+=360:f-d>180&&(d+=360),p.push({i:u.push(i(u)+"rotate(",null,r)-2,x:Tt(d,f)})):f&&u.push(i(u)+"rotate("+f+r)}function s(d,f,u,p){d!==f?p.push({i:u.push(i(u)+"skewX(",null,r)-2,x:Tt(d,f)}):f&&u.push(i(u)+"skewX("+f+r)}function c(d,f,u,p,m,h){if(d!==u||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");h.push({i:y-4,x:Tt(d,u)},{i:y-2,x:Tt(f,p)})}else(u!==1||p!==1)&&m.push(i(m)+"scale("+u+","+p+")")}return function(d,f){var u=[],p=[];return d=e(d),f=e(f),a(d.translateX,d.translateY,f.translateX,f.translateY,u,p),l(d.rotate,f.rotate,u,p),s(d.skewX,f.skewX,u,p),c(d.scaleX,d.scaleY,f.scaleX,f.scaleY,u,p),d=f=null,function(m){for(var h=-1,y=p.length,g;++h<y;)u[(g=p[h]).i]=g.x(m);return u.join("")}}}var YS=Zu(zS,"px, ","px)","deg)"),WS=Zu(HS,", ",")",")"),XS=1e-12;function Ju(e){return((e=Math.exp(e))+1/e)/2}function ZS(e){return((e=Math.exp(e))-1/e)/2}function JS(e){return((e=Math.exp(2*e))-1)/(e+1)}const ei=function e(n,o,r){function i(a,l){var s=a[0],c=a[1],d=a[2],f=l[0],u=l[1],p=l[2],m=f-s,h=u-c,y=m*m+h*h,g,_;if(y<XS)_=Math.log(p/d)/n,g=function(I){return[s+I*m,c+I*h,d*Math.exp(n*I*_)]};else{var b=Math.sqrt(y),w=(p*p-d*d+r*y)/(2*d*o*b),v=(p*p-d*d-r*y)/(2*p*o*b),x=Math.log(Math.sqrt(w*w+1)-w),S=Math.log(Math.sqrt(v*v+1)-v);_=(S-x)/n,g=function(I){var $=I*_,D=Ju(x),j=d/(o*b)*(D*JS(n*$+x)-ZS(x));return[s+j*m,c+j*h,d*D/Ju(n*$+x)]}}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 Qn=0,Mo=0,Lo=0,Qu=1e3,ti,Fo,ni=0,Cn=0,oi=0,Uo=typeof performance=="object"&&performance.now?performance:Date,ef=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ul(){return Cn||(ef(QS),Cn=Uo.now()+oi)}function QS(){Cn=0}function ri(){this._call=this._time=this._next=null}ri.prototype=tf.prototype={constructor:ri,restart:function(e,n,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?ul():+o)+(n==null?0:+n),!this._next&&Fo!==this&&(Fo?Fo._next=this:ti=this,Fo=this),this._call=e,this._time=o,fl()},stop:function(){this._call&&(this._call=null,this._time=1/0,fl())}};function tf(e,n,o){var r=new ri;return r.restart(e,n,o),r}function ev(){ul(),++Qn;for(var e=ti,n;e;)(n=Cn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Qn}function nf(){Cn=(ni=Uo.now())+oi,Qn=Mo=0;try{ev()}finally{Qn=0,nv(),Cn=0}}function tv(){var e=Uo.now(),n=e-ni;n>Qu&&(oi-=n,ni=e)}function nv(){for(var e,n=ti,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:ti=o);Fo=e,fl(r)}function fl(e){if(!Qn){Mo&&(Mo=clearTimeout(Mo));var n=e-Cn;n>24?(e<1/0&&(Mo=setTimeout(nf,e-Uo.now()-oi)),Lo&&(Lo=clearInterval(Lo))):(Lo||(ni=Uo.now(),Lo=setInterval(tv,Qu)),Qn=1,ef(nf))}}function of(e,n,o){var r=new ri;return n=n==null?0:+n,r.restart(i=>{r.stop(),e(i+n)},n,o),r}var ov=jr("start","end","cancel","interrupt"),rv=[],rf=0,af=1,pl=2,ii=3,lf=4,ml=5,ai=6;function li(e,n,o,r,i,a){var l=e.__transition;if(!l)e.__transition={};else if(o in l)return;iv(e,o,{name:n,index:r,group:i,on:ov,tween:rv,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:rf})}function gl(e,n){var o=Ct(e,n);if(o.state>rf)throw new Error("too late; already scheduled");return o}function Ot(e,n){var o=Ct(e,n);if(o.state>ii)throw new Error("too late; already running");return o}function Ct(e,n){var o=e.__transition;if(!o||!(o=o[n]))throw new Error("transition not found");return o}function iv(e,n,o){var r=e.__transition,i;r[n]=o,o.timer=tf(a,0,o.time);function a(d){o.state=af,o.timer.restart(l,o.delay,o.time),o.delay<=d&&l(d-o.delay)}function l(d){var f,u,p,m;if(o.state!==af)return c();for(f in r)if(m=r[f],m.name===o.name){if(m.state===ii)return of(l);m.state===lf?(m.state=ai,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[f]):+f<n&&(m.state=ai,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[f])}if(of(function(){o.state===ii&&(o.state=lf,o.timer.restart(s,o.delay,o.time),s(d))}),o.state=pl,o.on.call("start",e,e.__data__,o.index,o.group),o.state===pl){for(o.state=ii,i=new Array(p=o.tween.length),f=0,u=-1;f<p;++f)(m=o.tween[f].value.call(e,e.__data__,o.index,o.group))&&(i[++u]=m);i.length=u+1}}function s(d){for(var f=d<o.duration?o.ease.call(null,d/o.duration):(o.timer.restart(c),o.state=ml,1),u=-1,p=i.length;++u<p;)i[u].call(e,f);o.state===ml&&(o.on.call("end",e,e.__data__,o.index,o.group),c())}function c(){o.state=ai,o.timer.stop(),delete r[n];for(var d in r)return;delete e.__transition}}function si(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>pl&&r.state<ml,r.state=ai,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[l]}a&&delete e.__transition}}function av(e){return this.each(function(){si(this,e)})}function lv(e,n){var o,r;return function(){var i=Ot(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 sv(e,n,o){var r,i;if(typeof o!="function")throw new Error;return function(){var a=Ot(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 cv(e,n){var o=this._id;if(e+="",arguments.length<2){for(var r=Ct(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?lv:sv)(o,e,n))}function hl(e,n,o){var r=e._id;return e.each(function(){var i=Ot(this,r);(i.value||(i.value={}))[n]=o.apply(this,arguments)}),function(i){return Ct(i,r).value[n]}}function sf(e,n){var o;return(typeof n=="number"?Tt:n instanceof bn?Jr:(o=bn(n))?(n=o,Jr):Yu)(e,n)}function dv(e){return function(){this.removeAttribute(e)}}function uv(e){return function(){this.removeAttributeNS(e.space,e.local)}}function fv(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 pv(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 mv(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 gv(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 hv(e,n){var o=Gr(e),r=o==="transform"?WS:sf;return this.attrTween(e,typeof n=="function"?(o.local?gv:mv)(o,r,hl(this,"attr."+e,n)):n==null?(o.local?uv:dv)(o):(o.local?pv:fv)(o,r,n))}function yv(e,n){return function(o){this.setAttribute(e,n.call(this,o))}}function _v(e,n){return function(o){this.setAttributeNS(e.space,e.local,n.call(this,o))}}function bv(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&_v(e,a)),o}return i._value=n,i}function wv(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&yv(e,a)),o}return i._value=n,i}function kv(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=Gr(e);return this.tween(o,(r.local?bv:wv)(r,n))}function Cv(e,n){return function(){gl(this,e).delay=+n.apply(this,arguments)}}function Ev(e,n){return n=+n,function(){gl(this,e).delay=n}}function Nv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Cv:Ev)(n,e)):Ct(this.node(),n).delay}function Sv(e,n){return function(){Ot(this,e).duration=+n.apply(this,arguments)}}function vv(e,n){return n=+n,function(){Ot(this,e).duration=n}}function xv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Sv:vv)(n,e)):Ct(this.node(),n).duration}function Av(e,n){if(typeof n!="function")throw new Error;return function(){Ot(this,e).ease=n}}function Iv(e){var n=this._id;return arguments.length?this.each(Av(n,e)):Ct(this.node(),n).ease}function Pv(e,n){return function(){var o=n.apply(this,arguments);if(typeof o!="function")throw new Error;Ot(this,e).ease=o}}function Tv(e){if(typeof e!="function")throw new Error;return this.each(Pv(this._id,e))}function Ov(e){typeof e!="function"&&(e=Su(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 Kt(r,this._parents,this._name,this._id)}function $v(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],f=c.length,u=l[s]=new Array(f),p,m=0;m<f;++m)(p=c[m]||d[m])&&(u[m]=p);for(;s<r;++s)l[s]=n[s];return new Kt(l,this._parents,this._name,this._id)}function Bv(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 Vv(e,n,o){var r,i,a=Bv(n)?gl:Ot;return function(){var l=a(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(n,o),l.on=i}}function Rv(e,n){var o=this._id;return arguments.length<2?Ct(this.node(),o).on.on(e):this.each(Vv(o,e,n))}function Dv(e){return function(){var n=this.parentNode;for(var o in this.__transition)if(+o!==e)return;n&&n.removeChild(this)}}function Mv(){return this.on("end.remove",Dv(this._id))}function Lv(e){var n=this._name,o=this._id;typeof e!="function"&&(e=el(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),f,u,p=0;p<c;++p)(f=s[p])&&(u=e.call(f,f.__data__,p,s))&&("__data__"in f&&(u.__data__=f.__data__),d[p]=u,li(d[p],n,o,p,d,Ct(f,o)));return new Kt(a,this._parents,n,o)}function Fv(e){var n=this._name,o=this._id;typeof e!="function"&&(e=Nu(e));for(var r=this._groups,i=r.length,a=[],l=[],s=0;s<i;++s)for(var c=r[s],d=c.length,f,u=0;u<d;++u)if(f=c[u]){for(var p=e.call(f,f.__data__,u,c),m,h=Ct(f,o),y=0,g=p.length;y<g;++y)(m=p[y])&&li(m,n,o,y,p,h);a.push(p),l.push(f)}return new Kt(a,l,n,o)}var Uv=Oo.prototype.constructor;function Kv(){return new Uv(this._groups,this._parents)}function jv(e,n){var o,r,i;return function(){var a=Xn(this,e),l=(this.style.removeProperty(e),Xn(this,e));return a===l?null:a===o&&l===r?i:i=n(o=a,r=l)}}function cf(e){return function(){this.style.removeProperty(e)}}function qv(e,n,o){var r,i=o+"",a;return function(){var l=Xn(this,e);return l===i?null:l===r?a:a=n(r=l,o)}}function Gv(e,n,o){var r,i,a;return function(){var l=Xn(this,e),s=o(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),Xn(this,e))),l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s))}}function zv(e,n){var o,r,i,a="style."+n,l="end."+a,s;return function(){var c=Ot(this,e),d=c.on,f=c.value[a]==null?s||(s=cf(n)):void 0;(d!==o||i!==f)&&(r=(o=d).copy()).on(l,i=f),c.on=r}}function Hv(e,n,o){var r=(e+="")=="transform"?YS:sf;return n==null?this.styleTween(e,jv(e,r)).on("end.style."+e,cf(e)):typeof n=="function"?this.styleTween(e,Gv(e,r,hl(this,"style."+e,n))).each(zv(this._id,e)):this.styleTween(e,qv(e,r,n),o).on("end.style."+e,null)}function Yv(e,n,o){return function(r){this.style.setProperty(e,n.call(this,r),o)}}function Wv(e,n,o){var r,i;function a(){var l=n.apply(this,arguments);return l!==i&&(r=(i=l)&&Yv(e,l,o)),r}return a._value=n,a}function Xv(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,Wv(e,n,o??""))}function Zv(e){return function(){this.textContent=e}}function Jv(e){return function(){var n=e(this);this.textContent=n??""}}function Qv(e){return this.tween("text",typeof e=="function"?Jv(hl(this,"text",e)):Zv(e==null?"":e+""))}function ex(e){return function(n){this.textContent=e.call(this,n)}}function tx(e){var n,o;function r(){var i=e.apply(this,arguments);return i!==o&&(n=(o=i)&&ex(i)),n}return r._value=e,r}function nx(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,tx(e))}function ox(){for(var e=this._name,n=this._id,o=df(),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 f=Ct(c,n);li(c,e,o,d,l,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Kt(r,this._parents,e,o)}function rx(){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=Ot(this,r),f=d.on;f!==e&&(n=(e=f).copy(),n._.cancel.push(s),n._.interrupt.push(s),n._.end.push(c)),d.on=n}),i===0&&a()})}var ix=0;function Kt(e,n,o,r){this._groups=e,this._parents=n,this._name=o,this._id=r}function df(){return++ix}var jt=Oo.prototype;Kt.prototype={constructor:Kt,select:Lv,selectAll:Fv,selectChild:jt.selectChild,selectChildren:jt.selectChildren,filter:Ov,merge:$v,selection:Kv,transition:ox,call:jt.call,nodes:jt.nodes,node:jt.node,size:jt.size,empty:jt.empty,each:jt.each,on:Rv,attr:hv,attrTween:kv,style:Hv,styleTween:Xv,text:Qv,textTween:nx,remove:Mv,tween:cv,delay:Nv,duration:xv,ease:Iv,easeVarying:Tv,end:rx,[Symbol.iterator]:jt[Symbol.iterator]};function ax(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var lx={time:null,delay:0,duration:250,ease:ax};function sx(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 cx(e){var n,o;e instanceof Kt?(n=e._id,e=e._name):(n=df(),(o=lx).time=ul(),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])&&li(c,e,n,d,l,o||sx(c,n));return new Kt(r,this._parents,e,n)}Oo.prototype.interrupt=av,Oo.prototype.transition=cx;const ci=e=>()=>e;function dx(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 qt(e,n,o){this.k=e,this.x=n,this.y=o}qt.prototype={constructor:qt,scale:function(e){return e===1?this:new qt(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new qt(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 eo=new qt(1,0,0);qt.prototype;function yl(e){e.stopImmediatePropagation()}function Ko(e){e.preventDefault(),e.stopImmediatePropagation()}function ux(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function fx(){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 uf(){return this.__zoom||eo}function px(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function mx(){return navigator.maxTouchPoints||"ontouchstart"in this}function gx(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 hx(){var e=ux,n=fx,o=gx,r=px,i=mx,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],s=250,c=ei,d=jr("start","zoom","end"),f,u,p,m=500,h=150,y=0,g=10;function _(A){A.property("__zoom",uf).on("wheel.zoom",$,{passive:!1}).on("mousedown.zoom",D).on("dblclick.zoom",j).filter(i).on("touchstart.zoom",K).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",Y).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,F,R,ee){var q=A.selection?A.selection():A;q.property("__zoom",uf),A!==q?x(A,F,R,ee):q.interrupt().each(function(){S(this,arguments).event(ee).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},_.scaleBy=function(A,F,R,ee){_.scaleTo(A,function(){var q=this.__zoom.k,H=typeof F=="function"?F.apply(this,arguments):F;return q*H},R,ee)},_.scaleTo=function(A,F,R,ee){_.transform(A,function(){var q=n.apply(this,arguments),H=this.__zoom,U=R==null?v(q):typeof R=="function"?R.apply(this,arguments):R,M=H.invert(U),L=typeof F=="function"?F.apply(this,arguments):F;return o(w(b(H,L),U,M),q,l)},R,ee)},_.translateBy=function(A,F,R,ee){_.transform(A,function(){return o(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof R=="function"?R.apply(this,arguments):R),n.apply(this,arguments),l)},null,ee)},_.translateTo=function(A,F,R,ee,q){_.transform(A,function(){var H=n.apply(this,arguments),U=this.__zoom,M=ee==null?v(H):typeof ee=="function"?ee.apply(this,arguments):ee;return o(eo.translate(M[0],M[1]).scale(U.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof R=="function"?-R.apply(this,arguments):-R),H,l)},ee,q)};function b(A,F){return F=Math.max(a[0],Math.min(a[1],F)),F===A.k?A:new qt(F,A.x,A.y)}function w(A,F,R){var ee=F[0]-R[0]*A.k,q=F[1]-R[1]*A.k;return ee===A.x&&q===A.y?A:new qt(A.k,ee,q)}function v(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function x(A,F,R,ee){A.on("start.zoom",function(){S(this,arguments).event(ee).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(ee).end()}).tween("zoom",function(){var q=this,H=arguments,U=S(q,H).event(ee),M=n.apply(q,H),L=R==null?v(M):typeof R=="function"?R.apply(q,H):R,Z=Math.max(M[1][0]-M[0][0],M[1][1]-M[0][1]),W=q.__zoom,re=typeof F=="function"?F.apply(q,H):F,ae=c(W.invert(L).concat(Z/W.k),re.invert(L).concat(Z/re.k));return function(de){if(de===1)de=re;else{var ye=ae(de),Q=Z/ye[2];de=new qt(Q,L[0]-ye[0]*Q,L[1]-ye[1]*Q)}U.zoom(null,de)}})}function S(A,F,R){return!R&&A.__zooming||new I(A,F)}function I(A,F){this.that=A,this.args=F,this.active=0,this.sourceEvent=null,this.extent=n.apply(A,F),this.taps=0}I.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,F){return this.mouse&&A!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&A!=="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(A){var F=wt(this.that).datum();d.call(A,this.that,new dx(A,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:d}),F)}};function $(A,...F){if(!e.apply(this,arguments))return;var R=S(this,F).event(A),ee=this.__zoom,q=Math.max(a[0],Math.min(a[1],ee.k*Math.pow(2,r.apply(this,arguments)))),H=It(A);if(R.wheel)(R.mouse[0][0]!==H[0]||R.mouse[0][1]!==H[1])&&(R.mouse[1]=ee.invert(R.mouse[0]=H)),clearTimeout(R.wheel);else{if(ee.k===q)return;R.mouse=[H,ee.invert(H)],si(this),R.start()}Ko(A),R.wheel=setTimeout(U,h),R.zoom("mouse",o(w(b(ee,q),R.mouse[0],R.mouse[1]),R.extent,l));function U(){R.wheel=null,R.end()}}function D(A,...F){if(p||!e.apply(this,arguments))return;var R=A.currentTarget,ee=S(this,F,!0).event(A),q=wt(A.view).on("mousemove.zoom",L,!0).on("mouseup.zoom",Z,!0),H=It(A,R),U=A.clientX,M=A.clientY;Vu(A.view),yl(A),ee.mouse=[H,this.__zoom.invert(H)],si(this),ee.start();function L(W){if(Ko(W),!ee.moved){var re=W.clientX-U,ae=W.clientY-M;ee.moved=re*re+ae*ae>y}ee.event(W).zoom("mouse",o(w(ee.that.__zoom,ee.mouse[0]=It(W,R),ee.mouse[1]),ee.extent,l))}function Z(W){q.on("mousemove.zoom mouseup.zoom",null),Ru(W.view,ee.moved),Ko(W),ee.event(W).end()}}function j(A,...F){if(e.apply(this,arguments)){var R=this.__zoom,ee=It(A.changedTouches?A.changedTouches[0]:A,this),q=R.invert(ee),H=R.k*(A.shiftKey?.5:2),U=o(w(b(R,H),ee,q),n.apply(this,F),l);Ko(A),s>0?wt(this).transition().duration(s).call(x,U,ee,A):wt(this).call(_.transform,U,ee,A)}}function K(A,...F){if(e.apply(this,arguments)){var R=A.touches,ee=R.length,q=S(this,F,A.changedTouches.length===ee).event(A),H,U,M,L;for(yl(A),U=0;U<ee;++U)M=R[U],L=It(M,this),L=[L,this.__zoom.invert(L),M.identifier],q.touch0?!q.touch1&&q.touch0[2]!==L[2]&&(q.touch1=L,q.taps=0):(q.touch0=L,H=!0,q.taps=1+!!f);f&&(f=clearTimeout(f)),H&&(q.taps<2&&(u=L[0],f=setTimeout(function(){f=null},m)),si(this),q.start())}}function k(A,...F){if(this.__zooming){var R=S(this,F).event(A),ee=A.changedTouches,q=ee.length,H,U,M,L;for(Ko(A),H=0;H<q;++H)U=ee[H],M=It(U,this),R.touch0&&R.touch0[2]===U.identifier?R.touch0[0]=M:R.touch1&&R.touch1[2]===U.identifier&&(R.touch1[0]=M);if(U=R.that.__zoom,R.touch1){var Z=R.touch0[0],W=R.touch0[1],re=R.touch1[0],ae=R.touch1[1],de=(de=re[0]-Z[0])*de+(de=re[1]-Z[1])*de,ye=(ye=ae[0]-W[0])*ye+(ye=ae[1]-W[1])*ye;U=b(U,Math.sqrt(de/ye)),M=[(Z[0]+re[0])/2,(Z[1]+re[1])/2],L=[(W[0]+ae[0])/2,(W[1]+ae[1])/2]}else if(R.touch0)M=R.touch0[0],L=R.touch0[1];else return;R.zoom("touch",o(w(U,M,L),R.extent,l))}}function Y(A,...F){if(this.__zooming){var R=S(this,F).event(A),ee=A.changedTouches,q=ee.length,H,U;for(yl(A),p&&clearTimeout(p),p=setTimeout(function(){p=null},m),H=0;H<q;++H)U=ee[H],R.touch0&&R.touch0[2]===U.identifier?delete R.touch0:R.touch1&&R.touch1[2]===U.identifier&&delete R.touch1;if(R.touch1&&!R.touch0&&(R.touch0=R.touch1,delete R.touch1),R.touch0)R.touch0[1]=this.__zoom.invert(R.touch0[0]);else if(R.end(),R.taps===2&&(U=It(U,this),Math.hypot(u[0]-U[0],u[1]-U[1])<g)){var M=wt(this).on("dblclick.zoom");M&&M.apply(this,arguments)}}}return _.wheelDelta=function(A){return arguments.length?(r=typeof A=="function"?A:ci(+A),_):r},_.filter=function(A){return arguments.length?(e=typeof A=="function"?A:ci(!!A),_):e},_.touchable=function(A){return arguments.length?(i=typeof A=="function"?A:ci(!!A),_):i},_.extent=function(A){return arguments.length?(n=typeof A=="function"?A:ci([[+A[0][0],+A[0][1]],[+A[1][0],+A[1][1]]]),_):n},_.scaleExtent=function(A){return arguments.length?(a[0]=+A[0],a[1]=+A[1],_):[a[0],a[1]]},_.translateExtent=function(A){return arguments.length?(l[0][0]=+A[0][0],l[1][0]=+A[1][0],l[0][1]=+A[0][1],l[1][1]=+A[1][1],_):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},_.constrain=function(A){return arguments.length?(o=A,_):o},_.duration=function(A){return arguments.length?(s=+A,_):s},_.interpolate=function(A){return arguments.length?(c=A,_):c},_.on=function(){var A=d.on.apply(d,arguments);return A===d?_:A},_.clickDistance=function(A){return arguments.length?(y=(A=+A)*A,_):Math.sqrt(y)},_.tapDistance=function(A){return arguments.length?(g=+A,_):g},_}var be=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(be||{}),_l=(e=>(e.Partial="partial",e.Full="full",e))(_l||{}),En=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(En||{}),Jt=(e=>(e.Strict="strict",e.Loose="loose",e))(Jt||{}),di=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(di||{}),jo=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(jo||{}),ff=(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))(ff||{});const yx=["INPUT","SELECT","TEXTAREA"],_x=typeof document<"u"?document:null;function bl(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 yx.includes(r==null?void 0:r.nodeName)||i||!!a}function bx(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function pf(e,n,o,r){const i=n.replace("+",`
|
|
118
|
+
`},Symbol.toStringTag,{value:"Module"})),iN={class:"dk-code-editor"},aN={class:"examples-content"},lN={ref:"editor-root",class:"editor"},qa="YAML Syntax",sN="datakit.insert-example",cN=Ee(t.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean}},emits:["change","error"],setup(e,{expose:n,emit:o}){const{t:r}=je.createI18n("en-us",We),{formData:i}=Le(),a=o,l=t.useTemplateRef("editor-root"),s=t.shallowRef(null);function c(f){const u=s.value,p=u==null?void 0:u.getModel();if(!u||!p)return;const m=ja[f];u.getValue()!==m&&(u.pushUndoStop(),u.executeEdits(sN,[{range:p.getFullModelRange(),text:m}]),u.pushUndoStop()),d()}function d(){const f=s.value,u=f==null?void 0:f.getModel();!f||!u||(f.setPosition(u.getFullModelRange().getEndPosition()),f.focus())}return t.onMounted(()=>{const f=ur.editor.create(l.value,{language:"yaml",automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep"});if(s.value=f,i.config&&Object.keys(i.config).length>0){const u={...i.config};u.nodes&&u.nodes.length===0&&delete u.nodes;const p=Object.keys(u).length===0?"":Ka.dump(t.toRaw(u),{schema:Rr,noArrayIndent:!0});f.setValue(p),d()}f.onDidChangeModelContent(()=>{const u=f.getModel(),p=f.getValue()||"";try{const m=Ka.load(p,{schema:Rr,json:!0});ur.editor.setModelMarkers(u,qa,[]),i.config=m,a("change",m)}catch(m){const{message:h,mark:y}=m,{line:g,column:_}=y||{line:0,column:0},b=h.split(`
|
|
119
|
+
`)[0],w=[{startLineNumber:g+1,startColumn:_+1,endLineNumber:g+1,endColumn:_+2,message:b,severity:ur.MarkerSeverity.Error,source:qa}];ur.editor.setModelMarkers(u,qa,w),a("error",b)}})}),t.onBeforeUnmount(()=>{var f;(f=s.value)==null||f.dispose()}),n({setExampleCode:c}),(f,u)=>(t.openBlock(),t.createElementBlock("div",iN,[t.createVNode(t.unref(xe.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ce.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",aN,[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(ja,(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",lN,null,512)]))}}),[["__scopeId","data-v-5f51e876"]]),Qd=44,dN=220,eu=366,uN=Qd+parseFloat(zc),tu=["request","service_request","service_response","response","vault"],zn=tu,nu=["call","jq","exit","property","static","branch","cache"],ou=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],Po="application/x-datakit+json",Dr={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:Ga}=je.createI18n("en-us",We);function gt(e){return Ga(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function hn(e){return Ga(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function fN(e){return Ga(`plugins.free-form.datakit.flow_editor.node_types.${e}.name`)}const Mr={call:{type:"call",summary:hn("call"),description:gt("call"),icon:Ce.NetworkIcon,io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}}},jq:{type:"jq",summary:hn("jq"),description:gt("jq"),icon:Ce.CodeblockIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},exit:{type:"exit",summary:hn("exit"),description:gt("exit"),icon:Ce.GatewayIcon,io:{input:{fields:[{name:"headers"},{name:"body"}]}}},property:{type:"property",summary:hn("property"),description:gt("property"),icon:Ce.StackIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},static:{type:"static",summary:hn("static"),description:gt("static"),icon:Ce.VitalsIcon,io:{output:{fields:[],configurable:!0}}},branch:{type:"branch",summary:hn("branch"),description:gt("branch"),icon:Ce.ArrowSplitIcon},cache:{type:"cache",summary:hn("cache"),description:gt("cache"),icon:Ce.CachedIcon}},Lr={request:{type:"request",icon:Ce.CloudIcon,description:gt("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_request:{type:"service_request",description:gt("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_response:{type:"service_response",icon:Ce.CloudIcon,description:gt("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}}},response:{type:"response",description:gt("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}}},vault:{type:"vault",icon:Ce.KeyIcon,io:{output:{fields:[],configurable:!0}},hidden:!0}},ru=Object.keys(Lr),za=e=>ru.includes(e),At=e=>ru.includes(e),pN=e=>nu.includes(e),iu=e=>At(e.type);function yn(e){return Vn(e)}function Hn(e){return`${e}:${Sr()}`}function Fr(e){const[n,o]=e.split(".");return{nodeName:n,fieldName:o}}function au(e){const[n,o]=e.split(".");return{nodeId:n,fieldId:o}}function To(e){return At(e)?Lr[e]:Mr[e]}function lu(e){var i,a,l,s,c,d;const n=To(e),o=((l=(a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields)==null?void 0:l.map(({name:f})=>f))??[],r=((d=(c=(s=n.io)==null?void 0:s.output)==null?void 0:c.fields)==null?void 0:d.map(({name:f})=>f))??[];return{input:o,output:r}}function su(e){return(e??[]).map(n=>({id:Hn("field"),name:n}))}function Yn(e,n,o){if(o)return e.fields[n].find(r=>r.name===o)}function Zt(e,n,o){if(o)return e.fields[n].find(r=>r.id===o)}function Ha(e,n){return n?e.fields.output.some(o=>o.id===n):!0}function cu(e,n){return n?e.fields.input.some(o=>o.id===n):!0}function mN(e){const n=["request","service_request","vault"].includes(e)?"request":"response",o=Lr[e];return{name:e,phase:n,position:{x:0,y:0},fields:lu(o.type),expanded:{},hidden:o.hidden}}function du(e,n){const r=(pN(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${r}_${i}`;if(!n.has(a))return a}}function gN(e,n){const{commit:o,undo:r,redo:i,canUndo:a,canRedo:l,clear:s,reset:c,undoStack:d,redoStack:f}=Ke.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let u;function p(w){var v;(v=n==null?void 0:n.onHistoryChange)==null||v.call(n,w,e.value)}function m(w){if(!w){u=void 0,o(),p("commit");return}if(w!=="*"&&u!==w){u=w,o(),p("commit");return}o(),d.value.shift(),p("commit")}function h(){r(),u=void 0,p("undo")}function y(){i(),u=void 0,p("redo")}function g(){s(),u=void 0,p("clear")}function _(){c(),u=void 0,p("reset")}function b(){r(),f.value.shift(),u=void 0,p("revert")}return{canUndo:a,canRedo:l,commit:m,undo:h,redo:y,clear:g,reset:_,revert:b}}function uu(e,n){var m,h,y,g,_;const o=((m=e.config)==null?void 0:m.nodes)??[],r=((h=e.__ui_data)==null?void 0:h.nodes)??[],i=((y=e.config)==null?void 0:y.resources)??{},a=new Map(r.map(b=>[b.name,b])),l=[],s=[],c=new Map,d=[],f=new Map,u=b=>{const w=new Set,v=[...b];for(;v.length>0;){const x=v.shift();if(!w.has(x)&&(w.add(x),za(x)||(c.get(x).phase="request"),!!f.has(x)))for(const S of f.get(x))w.has(S)||v.push(S)}};let p=!1;for(const b of o){const w=a.get(b.name);!w&&!p&&(p=!0);const v=pu(b.type,b,w,i);l.push(v),c.set(v.name,v)}for(const b of zn)if(!c.has(b)){let w=a.get(b);w||(p||(p=!0),w=mN(b));const v=pu(b,void 0,w,i);l.push(v),c.set(v.name,v)}for(const b of o)_N(b,d);for(const b of d){const w=c.get(b.source),v=c.get(b.target);if(!w||!v){w||console.warn(`[initEditorState] skip: source "${b.source}" not found`),v||console.warn(`[initEditorState] skip: target "${b.target}" not found`);continue}f.has(b.source)||f.set(b.source,new Set),f.get(b.source).add(b.target),f.has(b.target)||f.set(b.target,new Set),f.get(b.target).add(b.source),s.push({id:Hn("edge"),source:w.id,sourceField:(g=Yn(w,"output",b.sourceField))==null?void 0:g.id,target:v.id,targetField:(_=Yn(v,"input",b.targetField))==null?void 0:_.id})}return u(["request","service_request"]),{nodes:l,edges:s,pendingLayout:p?n?"keepHistory":"clearHistory":!1,pendingFitView:!0}}function fu(e){const{type:n,name:o,phase:r,position:i,fields:a,config:l}=e,s=lu(n),c=To(n);return{id:Hn("node"),type:n,name:o??n,phase:r??"request",position:i??{x:0,y:0},expanded:{},fields:{input:su((a==null?void 0:a.input)??s.input),output:su((a==null?void 0:a.output)??s.output)},hidden:e.hidden||c.hidden,config:l?yn(l):{}}}function hN(e){return At(e)?e==="request"||e==="service_request"?"request":"response":"request"}function pu(e,n,o,r){return fu({type:e,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??hN(e),position:o==null?void 0:o.position,fields:bN(e,o,n,r),hidden:o==null?void 0:o.hidden,config:n?yN(n):void 0})}function yN(e){const{type:n,name:o,input:r,inputs:i,output:a,outputs:l,...s}=e;return yn(s)}function _N(e,n){const o=e.name;if(e.input){const{nodeName:r,fieldName:i}=Fr(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}=Fr(i);a&&n.push({source:a,sourceField:l,target:o,targetField:r})}if(e.output){const{nodeName:r,fieldName:i}=Fr(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}=Fr(i);a&&n.push({source:o,sourceField:r,target:a,targetField:l})}}function bN(e,n,o,r){var s,c,d,f;const i=To(e),a=i==null?void 0:i.io;if(!a)return;const l={};if((s=a.input)!=null&&s.configurable&&(n?l.input=((c=n.fields)==null?void 0:c.input)??[]:o!=null&&o.inputs&&(l.input=Object.keys(o.inputs))),(d=a.output)!=null&&d.configurable){if(n)l.output=((f=n.fields)==null?void 0:f.output)??[];else{const u=new Set;o!=null&&o.outputs&&Object.keys(o.outputs).forEach(p=>u.add(p)),(o==null?void 0:o.type)==="static"&&o.values&&Object.keys(o.values).forEach(p=>u.add(p)),u.size&&(l.output=Array.from(u))}e==="vault"&&(l.output=wN(r))}return Object.keys(l).length?l:void 0}function wN(e){return e!=null&&e.vault?Object.keys(e.vault):[]}function kN(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),f=n.value.get(c.target);if(!d||!f)return c;const u=cu(d,c.sourceField)&&!Ha(d,c.sourceField),p=Ha(f,c.targetField);return u&&p?{source:c.target,sourceField:c.targetField,target:c.source,targetField:c.sourceField}:c}function i(c){const d=r(c),f=[],u=n.value.get(d.source),p=n.value.get(d.target);if(u||f.push("source node not found"),p||f.push("target node not found"),!u||!p)return{ok:!1,errors:f};Ha(u,d.sourceField)||f.push("source handle is not an output field"),cu(p,d.targetField)||f.push("target handle is not an input field"),p.name==="request"&&f.push('cannot target "request"'),u.name==="response"&&f.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)&&f.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)&&f.push("target field already connected"),!d.targetField&&o.value.some(g=>g.target===d.target&&!g.targetField)&&f.push("target input already taken"),d.source===d.target&&f.push("self-loop not allowed");const y=Ur(o.value,d);return Ya(y)&&f.push("connection introduces a cycle"),f.length?{ok:!1,errors:f}:{ok:!0}}function a(){const c=[];for(const d of zn)[...n.value.values()].some(f=>f.name===d)||c.push(`missing implicit node "${d}"`);for(const d of o.value){const f=n.value.get(d.source);n.value.get(d.target).name==="request"&&c.push(`edge "${d.id}" targets "request"`),f.name==="response"&&c.push(`edge "${d.id}" sources from "response"`)}return Ya(Ur(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:Ur}}function Ya(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 Ur(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[mu,CN]=Ke.createInjectionState(function(n,o={}){const r=t.ref(uu(n)),i=t.ref(),a=t.ref(!1),l=t.ref(!1),s=gN(r,{capacity:200,clone:yn,onHistoryChange:E=>{var N;E!=="clear"&&((N=o.onChange)==null||N.call(o,le(),fe()))}}),c=t.ref(!1),d=t.ref(new Set);function f(){r.value.pendingLayout=!1,s.commit("*")}function u(E=!0){r.value.pendingFitView!==E&&(r.value.pendingFitView=E,s.commit("*"))}const p=t.computed(()=>new Map(r.value.nodes.map(E=>[E.id,E]))),m=t.computed(()=>new Map(r.value.nodes.map(E=>[E.name,E]))),h=t.computed(()=>{const E=new Map,N=new Map;for(const P of r.value.edges)E.set(P.id,P),N.has(P.source)||N.set(P.source,new Set),N.get(P.source).add(P.id),N.has(P.target)||N.set(P.target,new Set),N.get(P.target).add(P.id);return{edgeMapById:E,edgeIdMapByNodeId:N}}),y=t.computed(()=>h.value.edgeMapById),g=t.computed(()=>h.value.edgeIdMapByNodeId),_=t.computed(()=>new Set(r.value.nodes.map(E=>E.name))),{canonicalizeConnection:b,validateConnection:w,validateGraph:v,isValidConnection:x,isValidVueFlowConnection:S}=kN(r);function I(E){return p.value.get(E)}function $(E){return m.value.get(E)}function D(E){return y.value.get(E)}function j(E){if(!g.value.has(E))return[];const N=[];return g.value.get(E).forEach(P=>{const C=D(P);C&&N.push(C)}),N}function K(E){return j(E).filter(N=>N.target===E)}function k(E){return j(E).filter(N=>N.source===E)}const Y=t.computed(()=>i.value?I(i.value):void 0);function A(E){i.value=E}function F(E){if(At(E.type))throw new Error("[createNode] implicit nodes are fixed.");return fu({type:E.type,name:E.name||(At(E.type)?void 0:du(E.type,_.value)),phase:E.phase,position:E.position,fields:E.fields,config:E.config})}function R(E,N=!0){const P=F(E);if(P)return r.value.nodes.push(P),N&&s.commit(),c.value=!0,P.id}function ee(E,N,P=!0){const C=I(E);if(!C||At(C.type))return;const O={...yn(C),id:Hn("node"),name:du(C.name,_.value),position:N??{x:C.position.x+20,y:C.position.y+20}};return r.value.nodes.push(O),P&&s.commit(),c.value=!0,O.id}function q(E,N=!0){r.value.edges=r.value.edges.filter(C=>C.source!==E&&C.target!==E),r.value.nodes=r.value.nodes.filter(C=>C.id!==E),i.value===E&&(i.value=void 0);const P=v();P.ok||console.warn("[removeNode] topology invalid:",P.errors.join("; ")),N&&s.commit()}function H(E,N,P=!0,C){const O=I(E);if(O){if(za(O.name)){console.warn("[renameNode] implicit node name is reserved.");return}O.name=N,P&&s.commit(C)}}function U(E,N,P=!0){const C=I(E);C&&(C.position={...N},P&&s.commit())}function M(E,N,P,C=!0,O){const T=I(E);if(!T)return;const G=P??!T.expanded[N];G!==!!T.expanded[N]&&(T.expanded[N]=G,C&&s.commit(O??`toggle:${E}:${N}`))}function L(E,N,P=!0,C){const O=I(E);O&&(O.config=yn(N),P&&s.commit(C))}function Z(E,N,P,C=!0){const O=I(E);if(!O)return;const T=O.fields[N];if(T.some(G=>G.name===P)){console.warn(`[addField] field "${P}" already exists on ${N}.`);return}T.push({id:Hn("field"),name:P}),N==="input"?O.fields.input=T:O.fields.output=T,C&&s.commit()}function W(E,N,P,C=!0){const O=I(E);if(!O)return;const T=O.fields.input,G=O.fields.output,X=T.find(B=>B.id===N)??G.find(B=>B.id===N);X&&(X.name=P,C&&s.commit())}function re(E,N,P=!0,C=!0){const O=I(E);if(!O)return;const T=O.fields.input,G=O.fields.output,X=T.findIndex(V=>V.id===N);X>=0&&T.splice(X,1);const B=G.findIndex(V=>V.id===N);B>=0&&G.splice(B,1),O.fields.input=T,O.fields.output=G,P&&(r.value.edges=r.value.edges.filter(V=>V.sourceField!==N&&V.targetField!==N));const te=v();te.ok||console.warn("[removeField] topology invalid:",te.errors.join("; ")),C&&s.commit()}function ae(E,N=!0){const P=b(E),C=w(P);if(!C.ok){console.warn("[connectEdge] invalid connection:",C.errors.join("; "));return}const O={id:Hn("edge"),...P};r.value.edges.push(O);const T=v();if(!T.ok){r.value.edges.pop(),console.warn("[connectEdge] topology invalid:",T.errors.join("; "));return}return N&&s.commit(),O.id}function de(E,N,P=!0){ye(E,!1),ae(N,!1),P&&s.commit()}function ye(E,N=!0){const P=r.value.edges.findIndex(T=>T.id===E);if(P<0)return;const C=r.value.edges[P];r.value.edges.splice(P,1);const O=v();if(!O.ok){r.value.edges.splice(P,0,C),console.warn("[disconnectEdge] topology invalid:",O.errors.join("; "));return}N&&s.commit()}function Q(E,N=!0){const P=K(E);for(const C of P)ye(C.id,!1);N&&s.commit()}function ne(E,N=!0){const P=k(E);for(const C of P)ye(C.id,!1);N&&s.commit()}function le(){var N,P,C,O,T;const E=[];for(const G of r.value.nodes){if(At(G.type))continue;let X;const B={};let te;const V={};for(const oe of r.value.edges.filter(ue=>ue.target===G.id)){const ue=I(oe.source);if(!ue)continue;const ve=(N=Zt(ue,"output",oe.sourceField))==null?void 0:N.name,Ne=ve?`${ue.name}.${ve}`:ue.name,se=(P=Zt(G,"input",oe.targetField))==null?void 0:P.name;se?B[se]=Ne:X===void 0&&(X=Ne)}for(const oe of r.value.edges.filter(ue=>ue.source===G.id)){const ue=I(oe.target);if(!ue)continue;const ve=ue.type;if(!At(ve)||!((C=Lr[ve].io)!=null&&C.input))continue;const Ne=(O=Zt(ue,"input",oe.targetField))==null?void 0:O.name,se=Ne?`${ue.name}.${Ne}`:ue.name,ie=(T=Zt(G,"output",oe.sourceField))==null?void 0:T.name;ie?V[ie]=se:te===void 0&&(te=se)}const me={...yn(G.config),name:G.name,type:G.type};Object.keys(B).length>0?me.inputs=B:X!==void 0&&(me.input=X),Object.keys(V).length>0?me.outputs=V:te!==void 0&&(me.output=te),E.push(me)}return E}function fe(){return r.value.nodes.map(E=>yn({name:E.name,phase:E.phase,position:{...E.position},expanded:{...E.expanded},fields:{input:E.fields.input.map(N=>N.name),output:E.fields.output.map(N=>N.name)}}))}function ce(E,N){N&&s.commit(),r.value=uu(E,N),N||s.clear()}return{state:r,selection:i,modalOpen:a,skipValidation:c,invalidConfigNodeIds:d,propertiesPanelOpen:l,nodeMapById:p,nodeMapByName:m,edgeMapById:y,edgeIdMapByNodeId:g,getNodeById:I,getNodeByName:$,getEdgeById:D,getEdgesByNodeId:j,getInEdgesByNodeId:K,getOutEdgesByNodeId:k,selectedNode:Y,selectNode:A,createNode:F,addNode:R,duplicateNode:ee,removeNode:q,renameNode:H,moveNode:U,toggleExpanded:M,replaceConfig:L,addField:Z,renameField:W,removeField:re,connectEdge:ae,replaceConnection:de,disconnectEdge:ye,disconnectInEdges:Q,disconnectOutEdges:ne,toConfigNodes:le,toUINodes:fe,load:ce,commit:s.commit,undo:s.undo,redo:s.redo,canUndo:s.canUndo,canRedo:s.canRedo,clear:s.clear,reset:s.reset,revert:s.revert,isValidConnection:x,isValidVueFlowConnection:S,validateGraph:()=>v(),clearPendingLayout:f,setPendingFitView:u}});function at(){const e=CN();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const Wa=Ke.createGlobalState(()=>{const e=Ke.useLocalStorage("datakit-editor-mode","flow"),n=Ke.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}});function Kr(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function Ut(e){return typeof e=="function"?e():t.unref(e)}const EN=typeof window<"u"&&typeof document<"u",NN=e=>typeof e<"u",SN=Object.prototype.toString,vN=e=>SN.call(e)==="[object Object]",xN=()=>{};function AN(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 gu=e=>e();function IN(e=gu){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 hu(e,n=!1,o="Timeout"){return new Promise((r,i)=>{setTimeout(n?()=>i(o):r,e)})}function PN(e,n,o={}){const{eventFilter:r=gu,...i}=o;return t.watch(e,AN(r,n),i)}function Wn(e,n,o={}){const{eventFilter:r,...i}=o,{eventFilter:a,pause:l,resume:s,isActive:c}=IN(r);return{stop:PN(e,n,{...i,eventFilter:a}),pause:l,resume:s,isActive:c}}function TN(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=Ut(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 Xa(e,n=!1){function o(u,{flush:p="sync",deep:m=!1,timeout:h,throwOnTimeout:y}={}){let g=null;const b=[new Promise(w=>{g=t.watch(e,v=>{u(v)!==n&&(g==null||g(),w(v))},{flush:p,deep:m,immediate:!0})})];return h!=null&&b.push(hu(h,y).then(()=>Ut(e)).finally(()=>g==null?void 0:g())),Promise.race(b)}function r(u,p){if(!t.isRef(u))return o(v=>v===u,p);const{flush:m="sync",deep:h=!1,timeout:y,throwOnTimeout:g}=p??{};let _=null;const w=[new Promise(v=>{_=t.watch([e,u],([x,S])=>{n!==(x===S)&&(_==null||_(),v(x))},{flush:m,deep:h,immediate:!0})})];return y!=null&&w.push(hu(y,g).then(()=>Ut(e)).finally(()=>(_==null||_(),Ut(e)))),Promise.race(w)}function i(u){return o(p=>!!p,u)}function a(u){return r(null,u)}function l(u){return r(void 0,u)}function s(u){return o(Number.isNaN,u)}function c(u,p){return o(m=>{const h=Array.from(m);return h.includes(u)||h.includes(Ut(u))},p)}function d(u){return f(1,u)}function f(u=1,p){let m=-1;return o(()=>(m+=1,m>=u),p)}return Array.isArray(Ut(e))?{toMatch:o,toContains:c,changed:d,changedTimes:f,get not(){return Xa(e,!n)}}:{toMatch:o,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:l,changed:d,changedTimes:f,get not(){return Xa(e,!n)}}}function Za(e){return Xa(e)}function ON(e){var n;const o=Ut(e);return(n=o==null?void 0:o.$el)!=null?n:o}const yu=EN?window:void 0;function _u(...e){let n,o,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([o,r,i]=e,n=yu):[n,o,r,i]=e,!n)return xN;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const a=[],l=()=>{a.forEach(f=>f()),a.length=0},s=(f,u,p,m)=>(f.addEventListener(u,p,m),()=>f.removeEventListener(u,p,m)),c=t.watch(()=>[ON(n),Ut(i)],([f,u])=>{if(l(),!f)return;const p=vN(u)?{...u}:u;a.push(...o.flatMap(m=>r.map(h=>s(f,m,h,p))))},{immediate:!0,flush:"post"}),d=()=>{c(),l()};return Kr(d),d}function $N(e){return typeof e=="function"?e:typeof e=="string"?n=>n.key===e:Array.isArray(e)?n=>e.includes(n.key):()=>!0}function bu(...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=yu,eventName:a="keydown",passive:l=!1,dedupe:s=!1}=r,c=$N(n);return _u(i,a,f=>{f.repeat&&Ut(s)||c(f)&&o(f)},l)}function BN(e){return JSON.parse(JSON.stringify(e))}function Ja(e,n,o,r={}){var i,a,l;const{clone:s=!1,passive:c=!1,eventName:d,deep:f=!1,defaultValue:u,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=w=>s?typeof s=="function"?s(w):BN(w):w,_=()=>NN(e[n])?g(e[n]):u,b=w=>{p?p(w)&&h(y,w):h(y,w)};if(c){const w=_(),v=t.ref(w);let x=!1;return t.watch(()=>e[n],S=>{x||(x=!0,v.value=g(S),t.nextTick(()=>x=!1))}),t.watch(v,S=>{!x&&(S!==e[n]||f)&&b(S)},{deep:f}),v}else return t.computed({get(){return _()},set(w){b(w)}})}var VN={value:()=>{}};function jr(){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 qr(o)}function qr(e){this._=e}function RN(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}})}qr.prototype=jr.prototype={constructor:qr,on:function(e,n){var o=this._,r=RN(e+"",o),i,a=-1,l=r.length;if(arguments.length<2){for(;++a<l;)if((i=(e=r[a]).type)&&(i=DN(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]=wu(o[i],e.name,n);else if(n==null)for(i in o)o[i]=wu(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 qr(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 DN(e,n){for(var o=0,r=e.length,i;o<r;++o)if((i=e[o]).name===n)return i.value}function wu(e,n,o){for(var r=0,i=e.length;r<i;++r)if(e[r].name===n){e[r]=VN,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:n,value:o}),e}var Qa="http://www.w3.org/1999/xhtml";const ku={svg:"http://www.w3.org/2000/svg",xhtml:Qa,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Gr(e){var n=e+="",o=n.indexOf(":");return o>=0&&(n=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),ku.hasOwnProperty(n)?{space:ku[n],local:e}:e}function MN(e){return function(){var n=this.ownerDocument,o=this.namespaceURI;return o===Qa&&n.documentElement.namespaceURI===Qa?n.createElement(e):n.createElementNS(o,e)}}function LN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Cu(e){var n=Gr(e);return(n.local?LN:MN)(n)}function FN(){}function el(e){return e==null?FN:function(){return this.querySelector(e)}}function UN(e){typeof e!="function"&&(e=el(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,f=0;f<l;++f)(c=a[f])&&(d=e.call(c,c.__data__,f,a))&&("__data__"in c&&(d.__data__=c.__data__),s[f]=d);return new dt(r,this._parents)}function KN(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function jN(){return[]}function Eu(e){return e==null?jN:function(){return this.querySelectorAll(e)}}function qN(e){return function(){return KN(e.apply(this,arguments))}}function GN(e){typeof e=="function"?e=qN(e):e=Eu(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 dt(r,i)}function Nu(e){return function(){return this.matches(e)}}function Su(e){return function(n){return n.matches(e)}}var zN=Array.prototype.find;function HN(e){return function(){return zN.call(this.children,e)}}function YN(){return this.firstElementChild}function WN(e){return this.select(e==null?YN:HN(typeof e=="function"?e:Su(e)))}var XN=Array.prototype.filter;function ZN(){return Array.from(this.children)}function JN(e){return function(){return XN.call(this.children,e)}}function QN(e){return this.selectAll(e==null?ZN:JN(typeof e=="function"?e:Su(e)))}function e1(e){typeof e!="function"&&(e=Nu(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 dt(r,this._parents)}function vu(e){return new Array(e.length)}function t1(){return new dt(this._enter||this._groups.map(vu),this._parents)}function zr(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}zr.prototype={constructor:zr,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 n1(e){return function(){return e}}function o1(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 zr(e,a[l]);for(;l<c;++l)(s=n[l])&&(i[l]=s)}function r1(e,n,o,r,i,a,l){var s,c,d=new Map,f=n.length,u=a.length,p=new Array(f),m;for(s=0;s<f;++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<u;++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 zr(e,a[s]);for(s=0;s<f;++s)(c=n[s])&&d.get(p[s])===c&&(i[s]=c)}function i1(e){return e.__data__}function a1(e,n){if(!arguments.length)return Array.from(this,i1);var o=n?r1:o1,r=this._parents,i=this._groups;typeof e!="function"&&(e=n1(e));for(var a=i.length,l=new Array(a),s=new Array(a),c=new Array(a),d=0;d<a;++d){var f=r[d],u=i[d],p=u.length,m=l1(e.call(f,f&&f.__data__,d,r)),h=m.length,y=s[d]=new Array(h),g=l[d]=new Array(h),_=c[d]=new Array(p);o(f,u,y,g,_,m,n);for(var b=0,w=0,v,x;b<h;++b)if(v=y[b]){for(b>=w&&(w=b+1);!(x=g[w])&&++w<h;);v._next=x||null}}return l=new dt(l,r),l._enter=s,l._exit=c,l}function l1(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function s1(){return new dt(this._exit||this._groups.map(vu),this._parents)}function c1(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 d1(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],f=r[c],u=d.length,p=s[c]=new Array(u),m,h=0;h<u;++h)(m=d[h]||f[h])&&(p[h]=m);for(;c<i;++c)s[c]=o[c];return new dt(s,this._parents)}function u1(){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 f1(e){e||(e=p1);function n(u,p){return u&&p?e(u.__data__,p.__data__):!u-!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,f=0;f<s;++f)(d=l[f])&&(c[f]=d);c.sort(n)}return new dt(i,this._parents).order()}function p1(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function m1(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function g1(){return Array.from(this)}function h1(){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 y1(){let e=0;for(const n of this)++e;return e}function _1(){return!this.node()}function b1(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 w1(e){return function(){this.removeAttribute(e)}}function k1(e){return function(){this.removeAttributeNS(e.space,e.local)}}function C1(e,n){return function(){this.setAttribute(e,n)}}function E1(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function N1(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function S1(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 v1(e,n){var o=Gr(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?k1:w1:typeof n=="function"?o.local?S1:N1:o.local?E1:C1)(o,n))}function xu(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function x1(e){return function(){this.style.removeProperty(e)}}function A1(e,n,o){return function(){this.style.setProperty(e,n,o)}}function I1(e,n,o){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function P1(e,n,o){return arguments.length>1?this.each((n==null?x1:typeof n=="function"?I1:A1)(e,n,o??"")):Xn(this.node(),e)}function Xn(e,n){return e.style.getPropertyValue(n)||xu(e).getComputedStyle(e,null).getPropertyValue(n)}function T1(e){return function(){delete this[e]}}function O1(e,n){return function(){this[e]=n}}function $1(e,n){return function(){var o=n.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function B1(e,n){return arguments.length>1?this.each((n==null?T1:typeof n=="function"?$1:O1)(e,n)):this.node()[e]}function Au(e){return e.trim().split(/^|\s+/)}function tl(e){return e.classList||new Iu(e)}function Iu(e){this._node=e,this._names=Au(e.getAttribute("class")||"")}Iu.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 Pu(e,n){for(var o=tl(e),r=-1,i=n.length;++r<i;)o.add(n[r])}function Tu(e,n){for(var o=tl(e),r=-1,i=n.length;++r<i;)o.remove(n[r])}function V1(e){return function(){Pu(this,e)}}function R1(e){return function(){Tu(this,e)}}function D1(e,n){return function(){(n.apply(this,arguments)?Pu:Tu)(this,e)}}function M1(e,n){var o=Au(e+"");if(arguments.length<2){for(var r=tl(this.node()),i=-1,a=o.length;++i<a;)if(!r.contains(o[i]))return!1;return!0}return this.each((typeof n=="function"?D1:n?V1:R1)(o,n))}function L1(){this.textContent=""}function F1(e){return function(){this.textContent=e}}function U1(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function K1(e){return arguments.length?this.each(e==null?L1:(typeof e=="function"?U1:F1)(e)):this.node().textContent}function j1(){this.innerHTML=""}function q1(e){return function(){this.innerHTML=e}}function G1(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function z1(e){return arguments.length?this.each(e==null?j1:(typeof e=="function"?G1:q1)(e)):this.node().innerHTML}function H1(){this.nextSibling&&this.parentNode.appendChild(this)}function Y1(){return this.each(H1)}function W1(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function X1(){return this.each(W1)}function Z1(e){var n=typeof e=="function"?e:Cu(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function J1(){return null}function Q1(e,n){var o=typeof e=="function"?e:Cu(e),r=n==null?J1:typeof n=="function"?n:el(n);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function eS(){var e=this.parentNode;e&&e.removeChild(this)}function tS(){return this.each(eS)}function nS(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function oS(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function rS(e){return this.select(e?oS:nS)}function iS(e){return arguments.length?this.property("__data__",e):this.node().__data__}function aS(e){return function(n){e.call(this,n,this.__data__)}}function lS(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 sS(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 cS(e,n,o){return function(){var r=this.__on,i,a=aS(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 dS(e,n,o){var r=lS(e+""),i,a=r.length,l;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,d=s.length,f;c<d;++c)for(i=0,f=s[c];i<a;++i)if((l=r[i]).type===f.type&&l.name===f.name)return f.value}return}for(s=n?cS:sS,i=0;i<a;++i)this.each(s(r[i],n,o));return this}function Ou(e,n,o){var r=xu(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 uS(e,n){return function(){return Ou(this,e,n)}}function fS(e,n){return function(){return Ou(this,e,n.apply(this,arguments))}}function pS(e,n){return this.each((typeof n=="function"?fS:uS)(e,n))}function*mS(){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 $u=[null];function dt(e,n){this._groups=e,this._parents=n}function Oo(){return new dt([[document.documentElement]],$u)}function gS(){return this}dt.prototype=Oo.prototype={constructor:dt,select:UN,selectAll:GN,selectChild:WN,selectChildren:QN,filter:e1,data:a1,enter:t1,exit:s1,join:c1,merge:d1,selection:gS,order:u1,sort:f1,call:m1,nodes:g1,node:h1,size:y1,empty:_1,each:b1,attr:v1,style:P1,property:B1,classed:M1,text:K1,html:z1,raise:Y1,lower:X1,append:Z1,insert:Q1,remove:tS,clone:rS,datum:iS,on:dS,dispatch:pS,[Symbol.iterator]:mS};function wt(e){return typeof e=="string"?new dt([[document.querySelector(e)]],[document.documentElement]):new dt([[e]],$u)}function hS(e){let n;for(;n=e.sourceEvent;)e=n;return e}function It(e,n){if(e=hS(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 yS={passive:!1},$o={capture:!0,passive:!1};function nl(e){e.stopImmediatePropagation()}function Zn(e){e.preventDefault(),e.stopImmediatePropagation()}function Bu(e){var n=e.document.documentElement,o=wt(e).on("dragstart.drag",Zn,$o);"onselectstart"in n?o.on("selectstart.drag",Zn,$o):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Vu(e,n){var o=e.document.documentElement,r=wt(e).on("dragstart.drag",null);n&&(r.on("click.drag",Zn,$o),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 Hr=e=>()=>e;function ol(e,{sourceEvent:n,subject:o,target:r,identifier:i,active:a,x:l,y:s,dx:c,dy:d,dispatch:f}){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:f}})}ol.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function _S(e){return!e.ctrlKey&&!e.button}function bS(){return this.parentNode}function wS(e,n){return n??{x:e.x,y:e.y}}function kS(){return navigator.maxTouchPoints||"ontouchstart"in this}function CS(){var e=_S,n=bS,o=wS,r=kS,i={},a=jr("start","drag","end"),l=0,s,c,d,f,u=0;function p(v){v.on("mousedown.drag",m).filter(r).on("touchstart.drag",g).on("touchmove.drag",_,yS).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(v,x){if(!(f||!e.call(this,v,x))){var S=w(this,n.call(this,v,x),v,x,"mouse");S&&(wt(v.view).on("mousemove.drag",h,$o).on("mouseup.drag",y,$o),Bu(v.view),nl(v),d=!1,s=v.clientX,c=v.clientY,S("start",v))}}function h(v){if(Zn(v),!d){var x=v.clientX-s,S=v.clientY-c;d=x*x+S*S>u}i.mouse("drag",v)}function y(v){wt(v.view).on("mousemove.drag mouseup.drag",null),Vu(v.view,d),Zn(v),i.mouse("end",v)}function g(v,x){if(e.call(this,v,x)){var S=v.changedTouches,I=n.call(this,v,x),$=S.length,D,j;for(D=0;D<$;++D)(j=w(this,I,v,x,S[D].identifier,S[D]))&&(nl(v),j("start",v,S[D]))}}function _(v){var x=v.changedTouches,S=x.length,I,$;for(I=0;I<S;++I)($=i[x[I].identifier])&&(Zn(v),$("drag",v,x[I]))}function b(v){var x=v.changedTouches,S=x.length,I,$;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),I=0;I<S;++I)($=i[x[I].identifier])&&(nl(v),$("end",v,x[I]))}function w(v,x,S,I,$,D){var j=a.copy(),K=It(D||S,x),k,Y,A;if((A=o.call(v,new ol("beforestart",{sourceEvent:S,target:p,identifier:$,active:l,x:K[0],y:K[1],dx:0,dy:0,dispatch:j}),I))!=null)return k=A.x-K[0]||0,Y=A.y-K[1]||0,function F(R,ee,q){var H=K,U;switch(R){case"start":i[$]=F,U=l++;break;case"end":delete i[$],--l;case"drag":K=It(q||ee,x),U=l;break}j.call(R,v,new ol(R,{sourceEvent:ee,subject:A,target:p,identifier:$,active:U,x:K[0]+k,y:K[1]+Y,dx:K[0]-H[0],dy:K[1]-H[1],dispatch:j}),I)}}return p.filter=function(v){return arguments.length?(e=typeof v=="function"?v:Hr(!!v),p):e},p.container=function(v){return arguments.length?(n=typeof v=="function"?v:Hr(v),p):n},p.subject=function(v){return arguments.length?(o=typeof v=="function"?v:Hr(v),p):o},p.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:Hr(!!v),p):r},p.on=function(){var v=a.on.apply(a,arguments);return v===a?p:v},p.clickDistance=function(v){return arguments.length?(u=(v=+v)*v,p):Math.sqrt(u)},p}function rl(e,n,o){e.prototype=n.prototype=o,o.constructor=e}function Ru(e,n){var o=Object.create(e.prototype);for(var r in n)o[r]=n[r];return o}function Bo(){}var Vo=.7,Yr=1/Vo,Jn="\\s*([+-]?\\d+)\\s*",Ro="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Pt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ES=/^#([0-9a-f]{3,8})$/,NS=new RegExp(`^rgb\\(${Jn},${Jn},${Jn}\\)$`),SS=new RegExp(`^rgb\\(${Pt},${Pt},${Pt}\\)$`),vS=new RegExp(`^rgba\\(${Jn},${Jn},${Jn},${Ro}\\)$`),xS=new RegExp(`^rgba\\(${Pt},${Pt},${Pt},${Ro}\\)$`),AS=new RegExp(`^hsl\\(${Ro},${Pt},${Pt}\\)$`),IS=new RegExp(`^hsla\\(${Ro},${Pt},${Pt},${Ro}\\)$`),Du={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};rl(Bo,_n,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Mu,formatHex:Mu,formatHex8:PS,formatHsl:TS,formatRgb:Lu,toString:Lu});function Mu(){return this.rgb().formatHex()}function PS(){return this.rgb().formatHex8()}function TS(){return qu(this).formatHsl()}function Lu(){return this.rgb().formatRgb()}function _n(e){var n,o;return e=(e+"").trim().toLowerCase(),(n=ES.exec(e))?(o=n[1].length,n=parseInt(n[1],16),o===6?Fu(n):o===3?new lt(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):o===8?Wr(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):o===4?Wr(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=NS.exec(e))?new lt(n[1],n[2],n[3],1):(n=SS.exec(e))?new lt(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=vS.exec(e))?Wr(n[1],n[2],n[3],n[4]):(n=xS.exec(e))?Wr(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=AS.exec(e))?ju(n[1],n[2]/100,n[3]/100,1):(n=IS.exec(e))?ju(n[1],n[2]/100,n[3]/100,n[4]):Du.hasOwnProperty(e)?Fu(Du[e]):e==="transparent"?new lt(NaN,NaN,NaN,0):null}function Fu(e){return new lt(e>>16&255,e>>8&255,e&255,1)}function Wr(e,n,o,r){return r<=0&&(e=n=o=NaN),new lt(e,n,o,r)}function OS(e){return e instanceof Bo||(e=_n(e)),e?(e=e.rgb(),new lt(e.r,e.g,e.b,e.opacity)):new lt}function il(e,n,o,r){return arguments.length===1?OS(e):new lt(e,n,o,r??1)}function lt(e,n,o,r){this.r=+e,this.g=+n,this.b=+o,this.opacity=+r}rl(lt,il,Ru(Bo,{brighter(e){return e=e==null?Yr:Math.pow(Yr,e),new lt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Vo:Math.pow(Vo,e),new lt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new lt(bn(this.r),bn(this.g),bn(this.b),Xr(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:Uu,formatHex:Uu,formatHex8:$S,formatRgb:Ku,toString:Ku}));function Uu(){return`#${wn(this.r)}${wn(this.g)}${wn(this.b)}`}function $S(){return`#${wn(this.r)}${wn(this.g)}${wn(this.b)}${wn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ku(){const e=Xr(this.opacity);return`${e===1?"rgb(":"rgba("}${bn(this.r)}, ${bn(this.g)}, ${bn(this.b)}${e===1?")":`, ${e})`}`}function Xr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function bn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function wn(e){return e=bn(e),(e<16?"0":"")+e.toString(16)}function ju(e,n,o,r){return r<=0?e=n=o=NaN:o<=0||o>=1?e=n=NaN:n<=0&&(e=NaN),new kt(e,n,o,r)}function qu(e){if(e instanceof kt)return new kt(e.h,e.s,e.l,e.opacity);if(e instanceof Bo||(e=_n(e)),!e)return new kt;if(e instanceof kt)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 kt(l,s,c,e.opacity)}function BS(e,n,o,r){return arguments.length===1?qu(e):new kt(e,n,o,r??1)}function kt(e,n,o,r){this.h=+e,this.s=+n,this.l=+o,this.opacity=+r}rl(kt,BS,Ru(Bo,{brighter(e){return e=e==null?Yr:Math.pow(Yr,e),new kt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Vo:Math.pow(Vo,e),new kt(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 lt(al(e>=240?e-240:e+120,i,r),al(e,i,r),al(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new kt(Gu(this.h),Zr(this.s),Zr(this.l),Xr(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=Xr(this.opacity);return`${e===1?"hsl(":"hsla("}${Gu(this.h)}, ${Zr(this.s)*100}%, ${Zr(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Gu(e){return e=(e||0)%360,e<0?e+360:e}function Zr(e){return Math.max(0,Math.min(1,e||0))}function al(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 ll=e=>()=>e;function VS(e,n){return function(o){return e+o*n}}function RS(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 DS(e){return(e=+e)==1?zu:function(n,o){return o-n?RS(n,o,e):ll(isNaN(n)?o:n)}}function zu(e,n){var o=n-e;return o?VS(e,o):ll(isNaN(e)?n:e)}const Jr=function e(n){var o=DS(n);function r(i,a){var l=o((i=il(i)).r,(a=il(a)).r),s=o(i.g,a.g),c=o(i.b,a.b),d=zu(i.opacity,a.opacity);return function(f){return i.r=l(f),i.g=s(f),i.b=c(f),i.opacity=d(f),i+""}}return r.gamma=e,r}(1);function MS(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 LS(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function FS(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]=Do(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 US(e,n){var o=new Date;return e=+e,n=+n,function(r){return o.setTime(e*(1-r)+n*r),o}}function Tt(e,n){return e=+e,n=+n,function(o){return e*(1-o)+n*o}}function KS(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]=Do(e[i],n[i]):r[i]=n[i];return function(a){for(i in o)r[i]=o[i](a);return r}}var sl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,cl=new RegExp(sl.source,"g");function jS(e){return function(){return e}}function qS(e){return function(n){return e(n)+""}}function Hu(e,n){var o=sl.lastIndex=cl.lastIndex=0,r,i,a,l=-1,s=[],c=[];for(e=e+"",n=n+"";(r=sl.exec(e))&&(i=cl.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:Tt(r,i)})),o=cl.lastIndex;return o<n.length&&(a=n.slice(o),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?qS(c[0].x):jS(n):(n=c.length,function(d){for(var f=0,u;f<n;++f)s[(u=c[f]).i]=u.x(d);return s.join("")})}function Do(e,n){var o=typeof n,r;return n==null||o==="boolean"?ll(n):(o==="number"?Tt:o==="string"?(r=_n(n))?(n=r,Jr):Hu:n instanceof _n?Jr:n instanceof Date?US:LS(n)?MS:Array.isArray(n)?FS:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?KS:Tt)(e,n)}var Yu=180/Math.PI,dl={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Wu(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)*Yu,skewX:Math.atan(c)*Yu,scaleX:l,scaleY:s}}var Qr;function GS(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?dl:Wu(n.a,n.b,n.c,n.d,n.e,n.f)}function zS(e){return e==null||(Qr||(Qr=document.createElementNS("http://www.w3.org/2000/svg","g")),Qr.setAttribute("transform",e),!(e=Qr.transform.baseVal.consolidate()))?dl:(e=e.matrix,Wu(e.a,e.b,e.c,e.d,e.e,e.f))}function Xu(e,n,o,r){function i(d){return d.length?d.pop()+" ":""}function a(d,f,u,p,m,h){if(d!==u||f!==p){var y=m.push("translate(",null,n,null,o);h.push({i:y-4,x:Tt(d,u)},{i:y-2,x:Tt(f,p)})}else(u||p)&&m.push("translate("+u+n+p+o)}function l(d,f,u,p){d!==f?(d-f>180?f+=360:f-d>180&&(d+=360),p.push({i:u.push(i(u)+"rotate(",null,r)-2,x:Tt(d,f)})):f&&u.push(i(u)+"rotate("+f+r)}function s(d,f,u,p){d!==f?p.push({i:u.push(i(u)+"skewX(",null,r)-2,x:Tt(d,f)}):f&&u.push(i(u)+"skewX("+f+r)}function c(d,f,u,p,m,h){if(d!==u||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");h.push({i:y-4,x:Tt(d,u)},{i:y-2,x:Tt(f,p)})}else(u!==1||p!==1)&&m.push(i(m)+"scale("+u+","+p+")")}return function(d,f){var u=[],p=[];return d=e(d),f=e(f),a(d.translateX,d.translateY,f.translateX,f.translateY,u,p),l(d.rotate,f.rotate,u,p),s(d.skewX,f.skewX,u,p),c(d.scaleX,d.scaleY,f.scaleX,f.scaleY,u,p),d=f=null,function(m){for(var h=-1,y=p.length,g;++h<y;)u[(g=p[h]).i]=g.x(m);return u.join("")}}}var HS=Xu(GS,"px, ","px)","deg)"),YS=Xu(zS,", ",")",")"),WS=1e-12;function Zu(e){return((e=Math.exp(e))+1/e)/2}function XS(e){return((e=Math.exp(e))-1/e)/2}function ZS(e){return((e=Math.exp(2*e))-1)/(e+1)}const ei=function e(n,o,r){function i(a,l){var s=a[0],c=a[1],d=a[2],f=l[0],u=l[1],p=l[2],m=f-s,h=u-c,y=m*m+h*h,g,_;if(y<WS)_=Math.log(p/d)/n,g=function(I){return[s+I*m,c+I*h,d*Math.exp(n*I*_)]};else{var b=Math.sqrt(y),w=(p*p-d*d+r*y)/(2*d*o*b),v=(p*p-d*d-r*y)/(2*p*o*b),x=Math.log(Math.sqrt(w*w+1)-w),S=Math.log(Math.sqrt(v*v+1)-v);_=(S-x)/n,g=function(I){var $=I*_,D=Zu(x),j=d/(o*b)*(D*ZS(n*$+x)-XS(x));return[s+j*m,c+j*h,d*D/Zu(n*$+x)]}}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 Qn=0,Mo=0,Lo=0,Ju=1e3,ti,Fo,ni=0,kn=0,oi=0,Uo=typeof performance=="object"&&performance.now?performance:Date,Qu=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ul(){return kn||(Qu(JS),kn=Uo.now()+oi)}function JS(){kn=0}function ri(){this._call=this._time=this._next=null}ri.prototype=ef.prototype={constructor:ri,restart:function(e,n,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?ul():+o)+(n==null?0:+n),!this._next&&Fo!==this&&(Fo?Fo._next=this:ti=this,Fo=this),this._call=e,this._time=o,fl()},stop:function(){this._call&&(this._call=null,this._time=1/0,fl())}};function ef(e,n,o){var r=new ri;return r.restart(e,n,o),r}function QS(){ul(),++Qn;for(var e=ti,n;e;)(n=kn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Qn}function tf(){kn=(ni=Uo.now())+oi,Qn=Mo=0;try{QS()}finally{Qn=0,tv(),kn=0}}function ev(){var e=Uo.now(),n=e-ni;n>Ju&&(oi-=n,ni=e)}function tv(){for(var e,n=ti,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:ti=o);Fo=e,fl(r)}function fl(e){if(!Qn){Mo&&(Mo=clearTimeout(Mo));var n=e-kn;n>24?(e<1/0&&(Mo=setTimeout(tf,e-Uo.now()-oi)),Lo&&(Lo=clearInterval(Lo))):(Lo||(ni=Uo.now(),Lo=setInterval(ev,Ju)),Qn=1,Qu(tf))}}function nf(e,n,o){var r=new ri;return n=n==null?0:+n,r.restart(i=>{r.stop(),e(i+n)},n,o),r}var nv=jr("start","end","cancel","interrupt"),ov=[],of=0,rf=1,pl=2,ii=3,af=4,ml=5,ai=6;function li(e,n,o,r,i,a){var l=e.__transition;if(!l)e.__transition={};else if(o in l)return;rv(e,o,{name:n,index:r,group:i,on:nv,tween:ov,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:of})}function gl(e,n){var o=Ct(e,n);if(o.state>of)throw new Error("too late; already scheduled");return o}function Ot(e,n){var o=Ct(e,n);if(o.state>ii)throw new Error("too late; already running");return o}function Ct(e,n){var o=e.__transition;if(!o||!(o=o[n]))throw new Error("transition not found");return o}function rv(e,n,o){var r=e.__transition,i;r[n]=o,o.timer=ef(a,0,o.time);function a(d){o.state=rf,o.timer.restart(l,o.delay,o.time),o.delay<=d&&l(d-o.delay)}function l(d){var f,u,p,m;if(o.state!==rf)return c();for(f in r)if(m=r[f],m.name===o.name){if(m.state===ii)return nf(l);m.state===af?(m.state=ai,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[f]):+f<n&&(m.state=ai,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[f])}if(nf(function(){o.state===ii&&(o.state=af,o.timer.restart(s,o.delay,o.time),s(d))}),o.state=pl,o.on.call("start",e,e.__data__,o.index,o.group),o.state===pl){for(o.state=ii,i=new Array(p=o.tween.length),f=0,u=-1;f<p;++f)(m=o.tween[f].value.call(e,e.__data__,o.index,o.group))&&(i[++u]=m);i.length=u+1}}function s(d){for(var f=d<o.duration?o.ease.call(null,d/o.duration):(o.timer.restart(c),o.state=ml,1),u=-1,p=i.length;++u<p;)i[u].call(e,f);o.state===ml&&(o.on.call("end",e,e.__data__,o.index,o.group),c())}function c(){o.state=ai,o.timer.stop(),delete r[n];for(var d in r)return;delete e.__transition}}function si(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>pl&&r.state<ml,r.state=ai,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[l]}a&&delete e.__transition}}function iv(e){return this.each(function(){si(this,e)})}function av(e,n){var o,r;return function(){var i=Ot(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 lv(e,n,o){var r,i;if(typeof o!="function")throw new Error;return function(){var a=Ot(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 sv(e,n){var o=this._id;if(e+="",arguments.length<2){for(var r=Ct(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?av:lv)(o,e,n))}function hl(e,n,o){var r=e._id;return e.each(function(){var i=Ot(this,r);(i.value||(i.value={}))[n]=o.apply(this,arguments)}),function(i){return Ct(i,r).value[n]}}function lf(e,n){var o;return(typeof n=="number"?Tt:n instanceof _n?Jr:(o=_n(n))?(n=o,Jr):Hu)(e,n)}function cv(e){return function(){this.removeAttribute(e)}}function dv(e){return function(){this.removeAttributeNS(e.space,e.local)}}function uv(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 fv(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 pv(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 mv(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 gv(e,n){var o=Gr(e),r=o==="transform"?YS:lf;return this.attrTween(e,typeof n=="function"?(o.local?mv:pv)(o,r,hl(this,"attr."+e,n)):n==null?(o.local?dv:cv)(o):(o.local?fv:uv)(o,r,n))}function hv(e,n){return function(o){this.setAttribute(e,n.call(this,o))}}function yv(e,n){return function(o){this.setAttributeNS(e.space,e.local,n.call(this,o))}}function _v(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&yv(e,a)),o}return i._value=n,i}function bv(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&hv(e,a)),o}return i._value=n,i}function wv(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=Gr(e);return this.tween(o,(r.local?_v:bv)(r,n))}function kv(e,n){return function(){gl(this,e).delay=+n.apply(this,arguments)}}function Cv(e,n){return n=+n,function(){gl(this,e).delay=n}}function Ev(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?kv:Cv)(n,e)):Ct(this.node(),n).delay}function Nv(e,n){return function(){Ot(this,e).duration=+n.apply(this,arguments)}}function Sv(e,n){return n=+n,function(){Ot(this,e).duration=n}}function vv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Nv:Sv)(n,e)):Ct(this.node(),n).duration}function xv(e,n){if(typeof n!="function")throw new Error;return function(){Ot(this,e).ease=n}}function Av(e){var n=this._id;return arguments.length?this.each(xv(n,e)):Ct(this.node(),n).ease}function Iv(e,n){return function(){var o=n.apply(this,arguments);if(typeof o!="function")throw new Error;Ot(this,e).ease=o}}function Pv(e){if(typeof e!="function")throw new Error;return this.each(Iv(this._id,e))}function Tv(e){typeof e!="function"&&(e=Nu(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 Kt(r,this._parents,this._name,this._id)}function Ov(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],f=c.length,u=l[s]=new Array(f),p,m=0;m<f;++m)(p=c[m]||d[m])&&(u[m]=p);for(;s<r;++s)l[s]=n[s];return new Kt(l,this._parents,this._name,this._id)}function $v(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 Bv(e,n,o){var r,i,a=$v(n)?gl:Ot;return function(){var l=a(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(n,o),l.on=i}}function Vv(e,n){var o=this._id;return arguments.length<2?Ct(this.node(),o).on.on(e):this.each(Bv(o,e,n))}function Rv(e){return function(){var n=this.parentNode;for(var o in this.__transition)if(+o!==e)return;n&&n.removeChild(this)}}function Dv(){return this.on("end.remove",Rv(this._id))}function Mv(e){var n=this._name,o=this._id;typeof e!="function"&&(e=el(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),f,u,p=0;p<c;++p)(f=s[p])&&(u=e.call(f,f.__data__,p,s))&&("__data__"in f&&(u.__data__=f.__data__),d[p]=u,li(d[p],n,o,p,d,Ct(f,o)));return new Kt(a,this._parents,n,o)}function Lv(e){var n=this._name,o=this._id;typeof e!="function"&&(e=Eu(e));for(var r=this._groups,i=r.length,a=[],l=[],s=0;s<i;++s)for(var c=r[s],d=c.length,f,u=0;u<d;++u)if(f=c[u]){for(var p=e.call(f,f.__data__,u,c),m,h=Ct(f,o),y=0,g=p.length;y<g;++y)(m=p[y])&&li(m,n,o,y,p,h);a.push(p),l.push(f)}return new Kt(a,l,n,o)}var Fv=Oo.prototype.constructor;function Uv(){return new Fv(this._groups,this._parents)}function Kv(e,n){var o,r,i;return function(){var a=Xn(this,e),l=(this.style.removeProperty(e),Xn(this,e));return a===l?null:a===o&&l===r?i:i=n(o=a,r=l)}}function sf(e){return function(){this.style.removeProperty(e)}}function jv(e,n,o){var r,i=o+"",a;return function(){var l=Xn(this,e);return l===i?null:l===r?a:a=n(r=l,o)}}function qv(e,n,o){var r,i,a;return function(){var l=Xn(this,e),s=o(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),Xn(this,e))),l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s))}}function Gv(e,n){var o,r,i,a="style."+n,l="end."+a,s;return function(){var c=Ot(this,e),d=c.on,f=c.value[a]==null?s||(s=sf(n)):void 0;(d!==o||i!==f)&&(r=(o=d).copy()).on(l,i=f),c.on=r}}function zv(e,n,o){var r=(e+="")=="transform"?HS:lf;return n==null?this.styleTween(e,Kv(e,r)).on("end.style."+e,sf(e)):typeof n=="function"?this.styleTween(e,qv(e,r,hl(this,"style."+e,n))).each(Gv(this._id,e)):this.styleTween(e,jv(e,r,n),o).on("end.style."+e,null)}function Hv(e,n,o){return function(r){this.style.setProperty(e,n.call(this,r),o)}}function Yv(e,n,o){var r,i;function a(){var l=n.apply(this,arguments);return l!==i&&(r=(i=l)&&Hv(e,l,o)),r}return a._value=n,a}function Wv(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,Yv(e,n,o??""))}function Xv(e){return function(){this.textContent=e}}function Zv(e){return function(){var n=e(this);this.textContent=n??""}}function Jv(e){return this.tween("text",typeof e=="function"?Zv(hl(this,"text",e)):Xv(e==null?"":e+""))}function Qv(e){return function(n){this.textContent=e.call(this,n)}}function ex(e){var n,o;function r(){var i=e.apply(this,arguments);return i!==o&&(n=(o=i)&&Qv(i)),n}return r._value=e,r}function tx(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,ex(e))}function nx(){for(var e=this._name,n=this._id,o=cf(),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 f=Ct(c,n);li(c,e,o,d,l,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Kt(r,this._parents,e,o)}function ox(){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=Ot(this,r),f=d.on;f!==e&&(n=(e=f).copy(),n._.cancel.push(s),n._.interrupt.push(s),n._.end.push(c)),d.on=n}),i===0&&a()})}var rx=0;function Kt(e,n,o,r){this._groups=e,this._parents=n,this._name=o,this._id=r}function cf(){return++rx}var jt=Oo.prototype;Kt.prototype={constructor:Kt,select:Mv,selectAll:Lv,selectChild:jt.selectChild,selectChildren:jt.selectChildren,filter:Tv,merge:Ov,selection:Uv,transition:nx,call:jt.call,nodes:jt.nodes,node:jt.node,size:jt.size,empty:jt.empty,each:jt.each,on:Vv,attr:gv,attrTween:wv,style:zv,styleTween:Wv,text:Jv,textTween:tx,remove:Dv,tween:sv,delay:Ev,duration:vv,ease:Av,easeVarying:Pv,end:ox,[Symbol.iterator]:jt[Symbol.iterator]};function ix(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var ax={time:null,delay:0,duration:250,ease:ix};function lx(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 sx(e){var n,o;e instanceof Kt?(n=e._id,e=e._name):(n=cf(),(o=ax).time=ul(),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])&&li(c,e,n,d,l,o||lx(c,n));return new Kt(r,this._parents,e,n)}Oo.prototype.interrupt=iv,Oo.prototype.transition=sx;const ci=e=>()=>e;function cx(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 qt(e,n,o){this.k=e,this.x=n,this.y=o}qt.prototype={constructor:qt,scale:function(e){return e===1?this:new qt(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new qt(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 eo=new qt(1,0,0);qt.prototype;function yl(e){e.stopImmediatePropagation()}function Ko(e){e.preventDefault(),e.stopImmediatePropagation()}function dx(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function ux(){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 df(){return this.__zoom||eo}function fx(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function px(){return navigator.maxTouchPoints||"ontouchstart"in this}function mx(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 gx(){var e=dx,n=ux,o=mx,r=fx,i=px,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],s=250,c=ei,d=jr("start","zoom","end"),f,u,p,m=500,h=150,y=0,g=10;function _(A){A.property("__zoom",df).on("wheel.zoom",$,{passive:!1}).on("mousedown.zoom",D).on("dblclick.zoom",j).filter(i).on("touchstart.zoom",K).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",Y).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,F,R,ee){var q=A.selection?A.selection():A;q.property("__zoom",df),A!==q?x(A,F,R,ee):q.interrupt().each(function(){S(this,arguments).event(ee).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},_.scaleBy=function(A,F,R,ee){_.scaleTo(A,function(){var q=this.__zoom.k,H=typeof F=="function"?F.apply(this,arguments):F;return q*H},R,ee)},_.scaleTo=function(A,F,R,ee){_.transform(A,function(){var q=n.apply(this,arguments),H=this.__zoom,U=R==null?v(q):typeof R=="function"?R.apply(this,arguments):R,M=H.invert(U),L=typeof F=="function"?F.apply(this,arguments):F;return o(w(b(H,L),U,M),q,l)},R,ee)},_.translateBy=function(A,F,R,ee){_.transform(A,function(){return o(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof R=="function"?R.apply(this,arguments):R),n.apply(this,arguments),l)},null,ee)},_.translateTo=function(A,F,R,ee,q){_.transform(A,function(){var H=n.apply(this,arguments),U=this.__zoom,M=ee==null?v(H):typeof ee=="function"?ee.apply(this,arguments):ee;return o(eo.translate(M[0],M[1]).scale(U.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof R=="function"?-R.apply(this,arguments):-R),H,l)},ee,q)};function b(A,F){return F=Math.max(a[0],Math.min(a[1],F)),F===A.k?A:new qt(F,A.x,A.y)}function w(A,F,R){var ee=F[0]-R[0]*A.k,q=F[1]-R[1]*A.k;return ee===A.x&&q===A.y?A:new qt(A.k,ee,q)}function v(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function x(A,F,R,ee){A.on("start.zoom",function(){S(this,arguments).event(ee).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(ee).end()}).tween("zoom",function(){var q=this,H=arguments,U=S(q,H).event(ee),M=n.apply(q,H),L=R==null?v(M):typeof R=="function"?R.apply(q,H):R,Z=Math.max(M[1][0]-M[0][0],M[1][1]-M[0][1]),W=q.__zoom,re=typeof F=="function"?F.apply(q,H):F,ae=c(W.invert(L).concat(Z/W.k),re.invert(L).concat(Z/re.k));return function(de){if(de===1)de=re;else{var ye=ae(de),Q=Z/ye[2];de=new qt(Q,L[0]-ye[0]*Q,L[1]-ye[1]*Q)}U.zoom(null,de)}})}function S(A,F,R){return!R&&A.__zooming||new I(A,F)}function I(A,F){this.that=A,this.args=F,this.active=0,this.sourceEvent=null,this.extent=n.apply(A,F),this.taps=0}I.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,F){return this.mouse&&A!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&A!=="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(A){var F=wt(this.that).datum();d.call(A,this.that,new cx(A,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:d}),F)}};function $(A,...F){if(!e.apply(this,arguments))return;var R=S(this,F).event(A),ee=this.__zoom,q=Math.max(a[0],Math.min(a[1],ee.k*Math.pow(2,r.apply(this,arguments)))),H=It(A);if(R.wheel)(R.mouse[0][0]!==H[0]||R.mouse[0][1]!==H[1])&&(R.mouse[1]=ee.invert(R.mouse[0]=H)),clearTimeout(R.wheel);else{if(ee.k===q)return;R.mouse=[H,ee.invert(H)],si(this),R.start()}Ko(A),R.wheel=setTimeout(U,h),R.zoom("mouse",o(w(b(ee,q),R.mouse[0],R.mouse[1]),R.extent,l));function U(){R.wheel=null,R.end()}}function D(A,...F){if(p||!e.apply(this,arguments))return;var R=A.currentTarget,ee=S(this,F,!0).event(A),q=wt(A.view).on("mousemove.zoom",L,!0).on("mouseup.zoom",Z,!0),H=It(A,R),U=A.clientX,M=A.clientY;Bu(A.view),yl(A),ee.mouse=[H,this.__zoom.invert(H)],si(this),ee.start();function L(W){if(Ko(W),!ee.moved){var re=W.clientX-U,ae=W.clientY-M;ee.moved=re*re+ae*ae>y}ee.event(W).zoom("mouse",o(w(ee.that.__zoom,ee.mouse[0]=It(W,R),ee.mouse[1]),ee.extent,l))}function Z(W){q.on("mousemove.zoom mouseup.zoom",null),Vu(W.view,ee.moved),Ko(W),ee.event(W).end()}}function j(A,...F){if(e.apply(this,arguments)){var R=this.__zoom,ee=It(A.changedTouches?A.changedTouches[0]:A,this),q=R.invert(ee),H=R.k*(A.shiftKey?.5:2),U=o(w(b(R,H),ee,q),n.apply(this,F),l);Ko(A),s>0?wt(this).transition().duration(s).call(x,U,ee,A):wt(this).call(_.transform,U,ee,A)}}function K(A,...F){if(e.apply(this,arguments)){var R=A.touches,ee=R.length,q=S(this,F,A.changedTouches.length===ee).event(A),H,U,M,L;for(yl(A),U=0;U<ee;++U)M=R[U],L=It(M,this),L=[L,this.__zoom.invert(L),M.identifier],q.touch0?!q.touch1&&q.touch0[2]!==L[2]&&(q.touch1=L,q.taps=0):(q.touch0=L,H=!0,q.taps=1+!!f);f&&(f=clearTimeout(f)),H&&(q.taps<2&&(u=L[0],f=setTimeout(function(){f=null},m)),si(this),q.start())}}function k(A,...F){if(this.__zooming){var R=S(this,F).event(A),ee=A.changedTouches,q=ee.length,H,U,M,L;for(Ko(A),H=0;H<q;++H)U=ee[H],M=It(U,this),R.touch0&&R.touch0[2]===U.identifier?R.touch0[0]=M:R.touch1&&R.touch1[2]===U.identifier&&(R.touch1[0]=M);if(U=R.that.__zoom,R.touch1){var Z=R.touch0[0],W=R.touch0[1],re=R.touch1[0],ae=R.touch1[1],de=(de=re[0]-Z[0])*de+(de=re[1]-Z[1])*de,ye=(ye=ae[0]-W[0])*ye+(ye=ae[1]-W[1])*ye;U=b(U,Math.sqrt(de/ye)),M=[(Z[0]+re[0])/2,(Z[1]+re[1])/2],L=[(W[0]+ae[0])/2,(W[1]+ae[1])/2]}else if(R.touch0)M=R.touch0[0],L=R.touch0[1];else return;R.zoom("touch",o(w(U,M,L),R.extent,l))}}function Y(A,...F){if(this.__zooming){var R=S(this,F).event(A),ee=A.changedTouches,q=ee.length,H,U;for(yl(A),p&&clearTimeout(p),p=setTimeout(function(){p=null},m),H=0;H<q;++H)U=ee[H],R.touch0&&R.touch0[2]===U.identifier?delete R.touch0:R.touch1&&R.touch1[2]===U.identifier&&delete R.touch1;if(R.touch1&&!R.touch0&&(R.touch0=R.touch1,delete R.touch1),R.touch0)R.touch0[1]=this.__zoom.invert(R.touch0[0]);else if(R.end(),R.taps===2&&(U=It(U,this),Math.hypot(u[0]-U[0],u[1]-U[1])<g)){var M=wt(this).on("dblclick.zoom");M&&M.apply(this,arguments)}}}return _.wheelDelta=function(A){return arguments.length?(r=typeof A=="function"?A:ci(+A),_):r},_.filter=function(A){return arguments.length?(e=typeof A=="function"?A:ci(!!A),_):e},_.touchable=function(A){return arguments.length?(i=typeof A=="function"?A:ci(!!A),_):i},_.extent=function(A){return arguments.length?(n=typeof A=="function"?A:ci([[+A[0][0],+A[0][1]],[+A[1][0],+A[1][1]]]),_):n},_.scaleExtent=function(A){return arguments.length?(a[0]=+A[0],a[1]=+A[1],_):[a[0],a[1]]},_.translateExtent=function(A){return arguments.length?(l[0][0]=+A[0][0],l[1][0]=+A[1][0],l[0][1]=+A[0][1],l[1][1]=+A[1][1],_):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},_.constrain=function(A){return arguments.length?(o=A,_):o},_.duration=function(A){return arguments.length?(s=+A,_):s},_.interpolate=function(A){return arguments.length?(c=A,_):c},_.on=function(){var A=d.on.apply(d,arguments);return A===d?_:A},_.clickDistance=function(A){return arguments.length?(y=(A=+A)*A,_):Math.sqrt(y)},_.tapDistance=function(A){return arguments.length?(g=+A,_):g},_}var be=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(be||{}),_l=(e=>(e.Partial="partial",e.Full="full",e))(_l||{}),Cn=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(Cn||{}),Jt=(e=>(e.Strict="strict",e.Loose="loose",e))(Jt||{}),di=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(di||{}),jo=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(jo||{}),uf=(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))(uf||{});const hx=["INPUT","SELECT","TEXTAREA"],yx=typeof document<"u"?document:null;function bl(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 hx.includes(r==null?void 0:r.nodeName)||i||!!a}function _x(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function ff(e,n,o,r){const i=n.replace("+",`
|
|
120
120
|
`).replace(`
|
|
121
121
|
|
|
122
122
|
`,`
|
|
123
123
|
+`).split(`
|
|
124
|
-
`).map(l=>l.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===n.toLowerCase();r||o.add(e.toLowerCase());const a=i.every((l,s)=>o.has(l)&&Array.from(o.values())[s]===i[s]);return r&&o.delete(e.toLowerCase()),a}function wx(e,n){return o=>{if(!o.code&&!o.key)return!1;const r=kx(o.code,e);return Array.isArray(e)?e.some(i=>pf(o[r],i,n,o.type==="keyup")):pf(o[r],e,n,o.type==="keyup")}}function kx(e,n){return n.includes(e)?"code":"key"}function qo(e,n){const o=t.computed(()=>t.toValue(n==null?void 0:n.target)??_x),r=t.shallowRef(t.toValue(e)===!0);let i=!1;const a=new Set;let l=c(t.toValue(e));t.watch(()=>t.toValue(e),(d,f)=>{typeof f=="boolean"&&typeof d!="boolean"&&s(),l=c(d)},{immediate:!0}),bu(["blur","contextmenu"],s),wu((...d)=>l(...d),d=>{var f,u;const p=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0,m=t.toValue(n==null?void 0:n.preventDefault)??!1;if(i=bx(d),(!i||i&&!p)&&bl(d))return;const y=((u=(f=d.composedPath)==null?void 0:f.call(d))==null?void 0:u[0])||d.target,g=(y==null?void 0:y.nodeName)==="BUTTON"||(y==null?void 0:y.nodeName)==="A";!m&&(i||!g)&&d.preventDefault(),r.value=!0},{eventName:"keydown",target:o}),wu((...d)=>l(...d),d=>{const f=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0;if(r.value){if((!i||i&&!f)&&bl(d))return;i=!1,r.value=!1}},{eventName:"keyup",target:o});function s(){i=!1,a.clear(),r.value=t.toValue(e)===!0}function c(d){return d===null?(s(),()=>!1):typeof d=="boolean"?(s(),r.value=d,()=>!1):Array.isArray(d)||typeof d=="string"?wx(d,a):d}return r}const mf="vue-flow__node-desc",gf="vue-flow__edge-desc",Cx="vue-flow__aria-live",hf=["Enter"," ","Escape"],to={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function ui(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function fi(e,n){const o=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),r=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(o*r)}function pi(e){return{width:e.offsetWidth,height:e.offsetHeight}}function Nn(e,n=0,o=1){return Math.min(Math.max(e,n),o)}function yf(e,n){return{x:Nn(e.x,n[0][0],n[1][0]),y:Nn(e.y,n[0][1],n[1][1])}}function _f(e){const n=e.getRootNode();return"elementFromPoint"in n?n:window.document}function Qt(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function Sn(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!Qt(e)}function Go(e){return Sn(e)&&"computedPosition"in e}function mi(e){return!Number.isNaN(e)&&Number.isFinite(e)}function Ex(e){return mi(e.width)&&mi(e.height)&&mi(e.x)&&mi(e.y)}function Nx(e,n,o){const r={id:e.id.toString(),type:e.type??"default",dimensions:t.markRaw({width:0,height:0}),computedPosition:t.markRaw({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:ze(e.data)?e.data:{},events:t.markRaw(ze(e.events)?e.events:{})};return Object.assign(n??r,e,{id:e.id.toString(),parentNode:o})}function bf(e,n,o){var r,i;const a={id:e.id.toString(),type:e.type??(n==null?void 0:n.type)??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(r=e.sourceHandle)==null?void 0:r.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:e.updatable??(o==null?void 0:o.updatable),selectable:e.selectable??(o==null?void 0:o.selectable),focusable:e.focusable??(o==null?void 0:o.focusable),data:ze(e.data)?e.data:{},events:t.markRaw(ze(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??(o==null?void 0:o.interactionWidth),...o??{}};return Object.assign(n??a,e,{id:e.id.toString()})}function wf(e,n,o,r){const i=typeof e=="string"?e:e.id,a=new Set,l=r==="source"?"target":"source";for(const s of o)s[l]===i&&a.add(s[r]);return n.filter(s=>a.has(s.id))}function Sx(...e){if(e.length===3){const[a,l,s]=e;return wf(a,l,s,"target")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>Qt(a)&&a.source===r).map(a=>o.find(l=>Sn(l)&&l.id===a.target))}function vx(...e){if(e.length===3){const[a,l,s]=e;return wf(a,l,s,"source")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>Qt(a)&&a.target===r).map(a=>o.find(l=>Sn(l)&&l.id===a.source))}function kf({source:e,sourceHandle:n,target:o,targetHandle:r}){return`vueflow__edge-${e}${n??""}-${o}${r??""}`}function xx(e,n){return n.some(o=>Qt(o)&&o.source===e.source&&o.target===e.target&&(o.sourceHandle===e.sourceHandle||!o.sourceHandle&&!e.sourceHandle)&&(o.targetHandle===e.targetHandle||!o.targetHandle&&!e.targetHandle))}function wl({x:e,y:n},{x:o,y:r,zoom:i}){return{x:e*i+o,y:n*i+r}}function zo({x:e,y:n},{x:o,y:r,zoom:i},a=!1,l=[1,1]){const s={x:(e-o)/i,y:(n-r)/i};return a?hi(s,l):s}function Ax(e,n){return{x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}}function Cf({x:e,y:n,width:o,height:r}){return{x:e,y:n,x2:e+o,y2:n+r}}function Ix({x:e,y:n,x2:o,y2:r}){return{x:e,y:n,width:o-e,height:r-n}}function Ef(e){let n={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let o=0;o<e.length;o++){const r=e[o];n=Ax(n,Cf({...r.computedPosition,...r.dimensions}))}return Ix(n)}function Nf(e,n,o={x:0,y:0,zoom:1},r=!1,i=!1){const a={...zo(n,o),width:n.width/o.zoom,height:n.height/o.zoom},l=[];for(const s of e){const{dimensions:c,selectable:d=!0,hidden:f=!1}=s,u=c.width??s.width??null,p=c.height??s.height??null;if(i&&!d||f)continue;const m=fi(a,ui(s)),h=u===null||p===null,y=r&&m>0,g=(u??0)*(p??0);(h||y||m>=g||s.dragging)&&l.push(s)}return l}function Sf(e,n){const o=new Set;if(typeof e=="string")o.add(e);else if(e.length>=1)for(const r of e)o.add(r.id);return n.filter(r=>o.has(r.source)||o.has(r.target))}function vf(e,n,o,r,i,a=.1,l={x:0,y:0}){const s=n/(e.width*(1+a)),c=o/(e.height*(1+a)),d=Math.min(s,c),f=Nn(d,r,i),u=e.x+e.width/2,p=e.y+e.height/2,m=n/2-u*f+(l.x??0),h=o/2-p*f+(l.y??0);return{x:m,y:h,zoom:f}}function Px(e,n){return{x:n.x+e.x,y:n.y+e.y,z:(e.z>n.z?e.z:n.z)+1}}function xf(e,n){if(!e.parentNode)return!1;const o=n(e.parentNode);return o?o.selected?!0:xf(o,n):!1}function Ho(e,n){return typeof e>"u"?"":typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`}function Af(e,n,o){return e<n?Nn(Math.abs(e-n),1,n)/n:e>o?-Nn(Math.abs(e-o),1,n)/n:0}function If(e,n,o=15,r=40){const i=Af(e.x,r,n.width-r)*o,a=Af(e.y,r,n.height-r)*o;return[i,a]}function kl(e,n){if(n){const o=e.position.x+e.dimensions.width-n.dimensions.width,r=e.position.y+e.dimensions.height-n.dimensions.height;if(o>0||r>0||e.position.x<0||e.position.y<0){let i={};if(typeof n.style=="function"?i={...n.style(n)}:n.style&&(i={...n.style}),i.width=i.width??`${n.dimensions.width}px`,i.height=i.height??`${n.dimensions.height}px`,o>0)if(typeof i.width=="string"){const a=Number(i.width.replace("px",""));i.width=`${a+o}px`}else i.width+=o;if(r>0)if(typeof i.height=="string"){const a=Number(i.height.replace("px",""));i.height=`${a+r}px`}else i.height+=r;if(e.position.x<0){const a=Math.abs(e.position.x);if(n.position.x=n.position.x-a,typeof i.width=="string"){const l=Number(i.width.replace("px",""));i.width=`${l+a}px`}else i.width+=a;e.position.x=0}if(e.position.y<0){const a=Math.abs(e.position.y);if(n.position.y=n.position.y-a,typeof i.height=="string"){const l=Number(i.height.replace("px",""));i.height=`${l+a}px`}else i.height+=a;e.position.y=0}n.dimensions.width=Number(i.width.toString().replace("px","")),n.dimensions.height=Number(i.height.toString().replace("px","")),typeof n.style=="function"?n.style=a=>{const l=n.style;return{...l(a),...i}}:n.style={...n.style,...i}}}}function Pf(e,n){var o,r;const i=e.filter(l=>l.type==="add"||l.type==="remove");for(const l of i)if(l.type==="add")n.findIndex(c=>c.id===l.item.id)===-1&&n.push(l.item);else if(l.type==="remove"){const s=n.findIndex(c=>c.id===l.id);s!==-1&&n.splice(s,1)}const a=n.map(l=>l.id);for(const l of n)for(const s of e)if(s.id===l.id)switch(s.type){case"select":l.selected=s.selected;break;case"position":if(Go(l)&&(typeof s.position<"u"&&(l.position=s.position),typeof s.dragging<"u"&&(l.dragging=s.dragging),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&Go(c)&&kl(l,c)}break;case"dimensions":if(Go(l)&&(typeof s.dimensions<"u"&&(l.dimensions=s.dimensions),typeof s.updateStyle<"u"&&s.updateStyle&&(l.style={...l.style||{},width:`${(o=s.dimensions)==null?void 0:o.width}px`,height:`${(r=s.dimensions)==null?void 0:r.height}px`}),typeof s.resizing<"u"&&(l.resizing=s.resizing),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&Go(c)&&(!!c.dimensions.width&&!!c.dimensions.height?kl(l,c):t.nextTick(()=>{kl(l,c)}))}break}return n}function en(e,n){return{id:e,type:"select",selected:n}}function Tf(e){return{item:e,type:"add"}}function Of(e){return{id:e,type:"remove"}}function $f(e,n,o,r,i){return{id:e,source:n,target:o,sourceHandle:r||null,targetHandle:i||null,type:"remove"}}function tn(e,n=new Set,o=!1){const r=[];for(const[i,a]of e){const l=n.has(i);!(a.selected===void 0&&!l)&&a.selected!==l&&(o&&(a.selected=l),r.push(en(a.id,l)))}return r}function _e(e){const n=new Set;let o=!1;const r=()=>n.size>0;e&&(o=!0,n.add(e));const i=s=>{n.delete(s)};return{on:s=>{e&&o&&n.delete(e),n.add(s);const c=()=>{i(s),e&&o&&n.add(e)};return Kr(c),{off:c}},off:i,trigger:s=>Promise.all(Array.from(n).map(c=>c(s))),hasListeners:r,fns:n}}function Bf(e,n,o){let r=e;do{if(r&&r.matches(n))return!0;if(r===o)return!1;r=r.parentElement}while(r);return!1}function Tx(e,n,o,r,i){var a,l;const s=[];for(const c of e)(c.selected||c.id===i)&&(!c.parentNode||!xf(c,r))&&(c.draggable||n&&typeof c.draggable>"u")&&s.push(t.markRaw({id:c.id,position:c.position||{x:0,y:0},distance:{x:o.x-((a=c.computedPosition)==null?void 0:a.x)||0,y:o.y-((l=c.computedPosition)==null?void 0:l.y)||0},from:c.computedPosition,extent:c.extent,parentNode:c.parentNode,dimensions:c.dimensions,expandParent:c.expandParent}));return s}function Cl({id:e,dragItems:n,findNode:o}){const r=[];for(const i of n){const a=o(i.id);a&&r.push(a)}return[e?r.find(i=>i.id===e):r[0],r]}function Vf(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function Ox(e,n,o){const[r,i,a,l]=typeof e!="string"?Vf(e.padding):[0,0,0,0];return o&&typeof o.computedPosition.x<"u"&&typeof o.computedPosition.y<"u"&&typeof o.dimensions.width<"u"&&typeof o.dimensions.height<"u"?[[o.computedPosition.x+l,o.computedPosition.y+r],[o.computedPosition.x+o.dimensions.width-i,o.computedPosition.y+o.dimensions.height-a]]:!1}function $x(e,n,o,r){let i=e.extent||o;if((i==="parent"||!Array.isArray(i)&&(i==null?void 0:i.range)==="parent")&&!e.expandParent)if(e.parentNode&&r&&e.dimensions.width&&e.dimensions.height){const a=Ox(i,e,r);a&&(i=a)}else n(new Ze(Ge.NODE_EXTENT_INVALID,e.id)),i=o;else if(Array.isArray(i)){const a=(r==null?void 0:r.computedPosition.x)||0,l=(r==null?void 0:r.computedPosition.y)||0;i=[[i[0][0]+a,i[0][1]+l],[i[1][0]+a,i[1][1]+l]]}else if(i!=="parent"&&(i!=null&&i.range)&&Array.isArray(i.range)){const[a,l,s,c]=Vf(i.padding),d=(r==null?void 0:r.computedPosition.x)||0,f=(r==null?void 0:r.computedPosition.y)||0;i=[[i.range[0][0]+d+c,i.range[0][1]+f+a],[i.range[1][0]+d-l,i.range[1][1]+f-s]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function Bx({width:e,height:n},o){return[o[0],[o[1][0]-(e||0),o[1][1]-(n||0)]]}function El(e,n,o,r,i){const a=Bx(e.dimensions,$x(e,o,r,i)),l=yf(n,a);return{position:{x:l.x-((i==null?void 0:i.computedPosition.x)||0),y:l.y-((i==null?void 0:i.computedPosition.y)||0)},computedPosition:l}}function no(e,n,o=be.Left,r=!1){const i=((n==null?void 0:n.x)??0)+e.computedPosition.x,a=((n==null?void 0:n.y)??0)+e.computedPosition.y,{width:l,height:s}=n??Mx(e);if(r)return{x:i+l/2,y:a+s/2};switch((n==null?void 0:n.position)??o){case be.Top:return{x:i+l/2,y:a};case be.Right:return{x:i+l,y:a+s/2};case be.Bottom:return{x:i+l/2,y:a+s};case be.Left:return{x:i,y:a+s/2}}}function Rf(e,n){return e&&(n?e.find(o=>o.id===n):e[0])||null}function Vx({sourcePos:e,targetPos:n,sourceWidth:o,sourceHeight:r,targetWidth:i,targetHeight:a,width:l,height:s,viewport:c}){const d={x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x+o,n.x+i),y2:Math.max(e.y+r,n.y+a)};d.x===d.x2&&(d.x2+=1),d.y===d.y2&&(d.y2+=1);const f=Cf({x:(0-c.x)/c.zoom,y:(0-c.y)/c.zoom,width:l/c.zoom,height:s/c.zoom}),u=Math.max(0,Math.min(f.x2,d.x2)-Math.max(f.x,d.x)),p=Math.max(0,Math.min(f.y2,d.y2)-Math.max(f.y,d.y));return Math.ceil(u*p)>0}function Rx(e,n,o=!1){const r=typeof e.zIndex=="number";let i=r?e.zIndex:0;const a=n(e.source),l=n(e.target);return!a||!l?0:(o&&(i=r?e.zIndex:Math.max(a.computedPosition.z||0,l.computedPosition.z||0)),i)}var Ge=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(Ge||{});const Df={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid
|
|
124
|
+
`).map(l=>l.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===n.toLowerCase();r||o.add(e.toLowerCase());const a=i.every((l,s)=>o.has(l)&&Array.from(o.values())[s]===i[s]);return r&&o.delete(e.toLowerCase()),a}function bx(e,n){return o=>{if(!o.code&&!o.key)return!1;const r=wx(o.code,e);return Array.isArray(e)?e.some(i=>ff(o[r],i,n,o.type==="keyup")):ff(o[r],e,n,o.type==="keyup")}}function wx(e,n){return n.includes(e)?"code":"key"}function qo(e,n){const o=t.computed(()=>t.toValue(n==null?void 0:n.target)??yx),r=t.shallowRef(t.toValue(e)===!0);let i=!1;const a=new Set;let l=c(t.toValue(e));t.watch(()=>t.toValue(e),(d,f)=>{typeof f=="boolean"&&typeof d!="boolean"&&s(),l=c(d)},{immediate:!0}),_u(["blur","contextmenu"],s),bu((...d)=>l(...d),d=>{var f,u;const p=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0,m=t.toValue(n==null?void 0:n.preventDefault)??!1;if(i=_x(d),(!i||i&&!p)&&bl(d))return;const y=((u=(f=d.composedPath)==null?void 0:f.call(d))==null?void 0:u[0])||d.target,g=(y==null?void 0:y.nodeName)==="BUTTON"||(y==null?void 0:y.nodeName)==="A";!m&&(i||!g)&&d.preventDefault(),r.value=!0},{eventName:"keydown",target:o}),bu((...d)=>l(...d),d=>{const f=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0;if(r.value){if((!i||i&&!f)&&bl(d))return;i=!1,r.value=!1}},{eventName:"keyup",target:o});function s(){i=!1,a.clear(),r.value=t.toValue(e)===!0}function c(d){return d===null?(s(),()=>!1):typeof d=="boolean"?(s(),r.value=d,()=>!1):Array.isArray(d)||typeof d=="string"?bx(d,a):d}return r}const pf="vue-flow__node-desc",mf="vue-flow__edge-desc",kx="vue-flow__aria-live",gf=["Enter"," ","Escape"],to={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function ui(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function fi(e,n){const o=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),r=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(o*r)}function pi(e){return{width:e.offsetWidth,height:e.offsetHeight}}function En(e,n=0,o=1){return Math.min(Math.max(e,n),o)}function hf(e,n){return{x:En(e.x,n[0][0],n[1][0]),y:En(e.y,n[0][1],n[1][1])}}function yf(e){const n=e.getRootNode();return"elementFromPoint"in n?n:window.document}function Qt(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function Nn(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!Qt(e)}function Go(e){return Nn(e)&&"computedPosition"in e}function mi(e){return!Number.isNaN(e)&&Number.isFinite(e)}function Cx(e){return mi(e.width)&&mi(e.height)&&mi(e.x)&&mi(e.y)}function Ex(e,n,o){const r={id:e.id.toString(),type:e.type??"default",dimensions:t.markRaw({width:0,height:0}),computedPosition:t.markRaw({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:ze(e.data)?e.data:{},events:t.markRaw(ze(e.events)?e.events:{})};return Object.assign(n??r,e,{id:e.id.toString(),parentNode:o})}function _f(e,n,o){var r,i;const a={id:e.id.toString(),type:e.type??(n==null?void 0:n.type)??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(r=e.sourceHandle)==null?void 0:r.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:e.updatable??(o==null?void 0:o.updatable),selectable:e.selectable??(o==null?void 0:o.selectable),focusable:e.focusable??(o==null?void 0:o.focusable),data:ze(e.data)?e.data:{},events:t.markRaw(ze(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??(o==null?void 0:o.interactionWidth),...o??{}};return Object.assign(n??a,e,{id:e.id.toString()})}function bf(e,n,o,r){const i=typeof e=="string"?e:e.id,a=new Set,l=r==="source"?"target":"source";for(const s of o)s[l]===i&&a.add(s[r]);return n.filter(s=>a.has(s.id))}function Nx(...e){if(e.length===3){const[a,l,s]=e;return bf(a,l,s,"target")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>Qt(a)&&a.source===r).map(a=>o.find(l=>Nn(l)&&l.id===a.target))}function Sx(...e){if(e.length===3){const[a,l,s]=e;return bf(a,l,s,"source")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>Qt(a)&&a.target===r).map(a=>o.find(l=>Nn(l)&&l.id===a.source))}function wf({source:e,sourceHandle:n,target:o,targetHandle:r}){return`vueflow__edge-${e}${n??""}-${o}${r??""}`}function vx(e,n){return n.some(o=>Qt(o)&&o.source===e.source&&o.target===e.target&&(o.sourceHandle===e.sourceHandle||!o.sourceHandle&&!e.sourceHandle)&&(o.targetHandle===e.targetHandle||!o.targetHandle&&!e.targetHandle))}function wl({x:e,y:n},{x:o,y:r,zoom:i}){return{x:e*i+o,y:n*i+r}}function zo({x:e,y:n},{x:o,y:r,zoom:i},a=!1,l=[1,1]){const s={x:(e-o)/i,y:(n-r)/i};return a?hi(s,l):s}function xx(e,n){return{x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}}function kf({x:e,y:n,width:o,height:r}){return{x:e,y:n,x2:e+o,y2:n+r}}function Ax({x:e,y:n,x2:o,y2:r}){return{x:e,y:n,width:o-e,height:r-n}}function Cf(e){let n={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let o=0;o<e.length;o++){const r=e[o];n=xx(n,kf({...r.computedPosition,...r.dimensions}))}return Ax(n)}function Ef(e,n,o={x:0,y:0,zoom:1},r=!1,i=!1){const a={...zo(n,o),width:n.width/o.zoom,height:n.height/o.zoom},l=[];for(const s of e){const{dimensions:c,selectable:d=!0,hidden:f=!1}=s,u=c.width??s.width??null,p=c.height??s.height??null;if(i&&!d||f)continue;const m=fi(a,ui(s)),h=u===null||p===null,y=r&&m>0,g=(u??0)*(p??0);(h||y||m>=g||s.dragging)&&l.push(s)}return l}function Nf(e,n){const o=new Set;if(typeof e=="string")o.add(e);else if(e.length>=1)for(const r of e)o.add(r.id);return n.filter(r=>o.has(r.source)||o.has(r.target))}function Sf(e,n,o,r,i,a=.1,l={x:0,y:0}){const s=n/(e.width*(1+a)),c=o/(e.height*(1+a)),d=Math.min(s,c),f=En(d,r,i),u=e.x+e.width/2,p=e.y+e.height/2,m=n/2-u*f+(l.x??0),h=o/2-p*f+(l.y??0);return{x:m,y:h,zoom:f}}function Ix(e,n){return{x:n.x+e.x,y:n.y+e.y,z:(e.z>n.z?e.z:n.z)+1}}function vf(e,n){if(!e.parentNode)return!1;const o=n(e.parentNode);return o?o.selected?!0:vf(o,n):!1}function Ho(e,n){return typeof e>"u"?"":typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`}function xf(e,n,o){return e<n?En(Math.abs(e-n),1,n)/n:e>o?-En(Math.abs(e-o),1,n)/n:0}function Af(e,n,o=15,r=40){const i=xf(e.x,r,n.width-r)*o,a=xf(e.y,r,n.height-r)*o;return[i,a]}function kl(e,n){if(n){const o=e.position.x+e.dimensions.width-n.dimensions.width,r=e.position.y+e.dimensions.height-n.dimensions.height;if(o>0||r>0||e.position.x<0||e.position.y<0){let i={};if(typeof n.style=="function"?i={...n.style(n)}:n.style&&(i={...n.style}),i.width=i.width??`${n.dimensions.width}px`,i.height=i.height??`${n.dimensions.height}px`,o>0)if(typeof i.width=="string"){const a=Number(i.width.replace("px",""));i.width=`${a+o}px`}else i.width+=o;if(r>0)if(typeof i.height=="string"){const a=Number(i.height.replace("px",""));i.height=`${a+r}px`}else i.height+=r;if(e.position.x<0){const a=Math.abs(e.position.x);if(n.position.x=n.position.x-a,typeof i.width=="string"){const l=Number(i.width.replace("px",""));i.width=`${l+a}px`}else i.width+=a;e.position.x=0}if(e.position.y<0){const a=Math.abs(e.position.y);if(n.position.y=n.position.y-a,typeof i.height=="string"){const l=Number(i.height.replace("px",""));i.height=`${l+a}px`}else i.height+=a;e.position.y=0}n.dimensions.width=Number(i.width.toString().replace("px","")),n.dimensions.height=Number(i.height.toString().replace("px","")),typeof n.style=="function"?n.style=a=>{const l=n.style;return{...l(a),...i}}:n.style={...n.style,...i}}}}function If(e,n){var o,r;const i=e.filter(l=>l.type==="add"||l.type==="remove");for(const l of i)if(l.type==="add")n.findIndex(c=>c.id===l.item.id)===-1&&n.push(l.item);else if(l.type==="remove"){const s=n.findIndex(c=>c.id===l.id);s!==-1&&n.splice(s,1)}const a=n.map(l=>l.id);for(const l of n)for(const s of e)if(s.id===l.id)switch(s.type){case"select":l.selected=s.selected;break;case"position":if(Go(l)&&(typeof s.position<"u"&&(l.position=s.position),typeof s.dragging<"u"&&(l.dragging=s.dragging),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&Go(c)&&kl(l,c)}break;case"dimensions":if(Go(l)&&(typeof s.dimensions<"u"&&(l.dimensions=s.dimensions),typeof s.updateStyle<"u"&&s.updateStyle&&(l.style={...l.style||{},width:`${(o=s.dimensions)==null?void 0:o.width}px`,height:`${(r=s.dimensions)==null?void 0:r.height}px`}),typeof s.resizing<"u"&&(l.resizing=s.resizing),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&Go(c)&&(!!c.dimensions.width&&!!c.dimensions.height?kl(l,c):t.nextTick(()=>{kl(l,c)}))}break}return n}function en(e,n){return{id:e,type:"select",selected:n}}function Pf(e){return{item:e,type:"add"}}function Tf(e){return{id:e,type:"remove"}}function Of(e,n,o,r,i){return{id:e,source:n,target:o,sourceHandle:r||null,targetHandle:i||null,type:"remove"}}function tn(e,n=new Set,o=!1){const r=[];for(const[i,a]of e){const l=n.has(i);!(a.selected===void 0&&!l)&&a.selected!==l&&(o&&(a.selected=l),r.push(en(a.id,l)))}return r}function _e(e){const n=new Set;let o=!1;const r=()=>n.size>0;e&&(o=!0,n.add(e));const i=s=>{n.delete(s)};return{on:s=>{e&&o&&n.delete(e),n.add(s);const c=()=>{i(s),e&&o&&n.add(e)};return Kr(c),{off:c}},off:i,trigger:s=>Promise.all(Array.from(n).map(c=>c(s))),hasListeners:r,fns:n}}function $f(e,n,o){let r=e;do{if(r&&r.matches(n))return!0;if(r===o)return!1;r=r.parentElement}while(r);return!1}function Px(e,n,o,r,i){var a,l;const s=[];for(const c of e)(c.selected||c.id===i)&&(!c.parentNode||!vf(c,r))&&(c.draggable||n&&typeof c.draggable>"u")&&s.push(t.markRaw({id:c.id,position:c.position||{x:0,y:0},distance:{x:o.x-((a=c.computedPosition)==null?void 0:a.x)||0,y:o.y-((l=c.computedPosition)==null?void 0:l.y)||0},from:c.computedPosition,extent:c.extent,parentNode:c.parentNode,dimensions:c.dimensions,expandParent:c.expandParent}));return s}function Cl({id:e,dragItems:n,findNode:o}){const r=[];for(const i of n){const a=o(i.id);a&&r.push(a)}return[e?r.find(i=>i.id===e):r[0],r]}function Bf(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function Tx(e,n,o){const[r,i,a,l]=typeof e!="string"?Bf(e.padding):[0,0,0,0];return o&&typeof o.computedPosition.x<"u"&&typeof o.computedPosition.y<"u"&&typeof o.dimensions.width<"u"&&typeof o.dimensions.height<"u"?[[o.computedPosition.x+l,o.computedPosition.y+r],[o.computedPosition.x+o.dimensions.width-i,o.computedPosition.y+o.dimensions.height-a]]:!1}function Ox(e,n,o,r){let i=e.extent||o;if((i==="parent"||!Array.isArray(i)&&(i==null?void 0:i.range)==="parent")&&!e.expandParent)if(e.parentNode&&r&&e.dimensions.width&&e.dimensions.height){const a=Tx(i,e,r);a&&(i=a)}else n(new Ze(Ge.NODE_EXTENT_INVALID,e.id)),i=o;else if(Array.isArray(i)){const a=(r==null?void 0:r.computedPosition.x)||0,l=(r==null?void 0:r.computedPosition.y)||0;i=[[i[0][0]+a,i[0][1]+l],[i[1][0]+a,i[1][1]+l]]}else if(i!=="parent"&&(i!=null&&i.range)&&Array.isArray(i.range)){const[a,l,s,c]=Bf(i.padding),d=(r==null?void 0:r.computedPosition.x)||0,f=(r==null?void 0:r.computedPosition.y)||0;i=[[i.range[0][0]+d+c,i.range[0][1]+f+a],[i.range[1][0]+d-l,i.range[1][1]+f-s]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function $x({width:e,height:n},o){return[o[0],[o[1][0]-(e||0),o[1][1]-(n||0)]]}function El(e,n,o,r,i){const a=$x(e.dimensions,Ox(e,o,r,i)),l=hf(n,a);return{position:{x:l.x-((i==null?void 0:i.computedPosition.x)||0),y:l.y-((i==null?void 0:i.computedPosition.y)||0)},computedPosition:l}}function no(e,n,o=be.Left,r=!1){const i=((n==null?void 0:n.x)??0)+e.computedPosition.x,a=((n==null?void 0:n.y)??0)+e.computedPosition.y,{width:l,height:s}=n??Dx(e);if(r)return{x:i+l/2,y:a+s/2};switch((n==null?void 0:n.position)??o){case be.Top:return{x:i+l/2,y:a};case be.Right:return{x:i+l,y:a+s/2};case be.Bottom:return{x:i+l/2,y:a+s};case be.Left:return{x:i,y:a+s/2}}}function Vf(e,n){return e&&(n?e.find(o=>o.id===n):e[0])||null}function Bx({sourcePos:e,targetPos:n,sourceWidth:o,sourceHeight:r,targetWidth:i,targetHeight:a,width:l,height:s,viewport:c}){const d={x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x+o,n.x+i),y2:Math.max(e.y+r,n.y+a)};d.x===d.x2&&(d.x2+=1),d.y===d.y2&&(d.y2+=1);const f=kf({x:(0-c.x)/c.zoom,y:(0-c.y)/c.zoom,width:l/c.zoom,height:s/c.zoom}),u=Math.max(0,Math.min(f.x2,d.x2)-Math.max(f.x,d.x)),p=Math.max(0,Math.min(f.y2,d.y2)-Math.max(f.y,d.y));return Math.ceil(u*p)>0}function Vx(e,n,o=!1){const r=typeof e.zIndex=="number";let i=r?e.zIndex:0;const a=n(e.source),l=n(e.target);return!a||!l?0:(o&&(i=r?e.zIndex:Math.max(a.computedPosition.z||0,l.computedPosition.z||0)),i)}var Ge=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(Ge||{});const Rf={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid
|
|
125
125
|
Node: ${e}`,NODE_NOT_FOUND:e=>`Node not found
|
|
126
126
|
Node: ${e}`,NODE_MISSING_PARENT:(e,n)=>`Node is missing a parent
|
|
127
127
|
Node: ${e}
|
|
@@ -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 Ze extends Error{constructor(n,...o){var r;super((r=Df[n])==null?void 0:r.call(Df,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function Nl(e){return"clientX"in e}function Dx(e){return"sourceEvent"in e}function $t(e,n){const o=Nl(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 gi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Mx(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 hi(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const Lx=()=>!0;function Sl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Fx(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())fi(i,ui(a))>0&&r.push(a);return r}const Ux=250;function Kx(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=Fx(e,o,n+Ux);for(const d of c){const f=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const u of f){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:p,y:m}=no(d,u,u.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...u,x:p,y:m}],s=h):h===s&&l.push({...u,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(f=>f.type===d)??l[0]}return l[0]}function Mf(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=Lx},f,u,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}=$t(e),_=l.elementFromPoint(y,g),b=_!=null&&_.classList.contains(`${s}-flow__handle`)?_:h,w={handleDomNode:b,isValid:!1,connection:null,toHandle:null};if(b){const v=Lf(void 0,b),x=b.getAttribute("data-nodeid"),S=b.getAttribute("data-handleid"),I=b.classList.contains("connectable"),$=b.classList.contains("connectableend");if(!x||!v)return w;const D={source:m?x:r,sourceHandle:m?S:i,target:m?r:x,targetHandle:m?i:S};w.connection=D;const K=I&&$&&(o===Jt.Strict?m&&v==="source"||!m&&v==="target":x!==r||S!==i);w.isValid=K&&d(D,{nodes:u,edges:f,sourceNode:p(r),targetNode:p(x)}),w.toHandle=n}return w}function Lf(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function jx(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function qx(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function Gx(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const f=i===Jt.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)??[]],u=(o?f==null?void 0:f.find(p=>p.id===o):f==null?void 0:f[0])??null;return u&&a?{...u,...no(d,u,u.position,!0)}:u}const vl={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top},zx=["production","prod"];function yi(e,...n){Ff()&&console.warn(`[Vue Flow]: ${e}`,...n)}function Ff(){return!zx.includes(process.env.NODE_ENV||"")}function Uf(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,...pi(l)}}):null}function xl(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 ze(e){return typeof t.unref(e)<"u"}function Hx(e,n,o,r){if(!e||!e.source||!e.target)return o(new Ze(Ge.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Qt(e)?i=e:i={...e,id:kf(e)},i=bf(i,void 0,r),xx(i,n)?!1:i}function Yx(e,n,o,r,i){if(!n.source||!n.target)return i(new Ze(Ge.EDGE_INVALID,e.id)),!1;if(!o)return i(new Ze(Ge.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?kf(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function Kf(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!Sn(l)){o(new Ze(Ge.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=Nx(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 Ze(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 jf(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 Al(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}`,f=`${a}-${s}--${i}-${l}`;jf("source",c,f,e,i,l),jf("target",c,d,e,a,s)}}function qf(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function Il(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const f=Qt(d)?d:Hx(d,s,i,a);if(!f)continue;const u=o(f.source),p=o(f.target);if(!u||!p){i(new Ze(Ge.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!u){i(new Ze(Ge.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new Ze(Ge.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:u,targetNode:p})){i(new Ze(Ge.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...bf(f,m,a),sourceNode:u,targetNode:p})}return c}const Gf=Symbol("vueFlow"),zf=Symbol("nodeId"),Hf=Symbol("nodeRef"),Wx=Symbol("edgeId"),Xx=Symbol("edgeRef"),_i=Symbol("slots");function Yf(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:f,nodesDraggable:u,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:y,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:b,updateNodePositions:w,emits:v}=$e(),{onStart:x,onDrag:S,onStop:I,onClick:$,el:D,disabled:j,id:K,selectable:k,dragHandle:Y}=e,A=t.shallowRef(!1);let F=[],R,ee=null,q={x:void 0,y:void 0},H={x:0,y:0},U=null,M=!1,L=0,Z=!1;const W=Qx(),re=({x:le,y:fe})=>{q={x:le,y:fe};let ce=!1;if(F=F.map(E=>{const N={x:le-E.distance.x,y:fe-E.distance.y},{computedPosition:P}=El(E,o.value?hi(N,r.value):N,v.error,l.value,E.parentNode?m(E.parentNode):void 0);return ce=ce||E.position.x!==P.x||E.position.y!==P.y,E.position=P,E}),!!ce&&(w(F,!0,!0),A.value=!0,U)){const[E,N]=Cl({id:K,dragItems:F,findNode:m});S({event:U,node:E,nodes:N})}},ae=()=>{if(!ee)return;const[le,fe]=If(H,ee,f.value);if(le!==0||fe!==0){const ce={x:(q.x??0)-le/c.value.zoom,y:(q.y??0)-fe/c.value.zoom};p({x:le,y:fe})&&re(ce)}L=requestAnimationFrame(ae)},de=(le,fe)=>{M=!0;const ce=m(K);!g.value&&!h.value&&ce&&(ce.selected||_()),ce&&t.toValue(k)&&g.value&&xl(ce,h.value,b,_,y,!1,fe);const E=W(le.sourceEvent);if(q=E,F=Tx(a.value,u.value,E,m,K),F.length){const[N,P]=Cl({id:K,dragItems:F,findNode:m});x({event:le.sourceEvent,node:N,nodes:P})}},ye=(le,fe)=>{var ce;le.sourceEvent.type==="touchmove"&&le.sourceEvent.touches.length>1||(s.value===0&&de(le,fe),q=W(le.sourceEvent),ee=((ce=n.value)==null?void 0:ce.getBoundingClientRect())||null,H=$t(le.sourceEvent,ee))},Q=(le,fe)=>{const ce=W(le.sourceEvent);if(!Z&&M&&d.value&&(Z=!0,ae()),!M){const E=ce.xSnapped-(q.x??0),N=ce.ySnapped-(q.y??0);Math.sqrt(E*E+N*N)>s.value&&de(le,fe)}(q.x!==ce.xSnapped||q.y!==ce.ySnapped)&&F.length&&M&&(U=le.sourceEvent,H=$t(le.sourceEvent,ee),re(ce))},ne=le=>{let fe=!1;if(!M&&!A.value&&!h.value){const ce=le.sourceEvent,E=W(ce),N=E.xSnapped-(q.x??0),P=E.ySnapped-(q.y??0),C=Math.sqrt(N*N+P*P);C!==0&&C<=s.value&&($==null||$(ce),fe=!0)}if(F.length&&!fe){w(F,!1,!1);const[ce,E]=Cl({id:K,dragItems:F,findNode:m});I({event:le.sourceEvent,node:ce,nodes:E})}F=[],A.value=!1,Z=!1,M=!1,q={x:void 0,y:void 0},cancelAnimationFrame(L)};return t.watch([()=>t.toValue(j),D],([le,fe],ce,E)=>{if(fe){const N=wt(fe);le||(R=ES().on("start",P=>ye(P,fe)).on("drag",P=>Q(P,fe)).on("end",P=>ne(P)).filter(P=>{const C=P.target,O=t.toValue(Y);return!P.button&&(!i.value||!Bf(C,`.${i.value}`,fe)&&(!O||Bf(C,O,fe)))}),N.call(R)),E(()=>{N.on(".drag",null),R&&(R.on("start",null),R.on("drag",null),R.on("end",null))})}}),A}function Zx(){return{doubleClick:_e(),click:_e(),mouseEnter:_e(),mouseMove:_e(),mouseLeave:_e(),contextMenu:_e(),updateStart:_e(),update:_e(),updateEnd:_e()}}function Jx(e,n){const o=Zx();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 Qx(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=$e();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=Dx(i)?i.sourceEvent:i,{x:c,y:d}=$t(s,l),f=zo({x:c,y:d},e.value),{x:u,y:p}=o.value?hi(f,n.value):f;return{xSnapped:u,ySnapped:p,...f}}}function bi(){return!0}function Wf({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:f,connectOnClick:u,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:y,findNode:g,panBy:_,startConnection:b,updateConnection:w,endConnection:v,emits:x,viewport:S,edges:I,nodes:$,isValidConnection:D,nodeLookup:j}=$e();let K=null,k=!1,Y=null;function A(R){var ee;const q=t.toValue(o)==="target",H=Nl(R),U=_f(R.target);if(H&&R.button===0||!H){let M=function(B){E=$t(B,le),re=Kx(zo(E,S.value,!1,[1,1]),f.value,j.value,C),N||(P(),N=!0);const te=Mf(B,{handle:re,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:q?"target":"source",isValidConnection:W,doc:U,lib:"vue",flowId:s,nodeLookup:j.value},I.value,$.value,g);Y=te.handleDomNode,K=te.connection,k=qx(!!re,te.isValid);const V={...X,isValid:k,to:te.toHandle&&k?wl({x:te.toHandle.x,y:te.toHandle.y},S.value):E,toHandle:te.toHandle,toPosition:k&&te.toHandle?te.toHandle.position:vl[C.position],toNode:te.toHandle?j.value.get(te.toHandle.nodeId):null};if(!(k&&re&&(X!=null&&X.toHandle)&&V.toHandle&&X.toHandle.type===V.toHandle.type&&X.toHandle.nodeId===V.toHandle.nodeId&&X.toHandle.id===V.toHandle.id&&X.to.x===V.to.x&&X.to.y===V.to.y)){if(w(re&&k?wl({x:re.x,y:re.y},S.value):E,te.toHandle,jx(!!re,k)),X=V,!re&&!k&&!Y)return Sl(ce);K&&K.source!==K.target&&Y&&(Sl(ce),ce=Y,Y.classList.add("connecting","vue-flow__handle-connecting"),Y.classList.toggle("valid",!!k),Y.classList.toggle("vue-flow__handle-valid",!!k))}},L=function(B){(re||Y)&&K&&k&&(a?a(B,K):x.connect(K)),x.connectEnd(B),i&&(l==null||l(B)),Sl(ce),cancelAnimationFrame(ae),v(B),N=!1,k=!1,K=null,Y=null,U.removeEventListener("mousemove",M),U.removeEventListener("mouseup",L),U.removeEventListener("touchmove",M),U.removeEventListener("touchend",L)};const Z=g(t.toValue(n));let W=t.toValue(r)||D.value||bi;!W&&Z&&(W=(q?Z.isValidSourcePos:Z.isValidTargetPos)||bi);let re,ae=0;const{x:de,y:ye}=$t(R),Q=U==null?void 0:U.elementFromPoint(de,ye),ne=Lf(t.toValue(i),Q),le=(ee=c.value)==null?void 0:ee.getBoundingClientRect();if(!le||!ne)return;const fe=Gx(t.toValue(n),ne,t.toValue(e),j.value,d.value);if(!fe)return;let ce,E=$t(R,le),N=!1;const P=()=>{if(!h.value)return;const[B,te]=If(E,le,y.value);_({x:B,y:te}),ae=requestAnimationFrame(P)},C={...fe,nodeId:t.toValue(n),type:ne,position:fe.position},O=j.value.get(t.toValue(n)),G={inProgress:!0,isValid:null,from:no(O,C,be.Left,!0),fromHandle:C,fromPosition:C.position,fromNode:O,to:E,toHandle:null,toPosition:vl[C.position],toNode:null};b({nodeId:t.toValue(n),id:t.toValue(e),type:ne,position:(Q==null?void 0:Q.getAttribute("data-handlepos"))||be.Top,...E},{x:de-le.left,y:ye-le.top}),x.connectStart({event:R,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ne});let X=G;U.addEventListener("mousemove",M),U.addEventListener("mouseup",L),U.addEventListener("touchmove",M),U.addEventListener("touchend",L)}}function F(R){var ee,q;if(!u.value)return;const H=t.toValue(o)==="target";if(!p.value){x.clickConnectStart({event:R,nodeId:t.toValue(n),handleId:t.toValue(e)}),b({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:be.Top,...$t(R)},void 0,!0);return}let U=t.toValue(r)||D.value||bi;const M=g(t.toValue(n));if(!U&&M&&(U=(H?M.isValidSourcePos:M.isValidTargetPos)||bi),M&&(typeof M.connectable>"u"?m.value:M.connectable)===!1)return;const L=_f(R.target),Z=Mf(R,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:be.Top,...$t(R)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:U,doc:L,lib:"vue",flowId:s,nodeLookup:j.value},I.value,$.value,g),W=((ee=Z.connection)==null?void 0:ee.source)===((q=Z.connection)==null?void 0:q.target);Z.isValid&&Z.connection&&!W&&x.connect(Z.connection),x.clickConnectEnd(R),v(R,!0)}return{handlePointerDown:A,handleClick:F}}function eA(){return t.inject(zf,"")}function Xf(e){const n=e??eA()??"",o=t.inject(Hf,t.ref(null)),{findNode:r,edges:i,emits:a}=$e(),l=r(n);return l||a.error(new Ze(Ge.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>Sf([l],i.value))}}function tA(){return{doubleClick:_e(),click:_e(),mouseEnter:_e(),mouseMove:_e(),mouseLeave:_e(),contextMenu:_e(),dragStart:_e(),drag:_e(),dragStop:_e()}}function nA(e,n){const o=tA();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 Zf(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=$e();return(c,d=!1)=>{const f=a.value?i.value[0]:5,u=a.value?i.value[1]:5,p=d?4:1,m=c.x*f*p,h=c.y*u*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:b}=El(g,_,s.error,n.value,g.parentNode?r(g.parentNode):void 0);y.push({id:g.id,position:b,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(y,!0,!1)}}const Pl=.1,oA=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function nn(){return yi("Viewport not initialized yet."),Promise.resolve(!1)}const rA={zoomIn:nn,zoomOut:nn,zoomTo:nn,fitView:nn,setCenter:nn,fitBounds:nn,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:nn,setTransform:nn,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function iA(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?Do:ei).scaleBy(Tl(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:f}=yf({x:-r,y:-i},e.translateExtent),u=eo.translate(-d,-f).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?Do:ei).transform(Tl(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),u):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"?Do:ei).scaleTo(Tl(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:Pl,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=Ef(s),{x:d,y:f,zoom:u}=vf(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Pl,i.offset);return o(d,f,u,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:Pl})=>{const{x:l,y:s,zoom:c}=vf(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>zo(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 zo(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 wl(s,e.viewport)}return{x:0,y:0}}}:rA)}function Tl(e,n=0,o=oA,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function aA(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=Wn([e.modelValue,()=>{var b,w;return(w=(b=e.modelValue)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(g==null||g.pause(),o.setElements(b),!g&&!_&&b.length?_=!0:g==null||g.resume())}),g=Wn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([b,w])=>{var v;(v=e.modelValue)!=null&&v.value&&Array.isArray(e.modelValue.value)&&(y==null||y.pause(),e.modelValue.value=[...b,...w],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=Wn([e.nodes,()=>{var b,w;return(w=(b=e.nodes)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(g==null||g.pause(),o.setNodes(b),!g&&!_&&b.length?_=!0:g==null||g.resume())}),g=Wn([o.nodes,()=>o.nodes.value.length],([b])=>{var w;(w=e.nodes)!=null&&w.value&&Array.isArray(e.nodes.value)&&(y==null||y.pause(),e.nodes.value=[...b],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=Wn([e.edges,()=>{var b,w;return(w=(b=e.edges)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(g==null||g.pause(),o.setEdges(b),!g&&!_&&b.length?_=!0:g==null||g.resume())}),g=Wn([o.edges,()=>o.edges.value.length],([b])=>{var w;(w=e.edges)!=null&&w.value&&Array.isArray(e.edges.value)&&(y==null||y.pause(),e.edges.value=[...b],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&&ze(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&ze(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&ze(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&ze(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{ze(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,()=>{ze(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,_,b)=>{g?o.onConnect(y):o.hooks.value.connect.off(y),b(()=>{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 b=t.toRef(()=>n[_]),w=o[_];t.isRef(w)&&r.run(()=>{t.watch(b,v=>{ze(v)&&(w.value=v)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),f(),u(),p(),m()})()}),()=>r.stop()}function lA(){return{edgesChange:_e(),nodesChange:_e(),nodeDoubleClick:_e(),nodeClick:_e(),nodeMouseEnter:_e(),nodeMouseMove:_e(),nodeMouseLeave:_e(),nodeContextMenu:_e(),nodeDragStart:_e(),nodeDrag:_e(),nodeDragStop:_e(),nodesInitialized:_e(),miniMapNodeClick:_e(),miniMapNodeDoubleClick:_e(),miniMapNodeMouseEnter:_e(),miniMapNodeMouseMove:_e(),miniMapNodeMouseLeave:_e(),connect:_e(),connectStart:_e(),connectEnd:_e(),clickConnectStart:_e(),clickConnectEnd:_e(),paneReady:_e(),init:_e(),move:_e(),moveStart:_e(),moveEnd:_e(),selectionDragStart:_e(),selectionDrag:_e(),selectionDragStop:_e(),selectionContextMenu:_e(),selectionStart:_e(),selectionEnd:_e(),viewportChangeStart:_e(),viewportChange:_e(),viewportChangeEnd:_e(),paneScroll:_e(),paneClick:_e(),paneContextMenu:_e(),paneMouseEnter:_e(),paneMouseMove:_e(),paneMouseLeave:_e(),edgeContextMenu:_e(),edgeMouseEnter:_e(),edgeMouseMove:_e(),edgeMouseLeave:_e(),edgeDoubleClick:_e(),edgeClick:_e(),edgeUpdateStart:_e(),edgeUpdate:_e(),edgeUpdateEnd:_e(),updateNodeInternals:_e(),error:_e(e=>yi(e.message))}}function sA(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),Kr(()=>{r.off(i)})}})}function Jf(){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:_l.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:jo.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:En.Bezier,style:{}},connectionMode:Jt.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:gi()?"Meta":"Control",zoomActivationKeyCode:gi()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:lA(),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 cA=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function dA(e,n,o){const r=iA(e),i=E=>{const N=E??[];e.hooks.updateNodeInternals.trigger(N)},a=E=>vx(E,e.nodes,e.edges),l=E=>Sx(E,e.nodes,e.edges),s=E=>Sf(E,e.edges),c=({id:E,type:N,nodeId:P})=>{var C;return Array.from(((C=e.connectionLookup.get(`${P}-${N}-${E??null}`))==null?void 0:C.values())??[])},d=E=>{if(E)return n.value.get(E)},f=E=>{if(E)return o.value.get(E)},u=(E,N,P)=>{var C,O;const T=[];for(const G of E){const X={id:G.id,type:"position",dragging:P,from:G.from};if(N&&(X.position=G.position,G.parentNode)){const B=d(G.parentNode);X.position={x:X.position.x-(((C=B==null?void 0:B.computedPosition)==null?void 0:C.x)??0),y:X.position.y-(((O=B==null?void 0:B.computedPosition)==null?void 0:O.y)??0)}}T.push(X)}T!=null&&T.length&&e.hooks.nodesChange.trigger(T)},p=E=>{if(!e.vueFlowRef)return;const N=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!N)return;const P=window.getComputedStyle(N),{m22:C}=new window.DOMMatrixReadOnly(P.transform),O=[];for(const T of E){const G=T,X=d(G.id);if(X){const B=pi(G.nodeElement);if(!!(B.width&&B.height&&(X.dimensions.width!==B.width||X.dimensions.height!==B.height||G.forceUpdate))){const V=G.nodeElement.getBoundingClientRect();X.dimensions=B,X.handleBounds.source=Uf("source",G.nodeElement,V,C,X.id),X.handleBounds.target=Uf("target",G.nodeElement,V,C,X.id),O.push({id:X.id,type:"dimensions",dimensions:B})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),O.length&&e.hooks.nodesChange.trigger(O)},m=(E,N)=>{const P=new Set,C=new Set;for(const G of E)Sn(G)?P.add(G.id):Qt(G)&&C.add(G.id);const O=tn(n.value,P,!0),T=tn(o.value,C);if(e.multiSelectionActive){for(const G of P)O.push(en(G,N));for(const G of C)T.push(en(G,N))}O.length&&e.hooks.nodesChange.trigger(O),T.length&&e.hooks.edgesChange.trigger(T)},h=E=>{if(e.multiSelectionActive){const N=E.map(P=>en(P.id,!0));e.hooks.nodesChange.trigger(N);return}e.hooks.nodesChange.trigger(tn(n.value,new Set(E.map(N=>N.id)),!0)),e.hooks.edgesChange.trigger(tn(o.value))},y=E=>{if(e.multiSelectionActive){const N=E.map(P=>en(P.id,!0));e.hooks.edgesChange.trigger(N);return}e.hooks.edgesChange.trigger(tn(o.value,new Set(E.map(N=>N.id)))),e.hooks.nodesChange.trigger(tn(n.value,new Set,!0))},g=E=>{m(E,!0)},_=E=>{const P=(E||e.nodes).map(C=>(C.selected=!1,en(C.id,!1)));e.hooks.nodesChange.trigger(P)},b=E=>{const P=(E||e.edges).map(C=>(C.selected=!1,en(C.id,!1)));e.hooks.edgesChange.trigger(P)},w=E=>{if(!E||!E.length)return m([],!1);const N=E.reduce((P,C)=>{const O=en(C.id,!1);return Sn(C)?P.nodes.push(O):P.edges.push(O),P},{nodes:[],edges:[]});N.nodes.length&&e.hooks.nodesChange.trigger(N.nodes),N.edges.length&&e.hooks.edgesChange.trigger(N.edges)},v=E=>{var N;(N=e.d3Zoom)==null||N.scaleExtent([E,e.maxZoom]),e.minZoom=E},x=E=>{var N;(N=e.d3Zoom)==null||N.scaleExtent([e.minZoom,E]),e.maxZoom=E},S=E=>{var N;(N=e.d3Zoom)==null||N.translateExtent(E),e.translateExtent=E},I=E=>{e.nodeExtent=E,i()},$=E=>{var N;(N=e.d3Zoom)==null||N.clickDistance(E)},D=E=>{e.nodesDraggable=E,e.nodesConnectable=E,e.elementsSelectable=E},j=E=>{const N=E instanceof Function?E(e.nodes):E;!e.initialized&&!N.length||(e.nodes=Kf(N,d,e.hooks.error.trigger))},K=E=>{const N=E instanceof Function?E(e.edges):E;if(!e.initialized&&!N.length)return;const P=Il(N,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Al(e.connectionLookup,o.value,P),e.edges=P},k=E=>{const N=E instanceof Function?E([...e.nodes,...e.edges]):E;!e.initialized&&!N.length||(j(N.filter(Sn)),K(N.filter(Qt)))},Y=E=>{let N=E instanceof Function?E(e.nodes):E;N=Array.isArray(N)?N:[N];const P=Kf(N,d,e.hooks.error.trigger),C=[];for(const O of P)C.push(Tf(O));C.length&&e.hooks.nodesChange.trigger(C)},A=E=>{let N=E instanceof Function?E(e.edges):E;N=Array.isArray(N)?N:[N];const P=Il(N,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),C=[];for(const O of P)C.push(Tf(O));C.length&&e.hooks.edgesChange.trigger(C)},F=(E,N=!0,P=!1)=>{const C=E instanceof Function?E(e.nodes):E,O=Array.isArray(C)?C:[C],T=[],G=[];function X(te){const V=s(te);for(const me of V)(!ze(me.deletable)||me.deletable)&&G.push($f(me.id,me.source,me.target,me.sourceHandle,me.targetHandle))}function B(te){const V=[];for(const me of e.nodes)me.parentNode===te&&V.push(me);if(V.length){for(const me of V)T.push(Of(me.id));N&&X(V);for(const me of V)B(me.id)}}for(const te of O){const V=typeof te=="string"?d(te):te;V&&(ze(V.deletable)&&!V.deletable||(T.push(Of(V.id)),N&&X([V]),P&&B(V.id)))}G.length&&e.hooks.edgesChange.trigger(G),T.length&&e.hooks.nodesChange.trigger(T)},R=E=>{const N=E instanceof Function?E(e.edges):E,P=Array.isArray(N)?N:[N],C=[];for(const O of P){const T=typeof O=="string"?f(O):O;T&&(ze(T.deletable)&&!T.deletable||C.push($f(typeof O=="string"?O:O.id,T.source,T.target,T.sourceHandle,T.targetHandle)))}e.hooks.edgesChange.trigger(C)},ee=(E,N,P=!0)=>{const C=f(E.id);if(!C)return!1;const O=e.edges.indexOf(C),T=Yx(E,N,C,P,e.hooks.error.trigger);if(T){const[G]=Il([T],e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((X,B)=>B===O?G:X),Al(e.connectionLookup,o.value,[G]),G}return!1},q=(E,N,P={replace:!1})=>{const C=f(E);if(!C)return;const O=typeof N=="function"?N(C):N;C.data=P.replace?O:{...C.data,...O}},H=E=>Pf(E,e.nodes),U=E=>{const N=Pf(E,e.edges);return Al(e.connectionLookup,o.value,N),N},M=(E,N,P={replace:!1})=>{const C=d(E);if(!C)return;const O=typeof N=="function"?N(C):N;P.replace?e.nodes.splice(e.nodes.indexOf(C),1,O):Object.assign(C,O)},L=(E,N,P={replace:!1})=>{const C=d(E);if(!C)return;const O=typeof N=="function"?N(C):N;C.data=P.replace?O:{...C.data,...O}},Z=(E,N,P=!1)=>{P?e.connectionClickStartHandle=E:e.connectionStartHandle=E,e.connectionEndHandle=null,e.connectionStatus=null,N&&(e.connectionPosition=N)},W=(E,N=null,P=null)=>{e.connectionStartHandle&&(e.connectionPosition=E,e.connectionEndHandle=N,e.connectionStatus=P)},re=(E,N)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,N?e.connectionClickStartHandle=null:e.connectionStartHandle=null},ae=E=>{const N=Ex(E),P=N?null:Go(E)?E:d(E.id);return!N&&!P?[null,null,N]:[N?E:ui(P),P,N]},de=(E,N=!0,P=e.nodes)=>{const[C,O,T]=ae(E);if(!C)return[];const G=[];for(const X of P||e.nodes){if(!T&&(X.id===O.id||!X.computedPosition))continue;const B=ui(X),te=fi(B,C);(N&&te>0||te>=Number(C.width)*Number(C.height))&&G.push(X)}return G},ye=(E,N,P=!0)=>{const[C]=ae(E);if(!C)return!1;const O=fi(C,N);return P&&O>0||O>=Number(C.width)*Number(C.height)},Q=E=>{const{viewport:N,dimensions:P,d3Zoom:C,d3Selection:O,translateExtent:T}=e;if(!C||!O||!E.x&&!E.y)return!1;const G=eo.translate(N.x+E.x,N.y+E.y).scale(N.zoom),X=[[0,0],[P.width,P.height]],B=C.constrain()(G,X,T),te=e.viewport.x!==B.x||e.viewport.y!==B.y||e.viewport.zoom!==B.k;return C.transform(O,B),te},ne=E=>{const N=E instanceof Function?E(e):E,P=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];ze(N.defaultEdgeOptions)&&(e.defaultEdgeOptions=N.defaultEdgeOptions);const C=N.modelValue||N.nodes||N.edges?[]:void 0;C&&(N.modelValue&&C.push(...N.modelValue),N.nodes&&C.push(...N.nodes),N.edges&&C.push(...N.edges),k(C));const O=()=>{ze(N.maxZoom)&&x(N.maxZoom),ze(N.minZoom)&&v(N.minZoom),ze(N.translateExtent)&&S(N.translateExtent)};for(const T of Object.keys(N)){const G=T,X=N[G];![...cA,...P].includes(G)&&ze(X)&&(e[G]=X)}Za(()=>e.d3Zoom).not.toBeNull().then(O),e.initialized||(e.initialized=!0)};return{updateNodePositions:u,updateNodeDimensions:p,setElements:k,setNodes:j,setEdges:K,addNodes:Y,addEdges:A,removeNodes:F,removeEdges:R,findNode:d,findEdge:f,updateEdge:ee,updateEdgeData:q,updateNode:M,updateNodeData:L,applyEdgeChanges:U,applyNodeChanges:H,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:y,setMinZoom:v,setMaxZoom:x,setTranslateExtent:S,setNodeExtent:I,setPaneClickDistance:$,removeSelectedElements:w,removeSelectedNodes:_,removeSelectedEdges:b,startConnection:Z,updateConnection:W,endConnection:re,setInteractive:D,setState:ne,getIntersectingNodes:de,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:ye,panBy:Q,fitView:E=>r.value.fitView(E),zoomIn:E=>r.value.zoomIn(E),zoomOut:E=>r.value.zoomOut(E),zoomTo:(E,N)=>r.value.zoomTo(E,N),setViewport:(E,N)=>r.value.setViewport(E,N),setTransform:(E,N)=>r.value.setTransform(E,N),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(E,N,P)=>r.value.setCenter(E,N,P),fitBounds:(E,N)=>r.value.fitBounds(E,N),project:E=>r.value.project(E),screenToFlowCoordinate:E=>r.value.screenToFlowCoordinate(E),flowToScreenCoordinate:E=>r.value.flowToScreenCoordinate(E),toObject:()=>{const E=[],N=[];for(const P of e.nodes){const{computedPosition:C,handleBounds:O,selected:T,dimensions:G,isParent:X,resizing:B,dragging:te,events:V,...me}=P;E.push(me)}for(const P of e.edges){const{selected:C,sourceNode:O,targetNode:T,events:G,...X}=P;N.push(X)}return JSON.parse(JSON.stringify({nodes:E,edges:N,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:E=>new Promise(N=>{const{nodes:P,edges:C,position:O,zoom:T,viewport:G}=E;if(P&&j(P),C&&K(C),G!=null&&G.x&&(G!=null&&G.y)||O){const X=(G==null?void 0:G.x)||O[0],B=(G==null?void 0:G.y)||O[1],te=(G==null?void 0:G.zoom)||T||e.viewport.zoom;return Za(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:X,y:B,zoom:te}).then(()=>{N(!0)})})}else N(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const E=Jf();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const N=eo.translate(E.defaultViewport.x??0,E.defaultViewport.y??0).scale(Nn(E.defaultViewport.zoom??1,E.minZoom,E.maxZoom)),P=e.viewportRef.getBoundingClientRect(),C=[[0,0],[P.width,P.height]],O=e.d3Zoom.constrain()(N,C,E.translateExtent);e.d3Zoom.transform(e.d3Selection,O)}ne(E)},$destroy:()=>{}}}const uA=["data-id","data-handleid","data-nodeid","data-handlepos"],fA={name:"Handle",compatConfig:{MODE:3}},on=t.defineComponent({...fA,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:f,noDragClassName:u,noPanClassName:p}=$e(),{id:m,node:h,nodeEl:y,connectedEdges:g}=Xf(),_=t.ref(),b=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),w=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),v=t.toRef(()=>{var K,k,Y,A,F,R;return((K=l.value)==null?void 0:K.nodeId)===m&&((k=l.value)==null?void 0:k.id)===e.id&&((Y=l.value)==null?void 0:Y.type)===r.value||((A=c.value)==null?void 0:A.nodeId)===m&&((F=c.value)==null?void 0:F.id)===e.id&&((R=c.value)==null?void 0:R.type)===r.value}),x=t.toRef(()=>{var K,k,Y;return((K=s.value)==null?void 0:K.nodeId)===m&&((k=s.value)==null?void 0:k.id)===e.id&&((Y=s.value)==null?void 0:Y.type)===r.value}),{handlePointerDown:S,handleClick:I}=Wf({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),$=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(K=>{const k=K[`${r.value}Handle`];return K[r.value]!==m?!1:k?k===e.id:!0}):typeof e.connectable=="number"?g.value.filter(K=>{const k=K[`${r.value}Handle`];return K[r.value]!==m?!1:k?k===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):ze(e.connectable)?e.connectable:f.value);t.onMounted(()=>{var K;if(!h.dimensions.width||!h.dimensions.height)return;const k=(K=h.handleBounds[r.value])==null?void 0:K.find(H=>H.id===e.id);if(!d.value||k)return;const Y=d.value.querySelector(".vue-flow__transformationpane");if(!y.value||!_.value||!Y||!e.id)return;const A=y.value.getBoundingClientRect(),F=_.value.getBoundingClientRect(),R=window.getComputedStyle(Y),{m22:ee}=new window.DOMMatrixReadOnly(R.transform),q={id:e.id,position:e.position,x:(F.left-A.left)/ee,y:(F.top-A.top)/ee,type:r.value,nodeId:m,...pi(_.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],q]});function D(K){const k=Nl(K);$.value&&b.value&&(k&&K.button===0||!k)&&S(K)}function j(K){!m||!s.value&&!b.value||$.value&&I(K)}return n({handleClick:I,handlePointerDown:S,onClick:j,onPointerDown:D}),(K,k)=>(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":K.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${K.position}`,`vue-flow__handle-${e.id}`,t.unref(u),t.unref(p),r.value,{connectable:$.value,connecting:x.value,connectablestart:b.value,connectableend:w.value,connectionindicator:$.value&&(b.value&&!v.value||w.value&&v.value)}]]),onMousedown:D,onTouchstartPassive:D,onClick:j},[t.renderSlot(K.$slots,"default",{id:K.id})],42,uA))}}),wi=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(on,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(on,{type:"source",position:e,connectable:r,isValidConnection:a})]};wi.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],wi.inheritAttrs=!1,wi.compatConfig={MODE:3};const pA=wi,ki=function({targetPosition:e=be.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(on,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};ki.props=["targetPosition","label","isValidTargetPos","connectable","data"],ki.inheritAttrs=!1,ki.compatConfig={MODE:3};const mA=ki,Ci=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(on,{type:"source",position:e,connectable:o,isValidConnection:r})]};Ci.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Ci.inheritAttrs=!1,Ci.compatConfig={MODE:3};const gA=Ci,hA=["transform"],yA=["width","height","x","y","rx","ry"],_A=["y"],bA={name:"EdgeText",compatConfig:{MODE:3}},wA=t.defineComponent({...bA,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,yA)):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,_A)],8,hA))}}),kA=["id","d","marker-end","marker-start"],CA=["d","stroke-width"],EA={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Ei=t.defineComponent({...EA,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,kA),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,CA)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(wA,{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 Qf({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 ep({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,f=Math.abs(c-e),u=Math.abs(d-n);return[c,d,f,u]}function Ni(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function tp({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case be.Left:l=n-Ni(n-r,a),s=o;break;case be.Right:l=n+Ni(r-n,a),s=o;break;case be.Top:l=n,s=o-Ni(o-i,a);break;case be.Bottom:l=n,s=o+Ni(i-o,a);break}return[l,s]}function np(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,curvature:s=.25}=e,[c,d]=tp({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,u]=tp({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,h,y]=ep({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:f,targetControlY:u});return[`M${n},${o} C${c},${d} ${f},${u} ${i},${a}`,p,m,h,y]}function op({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 rp(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top}=e,[s,c]=op({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,f]=op({pos:l,x1:i,y1:a,x2:n,y2:o}),[u,p,m,h]=ep({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:f});return[`M${n},${o} C${s},${c} ${d},${f} ${i},${a}`,u,p,m,h]}const ip={[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 NA({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 ap(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function SA({source:e,sourcePosition:n=be.Bottom,target:o,targetPosition:r=be.Top,center:i,offset:a}){const l=ip[n],s=ip[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},f=NA({source:c,sourcePosition:n,target:d}),u=f.x!==0?"x":"y",p=f[u];let m,h,y;const g={x:0,y:0},_={x:0,y:0},[b,w,v,x]=Qf({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[u]*s[u]===-1){h=i.x??b,y=i.y??w;const I=[{x:h,y:c.y},{x:h,y:d.y}],$=[{x:c.x,y},{x:d.x,y}];l[u]===p?m=u==="x"?I:$:m=u==="x"?$:I}else{const I=[{x:c.x,y:d.y}],$=[{x:d.x,y:c.y}];if(u==="x"?m=l.x===p?$:I:m=l.y===p?I:$,n===r){const Y=Math.abs(e[u]-o[u]);if(Y<=a){const A=Math.min(a-1,a-Y);l[u]===p?g[u]=(c[u]>e[u]?-1:1)*A:_[u]=(d[u]>o[u]?-1:1)*A}}if(n!==r){const Y=u==="x"?"y":"x",A=l[u]===s[Y],F=c[Y]>d[Y],R=c[Y]<d[Y];(l[u]===1&&(!A&&F||A&&R)||l[u]!==1&&(!A&&R||A&&F))&&(m=u==="x"?I:$)}const D={x:c.x+g.x,y:c.y+g.y},j={x:d.x+_.x,y:d.y+_.y},K=Math.max(Math.abs(D.x-m[0].x),Math.abs(j.x-m[0].x)),k=Math.max(Math.abs(D.y-m[0].y),Math.abs(j.y-m[0].y));K>=k?(h=(D.x+j.x)/2,y=m[0].y):(h=m[0].x,y=(D.y+j.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,v,x]}function vA(e,n,o,r){const i=Math.min(ap(e,n)/2,ap(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,f=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*f}`}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 Ol(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:f=20}=e,[u,p,m,h,y]=SA({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:f});return[u.reduce((_,b,w)=>{let v;return w>0&&w<u.length-1?v=vA(u[w-1],b,u[w+1],s):v=`${w===0?"M":"L"}${b.x} ${b.y}`,_+=v,_},""),p,m,h,y]}function xA(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Qf({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const AA=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]=xA(e);return t.h(Ei,{path:o,labelX:r,labelY:i,...n,...e})}}}),lp=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]=Ol({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Ei,{path:o,labelX:r,labelY:i,...n,...e})}}}),IA=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(lp,{...e,...n,borderRadius:0})}}),PA=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]=np({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Ei,{path:o,labelX:r,labelY:i,...n,...e})}}}),TA=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]=rp({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Ei,{path:o,labelX:r,labelY:i,...n,...e})}}}),OA={input:gA,default:pA,output:mA},$A={default:PA,straight:AA,step:IA,smoothstep:lp,simplebezier:TA};function BA(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={...$A,...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={...OA,...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?Nf(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),b=n.value.get(g.target);Vx({sourcePos:_.computedPosition||{x:0,y:0},targetPos:b.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:b.dimensions.width,targetHeight:b.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]),f=t.computed(()=>{const y=[];for(const g of e.nodes)g.selected&&y.push(g);return y}),u=t.computed(()=>{const y=[];for(const g of e.edges)g.selected&&y.push(g);return y}),p=t.computed(()=>[...f.value,...u.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:f,getSelectedEdges:u,getNodesInitialized:m,areNodesInitialized:h}}class vn{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)??vn.instance;return vn.instance=r??new vn,o&&(o.config.globalProperties.$vueFlowStorage=vn.instance),vn.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=Jf(),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=BA(i,s,c),f=dA(i,s,c);f.setState({...i,...o});const u={...a,...d,...f,...ON(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,u),u}getId(){return`vue-flow-${this.currentId++}`}}function $e(e){const n=vn.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(Gf,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,(u,p,m)=>{const h=g=>{d.applyNodeChanges(g)},y=g=>{d.applyEdgeChanges(g)};u?(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}),Kr(()=>{if(s){const u=n.get(s.id);u?u.$destroy():yi(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(Gf,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Ze(Ge.USEVUEFLOW_OPTIONS))}return s}function VA(e){const{emits:n,dimensions:o}=$e();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=pi(i);(l.width===0||l.height===0)&&n.error(new Ze(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 RA={name:"UserSelection",compatConfig:{MODE:3}},DA=t.defineComponent({...RA,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))}}),MA=["tabIndex"],LA={name:"NodesSelection",compatConfig:{MODE:3}},FA=t.defineComponent({...LA,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=$e(),s=Zf(),c=t.ref(null),d=Yf({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 f=t.computed(()=>Ef(r.value)),u=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||to[h.key]&&(h.preventDefault(),s({x:to[h.key].x,y:to[h.key].y},h.shiftKey))}return(h,y)=>!t.unref(l)&&f.value.width&&f.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(u.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,MA)],6)):t.createCommentVNode("",!0)}});function UA(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const KA={name:"Pane",compatConfig:{MODE:3}},jA=t.defineComponent({...KA,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:f,getSelectedNodes:u,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:y,multiSelectionKeyCode:g,multiSelectionActive:_,edgeLookup:b,nodeLookup:w,connectionLookup:v,defaultEdgeOptions:x,connectionStartHandle:S}=$e(),I=t.ref(null),$=t.ref(new Set),D=t.ref(new Set),j=t.ref(),K=t.toRef(()=>c.value&&(e.isSelecting||a.value)),k=t.toRef(()=>S.value!==null);let Y=!1,A=!1;const F=qo(y,{actInsideInputWithModifier:!1}),R=qo(g);t.watch(F,W=>{W&&(p(u.value),m(f.value),d.value=!1)}),t.watch(R,W=>{_.value=W});function ee(W,re){return ae=>{ae.target===re&&(W==null||W(ae))}}function q(W){if(Y||k.value){Y=!1;return}i.paneClick(W),l(),d.value=!1}function H(W){W.preventDefault(),W.stopPropagation(),i.paneContextMenu(W)}function U(W){i.paneScroll(W)}function M(W){var re,ae,de;if(j.value=(re=n.value)==null?void 0:re.getBoundingClientRect(),!c.value||!e.isSelecting||W.button!==0||W.target!==I.value||!j.value)return;(de=(ae=W.target)==null?void 0:ae.setPointerCapture)==null||de.call(ae,W.pointerId);const{x:ye,y:Q}=UA(W,j.value);A=!0,Y=!1,l(),s.value={width:0,height:0,startX:ye,startY:Q,x:ye,y:Q},i.selectionStart(W)}function L(W){var re;if(!j.value||!s.value)return;Y=!0;const{x:ae,y:de}=$t(W,j.value),{startX:ye=0,startY:Q=0}=s.value,ne={startX:ye,startY:Q,x:ae<ye?ae:ye,y:de<Q?de:Q,width:Math.abs(ae-ye),height:Math.abs(de-Q)},le=$.value,fe=D.value;$.value=new Set(Nf(o.value,ne,r.value,h.value===_l.Partial,!0).map(E=>E.id)),D.value=new Set;const ce=((re=x.value)==null?void 0:re.selectable)??!0;for(const E of $.value){const N=v.value.get(E);if(N)for(const{edgeId:P}of N.values()){const C=b.value.get(P);C&&(C.selectable??ce)&&D.value.add(P)}}if(!qf(le,$.value)){const E=tn(w.value,$.value,!0);i.nodesChange(E)}if(!qf(fe,D.value)){const E=tn(b.value,D.value);i.edgesChange(E)}s.value=ne,a.value=!0,d.value=!1}function Z(W){var re;W.button!==0||!A||((re=W.target)==null||re.releasePointerCapture(W.pointerId),!a.value&&s.value&&W.target===I.value&&q(W),a.value=!1,s.value=null,d.value=$.value.size>0,i.selectionEnd(W),e.selectionKeyPressed&&(Y=!1),A=!1)}return(W,re)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:I,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:W.isSelecting}]),onClick:re[0]||(re[0]=ae=>K.value?void 0:ee(q,I.value)(ae)),onContextmenu:re[1]||(re[1]=ae=>ee(H,I.value)(ae)),onWheelPassive:re[2]||(re[2]=ae=>ee(U,I.value)(ae)),onPointerenter:re[3]||(re[3]=ae=>K.value?void 0:t.unref(i).paneMouseEnter(ae)),onPointerdown:re[4]||(re[4]=ae=>K.value?M(ae):t.unref(i).paneMouseMove(ae)),onPointermove:re[5]||(re[5]=ae=>K.value?L(ae):t.unref(i).paneMouseMove(ae)),onPointerup:re[6]||(re[6]=ae=>K.value?Z(ae):void 0),onPointerleave:re[7]||(re[7]=ae=>t.unref(i).paneMouseLeave(ae))},[t.renderSlot(W.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(DA,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(u).length?(t.openBlock(),t.createBlock(FA,{key:1})):t.createCommentVNode("",!0)],34))}}),qA={name:"Transform",compatConfig:{MODE:3}},GA=t.defineComponent({...qA,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=$e(),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))}}),zA={name:"Viewport",compatConfig:{MODE:3}},HA=t.defineComponent({...zA,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:f,panOnDrag:u,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:y,noWheelClassName:g,noPanClassName:_,emits:b,connectionStartHandle:w,userSelectionActive:v,paneDragging:x,d3Zoom:S,d3Selection:I,d3ZoomHandler:$,viewport:D,viewportRef:j,paneClickDistance:K}=$e();VA(j);const k=t.shallowRef(!1),Y=t.shallowRef(!1);let A=null,F=!1,R=0,ee={x:0,y:0,zoom:0};const q=qo(s),H=qo(l),U=qo(a),M=t.toRef(()=>(!H.value||H.value&&l.value===!0)&&(q.value||u.value)),L=t.toRef(()=>q.value||c.value),Z=t.toRef(()=>H.value||l.value===!0&&M.value!==!0);t.onMounted(()=>{if(!j.value){yi("Viewport element is missing");return}const Q=j.value,ne=Q.getBoundingClientRect(),le=hx().clickDistance(K.value).scaleExtent([n.value,o.value]).translateExtent(i.value),fe=wt(Q).call(le),ce=fe.on("wheel.zoom"),E=eo.translate(r.value.x??0,r.value.y??0).scale(Nn(r.value.zoom??1,n.value,o.value)),N=[[0,0],[ne.width,ne.height]],P=le.constrain()(E,N,i.value);le.transform(fe,P),le.wheelDelta(re),S.value=le,I.value=fe,$.value=ce,D.value={x:P.x,y:P.y,zoom:P.k},le.on("start",C=>{var O;if(!C.sourceEvent)return null;R=C.sourceEvent.button,k.value=!0;const T=de(C.transform);((O=C.sourceEvent)==null?void 0:O.type)==="mousedown"&&(x.value=!0),ee=T,b.viewportChangeStart(T),b.moveStart({event:C,flowTransform:T})}),le.on("end",C=>{if(!C.sourceEvent)return null;if(k.value=!1,x.value=!1,W(M.value,R??0)&&!F&&b.paneContextMenu(C.sourceEvent),F=!1,ae(ee,C.transform)){const O=de(C.transform);ee=O,b.viewportChangeEnd(O),b.moveEnd({event:C,flowTransform:O})}}),le.filter(C=>{var O;const T=U.value||h.value,G=m.value&&C.ctrlKey,X=C.button;if(X===1&&C.type==="mousedown"&&(ye(C,"vue-flow__node")||ye(C,"vue-flow__edge")))return!0;if(!M.value&&!T&&!L.value&&!p.value&&!m.value||v.value||!p.value&&C.type==="dblclick"||ye(C,g.value)&&C.type==="wheel"||ye(C,_.value)&&(C.type!=="wheel"||L.value&&C.type==="wheel"&&!U.value)||!m.value&&C.ctrlKey&&C.type==="wheel"||!T&&!L.value&&!G&&C.type==="wheel")return!1;if(!m&&C.type==="touchstart"&&((O=C.touches)==null?void 0:O.length)>1)return C.preventDefault(),!1;if(!M.value&&(C.type==="mousedown"||C.type==="touchstart")||l.value===!0&&Array.isArray(u.value)&&u.value.includes(0)&&X===0||Array.isArray(u.value)&&!u.value.includes(X)&&(C.type==="mousedown"||C.type==="touchstart"))return!1;const B=Array.isArray(u.value)&&u.value.includes(X)||l.value===!0&&Array.isArray(u.value)&&!u.value.includes(0)||!X||X<=1;return(!C.ctrlKey||q.value||C.type==="wheel")&&B}),t.watch([v,M],()=>{v.value&&!k.value?le.on("zoom",null):v.value||le.on("zoom",C=>{D.value={x:C.transform.x,y:C.transform.y,zoom:C.transform.k};const O=de(C.transform);F=W(M.value,R??0),b.viewportChange(O),b.move({event:C,flowTransform:O})})},{immediate:!0}),t.watch([v,L,d,U,m,y,g],()=>{L.value&&!U.value&&!v.value?fe.on("wheel.zoom",C=>{if(ye(C,g.value))return!1;const O=U.value||h.value,T=m.value&&C.ctrlKey;if(!(!y.value||L.value||O||T))return!1;C.preventDefault(),C.stopImmediatePropagation();const X=fe.property("__zoom").k||1,B=gi();if(!q.value&&C.ctrlKey&&m.value&&B){const ge=It(C),oe=re(C),ue=X*2**oe;le.scaleTo(fe,ue,ge,C);return}const te=C.deltaMode===1?20:1;let V=d.value===jo.Vertical?0:C.deltaX*te,me=d.value===jo.Horizontal?0:C.deltaY*te;!B&&C.shiftKey&&d.value!==jo.Vertical&&!V&&me&&(V=me,me=0),le.translateBy(fe,-(V/X)*f.value,-(me/X)*f.value);const he=de(fe.property("__zoom"));A&&clearTimeout(A),Y.value?(b.move({event:C,flowTransform:he}),b.viewportChange(he),A=setTimeout(()=>{b.moveEnd({event:C,flowTransform:he}),b.viewportChangeEnd(he),Y.value=!1},150)):(Y.value=!0,b.moveStart({event:C,flowTransform:he}),b.viewportChangeStart(he))},{passive:!1}):typeof ce<"u"&&fe.on("wheel.zoom",function(C,O){const T=!y.value&&C.type==="wheel"&&!C.ctrlKey,G=U.value||h.value,X=m.value&&C.ctrlKey;if(!G&&!c.value&&!X&&C.type==="wheel"||T||ye(C,g.value))return null;C.preventDefault(),ce.call(this,C,O)},{passive:!1})},{immediate:!0})});function W(Q,ne){return ne===2&&Array.isArray(Q)&&Q.includes(2)}function re(Q){const ne=Q.ctrlKey&&gi()?10:1;return-Q.deltaY*(Q.deltaMode===1?.05:Q.deltaMode?1:.002)*ne}function ae(Q,ne){return Q.x!==ne.x&&!Number.isNaN(ne.x)||Q.y!==ne.y&&!Number.isNaN(ne.y)||Q.zoom!==ne.k&&!Number.isNaN(ne.k)}function de(Q){return{x:Q.x,y:Q.y,zoom:Q.k}}function ye(Q,ne){return Q.target.closest(`.${ne}`)}return(Q,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:j,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(jA,{"is-selecting":Z.value,"selection-key-pressed":t.unref(H),class:t.normalizeClass({connecting:!!t.unref(w),dragging:t.unref(x),draggable:t.unref(u)===!0||Array.isArray(t.unref(u))&&t.unref(u).includes(0)})},{default:t.withCtx(()=>[t.createVNode(GA,null,{default:t.withCtx(()=>[t.renderSlot(Q.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),YA=["id"],WA=["id"],XA=["id"],ZA={name:"A11yDescriptions",compatConfig:{MODE:3}},JA=t.defineComponent({...ZA,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=$e();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(mf)}-${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,YA),t.createElementVNode("div",{id:`${t.unref(gf)}-${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,WA),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(Cx)}-${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,XA))],64))}});function QA(){const e=$e();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function eI(e,n,o){return o===be.Left?e-n:o===be.Right?e+n:e}function tI(e,n,o){return o===be.Top?e-n:o===be.Bottom?e+n:e}const $l=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:eI(n,e,r),cy:tI(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};$l.props=["radius","centerX","centerY","position","type"],$l.compatConfig={MODE:3};const sp=$l,nI=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:f,findNode:u,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:y,edgesUpdatable:g,edgesFocusable:_,hooks:b}=$e(),w=t.computed(()=>f(e.id)),{emit:v,on:x}=Jx(w.value,a),S=t.inject(_i),I=t.getCurrentInstance(),$=t.ref(!1),D=t.ref(!1),j=t.ref(""),K=t.ref(null),k=t.ref("source"),Y=t.ref(null),A=t.toRef(()=>typeof w.value.selectable>"u"?y.value:w.value.selectable),F=t.toRef(()=>typeof w.value.updatable>"u"?g.value:w.value.updatable),R=t.toRef(()=>typeof w.value.focusable>"u"?_.value:w.value.focusable);t.provide(Wx,e.id),t.provide(Xx,Y);const ee=t.computed(()=>w.value.class instanceof Function?w.value.class(w.value):w.value.class),q=t.computed(()=>w.value.style instanceof Function?w.value.style(w.value):w.value.style),H=t.computed(()=>{const N=w.value.type||"default",P=S==null?void 0:S[`edge-${N}`];if(P)return P;let C=w.value.template??c.value[N];if(typeof C=="string"&&I){const O=Object.keys(I.appContext.components);O&&O.includes(N)&&(C=t.resolveComponent(N,!1))}return C&&typeof C!="string"?C:(a.error(new Ze(Ge.EDGE_TYPE_MISSING,C)),!1)}),{handlePointerDown:U}=Wf({nodeId:j,handleId:K,type:k,isValidConnection:p,edgeUpdaterType:k,onEdgeUpdate:Z,onEdgeUpdateEnd:W});return()=>{const N=u(w.value.source),P=u(w.value.target),C="pathOptions"in w.value?w.value.pathOptions:{};if(!N&&!P)return a.error(new Ze(Ge.EDGE_SOURCE_TARGET_MISSING,w.value.id,w.value.source,w.value.target)),null;if(!N)return a.error(new Ze(Ge.EDGE_SOURCE_MISSING,w.value.id,w.value.source)),null;if(!P)return a.error(new Ze(Ge.EDGE_TARGET_MISSING,w.value.id,w.value.target)),null;if(!w.value||w.value.hidden||N.hidden||P.hidden)return null;let O;r.value===Jt.Strict?O=N.handleBounds.source:O=[...N.handleBounds.source||[],...N.handleBounds.target||[]];const T=Rf(O,w.value.sourceHandle);let G;r.value===Jt.Strict?G=P.handleBounds.target:G=[...P.handleBounds.target||[],...P.handleBounds.source||[]];const X=Rf(G,w.value.targetHandle),B=(T==null?void 0:T.position)||be.Bottom,te=(X==null?void 0:X.position)||be.Top,{x:V,y:me}=no(N,T,B),{x:he,y:ge}=no(P,X,te);return w.value.sourceX=V,w.value.sourceY=me,w.value.targetX=he,w.value.targetY=ge,t.h("g",{ref:Y,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${H.value===!1?"default":w.value.type||"default"}`,s.value,ee.value,{updating:$.value,selected:w.value.selected,animated:w.value.animated,inactive:!A.value&&!b.value.edgeClick.hasListeners()}],tabIndex:R.value?0:void 0,"aria-label":w.value.ariaLabel===null?void 0:w.value.ariaLabel??`Edge from ${w.value.source} to ${w.value.target}`,"aria-describedby":R.value?`${gf}-${n}`:void 0,"aria-roledescription":"edge",role:R.value?"group":"img",...w.value.domAttributes,onClick:ae,onContextmenu:de,onDblclick:ye,onMouseenter:Q,onMousemove:ne,onMouseleave:le,onKeyDown:R.value?E:void 0},[D.value?null:t.h(H.value===!1?c.value.default:H.value,{id:e.id,sourceNode:N,targetNode:P,source:w.value.source,target:w.value.target,type:w.value.type,updatable:F.value,selected:w.value.selected,animated:w.value.animated,label:w.value.label,labelStyle:w.value.labelStyle,labelShowBg:w.value.labelShowBg,labelBgStyle:w.value.labelBgStyle,labelBgPadding:w.value.labelBgPadding,labelBgBorderRadius:w.value.labelBgBorderRadius,data:w.value.data,events:{...w.value.events,...x},style:q.value,markerStart:`url('#${Ho(w.value.markerStart,n)}')`,markerEnd:`url('#${Ho(w.value.markerEnd,n)}')`,sourcePosition:B,targetPosition:te,sourceX:V,sourceY:me,targetX:he,targetY:ge,sourceHandleId:w.value.sourceHandle,targetHandleId:w.value.targetHandle,interactionWidth:w.value.interactionWidth,...C}),[F.value==="source"||F.value===!0?[t.h("g",{onMousedown:fe,onMouseenter:M,onMouseout:L},t.h(sp,{position:B,centerX:V,centerY:me,radius:i.value,type:"source","data-type":"source"}))]:null,F.value==="target"||F.value===!0?[t.h("g",{onMousedown:ce,onMouseenter:M,onMouseout:L},t.h(sp,{position:te,centerX:he,centerY:ge,radius:i.value,type:"target","data-type":"target"}))]:null]])};function M(){$.value=!0}function L(){$.value=!1}function Z(N,P){v.update({event:N,edge:w.value,connection:P})}function W(N){v.updateEnd({event:N,edge:w.value}),D.value=!1}function re(N,P){N.button===0&&(D.value=!0,j.value=P?w.value.target:w.value.source,K.value=(P?w.value.targetHandle:w.value.sourceHandle)??null,k.value=P?"target":"source",v.updateStart({event:N,edge:w.value}),U(N))}function ae(N){var P;const C={event:N,edge:w.value};A.value&&(l.value=!1,w.value.selected&&m.value?(d([w.value]),(P=Y.value)==null||P.blur()):o([w.value])),v.click(C)}function de(N){v.contextMenu({event:N,edge:w.value})}function ye(N){v.doubleClick({event:N,edge:w.value})}function Q(N){v.mouseEnter({event:N,edge:w.value})}function ne(N){v.mouseMove({event:N,edge:w.value})}function le(N){v.mouseLeave({event:N,edge:w.value})}function fe(N){re(N,!0)}function ce(N){re(N,!1)}function E(N){var P;!h.value&&hf.includes(N.key)&&A.value&&(N.key==="Escape"?((P=Y.value)==null||P.blur(),d([f(e.id)])):o([f(e.id)]))}}}),oI=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:f,findNode:u}=$e(),p=(e=t.inject(_i))==null?void 0:e["connection-line"],m=t.computed(()=>{var b;return u((b=r.value)==null?void 0:b.nodeId)}),h=t.computed(()=>{var b;return u((b=i.value)==null?void 0:b.nodeId)??null}),y=t.computed(()=>({x:(a.value.x-f.value.x)/f.value.zoom,y:(a.value.y-f.value.y)/f.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${Ho(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${Ho(c.value.markerEnd,n)})`:"");return()=>{var b,w,v;if(!m.value||!r.value)return null;const x=r.value.id,S=r.value.type,I=m.value.handleBounds;let $=(I==null?void 0:I[S])??[];if(o.value===Jt.Loose){const q=(I==null?void 0:I[S==="source"?"target":"source"])??[];$=[...$,...q]}if(!$)return null;const D=(x?$.find(q=>q.id===x):$[0])??null,j=(D==null?void 0:D.position)??be.Top,{x:K,y:k}=no(m.value,D,j);let Y=null;h.value&&(o.value===Jt.Strict?Y=((b=h.value.handleBounds[S==="source"?"target":"source"])==null?void 0:b.find(q=>{var H;return q.id===((H=i.value)==null?void 0:H.id)}))||null:Y=((w=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:w.find(q=>{var H;return q.id===((H=i.value)==null?void 0:H.id)}))||null);const A=((v=i.value)==null?void 0:v.position)??(j?vl[j]:null);if(!j||!A)return null;const F=l.value??c.value.type??En.Bezier;let R="";const ee={sourceX:K,sourceY:k,sourcePosition:j,targetX:y.value.x,targetY:y.value.y,targetPosition:A};return F===En.Bezier?[R]=np(ee):F===En.Step?[R]=Ol({...ee,borderRadius:0}):F===En.SmoothStep?[R]=Ol(ee):F===En.SimpleBezier?[R]=rp(ee):R=`M${K},${k} ${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:K,sourceY:k,sourcePosition:j,targetX:y.value.x,targetY:y.value.y,targetPosition:A,sourceNode:m.value,sourceHandle:D,targetNode:h.value,targetHandle:Y,markerEnd:_.value,markerStart:g.value,connectionStatus:d.value}):t.h("path",{d:R,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),rI=["id","markerWidth","markerHeight","markerUnits","orient"],iI={name:"MarkerType",compatConfig:{MODE:3}},aI=t.defineComponent({...iI,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(di).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(di).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,rI))}}),lI={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},sI={name:"MarkerDefinitions",compatConfig:{MODE:3}},cI=t.defineComponent({...sI,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=$e(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const f=Ho(d,n);l.has(f)||(typeof d=="object"?s.push({...d,id:f,color:d.color||i.value}):s.push({id:f,color:i.value,type:d}),l.add(f))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const f of[d.markerStart,d.markerEnd])c(f);return s.sort((d,f)=>d.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",lI,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(aI,{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))])]))}}),dI={name:"Edges",compatConfig:{MODE:3}},uI=t.defineComponent({...dI,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=$e();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(cI),(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(Rx)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(nI),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(oI))],64))}}),fI=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:f,getNodeTypes:u,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:y,snapToGrid:g,snapGrid:_,nodeDragThreshold:b,nodesDraggable:w,elementsSelectable:v,nodesConnectable:x,nodesFocusable:S,hooks:I}=$e(),$=t.ref(null);t.provide(Hf,$),t.provide(zf,e.id);const D=t.inject(_i),j=t.getCurrentInstance(),K=Zf(),{node:k,parentNode:Y}=Xf(e.id),{emit:A,on:F}=nA(k,l),R=t.toRef(()=>typeof k.draggable>"u"?w.value:k.draggable),ee=t.toRef(()=>typeof k.selectable>"u"?v.value:k.selectable),q=t.toRef(()=>typeof k.connectable>"u"?x.value:k.connectable),H=t.toRef(()=>typeof k.focusable>"u"?S.value:k.focusable),U=t.computed(()=>ee.value||R.value||I.value.nodeClick.hasListeners()||I.value.nodeDoubleClick.hasListeners()||I.value.nodeMouseEnter.hasListeners()||I.value.nodeMouseMove.hasListeners()||I.value.nodeMouseLeave.hasListeners()),M=t.toRef(()=>!!k.dimensions.width&&!!k.dimensions.height),L=t.computed(()=>{const P=k.type||"default",C=D==null?void 0:D[`node-${P}`];if(C)return C;let O=k.template||u.value[P];if(typeof O=="string"&&j){const T=Object.keys(j.appContext.components);T&&T.includes(P)&&(O=t.resolveComponent(P,!1))}return O&&typeof O!="string"?O:(l.error(new Ze(Ge.NODE_TYPE_MISSING,O)),!1)}),Z=Yf({id:e.id,el:$,disabled:()=>!R.value,selectable:ee,dragHandle:()=>k.dragHandle,onStart(P){A.dragStart(P)},onDrag(P){A.drag(P)},onStop(P){A.dragStop(P)},onClick(P){E(P)}}),W=t.computed(()=>k.class instanceof Function?k.class(k):k.class),re=t.computed(()=>{const P=(k.style instanceof Function?k.style(k):k.style)||{},C=k.width instanceof Function?k.width(k):k.width,O=k.height instanceof Function?k.height(k):k.height;return!P.width&&C&&(P.width=typeof C=="string"?C:`${C}px`),!P.height&&O&&(P.height=typeof O=="string"?O:`${O}px`),P}),ae=t.toRef(()=>Number(k.zIndex??re.value.zIndex??0));return f(P=>{(P.includes(e.id)||!P.length)&&ye()}),t.onMounted(()=>{t.watch(()=>k.hidden,(P=!1,C,O)=>{!P&&$.value&&(e.resizeObserver.observe($.value),O(()=>{$.value&&e.resizeObserver.unobserve($.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>k.type,()=>k.sourcePosition,()=>k.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:$.value,forceUpdate:!0}])})}),t.watch([()=>k.position.x,()=>k.position.y,()=>{var P;return(P=Y.value)==null?void 0:P.computedPosition.x},()=>{var P;return(P=Y.value)==null?void 0:P.computedPosition.y},()=>{var P;return(P=Y.value)==null?void 0:P.computedPosition.z},ae,()=>k.selected,()=>k.dimensions.height,()=>k.dimensions.width,()=>{var P;return(P=Y.value)==null?void 0:P.dimensions.height},()=>{var P;return(P=Y.value)==null?void 0:P.dimensions.width}],([P,C,O,T,G,X])=>{const B={x:P,y:C,z:X+(m.value&&k.selected?1e3:0)};typeof O<"u"&&typeof T<"u"?k.computedPosition=Px({x:O,y:T,z:G},B):k.computedPosition=B},{flush:"post",immediate:!0}),t.watch([()=>k.extent,p],([P,C],[O,T])=>{(P!==O||C!==T)&&de()}),k.extent==="parent"||typeof k.extent=="object"&&"range"in k.extent&&k.extent.range==="parent"?Za(()=>M).toBe(!0).then(de):de(),()=>k.hidden?null:t.h("div",{ref:$,"data-id":k.id,class:["vue-flow__node",`vue-flow__node-${L.value===!1?"default":k.type||"default"}`,{[o.value]:R.value,dragging:Z==null?void 0:Z.value,draggable:R.value,selected:k.selected,selectable:ee.value,parent:k.isParent},W.value],style:{visibility:M.value?"visible":"hidden",zIndex:k.computedPosition.z??ae.value,transform:`translate(${k.computedPosition.x}px,${k.computedPosition.y}px)`,pointerEvents:U.value?"all":"none",...re.value},tabIndex:H.value?0:void 0,role:H.value?"group":void 0,"aria-describedby":h.value?void 0:`${mf}-${n}`,"aria-label":k.ariaLabel,"aria-roledescription":"node",...k.domAttributes,onMouseenter:Q,onMousemove:ne,onMouseleave:le,onContextmenu:fe,onClick:E,onDblclick:ce,onKeydown:N},[t.h(L.value===!1?u.value.default:L.value,{id:k.id,type:k.type,data:k.data,events:{...k.events,...F},selected:k.selected,resizing:k.resizing,dragging:Z.value,connectable:q.value,position:k.computedPosition,dimensions:k.dimensions,isValidTargetPos:k.isValidTargetPos,isValidSourcePos:k.isValidSourcePos,parent:k.parentNode,parentNodeId:k.parentNode,zIndex:k.computedPosition.z??ae.value,targetPosition:k.targetPosition,sourcePosition:k.sourcePosition,label:k.label,dragHandle:k.dragHandle,onUpdateNodeInternals:ye})]);function de(){const P=k.computedPosition,{computedPosition:C,position:O}=El(k,g.value?hi(P,_.value):P,l.error,p.value,Y.value);(k.computedPosition.x!==C.x||k.computedPosition.y!==C.y)&&(k.computedPosition={...k.computedPosition,...C}),(k.position.x!==O.x||k.position.y!==O.y)&&(k.position=O)}function ye(){$.value&&d([{id:e.id,nodeElement:$.value,forceUpdate:!0}])}function Q(P){Z!=null&&Z.value||A.mouseEnter({event:P,node:k})}function ne(P){Z!=null&&Z.value||A.mouseMove({event:P,node:k})}function le(P){Z!=null&&Z.value||A.mouseLeave({event:P,node:k})}function fe(P){return A.contextMenu({event:P,node:k})}function ce(P){return A.doubleClick({event:P,node:k})}function E(P){ee.value&&(!r.value||!R.value||b.value>0)&&xl(k,a.value,c,s,i,!1,$.value),A.click({event:P,node:k})}function N(P){if(!(bl(P)||h.value))if(hf.includes(P.key)&&ee.value){const C=P.key==="Escape";xl(k,a.value,c,s,i,C,$.value)}else R.value&&k.selected&&to[P.key]&&(P.preventDefault(),y.value=`Moved selected node ${P.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~k.position.x}, y: ${~~k.position.y}`,K({x:to[P.key].x,y:to[P.key].y},P.shiftKey))}}});function pI(e={includeHiddenNodes:!1}){const{nodes:n}=$e();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 mI={class:"vue-flow__nodes vue-flow__container"},gI={name:"Nodes",compatConfig:{MODE:3}},hI=t.defineComponent({...gI,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=$e(),i=pI(),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",mI,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,f,u)=>{const p=[c.id];if(u&&u.key===c.id&&t.isMemoSame(u,p))return u;const m=(t.openBlock(),t.createBlock(t.unref(fI),{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 yI(){const{emits:e}=$e();t.onMounted(()=>{if(Ff()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Ze(Ge.MISSING_STYLES))}})}const _I=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),bI={name:"VueFlow",compatConfig:{MODE:3}},cp=t.defineComponent({...bI,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=Ja(r,"modelValue",o),l=Ja(r,"nodes",o),s=Ja(r,"edges",o),c=$e(r),d=aA({modelValue:a,nodes:l,edges:s},r,c);return sA(o,c.hooks),QA(),yI(),t.provide(_i,i),t.onUnmounted(()=>{d()}),n(c),(f,u)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(HA,null,{default:t.withCtx(()=>[t.createVNode(uI),_I,t.createVNode(hI),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(JA)],512))}}),wI={name:"Panel",compatConfig:{MODE:3}},kI=t.defineComponent({...wI,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=$e(),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 dp=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]}`})},up=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Gt.Lines+"",Gt.Dots+"";const CI={[Gt.Dots]:"#81818a",[Gt.Lines]:"#eee"},EI=["id","x","y","width","height","patternTransform"],NI={key:2,height:"100",width:"100"},SI=["fill"],vI=["x","y","fill"],xI={name:"Background",compatConfig:{MODE:3}},AI=t.defineComponent({...xI,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}=$e(),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],f=e.size*l,[u,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[u*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||CI[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(dp),{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(up),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",NI,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,SI)])):t.createCommentVNode("",!0)])],8,EI)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,vI),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),II={name:"ControlButton",compatConfig:{MODE:3}},PI=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},TI={class:"vue-flow__controls-button"};function OI(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",TI,[t.renderSlot(e.$slots,"default")])}const Yo=PI(II,[["render",OI]]),$I={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},BI=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function VI(e,n){return t.openBlock(),t.createElementBlock("svg",$I,BI)}const RI={render:VI},DI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},MI=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function LI(e,n){return t.openBlock(),t.createElementBlock("svg",DI,MI)}const FI={render:LI},UI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},KI=[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 jI(e,n){return t.openBlock(),t.createElementBlock("svg",UI,KI)}const qI={render:jI},GI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},zI=[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 HI(e,n){return t.openBlock(),t.createElementBlock("svg",GI,zI)}const YI={render:HI},WI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},XI=[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 ZI(e,n){return t.openBlock(),t.createElementBlock("svg",WI,XI)}const JI={render:ZI},QI={name:"Controls",compatConfig:{MODE:3}},eP=t.defineComponent({...QI,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>ff.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:f,maxZoom:u}=$e(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=f.value),h=t.toRef(()=>d.value.zoom>=u.value);function y(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function b(){a(!p.value),n("interactionChange",!p.value)}return(w,v)=>(t.openBlock(),t.createBlock(t.unref(kI),{class:"vue-flow__controls",position:w.position},{default:t.withCtx(()=>[t.renderSlot(w.$slots,"top"),w.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(w.$slots,"control-zoom-in",{},()=>[t.createVNode(Yo,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:y},{default:t.withCtx(()=>[t.renderSlot(w.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(RI))))])]),_:3},8,["disabled"])]),t.renderSlot(w.$slots,"control-zoom-out",{},()=>[t.createVNode(Yo,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(w.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(FI))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),w.showFitView?t.renderSlot(w.$slots,"control-fit-view",{key:1},()=>[t.createVNode(Yo,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(w.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(qI))))])]),_:3})]):t.createCommentVNode("",!0),w.showInteractive?t.renderSlot(w.$slots,"control-interactive",{key:2},()=>[w.showInteractive?(t.openBlock(),t.createBlock(Yo,{key:0,class:"vue-flow__controls-interactive",onClick:b},{default:t.withCtx(()=>[p.value?t.renderSlot(w.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(JI))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(w.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(YI))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(w.$slots,"default")]),_:3},8,["position"]))}}),tP=["undo","redo","duplicate","cut","copy","paste"],fp=()=>{};function nP(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function oP(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 rP=Ke.createSharedComposable(()=>{const e=new Set;Ke.useEventListener("keydown",o=>{if(nP(o.target))return;const r=oP(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(!tP.some(i=>typeof o[i]=="function"))return fp;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function pp(e={}){if(typeof window>"u")return fp;const n=rP().subscribe(e);return t.onScopeDispose(n),n}const Wo={padding:80,gaps:{nodes:40,edges:80,ranks:40}},iP=1600,aP=1.2,lP=0,sP=200,mp=Symbol("confirm-modal"),oo="{key}",xn={"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}},Si=Object.keys(xn).filter(e=>e.includes(oo)).map(e=>e.replace(oo,""));function Bl(e){if(!e||!Zo(e))return;const n=Si.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(oo,"")}function Xo(e){if(!e)return null;const n=Si.find(o=>e.startsWith(o));return n||e}function Zo(e){return e?Si.some(n=>e.startsWith(n)):!1}function gp(e){return e?Zo(e)?Xo(e)+oo:e:null}function Vl(e){var o;if(!e)return!1;const n=gp(e);return n?((o=xn[n])==null?void 0:o.readable)??!1:!1}function Rl(e){var o;if(!e)return!1;const n=gp(e);return n?((o=xn[n])==null?void 0:o.writable)??!1:!1}function cP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dP="\0",An="\0",hp="";let uP=class{constructor(n){Ye(this,"_isDirected",!0);Ye(this,"_isMultigraph",!1);Ye(this,"_isCompound",!1);Ye(this,"_label");Ye(this,"_defaultNodeLabelFn",()=>{});Ye(this,"_defaultEdgeLabelFn",()=>{});Ye(this,"_nodes",{});Ye(this,"_in",{});Ye(this,"_preds",{});Ye(this,"_out",{});Ye(this,"_sucs",{});Ye(this,"_edgeObjs",{});Ye(this,"_edgeLabels",{});Ye(this,"_nodeCount",0);Ye(this,"_edgeCount",0);Ye(this,"_parent");Ye(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[An]={})}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]=An,this._children[n]={},this._children[An][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=An;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!==An)return o}}children(n=An){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===An)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=Jo(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=fP(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,yp(this._preds[o],n),yp(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?Dl(this._isDirected,arguments[0]):Jo(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?Dl(this._isDirected,arguments[0]):Jo(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?Dl(this._isDirected,arguments[0]):Jo(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],_p(this._preds[o],n),_p(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 yp(e,n){e[n]?e[n]++:e[n]=1}function _p(e,n){--e[n]||delete e[n]}function Jo(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+hp+a+hp+(r===void 0?dP:r)}function fP(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 Dl(e,n){return Jo(e,n.v,n.w,n.name)}var Ml=uP,pP="2.2.4",mP={Graph:Ml,version:pP},gP=Ml,hP={write:yP,read:wP};function yP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:_P(e),edges:bP(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function _P(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 bP(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 wP(e){var n=new gP(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 kP=CP;function CP(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 bp=class{constructor(){Ye(this,"_arr",[]);Ye(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}},EP=bp,wp=SP,NP=()=>1;function SP(e,n,o,r){return vP(e,String(n),o||NP,r||function(i){return e.outEdges(i)})}function vP(e,n,o,r){var i={},a=new EP,l,s,c=function(d){var f=d.v!==l?d.v:d.w,u=i[f],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<u.distance&&(u.distance=m,u.predecessor=l,a.decrease(f,m))};for(e.nodes().forEach(function(d){var f=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:f},a.add(d,f)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var xP=wp,AP=IP;function IP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=xP(e,i,n,o),r},{})}var kp=PP;function PP(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(f){Object.hasOwn(r,f)?r[f].onStack&&(s.lowlink=Math.min(s.lowlink,r[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,r[f].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 TP=kp,OP=$P;function $P(e){return TP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var BP=RP,VP=()=>1;function RP(e,n,o){return DP(e,n||VP,o||function(r){return e.outEdges(r)})}function DP(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 f=c[a],u=l[d],p=c[d],m=f.distance+u.distance;m<p.distance&&(p.distance=m,p.predecessor=u.predecessor)})})}),r}function Cp(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new Ll;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 Ll;return r}class Ll extends Error{constructor(){super(...arguments)}}var Ep=Cp;Cp.CycleException=Ll;var Np=Ep,MP=LP;function LP(e){try{Np(e)}catch(n){if(n instanceof Np.CycleException)return!1;throw n}return!0}var Sp=FP;function FP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?UP:KP,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 UP(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]),vp(n(a[0]),l=>i.push([l,!1])))}}function KP(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),vp(n(a),l=>i.push(l)))}}function vp(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var jP=Sp,qP=GP;function GP(e,n){return jP(e,n,"post")}var zP=Sp,HP=YP;function YP(e,n){return zP(e,n,"pre")}var WP=Ml,XP=bp,ZP=JP;function JP(e,n){var o=new WP,r={},i=new XP,a;function l(c){var d=c.v===a?c.w:c.v,f=i.priority(d);if(f!==void 0){var u=n(c);u<f&&(r[d]=a,i.decrease(d,u))}}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 QP={components:kP,dijkstra:wp,dijkstraAll:AP,findCycles:OP,floydWarshall:BP,isAcyclic:MP,postorder:qP,preorder:HP,prim:ZP,tarjan:kp,topsort:Ep},xp=mP,Et={Graph:xp.Graph,json:hP,alg:QP,version:xp.version};let eT=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return Ap(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&Ap(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,tT)),r=r._prev;return"["+n.join(", ")+"]"}};function Ap(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function tT(e,n){if(e!=="_next"&&e!=="_prev")return n}var nT=eT;let oT=Et.Graph,rT=nT;var iT=lT;let aT=()=>1;function lT(e,n){if(e.nodeCount()<=1)return[];let o=cT(e,n||aT);return sT(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function sT(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Fl(e,n,o,l);for(;l=i.dequeue();)Fl(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(Fl(e,n,o,l,!0));break}}}return r}function Fl(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,Ul(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Ul(n,o,d)}),e.removeNode(r.v),a}function cT(e,n){let o=new oT,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),f=c+d;o.setEdge(s.v,s.w,f),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=dT(i+r+3).map(()=>new rT),l=r+1;return o.nodes().forEach(s=>{Ul(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Ul(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 dT(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let Ip=Et.Graph;var He={addBorderNode:bT,addDummyNode:Pp,applyWithChunking:vi,asNonCompoundGraph:fT,buildLayerMatrix:hT,intersectRect:gT,mapValues:vT,maxRank:Op,normalizeRanks:yT,notime:ET,partition:kT,pick:ST,predecessorWeights:mT,range:Bp,removeEmptyRanks:_T,simplify:uT,successorWeights:pT,time:CT,uniqueId:$p,zipObject:Kl};function Pp(e,n,o,r){for(var i=r;e.hasNode(i);)i=$p(r);return o.dummy=n,e.setNode(i,o),i}function uT(e){let n=new Ip().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 fT(e){let n=new Ip({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 pT(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 Kl(e.nodes(),n)}function mT(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 Kl(e.nodes(),n)}function gT(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 hT(e){let n=Bp(Op(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 yT(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=vi(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function _T(e){let n=e.nodes().map(l=>e.node(l).rank),o=vi(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 bT(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),Pp(e,"border",i,n)}function wT(e,n=Tp){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const Tp=65535;function vi(e,n){if(n.length>Tp){const o=wT(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function Op(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return vi(Math.max,o)}function kT(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function CT(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function ET(e,n){return n()}let NT=0;function $p(e){var n=++NT;return e+(""+n)}function Bp(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 ST(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function vT(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 Kl(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let xT=iT,AT=He.uniqueId;var IT={run:PT,undo:OT};function PT(e){(e.graph().acyclicer==="greedy"?xT(e,o(e)):TT(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,AT("rev"))});function o(r){return i=>r.edge(i).weight}}function TT(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 OT(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 $T=He;var BT={run:VT,undo:DT};function VT(e){e.graph().dummyChains=[],e.edges().forEach(n=>RT(e,n))}function RT(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,f,u;for(u=0,++r;r<a;++u,++r)s.points=[],f={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=$T.addDummyNode(e,"edge",f,"_d"),r===c&&(f.width=s.width,f.height=s.height,f.dummy="edge-label",f.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),u===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function DT(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:MT}=He;var xi={longestPath:LT,slack:FT};function LT(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=MT(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function FT(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var UT=Et.Graph,Ai=xi.slack,Vp=KT;function KT(e){var n=new UT({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;jT(n,e)<r;)i=qT(n,e),a=n.hasNode(i.v)?Ai(e,i):-Ai(e,i),GT(n,e,a);return n}function jT(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!Ai(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function qT(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=Ai(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function GT(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var zT=Vp,Rp=xi.slack,HT=xi.longestPath,YT=Et.alg.preorder,WT=Et.alg.postorder,XT=He.simplify,ZT=In;In.initLowLimValues=ql,In.initCutValues=jl,In.calcCutValue=Dp,In.leaveEdge=Lp,In.enterEdge=Fp,In.exchangeEdges=Up;function In(e){e=XT(e),HT(e);var n=zT(e);ql(n),jl(n,e);for(var o,r;o=Lp(n);)r=Fp(n,e,o),Up(n,e,o,r)}function jl(e,n){var o=WT(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>JT(e,n,r))}function JT(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Dp(e,n,o)}function Dp(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,f=d?c.w:c.v;if(f!==i){var u=d===a,p=n.edge(c).weight;if(s+=u?p:-p,eO(e,o,f)){var m=e.edge(o,f).cutvalue;s+=u?-m:m}}}),s}function ql(e,n){arguments.length<2&&(n=e.nodes()[0]),Mp(e,{},1,n)}function Mp(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=Mp(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function Lp(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function Fp(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(f=>c===Kp(e,e.node(f.v),s)&&c!==Kp(e,e.node(f.w),s));return d.reduce((f,u)=>Rp(n,u)<Rp(n,f)?u:f)}function Up(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),ql(e),jl(e,n),QT(e,n)}function QT(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=YT(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 eO(e,n,o){return e.hasEdge(n,o)}function Kp(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var tO=xi,jp=tO.longestPath,nO=Vp,oO=ZT,rO=iO;function iO(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":qp(e);break;case"tight-tree":lO(e);break;case"longest-path":aO(e);break;case"none":break;default:qp(e)}}var aO=jp;function lO(e){jp(e),nO(e)}function qp(e){oO(e)}var sO=cO;function cO(e){let n=uO(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=dO(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(f=!1)}if(!f){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 dO(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 uO(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 Ii=He;var fO={run:pO,cleanup:hO};function pO(e){let n=Ii.addDummyNode(e,"root",{},"_root"),o=mO(e),r=Object.values(o),i=Ii.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=gO(e)+1;e.children().forEach(s=>Gp(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function Gp(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=Ii.addBorderNode(e,"_bt"),d=Ii.addBorderNode(e,"_bb"),f=e.node(l);e.setParent(c,l),f.borderTop=c,e.setParent(d,l),f.borderBottom=d,s.forEach(u=>{Gp(e,n,o,r,i,a,u);let p=e.node(u),m=p.borderTop?p.borderTop:u,h=p.borderBottom?p.borderBottom:u,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 mO(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 gO(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function hO(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 yO=He;var _O=bO;function bO(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)zp(e,"borderLeft","_bl",o,i,a),zp(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function zp(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=yO.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var wO={adjust:kO,undo:CO};function kO(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Hp(e)}function CO(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&EO(e),(n==="lr"||n==="rl")&&(NO(e),Hp(e))}function Hp(e){e.nodes().forEach(n=>Yp(e.node(n))),e.edges().forEach(n=>Yp(e.edge(n)))}function Yp(e){let n=e.width;e.width=e.height,e.height=n}function EO(e){e.nodes().forEach(n=>Gl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Gl),Object.hasOwn(o,"y")&&Gl(o)})}function Gl(e){e.y=-e.y}function NO(e){e.nodes().forEach(n=>zl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(zl),Object.hasOwn(o,"x")&&zl(o)})}function zl(e){let n=e.x;e.x=e.y,e.y=n}let Wp=He;var SO=vO;function vO(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=Wp.applyWithChunking(Math.max,r),a=Wp.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 xO=He.zipObject;var AO=IO;function IO(e,n){let o=0;for(let r=1;r<n.length;++r)o+=PO(e,n[r-1],n[r]);return o}function PO(e,n,o){let r=xO(o,o.map((d,f)=>f)),i=n.flatMap(d=>e.outEdges(d).map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,u)=>f.pos-u.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 f=d.pos+a;s[f]+=d.weight;let u=0;for(;f>0;)f%2&&(u+=s[f+1]),f=f-1>>1,s[f]+=d.weight;c+=d.weight*u}),c}var TO=OO;function OO(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 $O=He;var BO=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 RO(r)}function RO(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&DO(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=>$O.pick(i,["vs","i","barycenter","weight"]))}function DO(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 MO=He;var LO=FO;function FO(e,n){let o=MO.partition(e,f=>Object.hasOwn(f,"barycenter")),r=o.lhs,i=o.rhs.sort((f,u)=>u.i-f.i),a=[],l=0,s=0,c=0;r.sort(UO(!!n)),c=Xp(a,i,c),r.forEach(f=>{c+=f.vs.length,a.push(f.vs),l+=f.barycenter*f.weight,s+=f.weight,c=Xp(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Xp(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 UO(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let KO=TO,jO=BO,qO=LO;var GO=Zp;function Zp(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=KO(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=Zp(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&HO(p,m)}});let f=jO(d,o);zO(f,c);let u=qO(f,r);if(l&&(u.vs=[l,u.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(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+p.order+m.order)/(u.weight+2),u.weight+=2}return u}function zO(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function HO(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 YO=Et.Graph,WO=He;var XO=ZO;function ZO(e,n,o){let r=JO(e),i=new YO({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,f=i.edge(d,a),u=f!==void 0?f.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+u})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function JO(e){for(var n;e.hasNode(n=WO.uniqueId("_root")););return n}var QO=e$;function e$(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 t$=SO,n$=AO,o$=GO,r$=XO,i$=QO,a$=Et.Graph,Pi=He;var l$=Jp;function Jp(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,Jp);return}let o=Pi.maxRank(e),r=Qp(e,Pi.range(1,o+1),"inEdges"),i=Qp(e,Pi.range(o-1,-1,-1),"outEdges"),a=t$(e);if(em(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){s$(c%2?r:i,c%4>=2),a=Pi.buildLayerMatrix(e);let f=n$(e,a);f<l&&(d=0,s=Object.assign({},a),l=f)}em(e,s)}function Qp(e,n,o){return n.map(function(r){return r$(e,r,o)})}function s$(e,n){let o=new a$;e.forEach(function(r){let i=r.graph().root,a=o$(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),i$(r,o,a.vs)})}function em(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let c$=Et.Graph,zt=He;var d$={positionX:k$};function u$(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((f,u)=>{let p=p$(e,f),m=p?e.node(p).order:c;(p||f===d)&&(a.slice(s,u+1).forEach(h=>{e.predecessors(h).forEach(y=>{let g=e.node(y),_=g.order;(_<l||m<_)&&!(g.dummy&&e.node(h).dummy)&&tm(o,y,h)})}),s=u+1,l=m)}),a}return n.length&&n.reduce(r),o}function f$(e,n){let o={};function r(a,l,s,c,d){let f;zt.range(l,s).forEach(u=>{f=a[u],e.node(f).dummy&&e.predecessors(f).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&tm(o,p,f)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((f,u)=>{if(e.node(f).dummy==="border"){let p=e.predecessors(f);p.length&&(c=e.node(p[0]).order,r(l,d,u,s,c),d=u,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function p$(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function tm(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 m$(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function g$(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 f=r(d);if(f.length){f=f.sort((p,m)=>l[p]-l[m]);let u=(f.length-1)/2;for(let p=Math.floor(u),m=Math.ceil(u);p<=m;++p){let h=f[p];a[d]===d&&c<l[h]&&!m$(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function h$(e,n,o,r,i){let a={},l=y$(e,n,o,i),s=i?"borderLeft":"borderRight";function c(u,p){let m=l.nodes(),h=m.pop(),y={};for(;h;)y[h]?u(h):(y[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(u){a[u]=l.inEdges(u).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function f(u){let p=l.outEdges(u).reduce((h,y)=>Math.min(h,a[y.w]-l.edge(y)),Number.POSITIVE_INFINITY),m=e.node(u);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[u]=Math.max(a[u],p))}return c(d,l.predecessors.bind(l)),c(f,l.successors.bind(l)),Object.keys(r).forEach(u=>a[u]=a[o[u]]),a}function y$(e,n,o,r){let i=new c$,a=e.graph(),l=C$(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let f=o[d];if(i.setNode(f),c){var u=o[c],p=i.edge(u,f);i.setEdge(u,f,Math.max(l(e,d,c),p||0))}c=d})}),i}function _$(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=E$(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 b$(e,n){let o=Object.values(n),r=zt.applyWithChunking(Math.min,o),i=zt.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),f=r-zt.applyWithChunking(Math.min,d);l!=="l"&&(f=i-zt.applyWithChunking(Math.max,d)),f&&(e[s]=zt.mapValues(c,u=>u+f))})})}function w$(e,n){return zt.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 k$(e){let n=zt.buildLayerMatrix(e),o=Object.assign(u$(e,n),f$(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(u=>Object.values(u).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=g$(e,i,o,c),f=h$(e,i,d.root,d.align,s==="r");s==="r"&&(f=zt.mapValues(f,u=>-u)),r[l+s]=f})});let a=_$(e,r);return b$(r,a),w$(r,e.graph().align)}function C$(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 E$(e,n){return e.node(n).width}let nm=He,N$=d$.positionX;var S$=v$;function v$(e){e=nm.asNonCompoundGraph(e),x$(e),Object.entries(N$(e)).forEach(([n,o])=>e.node(n).x=o)}function x$(e){let n=nm.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 om=IT,rm=BT,A$=rO,I$=He.normalizeRanks,P$=sO,T$=He.removeEmptyRanks,im=fO,O$=_O,am=wO,$$=l$,B$=S$,ht=He,V$=Et.Graph;var R$=D$;function D$(e,n){let o=n&&n.debugTiming?ht.time:ht.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>H$(e));o(" runLayout",()=>M$(r,o,n)),o(" updateInputGraph",()=>L$(e,r))})}function M$(e,n,o){n(" makeSpaceForEdgeLabels",()=>Y$(e)),n(" removeSelfEdges",()=>oB(e)),n(" acyclic",()=>om.run(e)),n(" nestingGraph.run",()=>im.run(e)),n(" rank",()=>A$(ht.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>W$(e)),n(" removeEmptyRanks",()=>T$(e)),n(" nestingGraph.cleanup",()=>im.cleanup(e)),n(" normalizeRanks",()=>I$(e)),n(" assignRankMinMax",()=>X$(e)),n(" removeEdgeLabelProxies",()=>Z$(e)),n(" normalize.run",()=>rm.run(e)),n(" parentDummyChains",()=>P$(e)),n(" addBorderSegments",()=>O$(e)),n(" order",()=>$$(e,o)),n(" insertSelfEdges",()=>rB(e)),n(" adjustCoordinateSystem",()=>am.adjust(e)),n(" position",()=>B$(e)),n(" positionSelfEdges",()=>iB(e)),n(" removeBorderNodes",()=>nB(e)),n(" normalize.undo",()=>rm.undo(e)),n(" fixupEdgeLabelCoords",()=>eB(e)),n(" undoCoordinateSystem",()=>am.undo(e)),n(" translateGraph",()=>J$(e)),n(" assignNodeIntersects",()=>Q$(e)),n(" reversePoints",()=>tB(e)),n(" acyclic.undo",()=>om.undo(e))}function L$(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 F$=["nodesep","edgesep","ranksep","marginx","marginy"],U$={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},K$=["acyclicer","ranker","rankdir","align"],j$=["width","height","rank"],lm={width:0,height:0},q$=["minlen","weight","width","height","labeloffset"],G$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},z$=["labelpos"];function H$(e){let n=new V$({multigraph:!0,compound:!0}),o=Yl(e.graph());return n.setGraph(Object.assign({},U$,Hl(o,F$),ht.pick(o,K$))),e.nodes().forEach(r=>{let i=Yl(e.node(r));const a=Hl(i,j$);Object.keys(lm).forEach(l=>{a[l]===void 0&&(a[l]=lm[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Yl(e.edge(r));n.setEdge(r,Object.assign({},G$,Hl(i,q$),ht.pick(i,z$)))}),n}function Y$(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 W$(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};ht.addDummyNode(e,"edge-proxy",a,"_ep")}})}function X$(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 Z$(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 J$(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 f=d.x,u=d.y,p=d.width,m=d.height;n=Math.min(n,f-p/2),o=Math.max(o,f+p/2),r=Math.min(r,u-m/2),i=Math.max(i,u+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let f=e.edge(d);Object.hasOwn(f,"x")&&c(f)}),n-=l,r-=s,e.nodes().forEach(d=>{let f=e.node(d);f.x-=n,f.y-=r}),e.edges().forEach(d=>{let f=e.edge(d);f.points.forEach(u=>{u.x-=n,u.y-=r}),Object.hasOwn(f,"x")&&(f.x-=n),Object.hasOwn(f,"y")&&(f.y-=r)}),a.width=o-n+l,a.height=i-r+s}function Q$(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(ht.intersectRect(r,a)),o.points.push(ht.intersectRect(i,l))})}function eB(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 tB(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function nB(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 oB(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 rB(e){var n=ht.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=>{ht.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 iB(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 Hl(e,n){return ht.mapValues(ht.pick(e,n),Number)}function Yl(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let aB=He,lB=Et.Graph;var sB={debugOrdering:cB};function cB(e){let n=aB.buildLayerMatrix(e),o=new lB({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 dB="1.1.5",uB={graphlib:Et,layout:R$,debug:sB,util:{time:He.time,notime:He.notime},version:dB};const sm=cP(uB);function fB(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(vc,e);return o=>n(o)}function Ti(e,n,o){const r=n?Zt(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function Qo(e,n){const o=n(e.source),r=n(e.target);return[Ti(o,e.sourceField,"output"),Ti(r,e.targetField,"input")]}function Wl(e,n,o,r,i){const a=i(e),l=i(o);return[Ti(a,n,"output"),Ti(l,r,"input")]}function pB(e){t.provide(mp,e)}function cm(){return t.inject(mp,void 0)}function mB(){const e=cm();if(!e)throw new Error("Confirm modal not provided");return e}function dm(e){const n=e.match(/^(input|output)s@(.*)$/);if(n)return{io:n[1],field:n[2]}}function gB(){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 hB={default:bk,hover:kk,selected:wk};let um,Xl;function Oi(e){const n=e.id===um?"selected":e.id===Xl?"hover":"default",o=hB[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[yB,_B]=Ke.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=Wo.padding,gaps:s=Wo.gaps}=r,{nodes:c=Wo.gaps.nodes,edges:d=Wo.gaps.edges,ranks:f=Wo.gaps.ranks}=s,u=$e(o),p=at(),m=cm(),h=fB(),{i18n:{t:y}}=Pe(),{findNode:g,fitView:_,deleteKeyCode:b,onNodeDragStop:w,onConnect:v,onNodesChange:x,onEdgesChange:S,onEdgeUpdate:I,onEdgeMouseEnter:$,onEdgeMouseLeave:D,getNodes:j,setNodes:K,setEdges:k,addSelectedNodes:Y}=u;b.value=["Delete","Backspace"];const{state:A,commit:F,moveNode:R,selectNode:ee,removeNode:q,getNodeById:H,connectEdge:U,disconnectEdge:M,getInEdgesByNodeId:L,commit:Z,reset:W}=p;function re(C,O){const T=H(C.source),G=H(C.target);return!!(T&&G&&T.phase===O&&G.phase===O)}const ae=t.computed(()=>A.value.nodes.filter(C=>C.phase===n&&!C.hidden).map(C=>({id:C.id,type:"flow",position:C.position,data:C,deletable:!au(C)}))),de=t.computed(()=>A.value.edges.filter(C=>re(C,n)).filter(C=>{const O=H(C.source),T=H(C.target);return!(O!=null&&O.hidden)&&!(T!=null&&T.hidden)}).map(C=>{const O=H(C.source),T=H(C.target);if(O){if(!T)throw new Error(`Missing target node "${C.target}" for edge "${C.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${C.source}" for edge "${C.id}" in phase "${n}"`);return Oi({id:C.id,source:C.source,target:C.target,sourceHandle:C.sourceField?`outputs@${C.sourceField}`:"output",targetHandle:C.targetField?`inputs@${C.targetField}`:"input",markerEnd:di.ArrowClosed,data:C,updatable:!i})}));t.watch([ae,de],([C,O])=>{K(C),k(O)},{immediate:!0});const ye=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function Q({source:C,sourceHandle:O,target:T,targetHandle:G}){if(!O||!G)return;const X=dm(O),B=dm(G);if((X==null?void 0:X.io)==="input"||(B==null?void 0:B.io)==="output"||O==="output"&&G==="output")return;const te=L(T);let V=!1,me=!1;const he=[],ge=[],oe=(B==null?void 0:B.io)==="input"?te.filter(Ne=>!Ne.targetField):te.filter(Ne=>!!Ne.targetField);oe.length>0&&(V=!0,oe.forEach(Ne=>{ge.push(Qo(Ne,H)),M(Ne.id,!1)}));const ue=(B==null?void 0:B.io)==="input"?te.filter(Ne=>Ne.targetField===B.field):te.filter(Ne=>!Ne.targetField);if(ue.length>0){if(ue.some(se=>se.source===C&&se.target===T&&se.targetField===(B==null?void 0:B.field)&&se.sourceField===(X==null?void 0:X.field)))return;me=!0,ue.forEach(se=>{ge.push(Qo(se,H)),M(se.id,!1)})}if(!U({source:C,sourceField:X==null?void 0:X.field,target:T,targetField:B==null?void 0:B.field},!1)){W(),h({message:y("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(he.push(Wl(C,X==null?void 0:X.field,T,B==null?void 0:B.field,H)),V||me){if(!m)throw W(),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"),he,ge)){W();return}}Z()}v(Q);let ne=!1;const le=()=>{ne&&(ne=!1,Z())};x(C=>{C.filter(T=>T.type==="select").sort((T,G)=>T.selected===G.selected?0:T.selected?1:-1).forEach(T=>{ee(T.selected?T.id:void 0)});let O=!1;C.forEach(T=>{T.type==="remove"&&(O=!0,q(T.id,!1))}),O&&!ne&&(ne=!0,queueMicrotask(le))}),w(({node:C})=>{C&&R(C.id,C.position)}),S(C=>{C.filter(G=>G.type==="select").sort((G,X)=>G.selected===X.selected?0:G.selected?1:-1).forEach(G=>{um=G.selected?G.id:void 0,k(X=>X.map(B=>B.id!==G.id||!B.markerEnd?B:Oi({...B,zIndex:G.selected?1:void 0})))});let T=!1;C.forEach(G=>{G.type==="remove"&&(T=!0,M(G.id,!1))}),T&&!ne&&(ne=!0,queueMicrotask(le))}),$(({edge:C})=>{Xl=C.id,k(O=>O.map(T=>T.id!==C.id?T:Oi(T)))}),D(({edge:C})=>{Xl=void 0,k(O=>O.map(T=>T.id!==C.id?T:Oi(T)))}),I(({edge:C,connection:O})=>{M(C.id,!1),Q(O)});function fe(C=!0){let O,T;const G=[],X=ie=>{switch(ie.data.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(O)throw new Error("Duplicated request node in request phase");return O=ie,!0}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(T)throw new Error("Duplicated service_request node in request phase");return T=ie,!0}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(T)throw new Error("Duplicated service_response node in response phase");return T=ie,!0}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(O)throw new Error("Duplicated response node in response phase");return O=ie,!0}default:return G.push(ie),!1}};let B;for(const ie of ae.value)if(!X(ie)&&G.length>0){B||(B=new sm.graphlib.Graph({multigraph:!0}),B.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:f}));const Me=g(ie.id);if(!Me)throw new Error(`Node ${ie.id} is missing from the graph in ${n} phase`);B.setNode(ie.id,{width:Me.dimensions.width,height:Me.dimensions.height})}if(!O||!T)throw new Error(`One or more implicit nodes are missing from ${n} phase`);const te=g(O.id),V=g(T.id);if(!te||!V)throw new Error(`One or more implicit nodes are missing from the graph in ${n} phase`);if(G.length>0){if(!B)throw new Error("dagreGraph should be defined here if reachable");const ie=new Set([O.id,T.id]);for(const Me of de.value)!ie.has(Me.source)&&!ie.has(Me.target)&&B.setEdge(Me.source,Me.target,{points:[]});sm.layout(B)}const[me,he]=gB(),ge=ie=>({x:ie.x-ie.width/2,y:ie.y-ie.height/2,width:ie.width,height:ie.height});if(G.length>0){if(!B)throw new Error("dagreGraph should be defined here if reachable");for(const ie of G){const Me=B.node(ie.id),Ht=ge(Me);me(Ht),R(ie.data.id,{x:Ht.x,y:Ht.y},!1)}}const oe=he(),ue=oe.x2-oe.x1,ve=oe.y2-oe.y1,Ne=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,iP)-ue-2*c-te.dimensions.width-V.dimensions.width-2*l),se=oe.y1+ve/2;R(O.data.id,{x:oe.x1-c-Ne/2-te.dimensions.width,y:se-te.dimensions.height/2},!1),R(T.data.id,{x:oe.x2+c+Ne/2,y:se-V.dimensions.height/2},!1),C&&F(`autolayout-${o}`)}function ce(C){_({...ye.value,...C})}async function E(C){return ee(C),new Promise(O=>setTimeout(()=>{const T=g(C);Y(T?[T]:[]),O()},0))}function N(C){const O=j.value,T=O.find(({id:oe})=>oe===C);if(!T)throw new Error(`Node ${C} not found`);const{position:{x:G,y:X},dimensions:{width:B,height:te}}=T,V=X,me=X+te,he=O.filter(({id:oe})=>oe!==C).filter(({position:{y:oe},dimensions:{height:ue}})=>oe<me&&oe+ue>V).map(({position:{x:oe},dimensions:{width:ue}})=>({left:oe,right:oe+ue})).sort((oe,ue)=>oe.left-ue.left);let ge=G+B+c;for(const{left:oe,right:ue}of he)if(!(ue<=ge)){if(ge+B<=oe)return{x:ge,y:V};ge=Math.max(ge,ue)+c}return{x:ge,y:V}}function P(C){if(!C)return;const O=g(C);if(!O)throw new Error(`Node ${C} not found`);const{position:{x:T},dimensions:{width:G}}=O,X=T+G,{viewport:B,dimensions:te,setViewport:V}=u,{x:me,y:he,zoom:ge}=B.value,{width:oe}=te.value,ue=T*ge+me,ve=X*ge+me,Ne=oe-tu-c;if(ve<=Ne)return;let se=Ne-ve;ue+se<0&&(se=-ue),se!==0&&V({x:me+se,y:he,zoom:ge},{duration:sP})}return{vueFlowStore:u,editorStore:p,readonly:i,nodes:ae,edges:de,selectNode:E,autoLayout:fe,placeToRight:N,scrollRightToReveal:P,fitViewParams:ye,fitView:ce}}),$i=Ee(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>be.Left},size:{default:()=>Number.parseFloat(Hc)},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"]]),fm=Ee(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){const n=t.computed(()=>{var i;if(!At(e.type))return((i=Mr[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>pN(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 ro=null;function bB(){var n;if(ro)return ro;if(typeof navigator>"u")return ro="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?ro="mac":/Linux/i.test(e)&&!/Android/i.test(e)?ro="linux":ro="windows"}const wB={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},kB={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"},CB={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 EB(e,n={}){const o=n.platform??bB(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?wB:o==="linux"?CB:kB;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const NB={key:0,class:"label"},SB={class:"keys"},Bi=Ee(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=EB(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",NB,t.toDisplayString(o.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",SB,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),vB={class:"body"},xB={class:"name"},AB={class:"handle"},IB={class:"handle-label-wrapper"},PB={class:"handle-label-wrapper"},TB={class:"handle-label text"},OB={class:"handle"},$B={class:"handle-label-wrapper"},BB={class:"handle-label-wrapper"},VB={class:"handle-label text"},pm=Ee(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=je.createI18n("en-us",We),o=_B(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,toggleExpanded:a,duplicateNode:l,removeNode:s,propertiesPanelOpen:c}=at(),d=t.computed(()=>To(e.data.type)),f=t.computed(()=>e.data.fields.input.length>0),u=t.computed(()=>e.data.fields.output.length>0),p=t.computed(()=>f.value&&r(e.data.id).every(k=>k.targetField===void 0)),m=t.computed(()=>u.value&&i(e.data.id).every(k=>k.sourceField===void 0)),h=t.computed(()=>e.data.expanded.input??!1),y=t.computed(()=>e.data.expanded.output??!1),g=t.computed(()=>{var k,Y;if(e.data.type==="property"){const A=(k=e.data.config)==null?void 0:k.property;return Rl(A)}return(Y=d.value.io)==null?void 0:Y.input}),_=t.computed(()=>{var k,Y;if(e.data.type==="property"){const A=(k=e.data.config)==null?void 0:k.property;return Vl(A)}return(Y=d.value.io)==null?void 0:Y.output}),b=t.computed(()=>au(e.data)),w=t.computed(()=>e.data.phase==="response"),v=t.computed(()=>e.data.phase==="request"?be.Left:be.Right),x=t.computed(()=>e.data.phase==="request"?be.Right:be.Left),S=t.computed(()=>b.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),I=t.computed(()=>b.value?hk:yk);function $(k){!o||o.readonly||k==="input"&&!p.value||k==="output"&&!m.value||a(e.data.id,k)}async function D(){if(!o||o.readonly)return;const k=l(e.data.id,o.placeToRight(e.data.id));await o.selectNode(k),o.scrollRightToReveal(k),c.value=!0}t.watch(p,k=>{k||a(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(m,k=>{k||a(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(k,Y)=>{wo(k,Y)||a(e.data.id,"input",k.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(k,Y)=>{wo(k,Y)||a(e.data.id,"output",k.length>0,!0,"*")},{deep:!0});const j=t.useTemplateRef("menu");function K(){var k;(k=j.value)==null||k.closeDropdown()}return(k,Y)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:w.value,implicit:b.value,readonly:k.readonly}]),onMousedown:K},[t.createElementVNode("div",vB,[b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:0,class:"badge",placement:"top",text:k.data.type},{default:t.withCtx(()=>[t.createVNode(fm,{"icon-only":"",size:"small",type:k.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",xB,t.toDisplayString(S.value),1),k.error?(t.openBlock(),t.createBlock(t.unref(Ce.WarningIcon),{key:1,class:"error-icon",color:t.unref(Gc),size:16},null,8,["color"])):t.createCommentVNode("",!0),b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KDropdown),{key:2,ref:"menu",class:"menu",disabled:k.readonly,"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:D},{default:t.withCtx(()=>[t.createVNode(Bi,{keys:t.unref(Dr).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]=A=>t.unref(s)(k.data.id))},{default:t.withCtx(()=>[t.createVNode(Bi,{keys:t.unref(Dr).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(Ce.MoreIcon),{color:t.unref(Ck)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:w.value}])},[g.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":f.value}])},[t.createElementVNode("div",AB,[t.createVNode(t.unref(on),{id:"input",position:v.value,type:"target"},null,8,["position"]),t.createElementVNode("div",IB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:p.value}]),onClick:Y[2]||(Y[2]=t.withModifiers(A=>$("input"),["stop"]))},[Y[4]||(Y[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),f.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[h.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(No)},null,8,["size"])),h.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:p.value?void 0:t.unref(zc),size:t.unref(No)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),f.value&&h.value?(t.openBlock(),t.createBlock($i,{key:0,color:I.value,position:v.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),f.value&&h.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(k.data.fields.input,(A,F)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${A.id}`,class:"handle indented"},[t.createVNode(t.unref(on),{id:`inputs@${A.id}`,position:v.value,type:"target"},null,8,["id","position"]),t.createElementVNode("div",PB,[t.createElementVNode("div",TB,t.toDisplayString(A.name),1),t.createVNode($i,{color:I.value,position:v.value,type:F<k.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":u.value}])},[t.createElementVNode("div",OB,[t.createElementVNode("div",$B,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:m.value}]),onClick:Y[3]||(Y[3]=t.withModifiers(A=>$("output"),["stop"]))},[Y[5]||(Y[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),u.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(No)},null,8,["size"])),y.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:m.value?void 0:t.unref(zc),size:t.unref(No)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),u.value&&y.value?(t.openBlock(),t.createBlock($i,{key:0,color:I.value,position:x.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(on),{id:"output",position:x.value,type:"source"},null,8,["position"])]),u.value&&y.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(k.data.fields.output,(A,F)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${A.id}`,class:"handle indented"},[t.createElementVNode("div",BB,[t.createElementVNode("div",VB,t.toDisplayString(A.name),1),t.createVNode($i,{color:I.value,position:x.value,type:F<k.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(on),{id:`outputs@${A.id}`,position:x.value,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],2)],34))}}),[["__scopeId","data-v-7853258d"]]),RB={key:0,class:"dk-flow-mask"},mm=Ee(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ke.useElementBounding(i),{i18n:{t:l}}=Pe(),{vueFlowStore:s,editorStore:c,autoLayout:d,fitViewParams:f,fitView:u,selectNode:p,placeToRight:m,scrollRightToReveal:h}=yB({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:y,propertiesPanelOpen:g,invalidConfigNodeIds:_,selectedNode:b,duplicateNode:w}=c,{project:v,vueFlowRef:x,zoomIn:S,zoomOut:I,viewport:$,maxZoom:D,minZoom:j}=s,K=t.ref(!1);function k(){e.mode==="edit"&&(g.value=!0)}function Y(q){e.mode!=="edit"||K.value||q.preventDefault()}function A(q){var ye,Q;if(e.mode!=="edit"||K.value)return;const H=(ye=q.dataTransfer)==null?void 0:ye.getData(Po);if(!H)return;q.preventDefault();const U=JSON.parse(H);if(U.action!=="create-node")return;const{top:M=0,left:L=0}=((Q=x.value)==null?void 0:Q.getBoundingClientRect())||{},Z=v({x:q.clientX-L,y:q.clientY-M}),{type:W,anchor:re}=U.data,ae={type:W,phase:e.phase,position:{x:Z.x-re.offsetX,y:Z.y-re.offsetY}},de=y(ae);de&&(p(de),g.value=!0)}function F(){d(),t.nextTick(()=>u())}const R=t.computed(()=>{if(e.mode==="preview")return[];const q=[{name:"zoom_in",icon:Ce.AddIcon,action:S,disabled:$.value.zoom>=D.value},{name:"zoom_out",icon:Ce.RemoveIcon,action:I,disabled:$.value.zoom<=j.value},{name:"fit_view",icon:Ce.FullscreenIcon,action:u}];return e.mode==="edit"&&q.push({name:"auto_layout",icon:Ce.AutoLayoutIcon,action:F}),q});if(e.phase==="response"&&e.mode==="edit"){Ke.useEventListener("dragstart",H=>{var L;const U=(L=H.dataTransfer)==null?void 0:L.types.find(Z=>Z.startsWith(`${Po}/`));if(!U)return;U.replace(`${Po}/`,"")==="call"&&(K.value=!0)});const{start:q}=Ke.useTimeoutFn(()=>{K.value=!1},80);Ke.useEventListener("dragover",()=>{q()}),Ke.useEventListener("dragend",()=>{K.value=!1})}async function ee(){const q=b.value;if(e.mode!=="edit"||!q||q.phase!==e.phase)return;const H=w(q.id,m(q.id));H&&(await p(H),g.value=!0,h(H))}return pp({enabled:t.computed(()=>!!b.value&&e.mode==="edit"&&b.value.phase===e.phase),duplicate:ee}),n({autoLayout:d,fitView:u}),(q,H)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(cp),{id:q.flowId,class:t.normalizeClass(["flow",{readonly:q.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":q.mode==="edit","max-zoom":t.unref(aP),"min-zoom":t.unref(lP),"multi-selection-key-code":null,"nodes-connectable":q.mode==="edit","nodes-draggable":q.mode==="edit","pan-on-drag":q.mode==="preview"?!1:void 0,"pan-on-scroll":q.mode!=="edit"?!1:void 0,"zoom-on-double-click":q.mode!=="edit"?!1:void 0,"zoom-on-pinch":q.mode!=="edit"?!1:void 0,"zoom-on-scroll":q.mode!=="edit"?!1:void 0,onDragover:Y,onDrop:A,onNodeClick:k,onNodesChange:H[0]||(H[0]=U=>r("nodes-change")),onNodesInitialized:H[1]||(H[1]=U=>r("initialized"))},{"node-flow":t.withCtx(U=>[t.createVNode(pm,{data:U.data,error:t.unref(_).has(U.data.id),readonly:q.mode!=="edit"},null,8,["data","error","readonly"])]),default:t.withCtx(()=>[t.createVNode(t.unref(AI)),t.createVNode(t.unref(eP),{"fit-view-params":t.unref(f),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(R.value,U=>(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:U.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${U.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(Yo),{disabled:U.disabled,onClick:t.withModifiers(U.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(U.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"]),K.value?(t.openBlock(),t.createElementBlock("div",RB,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-49983ae7"]]),Zl=Ee(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const n=t.ref(!1),o=t.ref(!1),{state:r,clearPendingLayout:i,setPendingFitView:a,commit:l,clear:s}=at(),c=t.useId(),d=`${c}-request`,f=`${c}-response`,u=$e(d),p=$e(f);function m(L,Z){const{onPaneClick:W,onNodesChange:re,onEdgesChange:ae,getSelectedNodes:de,getSelectedEdges:ye}=L,{removeSelectedElements:Q}=Z;function ne(le){if(!le){Q();return}le.some(fe=>fe.type==="select")&&de.value.length+ye.value.length>0&&Q()}re(ne),ae(ne),W(()=>ne())}m(u,p),m(p,u);const h=t.useTemplateRef("flowPanels"),y=t.useTemplateRef("requestLabel"),g=t.useTemplateRef("requestCanvasContainer"),_=t.useTemplateRef("requestFlow"),b=t.useTemplateRef("resizeHandle"),w=t.useTemplateRef("responseLabel"),v=t.useTemplateRef("responseCanvasContainer"),x=t.useTemplateRef("responseFlow"),S=Ke.useElementBounding(h),I=Ke.useElementBounding(y),$=Ke.useElementBounding(g),D=Ke.useElementBounding(b),j=Ke.useElementBounding(w),K=Ke.useElementBounding(v),k=t.computed(()=>Math.max(30,S.height.value*.03)),Y=t.computed(()=>$.height.value<k.value),A=t.computed(()=>K.height.value<k.value),F=t.ref("50%"),R=t.ref("50%"),ee=()=>{e.resizable&&(Y.value?(F.value="50%",R.value="50%"):(F.value="0",R.value="100%"))},q=()=>{e.resizable&&(A.value?(F.value="50%",R.value="50%"):(F.value="100%",R.value="0"))},H=t.computed(()=>S.height.value-I.height.value-D.height.value-j.height.value),{isDragging:U}=Ke.useDraggable(b,{onMove(L){if(!e.resizable)return;const Z=Math.max(0,L.y-$.top.value),W=Math.min(1,Math.max(0,Z/H.value));F.value=`${W*100}%`,R.value=`${(1-W)*100}%`},onEnd(){e.resizable&&($.height.value<k.value?(F.value="0",R.value="100%"):K.height.value<k.value&&(F.value="100%",R.value="0"))}});function M(){t.nextTick(()=>{var L,Z;(L=_.value)==null||L.fitView(),(Z=x.value)==null||Z.fitView()})}return t.watch([n,o,()=>r.value.pendingLayout,()=>r.value.pendingFitView],([L,Z,W,re])=>{e.inactive||!L||!Z||!W&&!re||(W&&i(),re&&a(!1),setTimeout(()=>{var ae,de;W&&((ae=_.value)==null||ae.autoLayout(!1),(de=x.value)==null||de.autoLayout(!1),l("*"),W==="clearHistory"&&s()),re&&M()},0))}),(L,Z)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:h,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:y,class:t.normalizeClass(["label request",{resizable:L.resizable}]),onClick:ee},[L.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:Y.value}])},null,8,["class"])):t.createCommentVNode("",!0),Z[4]||(Z[4]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:g,class:t.normalizeClass(["canvas",{dragging:t.unref(U)}]),style:t.normalizeStyle({flexBasis:F.value})},[t.createVNode(mm,{ref_key:"requestFlow",ref:_,"flow-id":d,mode:L.mode,phase:"request",onInitialized:Z[0]||(Z[0]=W=>n.value=!0),onNodesChange:Z[1]||(Z[1]=W=>n.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:b,class:t.normalizeClass(["resize-handle",{resizable:L.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:w,class:t.normalizeClass(["label response",{dragging:t.unref(U),resizable:L.resizable}]),onClick:q},[L.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:A.value}])},null,8,["class"])):t.createCommentVNode("",!0),Z[5]||(Z[5]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:v,class:t.normalizeClass(["canvas response",{dragging:t.unref(U)}]),style:t.normalizeStyle({flexBasis:R.value})},[t.createVNode(mm,{ref_key:"responseFlow",ref:x,"flow-id":f,mode:L.mode,phase:"response",onInitialized:Z[2]||(Z[2]=W=>o.value=!0),onNodesChange:Z[3]||(Z[3]=W=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-57dcdcfa"]]),DB={class:"dk-confirm-modal-body"},MB={class:"dk-confirm-modal-connections"},LB=Ee(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=Pe(),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 f(){a.value=!1,i("cancel"),d==null||d(!1)}function u(){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:f,onProceed:u},{default:t.withCtx(()=>[t.createElementVNode("div",DB,[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",MB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ce.AddIcon),{color:t.unref(_k)},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(Ce.RemoveIcon),{color:t.unref(Gc)},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"]]),FB={class:"dk-editor-nav"},UB={class:"top"},KB={class:"bottom"},jB=Ee(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=je.createI18n("en-us",We),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ce.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=Wa(),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,f)=>(t.openBlock(),t.createElementBlock("nav",FB,[t.createElementVNode("div",UB,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:u,to:p,icon:m,onClick:h})=>t.createVNode(t.unref(xe.KTooltip),{key:u,"kpop-attributes":{offset:"10px"},label:u,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:u,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(xa)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",KB,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(u=>s.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(u=>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(Ce.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(xa)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(xa)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),qB={class:"dk-editor-main"},GB={class:"header"},zB={class:"actions"},HB={class:"settings"},YB={ref:"canvasContainer",class:"body"},WB=Ee(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=je.createI18n("en-us",We),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l,load:s}=at();function c(u){const p=Ka.load(u,{schema:Rr,json:!0});if(typeof p!="object"||p===null)return;const m=p,h={config:{...m,nodes:m.nodes??[]}};s(h,!0)}function d(){o.value=!1}pp({enabled:o,undo:r,redo:i});const f={maxWidth:"300px",zIndex:1e4};return(u,p)=>(t.openBlock(),t.createElementBlock("div",qB,[t.createElementVNode("header",GB,[t.createElementVNode("div",zB,[t.createVNode(t.unref(xe.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Bi,{keys:t.unref(Dr).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(Ce.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(xe.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Bi,{keys:t.unref(Dr).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(Ce.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),p[0]||(p[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",HB,[t.createVNode(Ca,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:f},name:"config.debug"},null,8,["label","label-attributes"])]),p[1]||(p[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(xe.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples")},{items:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(ja,(m,h)=>t.createVNode(t.unref(xe.KDropdownItem),{key:h,onClick:y=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${h}`)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["trigger-text"]),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(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(xe.KButton),{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",YB,[t.createVNode(Zl,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-32006420"]]),XB=["draggable"],ZB={class:"icon"},JB={class:"content"},QB={class:"title"},eV={class:"description"},tV=Ee(t.defineComponent({__name:"NodePanelItem",props:{type:{}},emits:["dragstart"],setup(e,{emit:n}){const o=n,r=e.type==="cache"||e.type==="branch",{summary:i,icon:a}=Mr[e.type];function l(s){o("dragstart",s,e.type)}return(s,c)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${s.type}`]:!0,unsupported:t.unref(r)}]),draggable:!t.unref(r),onDragstart:l},[t.createElementVNode("div",ZB,[t.createVNode(t.unref(a),{size:16})]),t.createElementVNode("div",JB,[t.createElementVNode("div",QB,t.toDisplayString(s.type),1),t.createElementVNode("div",eV,t.toDisplayString(t.unref(i)),1)])],42,XB))}}),[["__scopeId","data-v-d3ce7350"]]),nV={class:"dk-node-panel"},oV={class:"title"},rV={class:"node-list"},iV={"aria-hidden":"true",class:"preview",inert:""},aV=Ee(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=je.createI18n("en-us",We),{createNode:o}=at(),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 $,D,j;const d=s.currentTarget,{left:f,top:u,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-f,y=s.clientY-u;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||d,_=g.cloneNode(!0);_.classList.add("dk-drag-snapshot");const{offsetWidth:b,offsetHeight:w}=g;Object.assign(_.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${b}px`,height:`${w}px`}),document.body.appendChild(_);const v=h/p,x=y/m,S={ratioX:v,ratioY:x,offsetX:b*v,offsetY:w*x},I={action:"create-node",data:{type:c,anchor:S}};($=s.dataTransfer)==null||$.setData(Po,JSON.stringify(I)),(D=s.dataTransfer)==null||D.setData(`${Po}/${c}`,c),(j=s.dataTransfer)==null||j.setDragImage(_,S.offsetX,S.offsetY),requestAnimationFrame(()=>{_.remove(),i.value=void 0})};return(s,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",nV,[t.createElementVNode("h3",oV,[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",rV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(Mr)),f=>(t.openBlock(),t.createBlock(tV,{key:f,type:f,onDragstart:l},null,8,["type"]))),128))]),t.createElementVNode("div",iV,[t.createVNode(t.unref(cp),{nodes:a.value},{"node-flow":t.withCtx(f=>[t.createVNode(pm,{id:r,data:f.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-e9879bef"]]),lV=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(vt,{items:t.unref(ga)([...t.unref(ru)]),name:n.name},null,8,["items","name"]))}}),sV=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Le(),{i18n:o}=Pe(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(rt,{"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(vt,{key:l,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"]))}}),cV=["data-testid"],dV={class:"dk-inputs-map-field-entry-body"},uV={class:"dk-inputs-map-field-entry-content"},fV=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}=Ea(o,r),{i18n:{t:c}}=Pe(),d=t.useTemplateRef("root"),f=t.ref(null),u=t.ref({});let p;async function m(x,S="key"){var I;d.value&&(await t.nextTick(),(I=d.value.querySelector(`[data-${S}-input="${x}"]`))==null||I.focus())}function h(){const{id:x}=a(),S=i.value.findIndex(({key:I})=>!I);m(S===-1?i.value.length-1:S),f.value=x}function y(x){l(x.id),x.id===f.value&&(f.value=null),x.key.trim()!==""&&r("remove:field",x.key)}function g(x){p=x.key}function _(x){if(b(x)){x.key=p,delete u.value[x.id];return}if(x.id===f.value){if(x.key.trim()==="")return;r("add:field",x.key,x.value),f.value=null}else r("rename:field",p,x.key);p=x.key}function b(x){delete u.value[x.id];const S=o.fieldNameValidator("input",p,x.key);if(S)return u.value[x.id]=S,S}function w(x){b(x)}function v(x,S){x.id!==f.value&&r("change:inputs",x.key,S)}return t.watch(()=>i.value,x=>{f.value&&(x.find(({id:S})=>S===f.value)||(f.value=null))}),(x,S)=>{const I=t.resolveComponent("KAlert"),$=t.resolveComponent("KLabel"),D=t.resolveComponent("KInput"),j=t.resolveComponent("KSelect"),K=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(I,{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),(k,Y)=>(t.openBlock(),t.createElementBlock("div",{key:k.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${Y}`},[t.createVNode($,{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",dV,[t.createElementVNode("div",uV,[t.createVNode(D,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${Y}`,modelValue:k.key,"onUpdate:modelValue":[A=>k.key=A,A=>b(k)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":Y,"data-testid":`ff-key-${t.unref(s).path.value}.${Y}`,error:!!u.value[k.id],"error-message":u.value[k.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:A=>w(k),onChange:A=>_(k),onFocus:A=>g(k)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(j,{modelValue:k.value,"onUpdate:modelValue":A=>k.value=A,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${Y}`,"enable-filtering":"",items:x.items,label:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:A=>v(k,(A==null?void 0:A.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),t.createVNode(K,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${Y}`,icon:"",onClick:A=>y(k)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,cV))),128)),t.createVNode(K,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!f.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.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-b2f89c26"]]),pV={class:"dk-inputs-field-or"},io=Ee(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}=Le(),{i18n:{t:i}}=Pe(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?sV:fV: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 f(p){o("remove:field",p)}function u(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(xe.KLabel),{class:"dk-inputs-field-h1",info:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),t.unref(r)("input")?(t.openBlock(),t.createBlock(vt,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:p.items,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","label","placeholder"])):t.createCommentVNode("",!0),t.createElementVNode("div",pV,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)]),t.createVNode(t.unref(xe.KLabel),{class:"dk-inputs-field-h2 dk-margin-0"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1}),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":f,"onRename:field":u},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-27c48bc3"]]),mV={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"},gV={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 hV(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function ao(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function lo(e){const{i18n:{t:n}}=Pe(),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 gm(e,n){const{i18n:{t:o}}=Pe();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 yV(e=0,n=1/0,o){const{i18n:{t:r}}=Pe();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 hm(e){const{i18n:{t:n}}=Pe();return function(r){if(!hV(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 ym(e,n){const{i18n:{t:o}}=Pe();return function(i){if(i==null)return;const a=hm(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 _m(e=-1/0,n=1/0,o){const{i18n:{t:r}}=Pe();return function(a){if(a==null)return;const l=hm(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 _V(e,n){const{state:o}=at(),{i18n:{t:r}}=Pe();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 bV(e,n,o){const{i18n:{t:r}}=Pe();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 wV(){const{i18n:{t:e}}=Pe();return function(o){if(za(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function bm(e){const{i18n:{t:n}}=Pe(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return ao(lo(o),gm("identifier",o),wV(),_V(e,o))}function kV(e){const{i18n:{t:n}}=Pe(),{getNodeById:o}=at();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 ao(lo(s),bV(i,o(e),l))(a)}}function CV(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=u=>{const p=typeof u=="function"?u():u,m=s(p);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},f=u=>(d(),c(u));r[l]={handleChange:f,handleBlur:f,validate:f,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],f=typeof d=="function"?d():d;(s=r[c])==null||s.validate(f)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function Vi(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=at(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>CV(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const u=o(),p=l.value.validate(u),m={};for(const h in a.value)m[h]=p[h];return m}function f(u,p){return{onBlur:()=>{const m=o(),h=s.value[u];h&&h.handleBlur(m[u])},onUpdate:()=>{const m=o(),h=s.value[u];h&&h.handleChange(m[u]),p==null||p()},error:t.computed(()=>{const m=s.value[u];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[u];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const u=d(),p=Object.values(u).filter(Boolean).length>0;r(!p)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:f}}function Pn(e,n){const o=t.inject(vr.DATAKIT_M2,!1),{state:r,renameNode:i,getNodeById:a,addField:l,renameField:s,removeField:c,replaceConfig:d,disconnectEdge:f,connectEdge:u,invalidConfigNodeIds:p,commit:m,revert:h}=at(),{i18n:{t:y}}=Pe(),g=mB();let _=!1;t.watch(r,async()=>{_=!0,await t.nextTick(),_=!1},{immediate:!0,deep:!0});const b=t.computed(()=>{const U=a(e);if(!U)throw new Error("Node not existed");return U}),w=t.computed(()=>{const M=r.value.edges.filter(L=>L.target===e).reduce((L,Z)=>{var ye,Q;const W=a(Z.source),re=(ye=Zt(W,"output",Z.sourceField))==null?void 0:ye.id,ae=(Q=Zt(b.value,"input",Z.targetField))==null?void 0:Q.name,de=W.id+(re?`.${re}`:"");return ae?L.inputs={...L.inputs,[ae]:de}:L.input=de,L},{});return b.value.fields.input.forEach(L=>{M.inputs||(M.inputs={}),M.inputs[L.name]||(M.inputs[L.name]=null)}),{...b.value.config,...M,name:b.value.name}}),v=U=>{i(e,U??"",!0,`${e}:rename`)},x=(U,M=!0)=>{if(_)return;if(!n)throw new Error("getFormInnerData is not defined");const L=ua(n(),["name","input","inputs"]),Z=U?`update:${e}:${U}`:void 0;d(e,L,M,Z)},S=(U,M)=>{const L=Yn(b.value,U,M);if(!L)throw new Error(`Field with name "${M}" not found in node "${b.value.name}"`);return L},I=(U,M,L)=>{const Z=!!L;l(e,U,M,!Z),Z&&k(M,L)},$=(U,M,L)=>{if(_)return;const Z=S(U,M).id;s(e,Z,L)},D=(U,M)=>{const L=S(U,M).id;c(e,L)},j=t.computed(()=>r.value.edges.filter(U=>U.target===e&&!U.targetField)[0]),K=t.computed(()=>r.value.edges.filter(U=>U.target===e&&U.targetField)),k=async(U,M)=>{if(_)return;const L=M==null,Z=S("input",U).id;if(L){const fe=K.value.find(ce=>ce.targetField===Z);fe&&f(fe.id);return}const{nodeId:W,fieldId:re}=lu(M),ae=S("input",U).id,de=[];j.value&&(de.push(Qo(j.value,a)),f(j.value.id,!1));const ye=K.value.find(fe=>fe.targetField===Z);ye&&(de.push(Qo(ye,a)),f(ye.id,!1)),u({source:W,sourceField:re,target:e,targetField:ae},!1);const Q=Wl(W,re,e,ae,a),ne=de[0]&&Q?de[0][1]===Q[1]:!1;if(m(),ne||de.length===0)return;await g(y("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[Q],de)||h()},Y=async U=>{if(_)return;if(U==null){j.value&&f(j.value.id);return}const L=[];for(const de of K.value)L.push(Qo(de,a)),f(de.id,!1);j.value&&f(j.value.id,!1);const{nodeId:Z,fieldId:W}=lu(U);u({source:Z,sourceField:W,target:e,targetField:void 0},!1);const re=Wl(Z,W,e,void 0,a);if(m(),L.length===0)return;await g(y("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[re],L)||h()},A=U=>{const M=[...r.value.edges,{source:U,target:e}];return Ya(Ur(M))},F=t.computed(()=>{var M,L;const U=[];for(const Z of r.value.nodes)if(!(!o&&Z.type==="vault"||!((M=To(Z.type).io)!=null&&M.output))&&Z.fields.output&&Z.id!==e&&!(Z.type==="property"&&!Vl((L=Z.config)==null?void 0:L.property))&&!A(Z.id)&&!(b.value.phase==="request"&&Z.phase==="response")){U.push({value:Z.id,label:Z.name});for(const re of Z.fields.output)U.push({value:`${Z.id}.${re.id}`,label:`${Z.name}.${re.name}`})}return U}),R=t.computed(()=>b.value.fields.input.map(U=>U.name)||[]);function ee(U){p.value.delete(e),U||p.value.add(e)}const q=kV(e);function H(U,M,L){const Z=a(e);if(!Z)throw new Error("Node not found when validating field name");const W=Yn(Z,U,M);return q(U,L,W==null?void 0:W.id)}return{formData:w,inputOptions:F,inputEdge:j,inputsEdges:K,inputsFieldNames:R,currentNode:b,setName:v,setConfig:x,addField:I,renameFieldByName:$,removeFieldByName:D,setInputs:k,setInput:Y,nameValidator:bm(e),fieldNameValidator:H,toggleNodeValid:ee}}function Tn(e){const{getSchema:n}=Le();return t.computed(()=>{if(At(e))switch(e){case"response":return gV;case"service_request":return mV}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 er=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Pe(),a=t.ref(o.name),l=t.computed(()=>{const f=o.validate(a.value.trim());return f===void 0?"":f});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,f=>{f!==a.value&&(a.value=f)}),(f,u)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":u[0]||(u[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"])}}}),EV=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Pe(),o=t.useTemplateRef("form"),r=Tn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:f,nameValidator:u,toggleNodeValid:p,fieldNameValidator:m}=Pn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:h}=Vi({validationConfig:{url:ao(lo({fieldName:"URL"}),gm("url",{fieldName:"URL"})),timeout:ao(ym("integer",{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}),_m(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(_,b)=>{const w=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(er,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(w,{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(Fn,{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(lV,{name:"method",onUpdate:b[0]||(b[0]=v=>t.unref(l)())}),t.createVNode(Un,{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(Fn,{name:"ssl_server_name","onUpdate:modelValue":b[1]||(b[1]=v=>t.unref(l)("ssl_server_name"))}),t.createVNode(io,{"field-name-validator":t.unref(m),"field-names":t.unref(f),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"])}}}),NV=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=Pn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(io,{"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"]))}}),SV=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=Pn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(io,{"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"]))}}),wm={jqlang:"https://jqlang.org/manual/"},vV=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:o}=Pe(),r=t.useTemplateRef("form"),i=Tn("jq"),{formData:a,setName:l,setConfig:s,inputOptions:c,setInputs:d,setInput:f,addField:u,removeFieldByName:p,renameFieldByName:m,inputsFieldNames:h,nameValidator:y,toggleNodeValid:g,fieldNameValidator:_}=Pn(e.nodeId,()=>r.value.getInnerData());function b($,D){u("input",$,D)}function w($){p("input",$)}function v($,D){m("input",$,D)}const x=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:S}=Vi({validationConfig:{jq:ao(lo({fieldName:x}),yV(1,10240,{fieldName:x}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:g}),I=S("jq",()=>s("jq"));return($,D)=>{const j=t.resolveComponent("KLabel"),K=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(er,{name:t.unref(a).name,validate:t.unref(y),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(j,{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(Fn,{autosize:"",error:t.unref(I).error.value,"error-message":t.unref(I).errorMessage.value,label:t.unref(x),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(I).onBlur,"onUpdate:modelValue":t.unref(I).onUpdate},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(K,{"hide-icon":"",href:t.unref(wm).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(wm).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(io,{"field-name-validator":t.unref(_),"field-names":t.unref(h),items:t.unref(c),"onAdd:field":b,"onChange:input":t.unref(f),"onChange:inputs":t.unref(d),"onRemove:field":w,"onRename:field":v},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),xV=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}=Ea(o,r,!1),{i18n:d}=Pe(),f=t.useTemplateRef("root"),u=t.ref(null);let p;async function m(x,S="key"){var I;f.value&&(await t.nextTick(),(I=f.value.querySelector(`[data-${S}-input="${x}"]`))==null||I.focus())}function h(){const x=l(),S=a.value.findIndex(({key:I})=>!I);m(S===-1?a.value.length-1:S),u.value=x}function y(x){var S;x.id===((S=u.value)==null?void 0:S.id)&&(u.value=null),s(x.id),x.key.trim()!==""&&r("remove:field",x.key)}function g(x){p=x.key}function _(x){var S;if(w(x)){x.key=p,delete i.value[x.id];return}if(x.id===((S=u.value)==null?void 0:S.id)){if(x.key.trim()==="")return;u.value=null,r("add:field",x.key,x.value)}else r("rename:field",p,x.key);p=x.key}function b(x,S){var $;if(S.id===(($=u.value)==null?void 0:$.id))return;const I=x.target.value.trim();r("change:value",S.key,I)}function w(x){delete i.value[x.id];const S=o.fieldNameValidator("output",p,x.key);if(S)return i.value[x.id]=S,S}function v(x){w(x)}return t.watchEffect(()=>{u.value&&!a.value.some(x=>x.id===u.value.id)&&a.value.push(u.value)}),(x,S)=>{const I=t.resolveComponent("KAlert"),$=t.resolveComponent("KLabel"),D=t.resolveComponent("KButton"),j=t.resolveComponent("KInput"),K=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(I,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:f,class:"dk-output-value-field"},[t.createVNode($,{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),(k,Y)=>(t.openBlock(),t.createBlock(K,{key:k.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${Y}`},{actions:t.withCtx(()=>[t.createVNode(D,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${Y}`,icon:"",onClick:A=>y(k)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(j,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${Y}`,modelValue:k.key,"onUpdate:modelValue":[A=>k.key=A,A=>w(k)],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[k.id],"error-message":i.value[k.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:A=>v(k),onChange:A=>_(k),onFocus:A=>g(k)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(j,{modelValue:k.value,"onUpdate:modelValue":A=>k.value=A,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:A=>b(A,k)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(D,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!u.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.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 AV(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 Ri(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 IV(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 PV=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=at(),{fieldNameValidator:c}=Pn(e.nodeId),d=Tn("static"),f=bm(e.nodeId),u=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var w;return((w=u.value)==null?void 0:w.fields.output.map(v=>v.name))||[]});function m(w){if(!u.value)throw new Error("No current node");n(u.value.id,w??"")}const h=t.computed(()=>{var D;if(!u.value)return{};const w=((D=u.value.config)==null?void 0:D.values)??{},v={},x=o(u.value.id).map(j=>j.sourceField).filter(Boolean).map(j=>Zt(u.value,"output",j)).map(j=>j==null?void 0:j.name).filter(Boolean),S=u.value.fields.output.map(j=>j.name),I=Object.keys(w);return new Set([...I,...x,...S]).forEach(j=>{if(j in w){v[j]=w[j];return}v[j]=""}),{name:u.value.name,values:AV(v)}});function y(w,v){if(!u.value)throw new Error("No selected node");const x=v!==void 0;if(r(e.nodeId,"output",w,!x),x){const S={values:Ri({...h.value.values,[w]:v})};l(e.nodeId,S)}}function g(w,v){if(!u.value)throw new Error("No selected node");const x=Yn(u.value,"output",w);if(!x)throw new Error("No field found to rename");const S={values:Ri(IV(h.value.values??{},w,v))};l(e.nodeId,S,!1),i(e.nodeId,x.id,v)}function _(w){var S;if(!u.value)throw new Error("No selected node");const v=Yn(u.value,"output",w);if(!v)throw new Error("No field found to delete");a((S=u.value)==null?void 0:S.id,v.id,!0,!1);const x={values:Ri({...h.value.values})};delete x.values[w],l(e.nodeId,x)}function b(w,v){if(!u.value)throw new Error("No selected node");const x={...h.value.values};x[w]=v;const S={values:Ri(x)};l(e.nodeId,S)}return(w,v)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>{var x;return[t.createVNode(er,{name:((x=u.value)==null?void 0:x.name)??"",validate:t.unref(f),onUpdate:m},null,8,["name","validate"]),t.createVNode(xV,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":y,"onChange:value":b,"onRemove:field":_,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),TV={class:"dk-kong-property-item"},OV={class:"property-type"},$V={class:"property-badges"},BV=Ee(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=Pe(),r=e,i=n,{formData:a}=Le(),l=t.ref(Xo(a.property)),s=t.computed(()=>Zo(a.property)),c=t.ref(Bl(a.property)),d=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(xn).map(([m])=>{var g;const h=Zo(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(oo,"")):a.property===m;return{label:h&&c.value?m.replace(oo,c.value):m,value:m,selected:h}}));function u(m){const h=Si.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!==Xo(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=Xo(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Bl(m),l.value=Xo(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:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=b=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:b})=>[t.createElementVNode("div",TV,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(b.label),1),t.createElementVNode("div",OV,t.toDisplayString(t.unref(xn)[b.value].dataType),1)]),t.createElementVNode("div",$V,[t.unref(xn)[b.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(xn)[b.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]=b=>c.value=b),u],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=b=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),VV=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=at(),a=Tn("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:f,setInput:u,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,fieldNameValidator:y}=Pn(e.nodeId,()=>n.value.getInnerData()),g=t.computed(()=>Rl(l.value.property));function _(w){var x;const v=(x=o.value)==null?void 0:x.id;if(!v)throw new Error("Expected selectedNode to be defined");Vl(w)||i(v,!1),Rl(w)||r(v,!1),c()}const{fields:b}=Vi({validationConfig:()=>({property:lo({fieldName:"Property"}),key:Zo(l.value.property)?lo({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Bl(l.value.property)}),toggleNodeValid:h});return(w,v)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(er,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(vt,{name:"content_type",onUpdate:v[0]||(v[0]=x=>t.unref(c)())}),t.createVNode(BV,{validators:t.unref(b),"onUpdate:modelValue":_,"onUpdate:propertyKey":v[1]||(v[1]=x=>t.unref(c)("property-key"))},null,8,["validators"]),g.value?(t.openBlock(),t.createBlock(io,{key:0,"field-name-validator":t.unref(y),"field-names":t.unref(p),items:t.unref(d),"onChange:input":t.unref(u),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),RV=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:f,toggleNodeValid:u,fieldNameValidator:p}=Pn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=Vi({validationConfig:{status:ao(ym("integer",{fieldName:"Status"}),_m(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:u}),h=m("status",()=>a("status"));return(y,g)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(er,{name:t.unref(r).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Un,{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(Ca,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=_=>t.unref(a)())}),t.createVNode(io,{"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"]))}}),DV=["innerHTML"],MV=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${tu}px`},offsetTop:{default:`${fN}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=at(),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 EV;case"service_request":return NV;case"response":return SV;case"jq":return vV;case"static":return PV;case"property":return VV;case"exit":return RV;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(gt)(o.value.type)},null,8,DV)):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(fm,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible"]))}}),LV=Ee(MV,[["__scopeId","data-v-0b3e4bcc"]]),FV={class:"dk-editor-content"},UV={class:"header"},KV={class:"title"},jV={class:"body"},qV={class:"node-selection-panel"},GV={class:"main"},zV=Ee(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=je.createI18n("en-us",We),{sidePanelExpanded:o}=Wa(),{propertiesPanelOpen:r,selectedNode:i}=at();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",FV,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:l.value}])},[t.createElementVNode("header",UV,[t.createElementVNode("h2",KV,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",jV,[t.createElementVNode("div",qV,[t.createVNode(aV)])])],2),t.createElementVNode("div",GV,[t.createVNode(WB)]),t.createVNode(LV,{"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"]]),HV={key:0,class:"dk-editor-modal"},YV=Ee(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(s=>({"5fe3dd96":`${t.unref(uN)}px`,"480b2f5d":`${t.unref(eu)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal"),{clear:i}=at();pB(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const a=Ke.useScrollLock(document);t.watch(n,s=>{a.value=!!s,s||i()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(t.openBlock(),t.createElementBlock("div",HV,[t.createVNode(jB,{class:"nav",onBack:l}),t.createVNode(zV,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(LB,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-917708bb"]]),WV={class:"dk-flow-editor"},XV={class:"flow-panels-container"},ZV={class:"overlay"},JV=Ee(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:o}=je.createI18n("en-us",We),{formData:r}=Le(),i=n;function a(c,d){const f={...r.config,nodes:c},u={...r.__ui_data,nodes:d};r.config=f,r.__ui_data=u,i("change",f,u)}const{modalOpen:l,setPendingFitView:s}=gu(r,{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{s(!0)},{flush:"post"}),(c,d)=>{const f=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",WV,[t.createElementVNode("div",XV,[t.createVNode(Zl,{inactive:t.unref(l),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",ZV,[t.createVNode(f,{appearance:"secondary",class:"button-open-editor",onClick:d[0]||(d[0]=u=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ce.ExpandIcon))]),_:1})])]),t.createVNode(YV,{open:t.unref(l),"onUpdate:open":d[1]||(d[1]=u=>t.isRef(l)?l.value=u:null)},null,8,["open"])])}}}),[["__scopeId","data-v-d41cc8b7"]]);function QV(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 eR(e){const n=e.path[2];return n==="output"||n==="outputs"}function tR(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function Jl(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 f="input"in c&&c.input!=null,u="inputs"in c&&tR(c.inputs);f&&u&&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 f of QV(c,d)){const u=f.value.split(".",1)[0];if(a.has(u)||o.addIssue({code:"custom",message:`Unknown node "${u}" in connection "${f.value}"`,path:f.path}),eR(f)){const p=`${f.nodeName}->${u}`;s.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${f.nodeName}" outputs to "${u}" and "${u}" inputs from "${f.nodeName}". Specify it on one side only.`,path:f.path}):l.set(p,l.get(p)??f.path)}else{const p=`${u}->${f.nodeName}`;l.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${u}" outputs to "${f.nodeName}" and "${f.nodeName}" inputs from "${u}". Specify it on one side only.`,path:f.path}):s.set(p,s.get(p)??f.path)}}})}const nR=J.z.enum(nu),oR=J.z.enum(hn),km=e=>hn.includes(e),Ql=J.z.enum(ou),Cm=Ql.options;J.z.union([Ql,nR]);const rR=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,Em=J.z.string().min(1).max(255).regex(rR,"Invalid node name (snake_case / kebab-case only)").refine(e=>!km(e),"Name clashes with reserved implicit node").brand(),Nm=J.z.union([oR,Em]),iR=J.z.string().min(1).brand(),Bt=J.z.string().refine(e=>{if(Nm.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return Nm.safeParse(o).success&&iR.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),Sm=J.z.enum(ru),tr=J.z.object({type:J.z.string(),name:Em,input:Bt,inputs:J.z.record(J.z.string(),Bt).nullish(),output:Bt,outputs:J.z.record(J.z.string(),Bt).nullish()}).loose(),aR=J.z.object({type:J.z.string(),name:J.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}),Cm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Cm.join(", ")}`})}),lR=tr.extend({type:J.z.literal("call"),method:Sm.nullish(),ssl_server_name:J.z.string().min(1).nullish(),timeout:J.z.number().int().min(0).max(2147483646).nullish(),url:J.z.url(),inputs:J.z.object({body:Bt,headers:Bt,query:Bt}).partial().nullish(),outputs:J.z.object({body:Bt,headers:Bt,status:Bt}).partial().nullish()}).strict(),sR=tr.extend({type:J.z.literal("exit"),status:J.z.number().int().min(200).max(599).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),cR=tr.extend({type:J.z.literal("jq"),jq:J.z.string().min(1).max(10240),outputs:J.z.never().optional()}).strict(),dR=tr.extend({type:J.z.literal("property"),content_type:J.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:J.z.string().min(1),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),uR=tr.extend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),fR=aR.pipe(J.z.discriminatedUnion("type",[lR,sR,cR,dR,uR])),pR=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),mR=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),gR=J.z.object({host:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),hR=J.z.object({ip:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),yR=J.z.object({host:J.z.string().optional().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).optional().default(6379),connect_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),send_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),read_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),username:J.z.string().optional(),password:J.z.string().optional(),sentinel_username:J.z.string().optional(),sentinel_password:J.z.string().optional(),database:J.z.number().int().optional().default(0),keepalive_pool_size:J.z.number().int().min(1).max(2147483646).default(256),keepalive_backlog:J.z.number().int().min(0).max(2147483646).optional(),sentinel_master:J.z.string().optional(),sentinel_role:J.z.enum(["master","slave","any"]).optional(),sentinel_nodes:J.z.array(gR).min(1,{message:"sentinel_nodes must contain at least 1 item"}).optional(),cluster_nodes:J.z.array(hR).min(1,{message:"cluster_nodes must contain at least 1 item"}).optional(),ssl:J.z.boolean().default(!1).optional(),ssl_verify:J.z.boolean().default(!1).optional(),server_name:J.z.string().optional(),cluster_max_redirections:J.z.number().int().default(5).optional(),connection_is_proxied:J.z.boolean().default(!1).optional(),timeout:J.z.number().int().optional(),sentinel_addresses:J.z.array(J.z.string()).min(1).optional(),cluster_addresses:J.z.array(J.z.string()).min(1).optional()}).superRefine((e,n)=>{var c;const o=e.host!==void 0&&e.host!==null,r=e.port!==void 0&&e.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,l=!!((c=e.sentinel_nodes)!=null&&c.length),s=[i,a,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!o&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),_R=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:mR,redis:yR}),bR=J.z.object({vault:pR.nullish(),cache:_R.nullish()});J.z.array(J.z.object({id:J.z.string()})),J.z.object({nodes:J.z.array(fR).min(1,"At least one node is required"),debug:J.z.boolean().nullish(),resources:bR.nullish()}).strict().superRefine((e,n)=>{Jl(e,hn,n)});const vm=Ql.options,wR=J.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!km(e),"Node name conflicts with reserved implicit node"),Vt=J.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"),nr=J.z.object({type:J.z.string(),name:wR,input:Vt.nullish(),inputs:J.z.record(J.z.string(),Vt.nullish()).nullish(),output:Vt.nullish(),outputs:J.z.record(J.z.string(),Vt.nullish()).nullish()}).loose(),kR=J.z.object({type:J.z.string(),name:J.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}),vm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${vm.join(", ")}`})}),CR=nr.extend({type:J.z.literal("call"),method:Sm.nullish(),ssl_server_name:J.z.string().nullish(),timeout:J.z.union([J.z.number(),J.z.string()]).nullish(),url:J.z.string().nullish(),inputs:J.z.object({body:Vt.nullish(),headers:Vt.nullish(),query:Vt.nullish()}).partial().nullish(),outputs:J.z.object({body:Vt.nullish(),headers:Vt.nullish(),status:Vt.nullish()}).partial().nullish()}).strict(),ER=nr.extend({type:J.z.literal("exit"),status:J.z.union([J.z.number(),J.z.string()]).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),NR=nr.extend({type:J.z.literal("jq"),jq:J.z.string().nullish(),outputs:J.z.never().optional()}).strict(),SR=nr.extend({type:J.z.literal("property"),content_type:J.z.string().nullish(),property:J.z.string().nullish(),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),vR=nr.extend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()).nullish(),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),xm=kR.pipe(J.z.discriminatedUnion("type",[CR,ER,NR,SR,vR])),xR=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),AR=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),IR=J.z.object(),PR=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:AR.optional(),redis:IR.optional()}),TR=J.z.object({vault:xR.nullish(),cache:PR.nullish()}),OR=J.z.object({nodes:J.z.array(xm).nullish(),debug:J.z.boolean().nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||Jl(e,hn,n)}).nullish(),$R=J.z.object({nodes:J.z.array(xm).nullish(),debug:J.z.boolean().nullish(),resources:TR.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||Jl(e,hn,n)}).nullish(),BR={class:"option-label"},VR=["innerHTML"],RR=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}=je.createI18n("en-us",We),o=e,r=t.inject(vr.DATAKIT_ENABLE_FLOW_EDITOR,!1),i=t.inject(vr.DATAKIT_M2,!1),{editorMode:a}=Wa(),l=t.computed(()=>r&&c.value?a.value:"code"),s={flow:Ce.DesignIcon,code:Ce.CodeblockIcon},c=t.ref(!0),d=t.computed(()=>{const y=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return y[0].disabled=!c.value,y}),f=t.computed(()=>{switch(l.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(l,()=>{var y;(y=o.onValidityChange)==null||y.call(o,{model:"config",valid:!0})});function u(){var y;(y=o.onValidityChange)==null||y.call(o,{model:"config",valid:!0})}function p(){u()}function m(y){u();const g=i?$R:OR,{success:_}=g.safeParse(y);c.value=_}function h(y){var g;c.value=!1,(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!1,error:y})}return(y,g)=>{const _=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(Zc,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(b=>[t.createVNode(mt,t.mergeProps(b,{tag:"div"}),{default:t.withCtx(()=>[l.value==="flow"?(t.openBlock(),t.createBlock(JV,{key:0,"is-editing":o.isEditing,onChange:p},null,8,["is-editing"])):l.value==="code"?(t.openBlock(),t.createBlock(dN,{key:1,class:"code-editor",editing:o.isEditing,onChange:m,onError:h},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},1040)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:f.value},null,8,VR)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(xe.KSegmentedControl),{"model-value":l.value,options:d.value,"onUpdate:modelValue":g[0]||(g[0]=b=>a.value=b)},{"option-label":t.withCtx(({option:b})=>[t.createVNode(_,{disabled:c.value||b.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(s[b.value]))),t.createTextVNode(" "+t.toDisplayString(b.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-79efe37f"]]),Am=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))},Im=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},DR=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 f,u;const d=Rn(c);return(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Im(p.headers),Im(p.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var f,u;const d=Rn(c);(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Am(p.headers),Am(p.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(mt,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:f})=>[t.createVNode(Ar,{appearance:"tabs","item-label":(u,p)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:p+1}),name:f,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(Ir)]),_:1},8,["data","schema"]))}}),MR=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(Oe.AUTOFILL_SLOT,o==null?void 0:o[Oe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Sa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(DR,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),LR=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 f=Object.keys(d)[0];d[f].required?s.push(f):c.push(f)}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(mt,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(Ir,{class:"ff-advanced-fields"},{default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),[["__scopeId","data-v-3e5ed51d"]]),Pm=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:MR,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(Oe.AUTOFILL_SLOT,o==null?void 0:o[Oe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Zc,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(LR,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),DatakitForm:RR,RequestCalloutForm:jw,ServiceProtectionForm:Dk},Symbol.toStringTag,{value:"Module"})),FR={class:"kong-ui-entities-plugin-form"},UR={key:1,class:"entity-form"},KR={class:"plugin-config-empty-state"},jR=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 de,ye;const o=Object.keys(Oe.sharedForms),r=Object.keys(Pm);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}=pe.useAxios((de=a.config)==null?void 0:de.axiosRequestConfig),{parseSchema:s}=De.useSchemas({entityId:((ye=a.entityMap.focusedEntity)==null?void 0:ye.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:f,isObjectEmpty:u,unsetNullForeignKey:p}=De.usePluginHelpers(),m=De.useExperimentalFreeForms(),{objectsAreEqual:h}=pe.useHelpers(),{i18n:{t:y}}=Pe(),g=Q=>a.config.app==="konnect"?Q.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?Q.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):Q,_=(Q,ne)=>{let le=`${a.config.apiBaseUrl}${Fe.form[a.config.app].entityGetOne}`;return le=g(le),le=le.replace(/{entity}/gi,Q),le=le.replace(/{id}/gi,ne),le},b=Q=>{let ne=`${a.config.apiBaseUrl}${Fe.form[a.config.app].entityGetAll}`;return ne=g(ne),ne=ne.replace(/{entity}/gi,Q),ne},w=(Q,ne)=>{const le=_(Q,ne);return l.get(le)},v=(Q,ne)=>{const le=b(Q);return a.config.app==="konnect"?l.get(le).then(fe=>{const{data:{data:ce}}=fe;if(delete ne.size,delete ne.offset,ce.length&&Object.keys(ne).length===1){const E=Object.keys(ne)[0],N=ce.filter(P=>P[E]?!!P[E].toLowerCase().includes(ne[E].toLowerCase()):!1);fe.data.data=N}return fe}):l.get(le,{params:ne})},x=(Q,ne,le)=>{const fe=b(Q);if(a.config.app==="konnect"){const{size:ce,offset:E,...N}=ne;if(Q==="consumer_groups")return l.get(fe,{params:{size:1e3},signal:le}).then(C=>{const{data:{data:O}}=C;if(O.length&&Object.keys(N).length===1){const T=Object.keys(N)[0],G=O.filter(X=>X[T]?!!X[T].toLowerCase().includes(N[T].toLowerCase()):!1);C.data.data=G}return C});const P={size:ce,offset:E};for(const C of Object.keys(N))P.filter={[C]:{contains:N[C]}};return l.get(fe,{params:P,signal:le})}return l.get(fe,{params:ne,signal:le})},S=(Q,ne=50)=>{const le=b(Q);return l.get(le,{params:{size:ne}})};t.provide(Oe.FORMS_API_KEY,{getOne:w,getAll:v,getAllV2:x,peek:S}),t.provide(Oe.FORMS_CONFIG,a.config);const I=t.ref(""),$=t.ref(""),D=t.ref(null),j=t.ref({}),K=t.reactive({}),k=t.reactive({}),Y=t.computed(()=>{var Q;return(Q=D.value)==null?void 0:Q.options}),A=t.ref(!1),F=t.ref(),R=(Q,ne)=>{A.value=Q??"",F.value=ne},ee=Q=>{var ne;(ne=F.value)==null||ne.call(F,Q),A.value=!1},q=()=>{var N,P;const Q={...a.schema},ne=k,le=K,fe=Object.keys(ne),ce={};if(!u(j.value))for(let C=0;C<((P=(N=j.value)==null?void 0:N.fields)==null?void 0:P.length);C++)Q[j.value.fields[C].model]=j.value.fields[C];Oe.customFields.forEach(C=>{Q[C]&&(Q[C].fields.forEach(O=>{O.fields&&O.fields.forEach(T=>{Q[T.model]=T}),O.model&&(Q[O.model]=O)}),delete Q[C])}),fe.forEach(C=>{var he;if(!Q[C]){C==="partials"&&(ce[C]=ne[C]);return}const O=Q[C];let T=ne[C];const G=le[C],X=Array.isArray(T)?"array":typeof T,B=O?O.valueType:null,te=O?O.valueArrayType:null,V=O?O.transform:null;if(T==null&&G==null&&!O.submitWhenNull)return;if(O){if(B&&X!==B)switch(B){case"array":X==="string"&&T.length&&(T=T.split(",").map(ge=>{if(ge=ge.trim(),te==="string")return String(ge);if(te==="number")return Number(ge);if(te==="boolean"){if(typeof ge=="string")return ge.toLowerCase()==="true"||ge==="1";if(typeof ge=="number")return ge===1}return ge})),(!T||!T.length)&&(T=O.submitWhenNull?null:[]);break;case"number":T=Number(T);break;case"boolean":X==="string"&&(T=T.toLowerCase()==="true"||T==="1"),X==="number"&&(T=T===1);break;case"string":T=T==null?"":String(T);break}else B==="array"&&(!T||!T.length?T=O.submitWhenNull?null:[]:((he=O.inputAttributes)==null?void 0:he.type)==="number"&&(T=T.map(ge=>Number(ge))));if(O.type==="array"&&O.nestedFields){const ge=oe=>{Object.keys(oe).forEach(ue=>{oe[ue]&&typeof oe[ue]=="object"&&!Array.isArray(oe[ue])&&oe[ue]!==null?ge(oe[ue]):(oe[ue]===void 0||oe[ue]===null||typeof oe[ue]=="number"&&isNaN(oe[ue])||typeof oe[ue]=="string"&&oe[ue].trim().length===0)&&delete oe[ue]})};T&&typeof T=="object"&&ge(T)}O.type==="object-advanced"&&O.fields&&T!==null&&(Object.entries(T).length===0?T=null:Object.keys(T).forEach(ge=>{Array.isArray(T[ge])||(T[ge]=T[ge].split(","))}))}let me=c(C);if(O.fieldNameHasDashes){const[ge,...oe]=me.split(".").reverse();me=[ge.replace(/_/g,"-"),...oe].reverse().join(".")}if(B==="object-expand"){let ge;[me,ge]=me.split(".");let oe={};ce[me]&&(oe=ce[me]),oe[ge]=T,T=oe}G!==void 0&&T===""&&T!==G?ce[me]=B==="object"?{}:null:O.type==="checklist"&&T===""?ce[me]=[]:T!==""&&(ce[me]=T),ce[me]=V?V(T):ce[me],p(me,ce)});const E=d(ce);return $.value&&Object.assign(E,Z.value),E},H=(Q,ne={})=>{f(k,ne,Q,a.editing),i("model-updated",{model:k,originalModel:K,data:q()})},U=(Q,ne)=>{var ce;const le={[ne]:Q};typeof((ce=a.schema[ne])==null?void 0:ce.modelTransformer)=="function"&&(le[ne]=a.schema[ne].modelTransformer(Q));const fe=Object.assign({},k,le);Object.assign(k,fe),i("model-updated",{model:k,originalModel:K,data:q()})},M=Q=>{i("validity-change",Q)},L=(Q,ne)=>{Object.keys(Q).forEach(le=>{var P,C;let fe=ne?`${ne}-${le}`:le,ce=a.schema[fe];if(!ce){const O=ne?`${ne}-${le.replace(/-/g,"_")}`:le.replace(/-/g,"_");(P=a.schema[O])!=null&&P.fieldNameHasDashes&&(fe=O,ce=a.schema[fe]),ne&&((C=a.schema[ne])==null?void 0:C.keyFromObject)===le&&(fe=ne,ce=a.schema[fe])}const E=Q[le],N=typeof E;if(ce&&ce.type==="object-advanced"&&!E){k[fe]={},K[fe]={};return}if(Array.isArray(E)){k[fe]=JSON.parse(JSON.stringify(E)),K[fe]=JSON.parse(JSON.stringify(E));return}if(N==="object"&&E&&!E.length)return L(E,fe);if(N==="object"&&E&&E.length&&ce.type==="input"){k[fe]=E.join(", "),K[fe]=E.join(", ");return}k[fe]=E,K[fe]=E}),i("model-updated",{model:k,originalModel:K,data:q()})},Z=t.shallowRef(a.record),W=Q=>{Z.value=Q,i("model-updated",{model:{...k,...Q},originalModel:K,data:q()})},re=t.ref(!0),ae=()=>{var Q;if(a.record&&a.schema&&(L({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)&&L({consumer_id:a.record.consumer_id||a.record.consumer}),L(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)&&L({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&&H("redis",{partials:a.record.partials}),$.value?W(a.record):L(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ne={};for(const le in a.entityMap){const fe=a.entityMap[le].id,ce=a.entityMap[le].idField,E=ce==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ce).replace("_","-"));Object.prototype.hasOwnProperty.call(k,E)&&(ne[E]=fe)}L(ne)}if((Q=a.entityMap.consumer)!=null&&Q.id&&a.schema&&a.credential){const ne={};Object.prototype.hasOwnProperty.call(k,"consumer")&&(ne.consumer=a.entityMap.consumer.id),L(ne)}re.value=!1};return t.watch(re,Q=>{i("loading",Q)}),t.watch(()=>a.schema,(Q,ne)=>{var fe,ce;if(h(Q||{},ne||{}))return;const le=s(Q,void 0,void 0,a.engine);Object.assign(k,le.model),j.value={fields:(ce=(fe=j.value)==null?void 0:fe.fields)==null?void 0:ce.map(E=>({...E,disabled:E.disabled||!1}))},Object.assign(K,JSON.parse(JSON.stringify(le.model))),$.value=a.engine?a.engine==="vfg"?void 0:pa(le.model.name,m)||"CommonForm":pa(le.model.name,m),I.value=Oe.getSharedFormName(le.model.name),ae()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var Q,ne;D.value=s(a.schema,void 0,void 0,a.engine),Object.assign(k,((Q=D.value)==null?void 0:Q.model)||{}),j.value=((ne=D.value)==null?void 0:ne.schema)||{},ae()}),(Q,ne)=>{var fe;const le=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",FR,[re.value?(t.openBlock(),t.createBlock(le,{key:0,type:"form"})):k.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",UR,[$.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(Pm[$.value]),{key:0,"form-model":k,"form-options":Y.value,"form-schema":j.value,"is-editing":e.editing,model:e.record,"on-form-change":W,"on-model-updated":U,"on-validity-change":M,schema:e.rawSchema,onGlobalAction:ne[0]||(ne[0]=(ce,E)=>Q.$emit("globalAction",ce,E))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Oe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(dr.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):I.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Oe.sharedForms)[I.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":k,"form-options":Y.value,"form-schema":j.value,"is-editing":e.editing,"on-model-updated":U,"on-partial-toggled":H,"show-new-partial-modal":ce=>Q.$emit("showNewPartialModal",ce)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Oe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(dr.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),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(Oe.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:k,options:Y.value,schema:j.value,onModelUpdated:U,onPartialToggled:H,onRefreshModel:q,onShowNewPartialModal:ne[1]||(ne[1]=ce=>Q.$emit("showNewPartialModal",ce))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",KR,t.toDisplayString(t.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(fe=t.unref(Nt)[k.name])!=null&&fe.fieldRules&&(a.config.isNewOtelSchema||k.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(z0,{rules:t.unref(Nt)[k.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Oe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(dr.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),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(dr.VaultSecretPicker),{config:a.config,setup:A.value,onCancel:ne[2]||(ne[2]=()=>A.value=!1),onProceed:ee},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-3a5319dd"]]),qR={key:1},GR=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",qR,[t.renderSlot(n.$slots,"default")]))}}),zR={class:"kong-ui-entities-plugin-form-container"},HR={key:0},YR={class:"plugin-form-actions"},WR=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 X;const o=n,r=e,i=so.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}=pe.useErrors(),{capitalize:f}=pe.useStringHelpers(),{objectsAreEqual:u}=pe.useHelpers(),{axiosInstance:p}=pe.useAxios((X=r.config)==null?void 0:X.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),y=t.computed(()=>r.pluginId?pe.EntityBaseFormType.Edit:pe.EntityBaseFormType.Create),g=t.ref(void 0),_=t.ref(void 0),b=t.computed(()=>!!(r.credential&&r.config.entityId)),w=t.ref(void 0),v=t.ref({}),x=t.ref(),S=t.ref();t.provide(Yc,{redisType:x,redisPath:S,isEditing:h.value});const I=t.ref(!1),$=t.reactive({enabled:!0,protocols:[],tags:[]}),D=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),j=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&j.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const K=t.ref(""),k=t.computed(()=>{var te;if(b.value){let V=Fe.form[r.config.app].credential[y.value];return V=V.replace(/{resourceEndpoint}/gi,R.value),V}let B;return r.config.entityType&&r.config.entityId?B=Fe.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):B=Fe.form[r.config.app].edit.all,r.config.app==="konnect"&&((te=Nt[r.pluginType])!=null&&te.useUIData)?`${B}?__ui_data=true`:B}),Y=()=>{m.value=!m.value},A=t.computed(()=>{var ge,oe,ue,ve,Ne,se,ie,Me;const B=r.config.entityType==="consumers"&&r.config.entityId||((oe=(ge=w.value)==null?void 0:ge.consumer)==null?void 0:oe.id),te=r.config.entityType==="consumer_groups"&&r.config.entityId||((ve=(ue=w.value)==null?void 0:ue.consumer_group)==null?void 0:ve.id),V=r.config.entityType==="services"&&r.config.entityId||((se=(Ne=w.value)==null?void 0:Ne.service)==null?void 0:se.id),me=r.config.entityType==="routes"&&r.config.entityId||((Me=(ie=w.value)==null?void 0:ie.route)==null?void 0:Me.id);if(!(B||te||V||me))return{global:{entity:z.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const he={};return V&&(he.service={entity:z.PluginScope.SERVICE,entityEndpoint:"services",id:V,idField:rn.SERVICE}),me&&(he.route={entity:z.PluginScope.ROUTE,entityEndpoint:"routes",id:me,idField:rn.ROUTE}),B&&(he.consumer={entity:z.PluginScope.CONSUMER,entityEndpoint:"consumers",id:B,idField:rn.CONSUMER}),te&&(he.consumer_group={entity:z.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:te,idField:rn.CONSUMER_GROUP}),r.config.entityType&&(he.focusedEntity={entity:z.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:rn[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),he}),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===pe.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}),R=t.computed(()=>{var V;const B=r.developer?"developers":"consumers",te=((V=$n[r.pluginType])==null?void 0:V.endpoint)||"/plugins";return`${B}/${r.config.entityId}${r.developer?"/credentials":""}${te}`}),ee=B=>{const te=Array.from(new Set(B.map(V=>typeof V)));return te.length>1?"string":te[0]},q=(B,te,V,me)=>{var ue,ve;let he=te&&te.fields||[];const ge=l[r.pluginType],oe=(ve=(ue=$n[r.pluginType])==null?void 0:ue.schema)==null?void 0:ve.fields;return Array.isArray(he)&&(he=he.reduce((Ne,se)=>{const ie=Object.keys(se)[0];return ie.match(/-/g)?Ne[ie.replace(/-/g,"_")]={...se[ie],fieldNameHasDashes:!0}:Ne[ie]=se[ie],Ne},{})),Object.keys(he).sort().forEach(Ne=>{var Ht,or,rr,ir,ar,lr,sr;const se=he[Ne];se.type==="set"&&(se.type="array");const ie=B?`${B}-${Ne}`:`${Ne}`;if((Ht=ge==null?void 0:ge.fieldsToDelete)!=null&&Ht.includes(ie)){Sc(V,ie);return}if(Object.prototype.hasOwnProperty.call(se,"overwrite")||se.hidden)return;if(se.type==="table")return q(ie,se.schema,V);if(se.fields)return me&&se.type==="record"?(V[ie]={type:"object",model:Ne,schema:{fields:Object.values(q(ie,se,{},!0))}},V):q(ie,se,V);if(V[ie]={id:ie,model:Ne},V[ie].type=se.type==="boolean"?"checkbox":"input",V[ie].required=se.required,V[ie].referenceable=se.referenceable,ie.startsWith("config-"))if(!me&&se.type==="array"&&(K.value=ie),me&&K.value&&ie.startsWith(K.value)){const Ie=ie.slice(K.value.length+1);V[ie].label=Ie.split("-").map(c).join(".")}else V[ie].label=c(ie);if((B==="config"||B.startsWith("config-"))&&(or=he[Ne])!=null&&or.description&&(V[ie].help=cr.marked.parse(he[Ne].description,{mangle:!1,headerIds:!1})),se.type==="map"){if(V[ie].type="object-advanced",V[ie].values=se.values,se.values.type==="array"){const{type:Ie}=se.values.elements||{};V[ie].schema={fields:[{schema:{fields:[{...Ae,model:ie,valueArrayType:Ie==="integer"?"number":Ie||"string",inputAttributes:{...Ae.inputAttributes,type:Ie==="integer"?"number":"text",inputMode:Ie==="integer"?"numeric":"text"}}]}}]}}else se.values.fields&&(V[ie].schema={fields:[{type:"object",model:"object",schema:{fields:se.values.fields.map(Ie=>{const st=Object.keys(Ie)[0];return{model:st,type:"input",label:f(st),placeholder:st,inputType:Ie[st].type}})}}]});return V}if(se.enum&&se.type==="array"&&(V[ie].type="checklist",V[ie].values=se.enum,V[ie].multi=!0,V[ie].multiSelect=!0),se.one_of&&se.type!=="array"&&(V[ie].type="select",V[ie].values=se.one_of,V[ie].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),se.elements&&se.type==="array"){const Ie=se.elements;if(V[ie].referenceable=Ie.referenceable,V[ie].elements=Ie,["string","integer","number"].includes(Ie.type)&&!Ie.one_of){const{id:st,help:Ue,label:Se,hint:Te,values:Be,referenceable:Yt,model:ut}=V[ie],{inputAttributes:Di,...HD}=JSON.parse(JSON.stringify(Ae));Di.type=Ie.type==="string"?"text":"number",V[ie]={id:st,help:Ue,label:Se,hint:Te,values:Be,referenceable:Yt,model:ut,inputAttributes:Di,...HD}}}if(se.hint&&(V[ie].hint=se.hint),ge&&!ge.overwriteDefault&&Object.keys(ge).forEach(Ie=>{if(Ie===ie){const{help:st,label:Ue,hint:Se,values:Te,referenceable:Be,elements:Yt}=V[ie],{help:ut,...Di}=ge[Ie];V[ie]={help:st,label:Ue,hint:Se,values:Te,referenceable:Be,elements:Yt,...Di},typeof ut=="string"&&(V[ie].help=cr.marked.parse(ut,{mangle:!1,headerIds:!1}))}}),se.type==="array"&&((rr=se.elements)==null?void 0:rr.type)==="record"&&Array.isArray(se.elements.fields)){let Ie={};for(const Ue of se.elements.fields)Ie={...Ie,...Ue};const st=(lr=(ar=(ir=V[ie])==null?void 0:ir.items)==null?void 0:ar.schema)==null?void 0:lr.fields;if(Array.isArray(st))for(const Ue of V[ie].items.schema.fields){const Se=(sr=Ie[Ue.model])==null?void 0:sr.description;Ue.help===void 0&&typeof Se=="string"&&(Ue.help=cr.marked.parse(Se,{mangle:!1,headerIds:!1}))}if(st||(V[ie].type="array",V[ie].newElementButtonLabelClasses="kong-form-new-element-button-label",V[ie].fieldClasses="array-card-container-wrapper",V[ie].itemContainerComponent="FieldArrayCardContainer",V[ie].items={type:"object",schema:{fields:Object.values(q(ie,se.elements,{},!0))}},V[ie].items.schema.fields.forEach(Ue=>{var Se,Te;for(const Be of se.elements.fields){const Yt=Object.keys(Be)[0],ut=((Te=(Se=Ue.id)==null?void 0:Se.split)==null?void 0:Te.call(Se,"-"))??[];if(ut[ut.length-1]===Yt){Ue.model=Yt,Ue.label=c(Yt);break}}}),se.elements.type==="record"&&(V[ie].nestedFields=!0)),!V[ie].nestedFields)V[ie].items.default=()=>se.elements.fields.reduce((Ue,Se)=>{const Te=Object.keys(Se)[0];return Ue[Te]=Se[Te].default,Ue},{});else{const Ue=(Se,Te)=>{if(Se.type==="object"){Se.model&&(Te[Se.model]={});for(const Be of Se.schema.fields)Ue(Be,Se.model?Te[Se.model]:Te)}else Se.model&&(Te[Se.model]=Se.default)};V[ie].items.default=()=>{const Se={};return Ue(V[ie].items,Se),Se}}}if(b.value&&oe){for(let Ie=0;Ie<oe.length;Ie++)if(oe[Ie][ie]){V[ie]={...V[ie],...oe[Ie][ie]};break}}if(se.required&&se.type!=="boolean"&&(V[ie].required=!0,V[ie].selectOptions={hideNoneSelectedText:!0}),se.required&&se.type==="boolean"&&(V[ie].default=se.default??!1),se.default!=null&&typeof se.default!="object"&&se.default!=="function"&&(V[ie].default=se.default),V[ie].type==="input"){["string","number"].includes(typeof V[ie].default)&&r.config.app==="konnect"&&(V[ie].placeholder=`Default: ${V[ie].default===""?"<empty string>":V[ie].default}`);const{type:Ie}=se.elements||{};Ie&&(V[ie].valueArrayType=Ie==="integer"?"number":Ie),V[ie].inputType=se.type==="array"||se.type==="string"?se.encrypted?"password":"text":se.type}let Me="string";se.enum?Me=ee(se.enum):se.type==="boolean"?Me="boolean":se.type==="number"||se.type==="integer"?(Me="number",V[ie].inputType="number"):se.type==="array"?(Me="array",V[ie].default=se.default,se.len_min>0&&(V[ie].submitWhenNull=!0)):se.type==="foreign"?Me="object":se.default&&Array.isArray(se.default)?(Me="array",V[ie].valueArrayType=ee(se.default)):se.default&&(Me=typeof se.default),V[ie].valueType=Me,se.fieldNameHasDashes&&(V[ie].fieldNameHasDashes=!0)}),V},H=()=>{var ie,Me,Ht,or,rr,ir,ar,lr,sr,Ie,st,Ue;const B=((ie=Nt[r.pluginType])==null?void 0:ie.scope.includes(z.PluginScope.SERVICE))??!0,te=((Me=Nt[r.pluginType])==null?void 0:Me.scope.includes(z.PluginScope.ROUTE))??!0,V=((Ht=Nt[r.pluginType])==null?void 0:Ht.scope.includes(z.PluginScope.CONSUMER))??!0,me=r.config.disableConsumerGroupScope?!1:((or=Nt[r.pluginType])==null?void 0:or.scope.includes(z.PluginScope.CONSUMER_GROUP))??!0,he=r.config.entityType==="consumers"&&!!r.config.entityId||!!((ir=(rr=w.value)==null?void 0:rr.consumer)!=null&&ir.id),ge=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((lr=(ar=w.value)==null?void 0:ar.consumer_group)!=null&&lr.id),oe=r.config.entityType==="services"&&!!r.config.entityId||!!((Ie=(sr=w.value)==null?void 0:sr.service)!=null&&Ie.id),ue=r.config.entityType==="routes"&&!!r.config.entityId||!!((Ue=(st=w.value)==null?void 0:st.route)!=null&&Ue.id),ve=[],Ne=(Se,Te,Be)=>Se?a("plugins.form.disable_source_scope_change",{scope:Be}):Te?a("plugins.form.disable_data_retrieving",{scope:Be}):"",se=Se=>{var Te,Be;return((Be=(Te=r.scopedEntitiesPermissions)==null?void 0:Te[Se])==null?void 0:Be.canRetrieve)===!1};if(B){const Se=se("service"),Te="services",Be=oe&&r.disableScopeSelection;ve.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:Te,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Be||Se,disabledTooltip:Ne(Be,Se,Te)})}if(te){const Se=se("route"),Te="routes",Be=ue&&r.disableScopeSelection;ve.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Be||Se,disabledTooltip:Ne(Be,Se,Te)})}if(V){const Se=se("consumer"),Te="consumers",Be=he&&r.disableScopeSelection;ve.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Be||Se,disabledTooltip:Ne(Be,Se,Te)})}if(me){const Se=se("consumer_group"),Te="consumer_groups",Be=ge&&r.disableScopeSelection;ve.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Be||Se,disabledTooltip:Ne(Be,Se,Te)})}if(ve.length){const Se=[...B?["service"]:[],...te?["route"]:[],...V?["consumer"]:[],...me?["consumer_group"]:[]],Be=Se.splice(Se.length-2,2).map(ut=>a(ut==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ut}.plural`)).join(`${Se.length>0?",":""} and/or `),Yt=["Specific",[...Se.length>0?[Se.map(ut=>a(ut==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ut}.plural`)).join(", ")]:[],Be].join(", ")].join(" ");F.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Yt,fields:[]}),F.selectionGroup.fields[1].fields=ve}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(F,l[r.pluginType].formSchema)},U=t.computed(()=>!u(D.fields,$,!0)),M=t.computed(()=>!T.value&&!I.value&&(y.value===pe.EntityBaseFormType.Create||U.value)),L=t.ref(!1),Z=t.ref(),W=B=>{r.credential&&B.password&&(B.password=""),D.fields.id=(B==null?void 0:B.id)||void 0,Z.value=B==null?void 0:B.ordering,Object.assign($,D.fields),w.value=B,L.value=!0},re=t.ref({}),ae=B=>{var te;D.fields=B.model,D.fields.id=((te=w.value)==null?void 0:te.id)||void 0,Object.assign($,B.originalModel),re.value=B.data,r.isWizardStep&&o("model-updated",{model:D.fields,data:B.data,resourceEndpoint:R.value})},de=t.ref(new Map),ye=t.computed(()=>[D.clientErrorMessage,D.serverErrorMessage].filter(Boolean).join("; ")),Q=B=>{B.valid?de.value.delete(B.model):de.value.set(B.model,B.error),D.clientErrorMessage=[...de.value.entries()].map(([te,V])=>`${te}: ${typeof V=="string"?V:d(V)}`).join("; "),D.clientErrorMessage&&(D.serverErrorMessage="")};t.watch([A,L],(B,te)=>{const V=B[0]!==te[0],me=B[1],he=te[1];if(!b.value&&y.value===pe.EntityBaseFormType.Edit&&(V||me&&me!==he)){const ge=q("config",v.value,F);ce.value&&(ge._isCustomPlugin=!0),x.value&&(ge._supported_redis_partial_type=x.value),_.value=ge}},{deep:!0});const ne=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},le=t.computed(()=>{let B=`${r.config.apiBaseUrl}${Fe.form[r.config.app].validate}`;return r.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),B=B.replace(/{id}/gi,r.pluginId),B}),fe=t.computed(()=>{const B=r.config.entityType&&r.config.entityId&&!r.developer,te=b.value?Fe.form[r.config.app].credential[y.value]:Fe.form[r.config.app][y.value][B?"forEntity":"all"];let V=`${r.config.apiBaseUrl}${te}`;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,R.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}),ce=t.computed(()=>!Object.keys(Nt).includes(r.pluginType)),E=t.computed(()=>{const B=re.value;if(b.value){for(const te in z.PluginScope){const V=z.PluginScope[te];B[V]&&!B[V].id&&(B[V]={id:r.config.entityId})}delete B.created_at}return re.value.partials&&S.value&&Sc(B,S.value),B}),N=t.computed(()=>{const{__ui_data:B,...te}={...E.value};return te}),P=async()=>{if(!D.clientErrorMessage&&!r.isWizardStep)try{D.isReadonly=!0;let B;const te=JSON.parse(JSON.stringify(E.value)),V=l[r.pluginType];typeof(V==null?void 0:V.shamefullyTransformPayload)=="function"&&V.shamefullyTransformPayload({originalModel:$,model:D.fields,payload:te,schema:_.value}),!b.value&&!ce.value&&await p.post(le.value,te),y.value==="create"?B=await p.post(fe.value,te):y.value==="edit"&&(B=r.config.app==="konnect"||x.value&&te.partials?await p.put(fe.value,Object.assign({ordering:Z.value},te)):await p.patch(fe.value,te)),Object.assign($,D.fields),o("update",B==null?void 0:B.data)}catch(B){D.serverErrorMessage=d(B),o("error",B)}finally{D.isReadonly=!1}},C=t.computed(()=>{var me;const B=b.value?(me=$n[r.pluginType])==null?void 0:me.schemaEndpoint:r.pluginType,te=b.value?Fe.form[r.config.app].credentialSchema:Fe.form[r.config.app].pluginSchema;let V=`${r.config.apiBaseUrl}${te}`;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,B),V}),O=t.ref(""),T=t.ref(!1),G=t.ref("");return t.onBeforeMount(async()=>{var B,te,V,me;T.value=!0;try{if(b.value&&r.config.app==="konnect"){const he=(B=$n[r.pluginType])==null?void 0:B.schemaEndpoint,ge=Hm[he];O.value=he,_.value=q("",ge,{}),T.value=!1}else{const he=r.schema??(await p.get(C.value)).data;if(g.value=he,he)if(b.value)_.value=q("",he,{}),T.value=!1;else{const ge=he.fields.find(ue=>ue.config);v.value=ge?ge.config:he,he.supported_partials&&(x.value=Object.keys(he.supported_partials).find(ue=>[fr.REDIS_CE,fr.REDIS_EE].includes(ue)),S.value=(te=he.supported_partials[x.value])==null?void 0:te[0]),H();const oe=(V=he.fields.find(ue=>ue.protocols))==null?void 0:V.protocols;if(oe){const{default:ue=[],elements:ve={}}=oe;F.protocols.default=ue,F.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ue.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(me=ve.one_of)!=null&&me.length&&(F.protocols.values=ve.one_of.map(Ne=>({label:Ne,value:Ne})))}if(L.value||y.value===pe.EntityBaseFormType.Create){const ue=q("config",v.value,F);x.value&&(ue._supported_redis_partial_type=x.value),ce.value&&(ue._isCustomPlugin=!0),_.value=ue}}}}catch(he){console.error(he),G.value=d(he),o("error:fetch-schema",he)}finally{T.value=!1}}),(B,te)=>{const V=t.resolveComponent("KSkeleton"),me=t.resolveComponent("KEmptyState"),he=t.resolveComponent("KButton"),ge=t.resolveComponent("KTabs"),oe=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",zR,[T.value?(t.openBlock(),t.createBlock(V,{key:0,type:"form"})):G.value?(t.openBlock(),t.createBlock(me,{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(pe.EntityBaseForm),{key:2,"can-submit":M.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(pe.SupportedEntityType).Plugin,"error-message":ye.value,"fetch-url":k.value,"form-fields":E.value,"is-readonly":D.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ne,"onFetch:error":te[4]||(te[4]=ue=>B.$emit("error",ue)),"onFetch:success":W,onLoading:te[5]||(te[5]=ue=>B.$emit("loading",ue))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",HR)):(t.openBlock(),t.createBlock(GR,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",YR,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(he,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:te[3]||(te[3]=ue=>Y())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(he,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:D.isReadonly,onClick:ne},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(he,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!M.value||D.isReadonly,type:"submit",onClick:P},{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:P},null,32),t.createVNode(jR,{config:e.config,credential:b.value,editing:y.value===t.unref(pe.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":A.value,"raw-schema":g.value,record:w.value,schema:_.value,onGlobalAction:te[0]||(te[0]=(ue,ve)=>B.$emit("globalAction",ue,ve)),onLoading:te[1]||(te[1]=ue=>I.value=ue),onModelUpdated:ae,onShowNewPartialModal:te[2]||(te[2]=ue=>B.$emit("showNewPartialModal",ue)),onValidityChange:Q},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(oe,{"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(ge,{"data-testid":"form-view-configuration-slideout-tabs",tabs:j.value},{json:t.withCtx(()=>[t.createVNode(t.unref(pe.JsonCodeBlock),{config:e.config,"entity-record":N.value,"fetcher-url":fe.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(pe.YamlCodeBlock),{"entity-record":N.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(pe.TerraformCodeBlock),{"credential-type":O.value,"entity-record":N.value,"entity-type":t.unref(pe.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-4e00808e"]]),XR={class:"kong-ui-entities-plugins-list"},ZR={class:"button-row"},JR={class:"name-cell-wrapper"},QR={class:"info-wrapper"},eD={key:0,class:"info-name"},tD={key:1,class:"info-name"},nD={key:2,class:"info-type"},oD={key:1},rD=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 C,O;const o=De.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=De.useI18n(),l=so.useRouter(),{axiosInstance:s}=pe.useAxios((C=i.config)==null?void 0:C.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=pe.useTableState(()=>w.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),u=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var T;return((T=i.config)==null?void 0:T.entityType)==="consumers"}),m=t.computed(()=>{var T;return((T=i.config)==null?void 0:T.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||pe.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}};(O=i.config)!=null&&O.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,b=t.computed(()=>{var G,X,B,te;let T=i.config.entityType?`${i.config.apiBaseUrl}${Fe.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Fe.list[i.config.app].all}`;return i.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,((G=i.config)==null?void 0:G.controlPlaneId)||""):i.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,(X=i.config)!=null&&X.workspace?`/${i.config.workspace}`:"")),T.replace(/{entityType}/gi,((B=i.config)==null?void 0:B.entityType)||"").replace(/{entityId}/gi,((te=i.config)==null?void 0:te.entityId)||"")}),w=t.ref(""),v=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:x,fetcherState:S,fetcherCacheKey:I}=pe.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),b),$=()=>{w.value=""},D=()=>{I.value++},j=t.ref(null),K=T=>{var X,B,te,V;const G=[];return((X=T.route)!=null&&X.id||T.route_id)&&G.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((B=T.service)!=null&&B.id||T.service_id)&&G.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((te=T.consumer)!=null&&te.id||T.consumer_id)&&G.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((V=T.consumer_group)!=null&&V.id||T.consumer_group_id)&&G.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),G.length?G:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},k=async(T,G)=>{var X;return T===null?!1:await((X=i.canRetrieveScopedEntity)==null?void 0:X.call(i,T,G.id))},Y=(T,G)=>{var B,te,V,me,he;let X=null;switch(T){case"route":X=(B=G.route)==null?void 0:B.id;break;case"service":X=(te=G.service)==null?void 0:te.id;break;case"consumer":X=(V=G.consumer)==null?void 0:V.id;break;case"consumer_group":X=(me=G.consumer_group)==null?void 0:me.id;break}X&&((he=i.config)!=null&&he.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(T,X))},A=t.ref(!1),F=t.ref(null),R=t.computed(()=>{const T={action:"disable",id:"",name:""};if(F.value){const{enabled:G,id:X,name:B}=F.value;T.action=G?"disable":"enable",T.id=X,T.name=o.getDisplayName(B)||X}return T}),ee=T=>{A.value=!0,F.value=T},q=()=>{A.value=!1,F.value=null},H=async()=>{var B,te,V,me,he,ge,oe,ue;if(!await((B=i.canEdit)==null?void 0:B.call(i,F.value))||!F.value)return;let G=`${i.config.apiBaseUrl}${(he=Fe.item[i.config.app])==null?void 0:he[(te=i.config)!=null&&te.entityType?"forEntity":"all"].replace(/{entityType}/gi,((V=i.config)==null?void 0:V.entityType)||"").replace(/{entityId}/gi,((me=i.config)==null?void 0:me.entityId)||"")}`.replace(/{id}/gi,F.value.id||"");i.config.app==="konnect"?G=G.replace(/{controlPlaneId}/gi,((ge=i.config)==null?void 0:ge.controlPlaneId)||""):i.config.app==="kongManager"&&(G=G.replace(/\/{workspace}/gi,(oe=i.config)!=null&&oe.workspace?`/${i.config.workspace}`:""));const X=!F.value.enabled;try{const{data:ve}=((ue=i.config)==null?void 0:ue.app)==="konnect"?await s.put(G,{...F.value,enabled:X},{timeout:12e4}):await s.patch(G,{...F.value,enabled:X},{timeout:12e4});r("toggle-enabled",X,ve),F.value.enabled=X}catch(ve){r("error",ve)}},U=async(T,G)=>{const X=T.id;if(!await G(X)){r("copy:error",{entity:T,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:T,field:"id",message:a("copy.success",{val:X})})},M=async(T,G)=>{const X=JSON.stringify(T);if(!await G(X)){r("copy:error",{entity:T,message:a("errors.copy")});return}r("copy:success",{entity:T,message:a("copy.success_brief")})},L=async T=>{var X;await((X=i.canRetrieve)==null?void 0:X.call(i,T))&&l.push(i.config.getViewRoute(T))},Z=T=>({label:a("actions.view"),to:i.config.getViewRoute(T)}),W=T=>({label:a("actions.edit"),to:i.config.getEditRoute(T)}),re=T=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(T)}),ae=t.ref(void 0),de=t.ref(!1),ye=t.ref(!1),Q=t.ref(""),ne=pe.useDeleteUrlBuilder(i.config,b.value),le=T=>{ae.value=T,de.value=!0},fe=()=>{de.value=!1},ce=async()=>{var T,G,X;if((T=ae.value)!=null&&T.id){ye.value=!0;try{await s.delete(ne(ae.value.id)),ye.value=!1,de.value=!1,I.value++,r("delete:success",ae.value)}catch(B){Q.value=((X=(G=B.response)==null?void 0:G.data)==null?void 0:X.message)||B.message||a("errors.delete"),r("error",B)}finally{ye.value=!1}}},E=()=>{l.push(i.config.createRoute)};t.watch(S,T=>{var G,X,B;if(T.status===pe.FetcherStatus.Error){j.value={title:a("errors.general")},(B=(X=(G=T.error)==null?void 0:G.response)==null?void 0:X.data)!=null&&B.message&&(j.value.message=T.error.response.data.message),r("error",T.error);return}j.value=null});const N=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")}),P=t.ref(!1);return t.onBeforeMount(async()=>{P.value=await i.canCreate(),P.value&&(N.value.title=a("plugins.list.empty_state.title"),N.value.ctaText=a("actions.create"))}),(T,G)=>{const X=t.resolveComponent("KButton"),B=t.resolveComponent("KEmptyState"),te=t.resolveComponent("KBadge"),V=t.resolveComponent("KTruncate"),me=t.resolveComponent("KInputSwitch"),he=t.resolveComponent("KDropdownItem"),ge=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",XR,[t.createVNode(t.unref(pe.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":y.value,"empty-state-options":N.value,"enable-entity-actions":"","error-message":j.value,fetcher:t.unref(x),"fetcher-cache-key":t.unref(I),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:w.value,"table-headers":t.unref(_),title:e.title,"title-tag":e.titleTag,onClearSearchInput:$,"onClick:row":G[4]||(G[4]=oe=>L(oe)),onSort:D,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(pe.EntityFilter),{modelValue:w.value,"onUpdate:modelValue":G[0]||(G[0]=oe=>w.value=oe),config:v.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",ZR,[!u.value&&f.value?(t.openBlock(),t.createBlock(X,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:G[1]||(G[1]=oe=>T.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(X,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.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:oe})=>[t.createElementVNode("div",JR,[t.createVNode(t.unref(uo.PluginIcon),{class:"plugin-icon",name:oe.name,size:24},null,8,["name"]),t.createElementVNode("div",QR,[oe.instance_name?(t.openBlock(),t.createElementBlock("span",eD,t.toDisplayString(oe.instance_name),1)):(t.openBlock(),t.createElementBlock("span",tD,t.toDisplayString(t.unref(o).getDisplayName(oe.name)),1)),oe.instance_name?(t.openBlock(),t.createElementBlock("span",nD,t.toDisplayString(t.unref(o).getDisplayName(oe.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:oe})=>[K(oe).length>0?(t.openBlock(),t.createBlock(V,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(K(oe),ue=>(t.openBlock(),t.createBlock(t.unref(pe.PermissionsWrapper),{key:ue.badgeText,"auth-function":()=>k(ue.type,oe),"force-show":""},{default:t.withCtx(({isAllowed:ve})=>[t.createVNode(te,{class:t.normalizeClass(ve||"disabled"),onClick:t.withModifiers(Ne=>ve&&ue.type&&Y(ue.type,oe),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(ue.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",oD,"-"))]),enabled:t.withCtx(({row:oe})=>[t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(oe)&&await e.canToggle(oe)),"force-show":""},{default:t.withCtx(({isAllowed:ue})=>{var ve,Ne;return[t.createElementVNode("div",{onClick:G[3]||(G[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(me,{disabled:!ue,"disabled-tooltip-text":!ue&&((Ne=(ve=e.config).getToggleDisabledTooltip)==null?void 0:Ne.call(ve,oe))||void 0,"model-value":oe.enabled,onClick:t.withModifiers(se=>ue&&ee(oe),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:oe})=>[t.createVNode(te,{appearance:t.unref(Cc)(oe)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Cc)(oe)?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:oe})=>[t.createVNode(t.unref(pe.TableTags),{tags:oe},null,8,["tags"])]),actions:t.withCtx(({row:oe})=>[t.createVNode(ge,null,{default:t.withCtx(({copyToClipboard:ue})=>[t.createVNode(he,{"data-testid":"action-entity-copy-id",onClick:ve=>U(oe,ue)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(ge,null,{default:t.withCtx(({copyToClipboard:ue})=>[t.createVNode(he,{"data-testid":"action-entity-copy-json",onClick:ve=>M(oe,ue)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(oe)},{default:t.withCtx(()=>[t.createVNode(he,{"data-testid":"action-entity-view","has-divider":"",item:Z(oe)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canEdit(oe)},{default:t.withCtx(()=>[t.createVNode(he,{"data-testid":"action-entity-edit",item:W(oe)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(pe.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(oe)},{default:t.withCtx(()=>[re(oe)?(t.openBlock(),t.createBlock(he,{key:0,"data-testid":"action-entity-config-dyn-order",item:re(oe)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canDelete(oe)},{default:t.withCtx(()=>[t.createVNode(he,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ue=>le(oe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!w.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var oe;return[t.createVNode(B,{"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(Ce.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[P.value?(t.openBlock(),t.createBlock(X,{key:0,"data-testid":"entity-create-button",onClick:E},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(X,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:G[2]||(G[2]=ue=>T.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(oe=e.config)!=null&&oe.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(pe.EntityToggleModal),{action:R.value.action,"entity-id":R.value.id,"entity-name":R.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":H,visible:A.value,onCancel:q,onProceed:q},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(pe.EntityDeleteModal),{"action-pending":ye.value,description:t.unref(a)("delete.description"),"entity-name":ae.value&&(ae.value.instance_name||ae.value.name||ae.value.id),"entity-type":t.unref(pe.EntityTypes).Plugin,error:Q.value,title:t.unref(a)("delete.title"),visible:de.value,onCancel:fe,onProceed:ce},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-582a936c"]]),iD={class:"plugin-select-card-wrapper"},aD=["data-testid"],lD={class:"plugin-card-header"},sD={class:"plugin-card-title"},cD={key:0,class:"plugin-card-actions"},dD=["data-testid","title"],uD={key:0,class:"plugin-card-text"},fD={key:0},pD=["title"],es=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=so.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))},f=()=>{r.navigateOnClick?d():u()},u=()=>{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=(_,b)=>{const w=r.config;r.config.app==="konnect"&&typeof w.getCustomEditRoute=="function"&&w.getCustomEditRoute&&i.push(w.getCustomEditRoute(_,b))},g=()=>{if(!s.value&&r.config.app==="konnect"){const _=r.config;p.value&&_.createCustomRoute?i.push(_.createCustomRoute):m.value&&d()}};return(_,b)=>{const w=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),x=t.resolveComponent("KDropdownMenu"),S=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",iD,[t.createVNode(S,{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:b[1]||(b[1]=I=>s.value||m.value?void 0:f())},[t.createElementVNode("div",lD,[t.createElementVNode("div",sD,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",cD,[t.createVNode(x,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(w,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{size:t.unref(Ek)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:b[0]||(b[0]=t.withModifiers(I=>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(v,{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(uo.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",uD,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",fD,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,pD)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,dD),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,aD)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),mD=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}=pe.useErrors(),{axiosInstance:s}=pe.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var y;return u.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),f=t.ref(""),u=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const y=o.plugin.customPluginType==="streaming"?Fe.select[o.config.app].streamingCustomPluginItem:Fe.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,_,b;if(d.value=!0,f.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(w){const{response:v}=w;(v==null?void 0:v.status)===400&&((b=(_=v.data)==null?void 0:_.message)!=null&&b.includes("plugin schema is currently in use"))?u.value=!0:f.value=l(w)}finally{d.value=!1}};return(y,g)=>{const _=t.resolveComponent("KButton"),b=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(pe.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(pe.EntityTypes).Plugin,error:f.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=w=>y.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(b,{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]=w=>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]=w=>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"]]),gD={class:"custom-plugins-grid"},hD={class:"empty-state-title"},yD={class:"empty-state-description"},ts=310,_D=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=x=>{r("plugin-clicked",x)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const x=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(x):x}),f=t.ref(!1),u=t.ref(null),p=x=>{f.value=!0,u.value={id:x.id,name:x.name,customPluginType:x.customPluginType}},m=x=>{var S;x&&(r("revalidate"),r("delete:success",((S=u.value)==null?void 0:S.name)||"")),f.value=!1,u.value=null},h=t.ref(ts),y=t.ref(null),g=t.ref(null),_=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),b=t.ref(!1),w=()=>{h.value=Math.max(a(g.value),ts),v()},v=()=>{var x,S;(x=g.value)!=null&&x.length&&(b.value=l(y.value,(S=g.value)==null?void 0:S.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),ts),v(),window==null||window.addEventListener("resize",w)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",w)}),(x,S)=>{const I=t.resolveComponent("KEmptyState"),$=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",gD,[d.value.length?(t.openBlock(),t.createBlock($,{key:1,modelValue:s.value,"onUpdate:modelValue":S[0]||(S[0]=D=>s.value=D),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,(D,j)=>(t.openBlock(),t.createBlock(es,{key:`plugin-card-${j}`,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:D,onCustomPluginDelete:K=>p(D),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[b.value?void 0:{name:"trigger",fn:t.withCtx(()=>[S[2]||(S[2]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(I,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",hD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",yD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&u.value?(t.openBlock(),t.createBlock(mD,{key:2,config:e.config,plugin:u.value,onClosed:m,onProceed:S[1]||(S[1]=D=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),ns=310,Tm=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(ns),d=t.ref(null),f=t.ref(null),u=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(f.value),ns),h()},h=()=>{var y,g;(y=f.value)!=null&&y.length&&(p.value=s(d.value,(g=f.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(f.value),ns),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]=b=>o.value=b),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(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,b=>(t.openBlock(),t.createBlock(es,{key:`plugin-card-${b.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:b,onPluginClicked:w=>i("plugin-clicked",b)},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"]]),bD={class:"plugin-select-grid"},wD={class:"empty-state-title"},kD={class:"empty-state-description"},os=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(ls),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,f)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",bD,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",wD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",kD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Tm,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[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:f[1]||(f[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(as),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(Tm,{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:f[2]||(f[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),CD={class:"kong-ui-entities-plugin-select-form"},ED={class:"plugins-filter-input-container"},ND={key:0},SD={key:3,"aria-live":"polite",class:"plugins-results-container"},vD={"data-testid":"kong-tab"},xD={class:"tab-description"},AD={"data-testid":"custom-tab"},ID={class:"tab-description"},PD=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=so.useRoute(),a=so.useRouter(),{i18n:{t:l}}=De.useI18n(),{pluginMetaData:s}=De.usePluginMetaData(),{getMessageFromError:c}=pe.useErrors(),{sortAlpha:d,objectsAreEqual:f}=pe.useHelpers(),u=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref([]),g=t.ref([]),_=t.ref({}),b=t.ref([]),{axiosInstance:w}=pe.useAxios((U=o.config)==null?void 0:U.axiosRequestConfig),v=t.computed(()=>_.value?Object.entries(_.value).filter(([M])=>M!==z.PluginGroup.CUSTOM_PLUGINS).reduce((M,[,L])=>{for(const Z of L)M[Z.id]=Z;return M},{}):{}),x=t.computed(()=>{var Z;if(!_.value)return{};const M=u.value.toLowerCase(),L=JSON.parse(JSON.stringify(_.value));for(const W in _.value){const re=((Z=_.value[W])==null?void 0:Z.filter(ae=>ae.name.toLowerCase().includes(M)||ae.id.toLowerCase().includes(M)||ae.group.toLowerCase().includes(M)))||[];re.length?L[W]=re:delete L[W]}return L}),S=t.computed(()=>o.highlightedPluginIds.reduce((M,L)=>{const Z=v.value[L];return Z&&M.push(Z),M},[])),I=t.computed(()=>Object.keys(x.value).length>0),$=t.computed(()=>Object.keys(_.value).length>0&&!I.value),D=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)}]:[]),j=t.computed(()=>{var L;let M=D.value.length&&((i==null?void 0:i.hash)||((L=D.value[0])==null?void 0:L.hash))||"";return M==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(M="#kong"),M}),K=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...y.value])].filter(M=>!o.ignoredPlugins.includes(M)).filter(M=>o.config.entityType&&(o.config.entityType==="services"&&s[M]&&!s[M].scope.includes(z.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[M]&&!s[M].scope.includes(z.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[M]&&!s[M].scope.includes(z.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[M]&&!s[M].scope.includes(z.PluginScope.CONSUMER))?!1:M).reduce((M,L)=>{var de;const Z=s[L]&&s[L].name||L,W={...s[L],id:L,name:Z,available:y.value.includes(L),disabledMessage:"",group:((de=s[L])==null?void 0:de.group)||z.PluginGroup.CUSTOM_PLUGINS};W.group===z.PluginGroup.CUSTOM_PLUGINS&&(W.customPluginType=g.value.find(ye=>ye.name===L)?"streaming":"schema"),o.disabledPlugins&&(W.disabledMessage=o.disabledPlugins[L]);const re=W.group||l("plugins.select.misc_plugins");let ae=M[re];return ae||(ae=[]),ae.push(W),ae.sort(d("name")),M[re]=ae,M},{}),k=t.computed(()=>{var L;let M=`${o.config.apiBaseUrl}${Fe.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?M=M.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(M=((L=o.config.gatewayInfo)==null?void 0:L.edition)==="community"?`${o.config.apiBaseUrl}${Fe.select[o.config.app].availablePluginsForOss}`:M.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),M}),Y=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let M=`${o.config.apiBaseUrl}${Fe.select[o.config.app].streamingCustomPlugins}`;return M=M.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),M}return null}),A=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let M=`${o.config.apiBaseUrl}${Fe.list[o.config.app].forEntity}`;return o.config.app==="konnect"?M=M.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(M=M.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),M.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),F=M=>{a.replace({hash:M,query:i.query})};t.watch(()=>o.disabledPlugins,(M,L)=>{!f(M,L)&&!p.value&&(_.value=K())}),t.watch(()=>o.ignoredPlugins,(M,L)=>{!f(M,L)&&!p.value&&(_.value=K())}),t.watch(p,M=>{r("loading",M)});const R=t.ref(!1),ee=t.ref(!1),q=t.ref(!1);t.onBeforeMount(async()=>{R.value=await o.canCreateCustomPlugin(),ee.value=await o.canEditCustomPlugin(),q.value=await o.canDeleteCustomPlugin()});const H=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var M,L;(L=(M=H.value)==null?void 0:M.input)==null||L.focus();try{const{data:Z}=await w.get(k.value);if(o.config.app==="konnect"){const{names:W}=Z;if(y.value=W||[],Y.value){const{data:re}=await w.get(Y.value);g.value=re.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:W}}=Z;y.value=W?Object.keys(W):[]}}catch(Z){m.value=!0,h.value=c(Z)}if(A.value)try{const{data:{data:Z}}=await w.get(A.value);if(Z!=null&&Z.length){const W=Z.reduce((re,ae)=>(ae.name&&re.push(ae.name),re),[]);b.value=b.value.concat(W)}}catch{}m.value||(_.value=K()),p.value=!1}),(M,L)=>{const Z=t.resolveComponent("KInput"),W=t.resolveComponent("KSkeletonBox"),re=t.resolveComponent("KSkeleton"),ae=t.resolveComponent("KEmptyState"),de=t.resolveComponent("KTooltip"),ye=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",CD,[t.createElementVNode("div",ED,[t.createVNode(Z,{ref:"filter-input",modelValue:u.value,"onUpdate:modelValue":L[0]||(L[0]=Q=>u.value=Q),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",ND,[t.createVNode(W,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(re,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ae,{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})):$.value&&u.value?(t.openBlock(),t.createBlock(ae,{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:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",SD,[D.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(ye,{key:0,modelValue:j.value,"onUpdate:modelValue":L[5]||(L[5]=Q=>j.value=Q),"data-testid":"plugins-tabs",tabs:D.value,onChange:F},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",vD,[t.createElementVNode("p",xD,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(os,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":S.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":x.value,onPluginClicked:L[1]||(L[1]=Q=>M.$emit("plugin-clicked",Q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",AD,[t.renderSlot(M.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",ID,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(_D,{"can-create-custom-plugin":R.value,"can-delete-custom-plugin":q.value,"can-edit-custom-plugin":ee.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":x.value,"onDelete:success":L[2]||(L[2]=Q=>M.$emit("delete-custom:success",Q)),onPluginClicked:L[3]||(L[3]=Q=>M.$emit("plugin-clicked",Q)),onRevalidate:L[4]||(L[4]=()=>_.value=K())},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(de,{"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(os,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":S.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":x.value,onPluginClicked:L[6]||(L[6]=Q=>M.$emit("plugin-clicked",Q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-7b1adaaa"]]),TD={class:"datakit-config-card-canvas"},OD={class:"config-card-details-label","data-testid":"datakit-configuration-label"},$D={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},BD={class:"canvas-wrapper"},VD=Ee(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{}},setup(e){return gu(e.pluginData),(n,o)=>{const r=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",TD,[t.createElementVNode("div",OD,[t.createVNode(r,null,{default:t.withCtx(()=>o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])),_:1,__:[0]})]),t.createElementVNode("div",$D,[t.createElementVNode("div",BD,[t.createVNode(Zl,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])}}}),[["__scopeId","data-v-591ec060"]]),RD={class:"kong-ui-entity-plugin-config-card"},DD={class:"name-cell-wrapper"},MD={class:"info-name"},LD={key:0},FD={key:0},UD={key:0},KD={key:0},jD={key:0},rs="config",qD=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 S;const o=n,r=e,{i18n:{t:i}}=De.useI18n(),a=De.usePluginMetaData(),{setFieldType:l}=De.usePluginHelpers(),{getPropValue:s}=pe.useHelpers(),c=t.computed(()=>r.config.app==="konnect"),d=t.computed(()=>c.value&&r.config.pluginType==="datakit"),f=t.computed(()=>{var $;let I=($=Fe.item[r.config.app])==null?void 0:$[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(c.value){const D=r.expandPartial?"&":"?";I=I.concat(`${D}__ui_data=true`)}return I}),u=t.computed(()=>{var D,j;const I={},$=((D=w.value)==null?void 0:D.fields)||[];for(let K=0;K<$.length;K++){const k=w.value.fields[K],Y=(j=Object.keys(k))==null?void 0:j[0];l(I,Y,k[Y])}return{...I,instance_name:{section:pe.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:pe.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:pe.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:pe.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:pe.ConfigurationSchemaSection.Basic,order:6},protocols:{type:pe.ConfigurationSchemaType.BadgeTag,section:pe.ConfigurationSchemaSection.Basic,order:7}}}),p=t.computed(()=>{var $,D,j;if(!(($=w.value)!=null&&$.fields))return[];const I=(D=w.value.fields)==null?void 0:D.find(K=>{var Y;return((Y=Object.keys(K))==null?void 0:Y[0])===rs});return((j=I==null?void 0:I[rs])==null?void 0:j.fields)||[]}),m=t.computed(()=>{var $,D;const I={};if(!p.value)return I;for(let j=0;j<(($=p.value)==null?void 0:$.length);j++){const K=p.value[j],k=(D=Object.keys(K))==null?void 0:D[0],Y=K[k];Y.required&&(I[k]={order:1}),l(I,k,Y)}return I}),h=I=>{var D;const $=(D=a.pluginMetaData[r.config.pluginType])==null?void 0:D.scope;return $?Object.fromEntries(Object.entries(I).filter(([j,K])=>K?!0:!(j==="service"&&!$.includes(z.PluginScope.SERVICE)||j==="route"&&!$.includes(z.PluginScope.ROUTE)||j==="consumer"&&!$.includes(z.PluginScope.CONSUMER)||j==="consumer_group"&&!$.includes(z.PluginScope.CONSUMER_GROUP)))):I},y=I=>ua(I,"__ui_data"),{getMessageFromError:g}=pe.useErrors(),{axiosInstance:_}=pe.useAxios((S=r.config)==null?void 0:S.axiosRequestConfig),b=t.computed(()=>{var $,D;let I=`${r.config.apiBaseUrl}${Fe.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,(($=r.config)==null?void 0:$.controlPlaneId)||""):r.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,(D=r.config)!=null&&D.workspace?`/${r.config.workspace}`:"")),I=I.replace(/{plugin}/gi,r.config.pluginType),I}),w=t.ref({});pe.useSchemaProvider(w);const v=t.ref(!1),x=t.ref("");return t.onBeforeMount(async()=>{v.value=!0;try{const{data:I}=await _.get(b.value);w.value=I}catch(I){x.value=g(I),o("error:fetch-schema",I)}finally{v.value=!1}}),(I,$)=>{const D=t.resolveComponent("KSkeleton"),j=t.resolveComponent("KEmptyState"),K=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",RD,[v.value?(t.openBlock(),t.createBlock(D,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):x.value?(t.openBlock(),t.createBlock(j,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(x.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(pe.EntityBaseConfigCard),{key:2,"code-block-record-formatter":y,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(pe.SupportedEntityType).Plugin,"fetch-url":f.value,"hide-title":e.hideTitle,"plugin-config-key":rs,"plugin-config-schema":m.value,"record-resolver":h,"onFetch:error":$[0]||($[0]=k=>I.$emit("fetch:error",k)),"onFetch:success":$[1]||($[1]=k=>I.$emit("fetch:success",k)),onLoading:$[2]||($[2]=k=>I.$emit("loading",k))},t.createSlots({name:t.withCtx(k=>[t.createElementVNode("div",DD,[t.createVNode(t.unref(uo.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",k),size:24},null,8,["name"]),t.createElementVNode("span",MD,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",k))),1)])]),consumer:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",k).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",LD,"–"))]),route:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",k).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",FD,"–"))]),service:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",k).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",UD,"–"))]),consumer_group:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",k).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",KD,"–"))]),partials:t.withCtx(k=>{var Y,A,F,R,ee,q,H,U,M;return[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:(A=(Y=t.unref(s)("rowValue",k))==null?void 0:Y[0])==null?void 0:A.id,value:((R=(F=t.unref(s)("rowValue",k))==null?void 0:F[0])==null?void 0:R.id)+((q=(ee=t.unref(s)("rowValue",k))==null?void 0:ee[0])!=null&&q.name?"/"+((U=(H=t.unref(s)("rowValue",k))==null?void 0:H[0])==null?void 0:U.name):""),type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var L,Z;return I.$emit("navigation-click",(Z=(L=t.unref(s)("rowValue",k))==null?void 0:L[0])==null?void 0:Z.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"partial-copy-uuid",text:(M=t.unref(s)("rowValue",k))==null?void 0:M[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",jD,"–"))]}),_:2},[d.value?{name:"config-card-item-nodes",fn:t.withCtx(k=>[t.createVNode(VD,{"plugin-data":k.record},null,8,["plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-a5302acb"]]),{usePluginMetaData:GD,useProvideExperimentalFreeForms:zD}=De;Object.defineProperty(we,"PluginGroup",{enumerable:!0,get:()=>z.PluginGroup}),Object.defineProperty(we,"PluginScope",{enumerable:!0,get:()=>z.PluginScope}),Object.defineProperty(we,"PluginIcon",{enumerable:!0,get:()=>uo.PluginIcon}),Object.defineProperty(we,"getPluginIconURL",{enumerable:!0,get:()=>uo.getPluginIconURL}),we.EXPERIMENTAL_FREE_FORM_PROVIDER=ma,we.EntityTypeIdField=rn,we.FEATURE_FLAGS=vr,we.PLUGIN_GROUPS_COLLAPSE_STATUS=ls,we.PluginConfigCard=qD,we.PluginForm=WR,we.PluginGroupArray=as,we.PluginList=rD,we.PluginPartialType=fr,we.PluginSelect=PD,we.PluginSelectCard=es,we.PluginSelectGrid=os,we.TOASTER_PROVIDER=vc,we.pluginEndpoints=Fe,we.usePluginMetaData=GD,we.useProvideExperimentalFreeForms=zD,Object.defineProperty(we,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 Ze extends Error{constructor(n,...o){var r;super((r=Rf[n])==null?void 0:r.call(Rf,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function Nl(e){return"clientX"in e}function Rx(e){return"sourceEvent"in e}function $t(e,n){const o=Nl(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 gi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Dx(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 hi(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const Mx=()=>!0;function Sl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Lx(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())fi(i,ui(a))>0&&r.push(a);return r}const Fx=250;function Ux(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=Lx(e,o,n+Fx);for(const d of c){const f=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const u of f){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:p,y:m}=no(d,u,u.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...u,x:p,y:m}],s=h):h===s&&l.push({...u,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(f=>f.type===d)??l[0]}return l[0]}function Df(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=Mx},f,u,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}=$t(e),_=l.elementFromPoint(y,g),b=_!=null&&_.classList.contains(`${s}-flow__handle`)?_:h,w={handleDomNode:b,isValid:!1,connection:null,toHandle:null};if(b){const v=Mf(void 0,b),x=b.getAttribute("data-nodeid"),S=b.getAttribute("data-handleid"),I=b.classList.contains("connectable"),$=b.classList.contains("connectableend");if(!x||!v)return w;const D={source:m?x:r,sourceHandle:m?S:i,target:m?r:x,targetHandle:m?i:S};w.connection=D;const K=I&&$&&(o===Jt.Strict?m&&v==="source"||!m&&v==="target":x!==r||S!==i);w.isValid=K&&d(D,{nodes:u,edges:f,sourceNode:p(r),targetNode:p(x)}),w.toHandle=n}return w}function Mf(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Kx(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function jx(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function qx(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const f=i===Jt.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)??[]],u=(o?f==null?void 0:f.find(p=>p.id===o):f==null?void 0:f[0])??null;return u&&a?{...u,...no(d,u,u.position,!0)}:u}const vl={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top},Gx=["production","prod"];function yi(e,...n){Lf()&&console.warn(`[Vue Flow]: ${e}`,...n)}function Lf(){return!Gx.includes(process.env.NODE_ENV||"")}function Ff(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,...pi(l)}}):null}function xl(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 ze(e){return typeof t.unref(e)<"u"}function zx(e,n,o,r){if(!e||!e.source||!e.target)return o(new Ze(Ge.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Qt(e)?i=e:i={...e,id:wf(e)},i=_f(i,void 0,r),vx(i,n)?!1:i}function Hx(e,n,o,r,i){if(!n.source||!n.target)return i(new Ze(Ge.EDGE_INVALID,e.id)),!1;if(!o)return i(new Ze(Ge.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?wf(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function Uf(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!Nn(l)){o(new Ze(Ge.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=Ex(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 Ze(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 Kf(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 Al(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}`,f=`${a}-${s}--${i}-${l}`;Kf("source",c,f,e,i,l),Kf("target",c,d,e,a,s)}}function jf(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function Il(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const f=Qt(d)?d:zx(d,s,i,a);if(!f)continue;const u=o(f.source),p=o(f.target);if(!u||!p){i(new Ze(Ge.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!u){i(new Ze(Ge.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new Ze(Ge.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:u,targetNode:p})){i(new Ze(Ge.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({..._f(f,m,a),sourceNode:u,targetNode:p})}return c}const qf=Symbol("vueFlow"),Gf=Symbol("nodeId"),zf=Symbol("nodeRef"),Yx=Symbol("edgeId"),Wx=Symbol("edgeRef"),_i=Symbol("slots");function Hf(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:f,nodesDraggable:u,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:y,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:b,updateNodePositions:w,emits:v}=$e(),{onStart:x,onDrag:S,onStop:I,onClick:$,el:D,disabled:j,id:K,selectable:k,dragHandle:Y}=e,A=t.shallowRef(!1);let F=[],R,ee=null,q={x:void 0,y:void 0},H={x:0,y:0},U=null,M=!1,L=0,Z=!1;const W=Jx(),re=({x:le,y:fe})=>{q={x:le,y:fe};let ce=!1;if(F=F.map(E=>{const N={x:le-E.distance.x,y:fe-E.distance.y},{computedPosition:P}=El(E,o.value?hi(N,r.value):N,v.error,l.value,E.parentNode?m(E.parentNode):void 0);return ce=ce||E.position.x!==P.x||E.position.y!==P.y,E.position=P,E}),!!ce&&(w(F,!0,!0),A.value=!0,U)){const[E,N]=Cl({id:K,dragItems:F,findNode:m});S({event:U,node:E,nodes:N})}},ae=()=>{if(!ee)return;const[le,fe]=Af(H,ee,f.value);if(le!==0||fe!==0){const ce={x:(q.x??0)-le/c.value.zoom,y:(q.y??0)-fe/c.value.zoom};p({x:le,y:fe})&&re(ce)}L=requestAnimationFrame(ae)},de=(le,fe)=>{M=!0;const ce=m(K);!g.value&&!h.value&&ce&&(ce.selected||_()),ce&&t.toValue(k)&&g.value&&xl(ce,h.value,b,_,y,!1,fe);const E=W(le.sourceEvent);if(q=E,F=Px(a.value,u.value,E,m,K),F.length){const[N,P]=Cl({id:K,dragItems:F,findNode:m});x({event:le.sourceEvent,node:N,nodes:P})}},ye=(le,fe)=>{var ce;le.sourceEvent.type==="touchmove"&&le.sourceEvent.touches.length>1||(s.value===0&&de(le,fe),q=W(le.sourceEvent),ee=((ce=n.value)==null?void 0:ce.getBoundingClientRect())||null,H=$t(le.sourceEvent,ee))},Q=(le,fe)=>{const ce=W(le.sourceEvent);if(!Z&&M&&d.value&&(Z=!0,ae()),!M){const E=ce.xSnapped-(q.x??0),N=ce.ySnapped-(q.y??0);Math.sqrt(E*E+N*N)>s.value&&de(le,fe)}(q.x!==ce.xSnapped||q.y!==ce.ySnapped)&&F.length&&M&&(U=le.sourceEvent,H=$t(le.sourceEvent,ee),re(ce))},ne=le=>{let fe=!1;if(!M&&!A.value&&!h.value){const ce=le.sourceEvent,E=W(ce),N=E.xSnapped-(q.x??0),P=E.ySnapped-(q.y??0),C=Math.sqrt(N*N+P*P);C!==0&&C<=s.value&&($==null||$(ce),fe=!0)}if(F.length&&!fe){w(F,!1,!1);const[ce,E]=Cl({id:K,dragItems:F,findNode:m});I({event:le.sourceEvent,node:ce,nodes:E})}F=[],A.value=!1,Z=!1,M=!1,q={x:void 0,y:void 0},cancelAnimationFrame(L)};return t.watch([()=>t.toValue(j),D],([le,fe],ce,E)=>{if(fe){const N=wt(fe);le||(R=CS().on("start",P=>ye(P,fe)).on("drag",P=>Q(P,fe)).on("end",P=>ne(P)).filter(P=>{const C=P.target,O=t.toValue(Y);return!P.button&&(!i.value||!$f(C,`.${i.value}`,fe)&&(!O||$f(C,O,fe)))}),N.call(R)),E(()=>{N.on(".drag",null),R&&(R.on("start",null),R.on("drag",null),R.on("end",null))})}}),A}function Xx(){return{doubleClick:_e(),click:_e(),mouseEnter:_e(),mouseMove:_e(),mouseLeave:_e(),contextMenu:_e(),updateStart:_e(),update:_e(),updateEnd:_e()}}function Zx(e,n){const o=Xx();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 Jx(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=$e();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=Rx(i)?i.sourceEvent:i,{x:c,y:d}=$t(s,l),f=zo({x:c,y:d},e.value),{x:u,y:p}=o.value?hi(f,n.value):f;return{xSnapped:u,ySnapped:p,...f}}}function bi(){return!0}function Yf({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:f,connectOnClick:u,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:y,findNode:g,panBy:_,startConnection:b,updateConnection:w,endConnection:v,emits:x,viewport:S,edges:I,nodes:$,isValidConnection:D,nodeLookup:j}=$e();let K=null,k=!1,Y=null;function A(R){var ee;const q=t.toValue(o)==="target",H=Nl(R),U=yf(R.target);if(H&&R.button===0||!H){let M=function(B){E=$t(B,le),re=Ux(zo(E,S.value,!1,[1,1]),f.value,j.value,C),N||(P(),N=!0);const te=Df(B,{handle:re,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:q?"target":"source",isValidConnection:W,doc:U,lib:"vue",flowId:s,nodeLookup:j.value},I.value,$.value,g);Y=te.handleDomNode,K=te.connection,k=jx(!!re,te.isValid);const V={...X,isValid:k,to:te.toHandle&&k?wl({x:te.toHandle.x,y:te.toHandle.y},S.value):E,toHandle:te.toHandle,toPosition:k&&te.toHandle?te.toHandle.position:vl[C.position],toNode:te.toHandle?j.value.get(te.toHandle.nodeId):null};if(!(k&&re&&(X!=null&&X.toHandle)&&V.toHandle&&X.toHandle.type===V.toHandle.type&&X.toHandle.nodeId===V.toHandle.nodeId&&X.toHandle.id===V.toHandle.id&&X.to.x===V.to.x&&X.to.y===V.to.y)){if(w(re&&k?wl({x:re.x,y:re.y},S.value):E,te.toHandle,Kx(!!re,k)),X=V,!re&&!k&&!Y)return Sl(ce);K&&K.source!==K.target&&Y&&(Sl(ce),ce=Y,Y.classList.add("connecting","vue-flow__handle-connecting"),Y.classList.toggle("valid",!!k),Y.classList.toggle("vue-flow__handle-valid",!!k))}},L=function(B){(re||Y)&&K&&k&&(a?a(B,K):x.connect(K)),x.connectEnd(B),i&&(l==null||l(B)),Sl(ce),cancelAnimationFrame(ae),v(B),N=!1,k=!1,K=null,Y=null,U.removeEventListener("mousemove",M),U.removeEventListener("mouseup",L),U.removeEventListener("touchmove",M),U.removeEventListener("touchend",L)};const Z=g(t.toValue(n));let W=t.toValue(r)||D.value||bi;!W&&Z&&(W=(q?Z.isValidSourcePos:Z.isValidTargetPos)||bi);let re,ae=0;const{x:de,y:ye}=$t(R),Q=U==null?void 0:U.elementFromPoint(de,ye),ne=Mf(t.toValue(i),Q),le=(ee=c.value)==null?void 0:ee.getBoundingClientRect();if(!le||!ne)return;const fe=qx(t.toValue(n),ne,t.toValue(e),j.value,d.value);if(!fe)return;let ce,E=$t(R,le),N=!1;const P=()=>{if(!h.value)return;const[B,te]=Af(E,le,y.value);_({x:B,y:te}),ae=requestAnimationFrame(P)},C={...fe,nodeId:t.toValue(n),type:ne,position:fe.position},O=j.value.get(t.toValue(n)),G={inProgress:!0,isValid:null,from:no(O,C,be.Left,!0),fromHandle:C,fromPosition:C.position,fromNode:O,to:E,toHandle:null,toPosition:vl[C.position],toNode:null};b({nodeId:t.toValue(n),id:t.toValue(e),type:ne,position:(Q==null?void 0:Q.getAttribute("data-handlepos"))||be.Top,...E},{x:de-le.left,y:ye-le.top}),x.connectStart({event:R,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ne});let X=G;U.addEventListener("mousemove",M),U.addEventListener("mouseup",L),U.addEventListener("touchmove",M),U.addEventListener("touchend",L)}}function F(R){var ee,q;if(!u.value)return;const H=t.toValue(o)==="target";if(!p.value){x.clickConnectStart({event:R,nodeId:t.toValue(n),handleId:t.toValue(e)}),b({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:be.Top,...$t(R)},void 0,!0);return}let U=t.toValue(r)||D.value||bi;const M=g(t.toValue(n));if(!U&&M&&(U=(H?M.isValidSourcePos:M.isValidTargetPos)||bi),M&&(typeof M.connectable>"u"?m.value:M.connectable)===!1)return;const L=yf(R.target),Z=Df(R,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:be.Top,...$t(R)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:U,doc:L,lib:"vue",flowId:s,nodeLookup:j.value},I.value,$.value,g),W=((ee=Z.connection)==null?void 0:ee.source)===((q=Z.connection)==null?void 0:q.target);Z.isValid&&Z.connection&&!W&&x.connect(Z.connection),x.clickConnectEnd(R),v(R,!0)}return{handlePointerDown:A,handleClick:F}}function Qx(){return t.inject(Gf,"")}function Wf(e){const n=e??Qx()??"",o=t.inject(zf,t.ref(null)),{findNode:r,edges:i,emits:a}=$e(),l=r(n);return l||a.error(new Ze(Ge.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>Nf([l],i.value))}}function eA(){return{doubleClick:_e(),click:_e(),mouseEnter:_e(),mouseMove:_e(),mouseLeave:_e(),contextMenu:_e(),dragStart:_e(),drag:_e(),dragStop:_e()}}function tA(e,n){const o=eA();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 Xf(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=$e();return(c,d=!1)=>{const f=a.value?i.value[0]:5,u=a.value?i.value[1]:5,p=d?4:1,m=c.x*f*p,h=c.y*u*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:b}=El(g,_,s.error,n.value,g.parentNode?r(g.parentNode):void 0);y.push({id:g.id,position:b,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(y,!0,!1)}}const Pl=.1,nA=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function nn(){return yi("Viewport not initialized yet."),Promise.resolve(!1)}const oA={zoomIn:nn,zoomOut:nn,zoomTo:nn,fitView:nn,setCenter:nn,fitBounds:nn,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:nn,setTransform:nn,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function rA(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?Do:ei).scaleBy(Tl(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:f}=hf({x:-r,y:-i},e.translateExtent),u=eo.translate(-d,-f).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?Do:ei).transform(Tl(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),u):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"?Do:ei).scaleTo(Tl(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:Pl,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=Cf(s),{x:d,y:f,zoom:u}=Sf(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Pl,i.offset);return o(d,f,u,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:Pl})=>{const{x:l,y:s,zoom:c}=Sf(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>zo(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 zo(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 wl(s,e.viewport)}return{x:0,y:0}}}:oA)}function Tl(e,n=0,o=nA,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function iA(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=Wn([e.modelValue,()=>{var b,w;return(w=(b=e.modelValue)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(g==null||g.pause(),o.setElements(b),!g&&!_&&b.length?_=!0:g==null||g.resume())}),g=Wn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([b,w])=>{var v;(v=e.modelValue)!=null&&v.value&&Array.isArray(e.modelValue.value)&&(y==null||y.pause(),e.modelValue.value=[...b,...w],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=Wn([e.nodes,()=>{var b,w;return(w=(b=e.nodes)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(g==null||g.pause(),o.setNodes(b),!g&&!_&&b.length?_=!0:g==null||g.resume())}),g=Wn([o.nodes,()=>o.nodes.value.length],([b])=>{var w;(w=e.nodes)!=null&&w.value&&Array.isArray(e.nodes.value)&&(y==null||y.pause(),e.nodes.value=[...b],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=Wn([e.edges,()=>{var b,w;return(w=(b=e.edges)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(g==null||g.pause(),o.setEdges(b),!g&&!_&&b.length?_=!0:g==null||g.resume())}),g=Wn([o.edges,()=>o.edges.value.length],([b])=>{var w;(w=e.edges)!=null&&w.value&&Array.isArray(e.edges.value)&&(y==null||y.pause(),e.edges.value=[...b],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&&ze(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&ze(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&ze(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&ze(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{ze(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,()=>{ze(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,_,b)=>{g?o.onConnect(y):o.hooks.value.connect.off(y),b(()=>{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 b=t.toRef(()=>n[_]),w=o[_];t.isRef(w)&&r.run(()=>{t.watch(b,v=>{ze(v)&&(w.value=v)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),f(),u(),p(),m()})()}),()=>r.stop()}function aA(){return{edgesChange:_e(),nodesChange:_e(),nodeDoubleClick:_e(),nodeClick:_e(),nodeMouseEnter:_e(),nodeMouseMove:_e(),nodeMouseLeave:_e(),nodeContextMenu:_e(),nodeDragStart:_e(),nodeDrag:_e(),nodeDragStop:_e(),nodesInitialized:_e(),miniMapNodeClick:_e(),miniMapNodeDoubleClick:_e(),miniMapNodeMouseEnter:_e(),miniMapNodeMouseMove:_e(),miniMapNodeMouseLeave:_e(),connect:_e(),connectStart:_e(),connectEnd:_e(),clickConnectStart:_e(),clickConnectEnd:_e(),paneReady:_e(),init:_e(),move:_e(),moveStart:_e(),moveEnd:_e(),selectionDragStart:_e(),selectionDrag:_e(),selectionDragStop:_e(),selectionContextMenu:_e(),selectionStart:_e(),selectionEnd:_e(),viewportChangeStart:_e(),viewportChange:_e(),viewportChangeEnd:_e(),paneScroll:_e(),paneClick:_e(),paneContextMenu:_e(),paneMouseEnter:_e(),paneMouseMove:_e(),paneMouseLeave:_e(),edgeContextMenu:_e(),edgeMouseEnter:_e(),edgeMouseMove:_e(),edgeMouseLeave:_e(),edgeDoubleClick:_e(),edgeClick:_e(),edgeUpdateStart:_e(),edgeUpdate:_e(),edgeUpdateEnd:_e(),updateNodeInternals:_e(),error:_e(e=>yi(e.message))}}function lA(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),Kr(()=>{r.off(i)})}})}function Zf(){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:_l.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:jo.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:Cn.Bezier,style:{}},connectionMode:Jt.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:gi()?"Meta":"Control",zoomActivationKeyCode:gi()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:aA(),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 sA=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function cA(e,n,o){const r=rA(e),i=E=>{const N=E??[];e.hooks.updateNodeInternals.trigger(N)},a=E=>Sx(E,e.nodes,e.edges),l=E=>Nx(E,e.nodes,e.edges),s=E=>Nf(E,e.edges),c=({id:E,type:N,nodeId:P})=>{var C;return Array.from(((C=e.connectionLookup.get(`${P}-${N}-${E??null}`))==null?void 0:C.values())??[])},d=E=>{if(E)return n.value.get(E)},f=E=>{if(E)return o.value.get(E)},u=(E,N,P)=>{var C,O;const T=[];for(const G of E){const X={id:G.id,type:"position",dragging:P,from:G.from};if(N&&(X.position=G.position,G.parentNode)){const B=d(G.parentNode);X.position={x:X.position.x-(((C=B==null?void 0:B.computedPosition)==null?void 0:C.x)??0),y:X.position.y-(((O=B==null?void 0:B.computedPosition)==null?void 0:O.y)??0)}}T.push(X)}T!=null&&T.length&&e.hooks.nodesChange.trigger(T)},p=E=>{if(!e.vueFlowRef)return;const N=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!N)return;const P=window.getComputedStyle(N),{m22:C}=new window.DOMMatrixReadOnly(P.transform),O=[];for(const T of E){const G=T,X=d(G.id);if(X){const B=pi(G.nodeElement);if(!!(B.width&&B.height&&(X.dimensions.width!==B.width||X.dimensions.height!==B.height||G.forceUpdate))){const V=G.nodeElement.getBoundingClientRect();X.dimensions=B,X.handleBounds.source=Ff("source",G.nodeElement,V,C,X.id),X.handleBounds.target=Ff("target",G.nodeElement,V,C,X.id),O.push({id:X.id,type:"dimensions",dimensions:B})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),O.length&&e.hooks.nodesChange.trigger(O)},m=(E,N)=>{const P=new Set,C=new Set;for(const G of E)Nn(G)?P.add(G.id):Qt(G)&&C.add(G.id);const O=tn(n.value,P,!0),T=tn(o.value,C);if(e.multiSelectionActive){for(const G of P)O.push(en(G,N));for(const G of C)T.push(en(G,N))}O.length&&e.hooks.nodesChange.trigger(O),T.length&&e.hooks.edgesChange.trigger(T)},h=E=>{if(e.multiSelectionActive){const N=E.map(P=>en(P.id,!0));e.hooks.nodesChange.trigger(N);return}e.hooks.nodesChange.trigger(tn(n.value,new Set(E.map(N=>N.id)),!0)),e.hooks.edgesChange.trigger(tn(o.value))},y=E=>{if(e.multiSelectionActive){const N=E.map(P=>en(P.id,!0));e.hooks.edgesChange.trigger(N);return}e.hooks.edgesChange.trigger(tn(o.value,new Set(E.map(N=>N.id)))),e.hooks.nodesChange.trigger(tn(n.value,new Set,!0))},g=E=>{m(E,!0)},_=E=>{const P=(E||e.nodes).map(C=>(C.selected=!1,en(C.id,!1)));e.hooks.nodesChange.trigger(P)},b=E=>{const P=(E||e.edges).map(C=>(C.selected=!1,en(C.id,!1)));e.hooks.edgesChange.trigger(P)},w=E=>{if(!E||!E.length)return m([],!1);const N=E.reduce((P,C)=>{const O=en(C.id,!1);return Nn(C)?P.nodes.push(O):P.edges.push(O),P},{nodes:[],edges:[]});N.nodes.length&&e.hooks.nodesChange.trigger(N.nodes),N.edges.length&&e.hooks.edgesChange.trigger(N.edges)},v=E=>{var N;(N=e.d3Zoom)==null||N.scaleExtent([E,e.maxZoom]),e.minZoom=E},x=E=>{var N;(N=e.d3Zoom)==null||N.scaleExtent([e.minZoom,E]),e.maxZoom=E},S=E=>{var N;(N=e.d3Zoom)==null||N.translateExtent(E),e.translateExtent=E},I=E=>{e.nodeExtent=E,i()},$=E=>{var N;(N=e.d3Zoom)==null||N.clickDistance(E)},D=E=>{e.nodesDraggable=E,e.nodesConnectable=E,e.elementsSelectable=E},j=E=>{const N=E instanceof Function?E(e.nodes):E;!e.initialized&&!N.length||(e.nodes=Uf(N,d,e.hooks.error.trigger))},K=E=>{const N=E instanceof Function?E(e.edges):E;if(!e.initialized&&!N.length)return;const P=Il(N,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Al(e.connectionLookup,o.value,P),e.edges=P},k=E=>{const N=E instanceof Function?E([...e.nodes,...e.edges]):E;!e.initialized&&!N.length||(j(N.filter(Nn)),K(N.filter(Qt)))},Y=E=>{let N=E instanceof Function?E(e.nodes):E;N=Array.isArray(N)?N:[N];const P=Uf(N,d,e.hooks.error.trigger),C=[];for(const O of P)C.push(Pf(O));C.length&&e.hooks.nodesChange.trigger(C)},A=E=>{let N=E instanceof Function?E(e.edges):E;N=Array.isArray(N)?N:[N];const P=Il(N,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),C=[];for(const O of P)C.push(Pf(O));C.length&&e.hooks.edgesChange.trigger(C)},F=(E,N=!0,P=!1)=>{const C=E instanceof Function?E(e.nodes):E,O=Array.isArray(C)?C:[C],T=[],G=[];function X(te){const V=s(te);for(const me of V)(!ze(me.deletable)||me.deletable)&&G.push(Of(me.id,me.source,me.target,me.sourceHandle,me.targetHandle))}function B(te){const V=[];for(const me of e.nodes)me.parentNode===te&&V.push(me);if(V.length){for(const me of V)T.push(Tf(me.id));N&&X(V);for(const me of V)B(me.id)}}for(const te of O){const V=typeof te=="string"?d(te):te;V&&(ze(V.deletable)&&!V.deletable||(T.push(Tf(V.id)),N&&X([V]),P&&B(V.id)))}G.length&&e.hooks.edgesChange.trigger(G),T.length&&e.hooks.nodesChange.trigger(T)},R=E=>{const N=E instanceof Function?E(e.edges):E,P=Array.isArray(N)?N:[N],C=[];for(const O of P){const T=typeof O=="string"?f(O):O;T&&(ze(T.deletable)&&!T.deletable||C.push(Of(typeof O=="string"?O:O.id,T.source,T.target,T.sourceHandle,T.targetHandle)))}e.hooks.edgesChange.trigger(C)},ee=(E,N,P=!0)=>{const C=f(E.id);if(!C)return!1;const O=e.edges.indexOf(C),T=Hx(E,N,C,P,e.hooks.error.trigger);if(T){const[G]=Il([T],e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((X,B)=>B===O?G:X),Al(e.connectionLookup,o.value,[G]),G}return!1},q=(E,N,P={replace:!1})=>{const C=f(E);if(!C)return;const O=typeof N=="function"?N(C):N;C.data=P.replace?O:{...C.data,...O}},H=E=>If(E,e.nodes),U=E=>{const N=If(E,e.edges);return Al(e.connectionLookup,o.value,N),N},M=(E,N,P={replace:!1})=>{const C=d(E);if(!C)return;const O=typeof N=="function"?N(C):N;P.replace?e.nodes.splice(e.nodes.indexOf(C),1,O):Object.assign(C,O)},L=(E,N,P={replace:!1})=>{const C=d(E);if(!C)return;const O=typeof N=="function"?N(C):N;C.data=P.replace?O:{...C.data,...O}},Z=(E,N,P=!1)=>{P?e.connectionClickStartHandle=E:e.connectionStartHandle=E,e.connectionEndHandle=null,e.connectionStatus=null,N&&(e.connectionPosition=N)},W=(E,N=null,P=null)=>{e.connectionStartHandle&&(e.connectionPosition=E,e.connectionEndHandle=N,e.connectionStatus=P)},re=(E,N)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,N?e.connectionClickStartHandle=null:e.connectionStartHandle=null},ae=E=>{const N=Cx(E),P=N?null:Go(E)?E:d(E.id);return!N&&!P?[null,null,N]:[N?E:ui(P),P,N]},de=(E,N=!0,P=e.nodes)=>{const[C,O,T]=ae(E);if(!C)return[];const G=[];for(const X of P||e.nodes){if(!T&&(X.id===O.id||!X.computedPosition))continue;const B=ui(X),te=fi(B,C);(N&&te>0||te>=Number(C.width)*Number(C.height))&&G.push(X)}return G},ye=(E,N,P=!0)=>{const[C]=ae(E);if(!C)return!1;const O=fi(C,N);return P&&O>0||O>=Number(C.width)*Number(C.height)},Q=E=>{const{viewport:N,dimensions:P,d3Zoom:C,d3Selection:O,translateExtent:T}=e;if(!C||!O||!E.x&&!E.y)return!1;const G=eo.translate(N.x+E.x,N.y+E.y).scale(N.zoom),X=[[0,0],[P.width,P.height]],B=C.constrain()(G,X,T),te=e.viewport.x!==B.x||e.viewport.y!==B.y||e.viewport.zoom!==B.k;return C.transform(O,B),te},ne=E=>{const N=E instanceof Function?E(e):E,P=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];ze(N.defaultEdgeOptions)&&(e.defaultEdgeOptions=N.defaultEdgeOptions);const C=N.modelValue||N.nodes||N.edges?[]:void 0;C&&(N.modelValue&&C.push(...N.modelValue),N.nodes&&C.push(...N.nodes),N.edges&&C.push(...N.edges),k(C));const O=()=>{ze(N.maxZoom)&&x(N.maxZoom),ze(N.minZoom)&&v(N.minZoom),ze(N.translateExtent)&&S(N.translateExtent)};for(const T of Object.keys(N)){const G=T,X=N[G];![...sA,...P].includes(G)&&ze(X)&&(e[G]=X)}Za(()=>e.d3Zoom).not.toBeNull().then(O),e.initialized||(e.initialized=!0)};return{updateNodePositions:u,updateNodeDimensions:p,setElements:k,setNodes:j,setEdges:K,addNodes:Y,addEdges:A,removeNodes:F,removeEdges:R,findNode:d,findEdge:f,updateEdge:ee,updateEdgeData:q,updateNode:M,updateNodeData:L,applyEdgeChanges:U,applyNodeChanges:H,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:y,setMinZoom:v,setMaxZoom:x,setTranslateExtent:S,setNodeExtent:I,setPaneClickDistance:$,removeSelectedElements:w,removeSelectedNodes:_,removeSelectedEdges:b,startConnection:Z,updateConnection:W,endConnection:re,setInteractive:D,setState:ne,getIntersectingNodes:de,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:ye,panBy:Q,fitView:E=>r.value.fitView(E),zoomIn:E=>r.value.zoomIn(E),zoomOut:E=>r.value.zoomOut(E),zoomTo:(E,N)=>r.value.zoomTo(E,N),setViewport:(E,N)=>r.value.setViewport(E,N),setTransform:(E,N)=>r.value.setTransform(E,N),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(E,N,P)=>r.value.setCenter(E,N,P),fitBounds:(E,N)=>r.value.fitBounds(E,N),project:E=>r.value.project(E),screenToFlowCoordinate:E=>r.value.screenToFlowCoordinate(E),flowToScreenCoordinate:E=>r.value.flowToScreenCoordinate(E),toObject:()=>{const E=[],N=[];for(const P of e.nodes){const{computedPosition:C,handleBounds:O,selected:T,dimensions:G,isParent:X,resizing:B,dragging:te,events:V,...me}=P;E.push(me)}for(const P of e.edges){const{selected:C,sourceNode:O,targetNode:T,events:G,...X}=P;N.push(X)}return JSON.parse(JSON.stringify({nodes:E,edges:N,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:E=>new Promise(N=>{const{nodes:P,edges:C,position:O,zoom:T,viewport:G}=E;if(P&&j(P),C&&K(C),G!=null&&G.x&&(G!=null&&G.y)||O){const X=(G==null?void 0:G.x)||O[0],B=(G==null?void 0:G.y)||O[1],te=(G==null?void 0:G.zoom)||T||e.viewport.zoom;return Za(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:X,y:B,zoom:te}).then(()=>{N(!0)})})}else N(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const E=Zf();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const N=eo.translate(E.defaultViewport.x??0,E.defaultViewport.y??0).scale(En(E.defaultViewport.zoom??1,E.minZoom,E.maxZoom)),P=e.viewportRef.getBoundingClientRect(),C=[[0,0],[P.width,P.height]],O=e.d3Zoom.constrain()(N,C,E.translateExtent);e.d3Zoom.transform(e.d3Selection,O)}ne(E)},$destroy:()=>{}}}const dA=["data-id","data-handleid","data-nodeid","data-handlepos"],uA={name:"Handle",compatConfig:{MODE:3}},on=t.defineComponent({...uA,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:f,noDragClassName:u,noPanClassName:p}=$e(),{id:m,node:h,nodeEl:y,connectedEdges:g}=Wf(),_=t.ref(),b=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),w=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),v=t.toRef(()=>{var K,k,Y,A,F,R;return((K=l.value)==null?void 0:K.nodeId)===m&&((k=l.value)==null?void 0:k.id)===e.id&&((Y=l.value)==null?void 0:Y.type)===r.value||((A=c.value)==null?void 0:A.nodeId)===m&&((F=c.value)==null?void 0:F.id)===e.id&&((R=c.value)==null?void 0:R.type)===r.value}),x=t.toRef(()=>{var K,k,Y;return((K=s.value)==null?void 0:K.nodeId)===m&&((k=s.value)==null?void 0:k.id)===e.id&&((Y=s.value)==null?void 0:Y.type)===r.value}),{handlePointerDown:S,handleClick:I}=Yf({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),$=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(K=>{const k=K[`${r.value}Handle`];return K[r.value]!==m?!1:k?k===e.id:!0}):typeof e.connectable=="number"?g.value.filter(K=>{const k=K[`${r.value}Handle`];return K[r.value]!==m?!1:k?k===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):ze(e.connectable)?e.connectable:f.value);t.onMounted(()=>{var K;if(!h.dimensions.width||!h.dimensions.height)return;const k=(K=h.handleBounds[r.value])==null?void 0:K.find(H=>H.id===e.id);if(!d.value||k)return;const Y=d.value.querySelector(".vue-flow__transformationpane");if(!y.value||!_.value||!Y||!e.id)return;const A=y.value.getBoundingClientRect(),F=_.value.getBoundingClientRect(),R=window.getComputedStyle(Y),{m22:ee}=new window.DOMMatrixReadOnly(R.transform),q={id:e.id,position:e.position,x:(F.left-A.left)/ee,y:(F.top-A.top)/ee,type:r.value,nodeId:m,...pi(_.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],q]});function D(K){const k=Nl(K);$.value&&b.value&&(k&&K.button===0||!k)&&S(K)}function j(K){!m||!s.value&&!b.value||$.value&&I(K)}return n({handleClick:I,handlePointerDown:S,onClick:j,onPointerDown:D}),(K,k)=>(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":K.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${K.position}`,`vue-flow__handle-${e.id}`,t.unref(u),t.unref(p),r.value,{connectable:$.value,connecting:x.value,connectablestart:b.value,connectableend:w.value,connectionindicator:$.value&&(b.value&&!v.value||w.value&&v.value)}]]),onMousedown:D,onTouchstartPassive:D,onClick:j},[t.renderSlot(K.$slots,"default",{id:K.id})],42,dA))}}),wi=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(on,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(on,{type:"source",position:e,connectable:r,isValidConnection:a})]};wi.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],wi.inheritAttrs=!1,wi.compatConfig={MODE:3};const fA=wi,ki=function({targetPosition:e=be.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(on,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};ki.props=["targetPosition","label","isValidTargetPos","connectable","data"],ki.inheritAttrs=!1,ki.compatConfig={MODE:3};const pA=ki,Ci=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(on,{type:"source",position:e,connectable:o,isValidConnection:r})]};Ci.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Ci.inheritAttrs=!1,Ci.compatConfig={MODE:3};const mA=Ci,gA=["transform"],hA=["width","height","x","y","rx","ry"],yA=["y"],_A={name:"EdgeText",compatConfig:{MODE:3}},bA=t.defineComponent({..._A,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,hA)):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,yA)],8,gA))}}),wA=["id","d","marker-end","marker-start"],kA=["d","stroke-width"],CA={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Ei=t.defineComponent({...CA,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,wA),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,kA)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(bA,{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 Jf({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 Qf({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,f=Math.abs(c-e),u=Math.abs(d-n);return[c,d,f,u]}function Ni(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function ep({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case be.Left:l=n-Ni(n-r,a),s=o;break;case be.Right:l=n+Ni(r-n,a),s=o;break;case be.Top:l=n,s=o-Ni(o-i,a);break;case be.Bottom:l=n,s=o+Ni(i-o,a);break}return[l,s]}function tp(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,curvature:s=.25}=e,[c,d]=ep({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,u]=ep({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,h,y]=Qf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:f,targetControlY:u});return[`M${n},${o} C${c},${d} ${f},${u} ${i},${a}`,p,m,h,y]}function np({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 op(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top}=e,[s,c]=np({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,f]=np({pos:l,x1:i,y1:a,x2:n,y2:o}),[u,p,m,h]=Qf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:f});return[`M${n},${o} C${s},${c} ${d},${f} ${i},${a}`,u,p,m,h]}const rp={[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 EA({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 ip(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function NA({source:e,sourcePosition:n=be.Bottom,target:o,targetPosition:r=be.Top,center:i,offset:a}){const l=rp[n],s=rp[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},f=EA({source:c,sourcePosition:n,target:d}),u=f.x!==0?"x":"y",p=f[u];let m,h,y;const g={x:0,y:0},_={x:0,y:0},[b,w,v,x]=Jf({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[u]*s[u]===-1){h=i.x??b,y=i.y??w;const I=[{x:h,y:c.y},{x:h,y:d.y}],$=[{x:c.x,y},{x:d.x,y}];l[u]===p?m=u==="x"?I:$:m=u==="x"?$:I}else{const I=[{x:c.x,y:d.y}],$=[{x:d.x,y:c.y}];if(u==="x"?m=l.x===p?$:I:m=l.y===p?I:$,n===r){const Y=Math.abs(e[u]-o[u]);if(Y<=a){const A=Math.min(a-1,a-Y);l[u]===p?g[u]=(c[u]>e[u]?-1:1)*A:_[u]=(d[u]>o[u]?-1:1)*A}}if(n!==r){const Y=u==="x"?"y":"x",A=l[u]===s[Y],F=c[Y]>d[Y],R=c[Y]<d[Y];(l[u]===1&&(!A&&F||A&&R)||l[u]!==1&&(!A&&R||A&&F))&&(m=u==="x"?I:$)}const D={x:c.x+g.x,y:c.y+g.y},j={x:d.x+_.x,y:d.y+_.y},K=Math.max(Math.abs(D.x-m[0].x),Math.abs(j.x-m[0].x)),k=Math.max(Math.abs(D.y-m[0].y),Math.abs(j.y-m[0].y));K>=k?(h=(D.x+j.x)/2,y=m[0].y):(h=m[0].x,y=(D.y+j.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,v,x]}function SA(e,n,o,r){const i=Math.min(ip(e,n)/2,ip(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,f=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*f}`}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 Ol(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:f=20}=e,[u,p,m,h,y]=NA({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:f});return[u.reduce((_,b,w)=>{let v;return w>0&&w<u.length-1?v=SA(u[w-1],b,u[w+1],s):v=`${w===0?"M":"L"}${b.x} ${b.y}`,_+=v,_},""),p,m,h,y]}function vA(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Jf({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const xA=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]=vA(e);return t.h(Ei,{path:o,labelX:r,labelY:i,...n,...e})}}}),ap=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]=Ol({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Ei,{path:o,labelX:r,labelY:i,...n,...e})}}}),AA=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(ap,{...e,...n,borderRadius:0})}}),IA=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]=tp({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Ei,{path:o,labelX:r,labelY:i,...n,...e})}}}),PA=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]=op({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Ei,{path:o,labelX:r,labelY:i,...n,...e})}}}),TA={input:mA,default:fA,output:pA},OA={default:IA,straight:xA,step:AA,smoothstep:ap,simplebezier:PA};function $A(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={...OA,...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={...TA,...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?Ef(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),b=n.value.get(g.target);Bx({sourcePos:_.computedPosition||{x:0,y:0},targetPos:b.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:b.dimensions.width,targetHeight:b.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]),f=t.computed(()=>{const y=[];for(const g of e.nodes)g.selected&&y.push(g);return y}),u=t.computed(()=>{const y=[];for(const g of e.edges)g.selected&&y.push(g);return y}),p=t.computed(()=>[...f.value,...u.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:f,getSelectedEdges:u,getNodesInitialized:m,areNodesInitialized:h}}class Sn{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)??Sn.instance;return Sn.instance=r??new Sn,o&&(o.config.globalProperties.$vueFlowStorage=Sn.instance),Sn.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=Zf(),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=$A(i,s,c),f=cA(i,s,c);f.setState({...i,...o});const u={...a,...d,...f,...TN(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,u),u}getId(){return`vue-flow-${this.currentId++}`}}function $e(e){const n=Sn.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(qf,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,(u,p,m)=>{const h=g=>{d.applyNodeChanges(g)},y=g=>{d.applyEdgeChanges(g)};u?(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}),Kr(()=>{if(s){const u=n.get(s.id);u?u.$destroy():yi(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(qf,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Ze(Ge.USEVUEFLOW_OPTIONS))}return s}function BA(e){const{emits:n,dimensions:o}=$e();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=pi(i);(l.width===0||l.height===0)&&n.error(new Ze(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 VA={name:"UserSelection",compatConfig:{MODE:3}},RA=t.defineComponent({...VA,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))}}),DA=["tabIndex"],MA={name:"NodesSelection",compatConfig:{MODE:3}},LA=t.defineComponent({...MA,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=$e(),s=Xf(),c=t.ref(null),d=Hf({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 f=t.computed(()=>Cf(r.value)),u=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||to[h.key]&&(h.preventDefault(),s({x:to[h.key].x,y:to[h.key].y},h.shiftKey))}return(h,y)=>!t.unref(l)&&f.value.width&&f.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(u.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,DA)],6)):t.createCommentVNode("",!0)}});function FA(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const UA={name:"Pane",compatConfig:{MODE:3}},KA=t.defineComponent({...UA,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:f,getSelectedNodes:u,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:y,multiSelectionKeyCode:g,multiSelectionActive:_,edgeLookup:b,nodeLookup:w,connectionLookup:v,defaultEdgeOptions:x,connectionStartHandle:S}=$e(),I=t.ref(null),$=t.ref(new Set),D=t.ref(new Set),j=t.ref(),K=t.toRef(()=>c.value&&(e.isSelecting||a.value)),k=t.toRef(()=>S.value!==null);let Y=!1,A=!1;const F=qo(y,{actInsideInputWithModifier:!1}),R=qo(g);t.watch(F,W=>{W&&(p(u.value),m(f.value),d.value=!1)}),t.watch(R,W=>{_.value=W});function ee(W,re){return ae=>{ae.target===re&&(W==null||W(ae))}}function q(W){if(Y||k.value){Y=!1;return}i.paneClick(W),l(),d.value=!1}function H(W){W.preventDefault(),W.stopPropagation(),i.paneContextMenu(W)}function U(W){i.paneScroll(W)}function M(W){var re,ae,de;if(j.value=(re=n.value)==null?void 0:re.getBoundingClientRect(),!c.value||!e.isSelecting||W.button!==0||W.target!==I.value||!j.value)return;(de=(ae=W.target)==null?void 0:ae.setPointerCapture)==null||de.call(ae,W.pointerId);const{x:ye,y:Q}=FA(W,j.value);A=!0,Y=!1,l(),s.value={width:0,height:0,startX:ye,startY:Q,x:ye,y:Q},i.selectionStart(W)}function L(W){var re;if(!j.value||!s.value)return;Y=!0;const{x:ae,y:de}=$t(W,j.value),{startX:ye=0,startY:Q=0}=s.value,ne={startX:ye,startY:Q,x:ae<ye?ae:ye,y:de<Q?de:Q,width:Math.abs(ae-ye),height:Math.abs(de-Q)},le=$.value,fe=D.value;$.value=new Set(Ef(o.value,ne,r.value,h.value===_l.Partial,!0).map(E=>E.id)),D.value=new Set;const ce=((re=x.value)==null?void 0:re.selectable)??!0;for(const E of $.value){const N=v.value.get(E);if(N)for(const{edgeId:P}of N.values()){const C=b.value.get(P);C&&(C.selectable??ce)&&D.value.add(P)}}if(!jf(le,$.value)){const E=tn(w.value,$.value,!0);i.nodesChange(E)}if(!jf(fe,D.value)){const E=tn(b.value,D.value);i.edgesChange(E)}s.value=ne,a.value=!0,d.value=!1}function Z(W){var re;W.button!==0||!A||((re=W.target)==null||re.releasePointerCapture(W.pointerId),!a.value&&s.value&&W.target===I.value&&q(W),a.value=!1,s.value=null,d.value=$.value.size>0,i.selectionEnd(W),e.selectionKeyPressed&&(Y=!1),A=!1)}return(W,re)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:I,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:W.isSelecting}]),onClick:re[0]||(re[0]=ae=>K.value?void 0:ee(q,I.value)(ae)),onContextmenu:re[1]||(re[1]=ae=>ee(H,I.value)(ae)),onWheelPassive:re[2]||(re[2]=ae=>ee(U,I.value)(ae)),onPointerenter:re[3]||(re[3]=ae=>K.value?void 0:t.unref(i).paneMouseEnter(ae)),onPointerdown:re[4]||(re[4]=ae=>K.value?M(ae):t.unref(i).paneMouseMove(ae)),onPointermove:re[5]||(re[5]=ae=>K.value?L(ae):t.unref(i).paneMouseMove(ae)),onPointerup:re[6]||(re[6]=ae=>K.value?Z(ae):void 0),onPointerleave:re[7]||(re[7]=ae=>t.unref(i).paneMouseLeave(ae))},[t.renderSlot(W.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(RA,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(u).length?(t.openBlock(),t.createBlock(LA,{key:1})):t.createCommentVNode("",!0)],34))}}),jA={name:"Transform",compatConfig:{MODE:3}},qA=t.defineComponent({...jA,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=$e(),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))}}),GA={name:"Viewport",compatConfig:{MODE:3}},zA=t.defineComponent({...GA,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:f,panOnDrag:u,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:y,noWheelClassName:g,noPanClassName:_,emits:b,connectionStartHandle:w,userSelectionActive:v,paneDragging:x,d3Zoom:S,d3Selection:I,d3ZoomHandler:$,viewport:D,viewportRef:j,paneClickDistance:K}=$e();BA(j);const k=t.shallowRef(!1),Y=t.shallowRef(!1);let A=null,F=!1,R=0,ee={x:0,y:0,zoom:0};const q=qo(s),H=qo(l),U=qo(a),M=t.toRef(()=>(!H.value||H.value&&l.value===!0)&&(q.value||u.value)),L=t.toRef(()=>q.value||c.value),Z=t.toRef(()=>H.value||l.value===!0&&M.value!==!0);t.onMounted(()=>{if(!j.value){yi("Viewport element is missing");return}const Q=j.value,ne=Q.getBoundingClientRect(),le=gx().clickDistance(K.value).scaleExtent([n.value,o.value]).translateExtent(i.value),fe=wt(Q).call(le),ce=fe.on("wheel.zoom"),E=eo.translate(r.value.x??0,r.value.y??0).scale(En(r.value.zoom??1,n.value,o.value)),N=[[0,0],[ne.width,ne.height]],P=le.constrain()(E,N,i.value);le.transform(fe,P),le.wheelDelta(re),S.value=le,I.value=fe,$.value=ce,D.value={x:P.x,y:P.y,zoom:P.k},le.on("start",C=>{var O;if(!C.sourceEvent)return null;R=C.sourceEvent.button,k.value=!0;const T=de(C.transform);((O=C.sourceEvent)==null?void 0:O.type)==="mousedown"&&(x.value=!0),ee=T,b.viewportChangeStart(T),b.moveStart({event:C,flowTransform:T})}),le.on("end",C=>{if(!C.sourceEvent)return null;if(k.value=!1,x.value=!1,W(M.value,R??0)&&!F&&b.paneContextMenu(C.sourceEvent),F=!1,ae(ee,C.transform)){const O=de(C.transform);ee=O,b.viewportChangeEnd(O),b.moveEnd({event:C,flowTransform:O})}}),le.filter(C=>{var O;const T=U.value||h.value,G=m.value&&C.ctrlKey,X=C.button;if(X===1&&C.type==="mousedown"&&(ye(C,"vue-flow__node")||ye(C,"vue-flow__edge")))return!0;if(!M.value&&!T&&!L.value&&!p.value&&!m.value||v.value||!p.value&&C.type==="dblclick"||ye(C,g.value)&&C.type==="wheel"||ye(C,_.value)&&(C.type!=="wheel"||L.value&&C.type==="wheel"&&!U.value)||!m.value&&C.ctrlKey&&C.type==="wheel"||!T&&!L.value&&!G&&C.type==="wheel")return!1;if(!m&&C.type==="touchstart"&&((O=C.touches)==null?void 0:O.length)>1)return C.preventDefault(),!1;if(!M.value&&(C.type==="mousedown"||C.type==="touchstart")||l.value===!0&&Array.isArray(u.value)&&u.value.includes(0)&&X===0||Array.isArray(u.value)&&!u.value.includes(X)&&(C.type==="mousedown"||C.type==="touchstart"))return!1;const B=Array.isArray(u.value)&&u.value.includes(X)||l.value===!0&&Array.isArray(u.value)&&!u.value.includes(0)||!X||X<=1;return(!C.ctrlKey||q.value||C.type==="wheel")&&B}),t.watch([v,M],()=>{v.value&&!k.value?le.on("zoom",null):v.value||le.on("zoom",C=>{D.value={x:C.transform.x,y:C.transform.y,zoom:C.transform.k};const O=de(C.transform);F=W(M.value,R??0),b.viewportChange(O),b.move({event:C,flowTransform:O})})},{immediate:!0}),t.watch([v,L,d,U,m,y,g],()=>{L.value&&!U.value&&!v.value?fe.on("wheel.zoom",C=>{if(ye(C,g.value))return!1;const O=U.value||h.value,T=m.value&&C.ctrlKey;if(!(!y.value||L.value||O||T))return!1;C.preventDefault(),C.stopImmediatePropagation();const X=fe.property("__zoom").k||1,B=gi();if(!q.value&&C.ctrlKey&&m.value&&B){const ge=It(C),oe=re(C),ue=X*2**oe;le.scaleTo(fe,ue,ge,C);return}const te=C.deltaMode===1?20:1;let V=d.value===jo.Vertical?0:C.deltaX*te,me=d.value===jo.Horizontal?0:C.deltaY*te;!B&&C.shiftKey&&d.value!==jo.Vertical&&!V&&me&&(V=me,me=0),le.translateBy(fe,-(V/X)*f.value,-(me/X)*f.value);const he=de(fe.property("__zoom"));A&&clearTimeout(A),Y.value?(b.move({event:C,flowTransform:he}),b.viewportChange(he),A=setTimeout(()=>{b.moveEnd({event:C,flowTransform:he}),b.viewportChangeEnd(he),Y.value=!1},150)):(Y.value=!0,b.moveStart({event:C,flowTransform:he}),b.viewportChangeStart(he))},{passive:!1}):typeof ce<"u"&&fe.on("wheel.zoom",function(C,O){const T=!y.value&&C.type==="wheel"&&!C.ctrlKey,G=U.value||h.value,X=m.value&&C.ctrlKey;if(!G&&!c.value&&!X&&C.type==="wheel"||T||ye(C,g.value))return null;C.preventDefault(),ce.call(this,C,O)},{passive:!1})},{immediate:!0})});function W(Q,ne){return ne===2&&Array.isArray(Q)&&Q.includes(2)}function re(Q){const ne=Q.ctrlKey&&gi()?10:1;return-Q.deltaY*(Q.deltaMode===1?.05:Q.deltaMode?1:.002)*ne}function ae(Q,ne){return Q.x!==ne.x&&!Number.isNaN(ne.x)||Q.y!==ne.y&&!Number.isNaN(ne.y)||Q.zoom!==ne.k&&!Number.isNaN(ne.k)}function de(Q){return{x:Q.x,y:Q.y,zoom:Q.k}}function ye(Q,ne){return Q.target.closest(`.${ne}`)}return(Q,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:j,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(KA,{"is-selecting":Z.value,"selection-key-pressed":t.unref(H),class:t.normalizeClass({connecting:!!t.unref(w),dragging:t.unref(x),draggable:t.unref(u)===!0||Array.isArray(t.unref(u))&&t.unref(u).includes(0)})},{default:t.withCtx(()=>[t.createVNode(qA,null,{default:t.withCtx(()=>[t.renderSlot(Q.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),HA=["id"],YA=["id"],WA=["id"],XA={name:"A11yDescriptions",compatConfig:{MODE:3}},ZA=t.defineComponent({...XA,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=$e();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(pf)}-${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,HA),t.createElementVNode("div",{id:`${t.unref(mf)}-${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,YA),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(kx)}-${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,WA))],64))}});function JA(){const e=$e();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function QA(e,n,o){return o===be.Left?e-n:o===be.Right?e+n:e}function eI(e,n,o){return o===be.Top?e-n:o===be.Bottom?e+n:e}const $l=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:QA(n,e,r),cy:eI(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};$l.props=["radius","centerX","centerY","position","type"],$l.compatConfig={MODE:3};const lp=$l,tI=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:f,findNode:u,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:y,edgesUpdatable:g,edgesFocusable:_,hooks:b}=$e(),w=t.computed(()=>f(e.id)),{emit:v,on:x}=Zx(w.value,a),S=t.inject(_i),I=t.getCurrentInstance(),$=t.ref(!1),D=t.ref(!1),j=t.ref(""),K=t.ref(null),k=t.ref("source"),Y=t.ref(null),A=t.toRef(()=>typeof w.value.selectable>"u"?y.value:w.value.selectable),F=t.toRef(()=>typeof w.value.updatable>"u"?g.value:w.value.updatable),R=t.toRef(()=>typeof w.value.focusable>"u"?_.value:w.value.focusable);t.provide(Yx,e.id),t.provide(Wx,Y);const ee=t.computed(()=>w.value.class instanceof Function?w.value.class(w.value):w.value.class),q=t.computed(()=>w.value.style instanceof Function?w.value.style(w.value):w.value.style),H=t.computed(()=>{const N=w.value.type||"default",P=S==null?void 0:S[`edge-${N}`];if(P)return P;let C=w.value.template??c.value[N];if(typeof C=="string"&&I){const O=Object.keys(I.appContext.components);O&&O.includes(N)&&(C=t.resolveComponent(N,!1))}return C&&typeof C!="string"?C:(a.error(new Ze(Ge.EDGE_TYPE_MISSING,C)),!1)}),{handlePointerDown:U}=Yf({nodeId:j,handleId:K,type:k,isValidConnection:p,edgeUpdaterType:k,onEdgeUpdate:Z,onEdgeUpdateEnd:W});return()=>{const N=u(w.value.source),P=u(w.value.target),C="pathOptions"in w.value?w.value.pathOptions:{};if(!N&&!P)return a.error(new Ze(Ge.EDGE_SOURCE_TARGET_MISSING,w.value.id,w.value.source,w.value.target)),null;if(!N)return a.error(new Ze(Ge.EDGE_SOURCE_MISSING,w.value.id,w.value.source)),null;if(!P)return a.error(new Ze(Ge.EDGE_TARGET_MISSING,w.value.id,w.value.target)),null;if(!w.value||w.value.hidden||N.hidden||P.hidden)return null;let O;r.value===Jt.Strict?O=N.handleBounds.source:O=[...N.handleBounds.source||[],...N.handleBounds.target||[]];const T=Vf(O,w.value.sourceHandle);let G;r.value===Jt.Strict?G=P.handleBounds.target:G=[...P.handleBounds.target||[],...P.handleBounds.source||[]];const X=Vf(G,w.value.targetHandle),B=(T==null?void 0:T.position)||be.Bottom,te=(X==null?void 0:X.position)||be.Top,{x:V,y:me}=no(N,T,B),{x:he,y:ge}=no(P,X,te);return w.value.sourceX=V,w.value.sourceY=me,w.value.targetX=he,w.value.targetY=ge,t.h("g",{ref:Y,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${H.value===!1?"default":w.value.type||"default"}`,s.value,ee.value,{updating:$.value,selected:w.value.selected,animated:w.value.animated,inactive:!A.value&&!b.value.edgeClick.hasListeners()}],tabIndex:R.value?0:void 0,"aria-label":w.value.ariaLabel===null?void 0:w.value.ariaLabel??`Edge from ${w.value.source} to ${w.value.target}`,"aria-describedby":R.value?`${mf}-${n}`:void 0,"aria-roledescription":"edge",role:R.value?"group":"img",...w.value.domAttributes,onClick:ae,onContextmenu:de,onDblclick:ye,onMouseenter:Q,onMousemove:ne,onMouseleave:le,onKeyDown:R.value?E:void 0},[D.value?null:t.h(H.value===!1?c.value.default:H.value,{id:e.id,sourceNode:N,targetNode:P,source:w.value.source,target:w.value.target,type:w.value.type,updatable:F.value,selected:w.value.selected,animated:w.value.animated,label:w.value.label,labelStyle:w.value.labelStyle,labelShowBg:w.value.labelShowBg,labelBgStyle:w.value.labelBgStyle,labelBgPadding:w.value.labelBgPadding,labelBgBorderRadius:w.value.labelBgBorderRadius,data:w.value.data,events:{...w.value.events,...x},style:q.value,markerStart:`url('#${Ho(w.value.markerStart,n)}')`,markerEnd:`url('#${Ho(w.value.markerEnd,n)}')`,sourcePosition:B,targetPosition:te,sourceX:V,sourceY:me,targetX:he,targetY:ge,sourceHandleId:w.value.sourceHandle,targetHandleId:w.value.targetHandle,interactionWidth:w.value.interactionWidth,...C}),[F.value==="source"||F.value===!0?[t.h("g",{onMousedown:fe,onMouseenter:M,onMouseout:L},t.h(lp,{position:B,centerX:V,centerY:me,radius:i.value,type:"source","data-type":"source"}))]:null,F.value==="target"||F.value===!0?[t.h("g",{onMousedown:ce,onMouseenter:M,onMouseout:L},t.h(lp,{position:te,centerX:he,centerY:ge,radius:i.value,type:"target","data-type":"target"}))]:null]])};function M(){$.value=!0}function L(){$.value=!1}function Z(N,P){v.update({event:N,edge:w.value,connection:P})}function W(N){v.updateEnd({event:N,edge:w.value}),D.value=!1}function re(N,P){N.button===0&&(D.value=!0,j.value=P?w.value.target:w.value.source,K.value=(P?w.value.targetHandle:w.value.sourceHandle)??null,k.value=P?"target":"source",v.updateStart({event:N,edge:w.value}),U(N))}function ae(N){var P;const C={event:N,edge:w.value};A.value&&(l.value=!1,w.value.selected&&m.value?(d([w.value]),(P=Y.value)==null||P.blur()):o([w.value])),v.click(C)}function de(N){v.contextMenu({event:N,edge:w.value})}function ye(N){v.doubleClick({event:N,edge:w.value})}function Q(N){v.mouseEnter({event:N,edge:w.value})}function ne(N){v.mouseMove({event:N,edge:w.value})}function le(N){v.mouseLeave({event:N,edge:w.value})}function fe(N){re(N,!0)}function ce(N){re(N,!1)}function E(N){var P;!h.value&&gf.includes(N.key)&&A.value&&(N.key==="Escape"?((P=Y.value)==null||P.blur(),d([f(e.id)])):o([f(e.id)]))}}}),nI=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:f,findNode:u}=$e(),p=(e=t.inject(_i))==null?void 0:e["connection-line"],m=t.computed(()=>{var b;return u((b=r.value)==null?void 0:b.nodeId)}),h=t.computed(()=>{var b;return u((b=i.value)==null?void 0:b.nodeId)??null}),y=t.computed(()=>({x:(a.value.x-f.value.x)/f.value.zoom,y:(a.value.y-f.value.y)/f.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${Ho(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${Ho(c.value.markerEnd,n)})`:"");return()=>{var b,w,v;if(!m.value||!r.value)return null;const x=r.value.id,S=r.value.type,I=m.value.handleBounds;let $=(I==null?void 0:I[S])??[];if(o.value===Jt.Loose){const q=(I==null?void 0:I[S==="source"?"target":"source"])??[];$=[...$,...q]}if(!$)return null;const D=(x?$.find(q=>q.id===x):$[0])??null,j=(D==null?void 0:D.position)??be.Top,{x:K,y:k}=no(m.value,D,j);let Y=null;h.value&&(o.value===Jt.Strict?Y=((b=h.value.handleBounds[S==="source"?"target":"source"])==null?void 0:b.find(q=>{var H;return q.id===((H=i.value)==null?void 0:H.id)}))||null:Y=((w=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:w.find(q=>{var H;return q.id===((H=i.value)==null?void 0:H.id)}))||null);const A=((v=i.value)==null?void 0:v.position)??(j?vl[j]:null);if(!j||!A)return null;const F=l.value??c.value.type??Cn.Bezier;let R="";const ee={sourceX:K,sourceY:k,sourcePosition:j,targetX:y.value.x,targetY:y.value.y,targetPosition:A};return F===Cn.Bezier?[R]=tp(ee):F===Cn.Step?[R]=Ol({...ee,borderRadius:0}):F===Cn.SmoothStep?[R]=Ol(ee):F===Cn.SimpleBezier?[R]=op(ee):R=`M${K},${k} ${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:K,sourceY:k,sourcePosition:j,targetX:y.value.x,targetY:y.value.y,targetPosition:A,sourceNode:m.value,sourceHandle:D,targetNode:h.value,targetHandle:Y,markerEnd:_.value,markerStart:g.value,connectionStatus:d.value}):t.h("path",{d:R,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),oI=["id","markerWidth","markerHeight","markerUnits","orient"],rI={name:"MarkerType",compatConfig:{MODE:3}},iI=t.defineComponent({...rI,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(di).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(di).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,oI))}}),aI={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},lI={name:"MarkerDefinitions",compatConfig:{MODE:3}},sI=t.defineComponent({...lI,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=$e(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const f=Ho(d,n);l.has(f)||(typeof d=="object"?s.push({...d,id:f,color:d.color||i.value}):s.push({id:f,color:i.value,type:d}),l.add(f))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const f of[d.markerStart,d.markerEnd])c(f);return s.sort((d,f)=>d.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",aI,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(iI,{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))])]))}}),cI={name:"Edges",compatConfig:{MODE:3}},dI=t.defineComponent({...cI,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=$e();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(sI),(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(Vx)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(tI),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(nI))],64))}}),uI=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:f,getNodeTypes:u,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:y,snapToGrid:g,snapGrid:_,nodeDragThreshold:b,nodesDraggable:w,elementsSelectable:v,nodesConnectable:x,nodesFocusable:S,hooks:I}=$e(),$=t.ref(null);t.provide(zf,$),t.provide(Gf,e.id);const D=t.inject(_i),j=t.getCurrentInstance(),K=Xf(),{node:k,parentNode:Y}=Wf(e.id),{emit:A,on:F}=tA(k,l),R=t.toRef(()=>typeof k.draggable>"u"?w.value:k.draggable),ee=t.toRef(()=>typeof k.selectable>"u"?v.value:k.selectable),q=t.toRef(()=>typeof k.connectable>"u"?x.value:k.connectable),H=t.toRef(()=>typeof k.focusable>"u"?S.value:k.focusable),U=t.computed(()=>ee.value||R.value||I.value.nodeClick.hasListeners()||I.value.nodeDoubleClick.hasListeners()||I.value.nodeMouseEnter.hasListeners()||I.value.nodeMouseMove.hasListeners()||I.value.nodeMouseLeave.hasListeners()),M=t.toRef(()=>!!k.dimensions.width&&!!k.dimensions.height),L=t.computed(()=>{const P=k.type||"default",C=D==null?void 0:D[`node-${P}`];if(C)return C;let O=k.template||u.value[P];if(typeof O=="string"&&j){const T=Object.keys(j.appContext.components);T&&T.includes(P)&&(O=t.resolveComponent(P,!1))}return O&&typeof O!="string"?O:(l.error(new Ze(Ge.NODE_TYPE_MISSING,O)),!1)}),Z=Hf({id:e.id,el:$,disabled:()=>!R.value,selectable:ee,dragHandle:()=>k.dragHandle,onStart(P){A.dragStart(P)},onDrag(P){A.drag(P)},onStop(P){A.dragStop(P)},onClick(P){E(P)}}),W=t.computed(()=>k.class instanceof Function?k.class(k):k.class),re=t.computed(()=>{const P=(k.style instanceof Function?k.style(k):k.style)||{},C=k.width instanceof Function?k.width(k):k.width,O=k.height instanceof Function?k.height(k):k.height;return!P.width&&C&&(P.width=typeof C=="string"?C:`${C}px`),!P.height&&O&&(P.height=typeof O=="string"?O:`${O}px`),P}),ae=t.toRef(()=>Number(k.zIndex??re.value.zIndex??0));return f(P=>{(P.includes(e.id)||!P.length)&&ye()}),t.onMounted(()=>{t.watch(()=>k.hidden,(P=!1,C,O)=>{!P&&$.value&&(e.resizeObserver.observe($.value),O(()=>{$.value&&e.resizeObserver.unobserve($.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>k.type,()=>k.sourcePosition,()=>k.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:$.value,forceUpdate:!0}])})}),t.watch([()=>k.position.x,()=>k.position.y,()=>{var P;return(P=Y.value)==null?void 0:P.computedPosition.x},()=>{var P;return(P=Y.value)==null?void 0:P.computedPosition.y},()=>{var P;return(P=Y.value)==null?void 0:P.computedPosition.z},ae,()=>k.selected,()=>k.dimensions.height,()=>k.dimensions.width,()=>{var P;return(P=Y.value)==null?void 0:P.dimensions.height},()=>{var P;return(P=Y.value)==null?void 0:P.dimensions.width}],([P,C,O,T,G,X])=>{const B={x:P,y:C,z:X+(m.value&&k.selected?1e3:0)};typeof O<"u"&&typeof T<"u"?k.computedPosition=Ix({x:O,y:T,z:G},B):k.computedPosition=B},{flush:"post",immediate:!0}),t.watch([()=>k.extent,p],([P,C],[O,T])=>{(P!==O||C!==T)&&de()}),k.extent==="parent"||typeof k.extent=="object"&&"range"in k.extent&&k.extent.range==="parent"?Za(()=>M).toBe(!0).then(de):de(),()=>k.hidden?null:t.h("div",{ref:$,"data-id":k.id,class:["vue-flow__node",`vue-flow__node-${L.value===!1?"default":k.type||"default"}`,{[o.value]:R.value,dragging:Z==null?void 0:Z.value,draggable:R.value,selected:k.selected,selectable:ee.value,parent:k.isParent},W.value],style:{visibility:M.value?"visible":"hidden",zIndex:k.computedPosition.z??ae.value,transform:`translate(${k.computedPosition.x}px,${k.computedPosition.y}px)`,pointerEvents:U.value?"all":"none",...re.value},tabIndex:H.value?0:void 0,role:H.value?"group":void 0,"aria-describedby":h.value?void 0:`${pf}-${n}`,"aria-label":k.ariaLabel,"aria-roledescription":"node",...k.domAttributes,onMouseenter:Q,onMousemove:ne,onMouseleave:le,onContextmenu:fe,onClick:E,onDblclick:ce,onKeydown:N},[t.h(L.value===!1?u.value.default:L.value,{id:k.id,type:k.type,data:k.data,events:{...k.events,...F},selected:k.selected,resizing:k.resizing,dragging:Z.value,connectable:q.value,position:k.computedPosition,dimensions:k.dimensions,isValidTargetPos:k.isValidTargetPos,isValidSourcePos:k.isValidSourcePos,parent:k.parentNode,parentNodeId:k.parentNode,zIndex:k.computedPosition.z??ae.value,targetPosition:k.targetPosition,sourcePosition:k.sourcePosition,label:k.label,dragHandle:k.dragHandle,onUpdateNodeInternals:ye})]);function de(){const P=k.computedPosition,{computedPosition:C,position:O}=El(k,g.value?hi(P,_.value):P,l.error,p.value,Y.value);(k.computedPosition.x!==C.x||k.computedPosition.y!==C.y)&&(k.computedPosition={...k.computedPosition,...C}),(k.position.x!==O.x||k.position.y!==O.y)&&(k.position=O)}function ye(){$.value&&d([{id:e.id,nodeElement:$.value,forceUpdate:!0}])}function Q(P){Z!=null&&Z.value||A.mouseEnter({event:P,node:k})}function ne(P){Z!=null&&Z.value||A.mouseMove({event:P,node:k})}function le(P){Z!=null&&Z.value||A.mouseLeave({event:P,node:k})}function fe(P){return A.contextMenu({event:P,node:k})}function ce(P){return A.doubleClick({event:P,node:k})}function E(P){ee.value&&(!r.value||!R.value||b.value>0)&&xl(k,a.value,c,s,i,!1,$.value),A.click({event:P,node:k})}function N(P){if(!(bl(P)||h.value))if(gf.includes(P.key)&&ee.value){const C=P.key==="Escape";xl(k,a.value,c,s,i,C,$.value)}else R.value&&k.selected&&to[P.key]&&(P.preventDefault(),y.value=`Moved selected node ${P.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~k.position.x}, y: ${~~k.position.y}`,K({x:to[P.key].x,y:to[P.key].y},P.shiftKey))}}});function fI(e={includeHiddenNodes:!1}){const{nodes:n}=$e();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 pI={class:"vue-flow__nodes vue-flow__container"},mI={name:"Nodes",compatConfig:{MODE:3}},gI=t.defineComponent({...mI,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=$e(),i=fI(),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",pI,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,f,u)=>{const p=[c.id];if(u&&u.key===c.id&&t.isMemoSame(u,p))return u;const m=(t.openBlock(),t.createBlock(t.unref(uI),{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 hI(){const{emits:e}=$e();t.onMounted(()=>{if(Lf()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Ze(Ge.MISSING_STYLES))}})}const yI=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),_I={name:"VueFlow",compatConfig:{MODE:3}},sp=t.defineComponent({..._I,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=Ja(r,"modelValue",o),l=Ja(r,"nodes",o),s=Ja(r,"edges",o),c=$e(r),d=iA({modelValue:a,nodes:l,edges:s},r,c);return lA(o,c.hooks),JA(),hI(),t.provide(_i,i),t.onUnmounted(()=>{d()}),n(c),(f,u)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(zA,null,{default:t.withCtx(()=>[t.createVNode(dI),yI,t.createVNode(gI),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(ZA)],512))}}),bI={name:"Panel",compatConfig:{MODE:3}},wI=t.defineComponent({...bI,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=$e(),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 cp=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]}`})},dp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Gt.Lines+"",Gt.Dots+"";const kI={[Gt.Dots]:"#81818a",[Gt.Lines]:"#eee"},CI=["id","x","y","width","height","patternTransform"],EI={key:2,height:"100",width:"100"},NI=["fill"],SI=["x","y","fill"],vI={name:"Background",compatConfig:{MODE:3}},xI=t.defineComponent({...vI,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}=$e(),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],f=e.size*l,[u,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[u*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||kI[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(cp),{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(dp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",EI,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,NI)])):t.createCommentVNode("",!0)])],8,CI)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,SI),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),AI={name:"ControlButton",compatConfig:{MODE:3}},II=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},PI={class:"vue-flow__controls-button"};function TI(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",PI,[t.renderSlot(e.$slots,"default")])}const Yo=II(AI,[["render",TI]]),OI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},$I=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function BI(e,n){return t.openBlock(),t.createElementBlock("svg",OI,$I)}const VI={render:BI},RI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},DI=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function MI(e,n){return t.openBlock(),t.createElementBlock("svg",RI,DI)}const LI={render:MI},FI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},UI=[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 KI(e,n){return t.openBlock(),t.createElementBlock("svg",FI,UI)}const jI={render:KI},qI={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 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 zI(e,n){return t.openBlock(),t.createElementBlock("svg",qI,GI)}const HI={render:zI},YI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},WI=[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 XI(e,n){return t.openBlock(),t.createElementBlock("svg",YI,WI)}const ZI={render:XI},JI={name:"Controls",compatConfig:{MODE:3}},QI=t.defineComponent({...JI,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>uf.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:f,maxZoom:u}=$e(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=f.value),h=t.toRef(()=>d.value.zoom>=u.value);function y(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function b(){a(!p.value),n("interactionChange",!p.value)}return(w,v)=>(t.openBlock(),t.createBlock(t.unref(wI),{class:"vue-flow__controls",position:w.position},{default:t.withCtx(()=>[t.renderSlot(w.$slots,"top"),w.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(w.$slots,"control-zoom-in",{},()=>[t.createVNode(Yo,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:y},{default:t.withCtx(()=>[t.renderSlot(w.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(VI))))])]),_:3},8,["disabled"])]),t.renderSlot(w.$slots,"control-zoom-out",{},()=>[t.createVNode(Yo,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(w.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(LI))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),w.showFitView?t.renderSlot(w.$slots,"control-fit-view",{key:1},()=>[t.createVNode(Yo,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(w.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(jI))))])]),_:3})]):t.createCommentVNode("",!0),w.showInteractive?t.renderSlot(w.$slots,"control-interactive",{key:2},()=>[w.showInteractive?(t.openBlock(),t.createBlock(Yo,{key:0,class:"vue-flow__controls-interactive",onClick:b},{default:t.withCtx(()=>[p.value?t.renderSlot(w.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(ZI))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(w.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(HI))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(w.$slots,"default")]),_:3},8,["position"]))}}),eP=["undo","redo","duplicate","cut","copy","paste"],up=()=>{};function tP(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function nP(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 oP=Ke.createSharedComposable(()=>{const e=new Set;Ke.useEventListener("keydown",o=>{if(tP(o.target))return;const r=nP(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(!eP.some(i=>typeof o[i]=="function"))return up;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function fp(e={}){if(typeof window>"u")return up;const n=oP().subscribe(e);return t.onScopeDispose(n),n}const Wo={padding:80,gaps:{nodes:40,edges:80,ranks:40}},rP=1600,iP=1.2,aP=0,lP=200,pp=Symbol("confirm-modal"),oo="{key}",vn={"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}},Si=Object.keys(vn).filter(e=>e.includes(oo)).map(e=>e.replace(oo,""));function Bl(e){if(!e||!Zo(e))return;const n=Si.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(oo,"")}function Xo(e){if(!e)return null;const n=Si.find(o=>e.startsWith(o));return n||e}function Zo(e){return e?Si.some(n=>e.startsWith(n)):!1}function mp(e){return e?Zo(e)?Xo(e)+oo:e:null}function Vl(e){var o;if(!e)return!1;const n=mp(e);return n?((o=vn[n])==null?void 0:o.readable)??!1:!1}function Rl(e){var o;if(!e)return!1;const n=mp(e);return n?((o=vn[n])==null?void 0:o.writable)??!1:!1}function sP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cP="\0",xn="\0",gp="";let dP=class{constructor(n){Ye(this,"_isDirected",!0);Ye(this,"_isMultigraph",!1);Ye(this,"_isCompound",!1);Ye(this,"_label");Ye(this,"_defaultNodeLabelFn",()=>{});Ye(this,"_defaultEdgeLabelFn",()=>{});Ye(this,"_nodes",{});Ye(this,"_in",{});Ye(this,"_preds",{});Ye(this,"_out",{});Ye(this,"_sucs",{});Ye(this,"_edgeObjs",{});Ye(this,"_edgeLabels",{});Ye(this,"_nodeCount",0);Ye(this,"_edgeCount",0);Ye(this,"_parent");Ye(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[xn]={})}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]=xn,this._children[n]={},this._children[xn][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=xn;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!==xn)return o}}children(n=xn){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===xn)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=Jo(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=uP(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,hp(this._preds[o],n),hp(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?Dl(this._isDirected,arguments[0]):Jo(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?Dl(this._isDirected,arguments[0]):Jo(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?Dl(this._isDirected,arguments[0]):Jo(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],yp(this._preds[o],n),yp(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 hp(e,n){e[n]?e[n]++:e[n]=1}function yp(e,n){--e[n]||delete e[n]}function Jo(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+gp+a+gp+(r===void 0?cP:r)}function uP(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 Dl(e,n){return Jo(e,n.v,n.w,n.name)}var Ml=dP,fP="2.2.4",pP={Graph:Ml,version:fP},mP=Ml,gP={write:hP,read:bP};function hP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:yP(e),edges:_P(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function yP(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 _P(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 bP(e){var n=new mP(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 wP=kP;function kP(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 _p=class{constructor(){Ye(this,"_arr",[]);Ye(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}},CP=_p,bp=NP,EP=()=>1;function NP(e,n,o,r){return SP(e,String(n),o||EP,r||function(i){return e.outEdges(i)})}function SP(e,n,o,r){var i={},a=new CP,l,s,c=function(d){var f=d.v!==l?d.v:d.w,u=i[f],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<u.distance&&(u.distance=m,u.predecessor=l,a.decrease(f,m))};for(e.nodes().forEach(function(d){var f=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:f},a.add(d,f)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var vP=bp,xP=AP;function AP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=vP(e,i,n,o),r},{})}var wp=IP;function IP(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(f){Object.hasOwn(r,f)?r[f].onStack&&(s.lowlink=Math.min(s.lowlink,r[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,r[f].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 PP=wp,TP=OP;function OP(e){return PP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var $P=VP,BP=()=>1;function VP(e,n,o){return RP(e,n||BP,o||function(r){return e.outEdges(r)})}function RP(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 f=c[a],u=l[d],p=c[d],m=f.distance+u.distance;m<p.distance&&(p.distance=m,p.predecessor=u.predecessor)})})}),r}function kp(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new Ll;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 Ll;return r}class Ll extends Error{constructor(){super(...arguments)}}var Cp=kp;kp.CycleException=Ll;var Ep=Cp,DP=MP;function MP(e){try{Ep(e)}catch(n){if(n instanceof Ep.CycleException)return!1;throw n}return!0}var Np=LP;function LP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?FP:UP,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 FP(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]),Sp(n(a[0]),l=>i.push([l,!1])))}}function UP(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),Sp(n(a),l=>i.push(l)))}}function Sp(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var KP=Np,jP=qP;function qP(e,n){return KP(e,n,"post")}var GP=Np,zP=HP;function HP(e,n){return GP(e,n,"pre")}var YP=Ml,WP=_p,XP=ZP;function ZP(e,n){var o=new YP,r={},i=new WP,a;function l(c){var d=c.v===a?c.w:c.v,f=i.priority(d);if(f!==void 0){var u=n(c);u<f&&(r[d]=a,i.decrease(d,u))}}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:wP,dijkstra:bp,dijkstraAll:xP,findCycles:TP,floydWarshall:$P,isAcyclic:DP,postorder:jP,preorder:zP,prim:XP,tarjan:wp,topsort:Cp},vp=pP,Et={Graph:vp.Graph,json:gP,alg:JP,version:vp.version};let QP=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return xp(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&xp(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,eT)),r=r._prev;return"["+n.join(", ")+"]"}};function xp(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function eT(e,n){if(e!=="_next"&&e!=="_prev")return n}var tT=QP;let nT=Et.Graph,oT=tT;var rT=aT;let iT=()=>1;function aT(e,n){if(e.nodeCount()<=1)return[];let o=sT(e,n||iT);return lT(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function lT(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Fl(e,n,o,l);for(;l=i.dequeue();)Fl(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(Fl(e,n,o,l,!0));break}}}return r}function Fl(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,Ul(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Ul(n,o,d)}),e.removeNode(r.v),a}function sT(e,n){let o=new nT,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),f=c+d;o.setEdge(s.v,s.w,f),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=cT(i+r+3).map(()=>new oT),l=r+1;return o.nodes().forEach(s=>{Ul(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Ul(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 cT(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let Ap=Et.Graph;var He={addBorderNode:_T,addDummyNode:Ip,applyWithChunking:vi,asNonCompoundGraph:uT,buildLayerMatrix:gT,intersectRect:mT,mapValues:ST,maxRank:Tp,normalizeRanks:hT,notime:CT,partition:wT,pick:NT,predecessorWeights:pT,range:$p,removeEmptyRanks:yT,simplify:dT,successorWeights:fT,time:kT,uniqueId:Op,zipObject:Kl};function Ip(e,n,o,r){for(var i=r;e.hasNode(i);)i=Op(r);return o.dummy=n,e.setNode(i,o),i}function dT(e){let n=new Ap().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 uT(e){let n=new Ap({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 fT(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 Kl(e.nodes(),n)}function pT(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 Kl(e.nodes(),n)}function mT(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 gT(e){let n=$p(Tp(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 hT(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=vi(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function yT(e){let n=e.nodes().map(l=>e.node(l).rank),o=vi(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 _T(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),Ip(e,"border",i,n)}function bT(e,n=Pp){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const Pp=65535;function vi(e,n){if(n.length>Pp){const o=bT(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function Tp(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return vi(Math.max,o)}function wT(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function kT(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function CT(e,n){return n()}let ET=0;function Op(e){var n=++ET;return e+(""+n)}function $p(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 NT(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function ST(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 Kl(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let vT=rT,xT=He.uniqueId;var AT={run:IT,undo:TT};function IT(e){(e.graph().acyclicer==="greedy"?vT(e,o(e)):PT(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,xT("rev"))});function o(r){return i=>r.edge(i).weight}}function PT(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 TT(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 OT=He;var $T={run:BT,undo:RT};function BT(e){e.graph().dummyChains=[],e.edges().forEach(n=>VT(e,n))}function VT(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,f,u;for(u=0,++r;r<a;++u,++r)s.points=[],f={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=OT.addDummyNode(e,"edge",f,"_d"),r===c&&(f.width=s.width,f.height=s.height,f.dummy="edge-label",f.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),u===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function RT(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:DT}=He;var xi={longestPath:MT,slack:LT};function MT(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=DT(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function LT(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var FT=Et.Graph,Ai=xi.slack,Bp=UT;function UT(e){var n=new FT({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;KT(n,e)<r;)i=jT(n,e),a=n.hasNode(i.v)?Ai(e,i):-Ai(e,i),qT(n,e,a);return n}function KT(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!Ai(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function jT(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=Ai(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function qT(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var GT=Bp,Vp=xi.slack,zT=xi.longestPath,HT=Et.alg.preorder,YT=Et.alg.postorder,WT=He.simplify,XT=An;An.initLowLimValues=ql,An.initCutValues=jl,An.calcCutValue=Rp,An.leaveEdge=Mp,An.enterEdge=Lp,An.exchangeEdges=Fp;function An(e){e=WT(e),zT(e);var n=GT(e);ql(n),jl(n,e);for(var o,r;o=Mp(n);)r=Lp(n,e,o),Fp(n,e,o,r)}function jl(e,n){var o=YT(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>ZT(e,n,r))}function ZT(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Rp(e,n,o)}function Rp(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,f=d?c.w:c.v;if(f!==i){var u=d===a,p=n.edge(c).weight;if(s+=u?p:-p,QT(e,o,f)){var m=e.edge(o,f).cutvalue;s+=u?-m:m}}}),s}function ql(e,n){arguments.length<2&&(n=e.nodes()[0]),Dp(e,{},1,n)}function Dp(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=Dp(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function Mp(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function Lp(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(f=>c===Up(e,e.node(f.v),s)&&c!==Up(e,e.node(f.w),s));return d.reduce((f,u)=>Vp(n,u)<Vp(n,f)?u:f)}function Fp(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),ql(e),jl(e,n),JT(e,n)}function JT(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=HT(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 QT(e,n,o){return e.hasEdge(n,o)}function Up(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var eO=xi,Kp=eO.longestPath,tO=Bp,nO=XT,oO=rO;function rO(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":jp(e);break;case"tight-tree":aO(e);break;case"longest-path":iO(e);break;case"none":break;default:jp(e)}}var iO=Kp;function aO(e){Kp(e),tO(e)}function jp(e){nO(e)}var lO=sO;function sO(e){let n=dO(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=cO(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(f=!1)}if(!f){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 cO(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 dO(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 Ii=He;var uO={run:fO,cleanup:gO};function fO(e){let n=Ii.addDummyNode(e,"root",{},"_root"),o=pO(e),r=Object.values(o),i=Ii.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=mO(e)+1;e.children().forEach(s=>qp(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function qp(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=Ii.addBorderNode(e,"_bt"),d=Ii.addBorderNode(e,"_bb"),f=e.node(l);e.setParent(c,l),f.borderTop=c,e.setParent(d,l),f.borderBottom=d,s.forEach(u=>{qp(e,n,o,r,i,a,u);let p=e.node(u),m=p.borderTop?p.borderTop:u,h=p.borderBottom?p.borderBottom:u,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 pO(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 mO(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function gO(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 hO=He;var yO=_O;function _O(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)Gp(e,"borderLeft","_bl",o,i,a),Gp(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function Gp(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=hO.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var bO={adjust:wO,undo:kO};function wO(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&zp(e)}function kO(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&CO(e),(n==="lr"||n==="rl")&&(EO(e),zp(e))}function zp(e){e.nodes().forEach(n=>Hp(e.node(n))),e.edges().forEach(n=>Hp(e.edge(n)))}function Hp(e){let n=e.width;e.width=e.height,e.height=n}function CO(e){e.nodes().forEach(n=>Gl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Gl),Object.hasOwn(o,"y")&&Gl(o)})}function Gl(e){e.y=-e.y}function EO(e){e.nodes().forEach(n=>zl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(zl),Object.hasOwn(o,"x")&&zl(o)})}function zl(e){let n=e.x;e.x=e.y,e.y=n}let Yp=He;var NO=SO;function SO(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=Yp.applyWithChunking(Math.max,r),a=Yp.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 vO=He.zipObject;var xO=AO;function AO(e,n){let o=0;for(let r=1;r<n.length;++r)o+=IO(e,n[r-1],n[r]);return o}function IO(e,n,o){let r=vO(o,o.map((d,f)=>f)),i=n.flatMap(d=>e.outEdges(d).map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,u)=>f.pos-u.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 f=d.pos+a;s[f]+=d.weight;let u=0;for(;f>0;)f%2&&(u+=s[f+1]),f=f-1>>1,s[f]+=d.weight;c+=d.weight*u}),c}var PO=TO;function TO(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 OO=He;var $O=BO;function BO(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 VO(r)}function VO(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&RO(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=>OO.pick(i,["vs","i","barycenter","weight"]))}function RO(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 DO=He;var MO=LO;function LO(e,n){let o=DO.partition(e,f=>Object.hasOwn(f,"barycenter")),r=o.lhs,i=o.rhs.sort((f,u)=>u.i-f.i),a=[],l=0,s=0,c=0;r.sort(FO(!!n)),c=Wp(a,i,c),r.forEach(f=>{c+=f.vs.length,a.push(f.vs),l+=f.barycenter*f.weight,s+=f.weight,c=Wp(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Wp(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 FO(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let UO=PO,KO=$O,jO=MO;var qO=Xp;function Xp(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=UO(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=Xp(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&zO(p,m)}});let f=KO(d,o);GO(f,c);let u=jO(f,r);if(l&&(u.vs=[l,u.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(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+p.order+m.order)/(u.weight+2),u.weight+=2}return u}function GO(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function zO(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 HO=Et.Graph,YO=He;var WO=XO;function XO(e,n,o){let r=ZO(e),i=new HO({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,f=i.edge(d,a),u=f!==void 0?f.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+u})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function ZO(e){for(var n;e.hasNode(n=YO.uniqueId("_root")););return n}var JO=QO;function QO(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 e$=NO,t$=xO,n$=qO,o$=WO,r$=JO,i$=Et.Graph,Pi=He;var a$=Zp;function Zp(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,Zp);return}let o=Pi.maxRank(e),r=Jp(e,Pi.range(1,o+1),"inEdges"),i=Jp(e,Pi.range(o-1,-1,-1),"outEdges"),a=e$(e);if(Qp(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){l$(c%2?r:i,c%4>=2),a=Pi.buildLayerMatrix(e);let f=t$(e,a);f<l&&(d=0,s=Object.assign({},a),l=f)}Qp(e,s)}function Jp(e,n,o){return n.map(function(r){return o$(e,r,o)})}function l$(e,n){let o=new i$;e.forEach(function(r){let i=r.graph().root,a=n$(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),r$(r,o,a.vs)})}function Qp(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let s$=Et.Graph,zt=He;var c$={positionX:w$};function d$(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((f,u)=>{let p=f$(e,f),m=p?e.node(p).order:c;(p||f===d)&&(a.slice(s,u+1).forEach(h=>{e.predecessors(h).forEach(y=>{let g=e.node(y),_=g.order;(_<l||m<_)&&!(g.dummy&&e.node(h).dummy)&&em(o,y,h)})}),s=u+1,l=m)}),a}return n.length&&n.reduce(r),o}function u$(e,n){let o={};function r(a,l,s,c,d){let f;zt.range(l,s).forEach(u=>{f=a[u],e.node(f).dummy&&e.predecessors(f).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&em(o,p,f)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((f,u)=>{if(e.node(f).dummy==="border"){let p=e.predecessors(f);p.length&&(c=e.node(p[0]).order,r(l,d,u,s,c),d=u,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function f$(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function em(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 p$(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function m$(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 f=r(d);if(f.length){f=f.sort((p,m)=>l[p]-l[m]);let u=(f.length-1)/2;for(let p=Math.floor(u),m=Math.ceil(u);p<=m;++p){let h=f[p];a[d]===d&&c<l[h]&&!p$(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function g$(e,n,o,r,i){let a={},l=h$(e,n,o,i),s=i?"borderLeft":"borderRight";function c(u,p){let m=l.nodes(),h=m.pop(),y={};for(;h;)y[h]?u(h):(y[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(u){a[u]=l.inEdges(u).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function f(u){let p=l.outEdges(u).reduce((h,y)=>Math.min(h,a[y.w]-l.edge(y)),Number.POSITIVE_INFINITY),m=e.node(u);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[u]=Math.max(a[u],p))}return c(d,l.predecessors.bind(l)),c(f,l.successors.bind(l)),Object.keys(r).forEach(u=>a[u]=a[o[u]]),a}function h$(e,n,o,r){let i=new s$,a=e.graph(),l=k$(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let f=o[d];if(i.setNode(f),c){var u=o[c],p=i.edge(u,f);i.setEdge(u,f,Math.max(l(e,d,c),p||0))}c=d})}),i}function y$(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=C$(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 _$(e,n){let o=Object.values(n),r=zt.applyWithChunking(Math.min,o),i=zt.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),f=r-zt.applyWithChunking(Math.min,d);l!=="l"&&(f=i-zt.applyWithChunking(Math.max,d)),f&&(e[s]=zt.mapValues(c,u=>u+f))})})}function b$(e,n){return zt.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 w$(e){let n=zt.buildLayerMatrix(e),o=Object.assign(d$(e,n),u$(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(u=>Object.values(u).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=m$(e,i,o,c),f=g$(e,i,d.root,d.align,s==="r");s==="r"&&(f=zt.mapValues(f,u=>-u)),r[l+s]=f})});let a=y$(e,r);return _$(r,a),b$(r,e.graph().align)}function k$(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 C$(e,n){return e.node(n).width}let tm=He,E$=c$.positionX;var N$=S$;function S$(e){e=tm.asNonCompoundGraph(e),v$(e),Object.entries(E$(e)).forEach(([n,o])=>e.node(n).x=o)}function v$(e){let n=tm.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 nm=AT,om=$T,x$=oO,A$=He.normalizeRanks,I$=lO,P$=He.removeEmptyRanks,rm=uO,T$=yO,im=bO,O$=a$,$$=N$,ht=He,B$=Et.Graph;var V$=R$;function R$(e,n){let o=n&&n.debugTiming?ht.time:ht.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>z$(e));o(" runLayout",()=>D$(r,o,n)),o(" updateInputGraph",()=>M$(e,r))})}function D$(e,n,o){n(" makeSpaceForEdgeLabels",()=>H$(e)),n(" removeSelfEdges",()=>nB(e)),n(" acyclic",()=>nm.run(e)),n(" nestingGraph.run",()=>rm.run(e)),n(" rank",()=>x$(ht.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>Y$(e)),n(" removeEmptyRanks",()=>P$(e)),n(" nestingGraph.cleanup",()=>rm.cleanup(e)),n(" normalizeRanks",()=>A$(e)),n(" assignRankMinMax",()=>W$(e)),n(" removeEdgeLabelProxies",()=>X$(e)),n(" normalize.run",()=>om.run(e)),n(" parentDummyChains",()=>I$(e)),n(" addBorderSegments",()=>T$(e)),n(" order",()=>O$(e,o)),n(" insertSelfEdges",()=>oB(e)),n(" adjustCoordinateSystem",()=>im.adjust(e)),n(" position",()=>$$(e)),n(" positionSelfEdges",()=>rB(e)),n(" removeBorderNodes",()=>tB(e)),n(" normalize.undo",()=>om.undo(e)),n(" fixupEdgeLabelCoords",()=>Q$(e)),n(" undoCoordinateSystem",()=>im.undo(e)),n(" translateGraph",()=>Z$(e)),n(" assignNodeIntersects",()=>J$(e)),n(" reversePoints",()=>eB(e)),n(" acyclic.undo",()=>nm.undo(e))}function M$(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 L$=["nodesep","edgesep","ranksep","marginx","marginy"],F$={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},U$=["acyclicer","ranker","rankdir","align"],K$=["width","height","rank"],am={width:0,height:0},j$=["minlen","weight","width","height","labeloffset"],q$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},G$=["labelpos"];function z$(e){let n=new B$({multigraph:!0,compound:!0}),o=Yl(e.graph());return n.setGraph(Object.assign({},F$,Hl(o,L$),ht.pick(o,U$))),e.nodes().forEach(r=>{let i=Yl(e.node(r));const a=Hl(i,K$);Object.keys(am).forEach(l=>{a[l]===void 0&&(a[l]=am[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Yl(e.edge(r));n.setEdge(r,Object.assign({},q$,Hl(i,j$),ht.pick(i,G$)))}),n}function H$(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 Y$(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};ht.addDummyNode(e,"edge-proxy",a,"_ep")}})}function W$(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 X$(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 Z$(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 f=d.x,u=d.y,p=d.width,m=d.height;n=Math.min(n,f-p/2),o=Math.max(o,f+p/2),r=Math.min(r,u-m/2),i=Math.max(i,u+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let f=e.edge(d);Object.hasOwn(f,"x")&&c(f)}),n-=l,r-=s,e.nodes().forEach(d=>{let f=e.node(d);f.x-=n,f.y-=r}),e.edges().forEach(d=>{let f=e.edge(d);f.points.forEach(u=>{u.x-=n,u.y-=r}),Object.hasOwn(f,"x")&&(f.x-=n),Object.hasOwn(f,"y")&&(f.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(ht.intersectRect(r,a)),o.points.push(ht.intersectRect(i,l))})}function Q$(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 eB(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function tB(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 nB(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 oB(e){var n=ht.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=>{ht.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 rB(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 Hl(e,n){return ht.mapValues(ht.pick(e,n),Number)}function Yl(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let iB=He,aB=Et.Graph;var lB={debugOrdering:sB};function sB(e){let n=iB.buildLayerMatrix(e),o=new aB({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 cB="1.1.5",dB={graphlib:Et,layout:V$,debug:lB,util:{time:He.time,notime:He.notime},version:cB};const lm=sP(dB);function uB(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(Sc,e);return o=>n(o)}function Ti(e,n,o){const r=n?Zt(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function Qo(e,n){const o=n(e.source),r=n(e.target);return[Ti(o,e.sourceField,"output"),Ti(r,e.targetField,"input")]}function Wl(e,n,o,r,i){const a=i(e),l=i(o);return[Ti(a,n,"output"),Ti(l,r,"input")]}function fB(e){t.provide(pp,e)}function sm(){return t.inject(pp,void 0)}function pB(){const e=sm();if(!e)throw new Error("Confirm modal not provided");return e}function cm(e){const n=e.match(/^(input|output)s@(.*)$/);if(n)return{io:n[1],field:n[2]}}function mB(){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 gB={default:_k,hover:wk,selected:bk};let dm,Xl;function Oi(e){const n=e.id===dm?"selected":e.id===Xl?"hover":"default",o=gB[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[hB,yB]=Ke.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=Wo.padding,gaps:s=Wo.gaps}=r,{nodes:c=Wo.gaps.nodes,edges:d=Wo.gaps.edges,ranks:f=Wo.gaps.ranks}=s,u=$e(o),p=at(),m=sm(),h=uB(),{i18n:{t:y}}=Pe(),{findNode:g,fitView:_,deleteKeyCode:b,onNodeDragStop:w,onConnect:v,onNodesChange:x,onEdgesChange:S,onEdgeUpdate:I,onEdgeMouseEnter:$,onEdgeMouseLeave:D,getNodes:j,setNodes:K,setEdges:k,addSelectedNodes:Y}=u;b.value=["Delete","Backspace"];const{state:A,commit:F,moveNode:R,selectNode:ee,removeNode:q,getNodeById:H,connectEdge:U,disconnectEdge:M,getInEdgesByNodeId:L,commit:Z,reset:W}=p;function re(C,O){const T=H(C.source),G=H(C.target);return!!(T&&G&&T.phase===O&&G.phase===O)}const ae=t.computed(()=>A.value.nodes.filter(C=>C.phase===n&&!C.hidden).map(C=>({id:C.id,type:"flow",position:C.position,data:C,deletable:!iu(C)}))),de=t.computed(()=>A.value.edges.filter(C=>re(C,n)).filter(C=>{const O=H(C.source),T=H(C.target);return!(O!=null&&O.hidden)&&!(T!=null&&T.hidden)}).map(C=>{const O=H(C.source),T=H(C.target);if(O){if(!T)throw new Error(`Missing target node "${C.target}" for edge "${C.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${C.source}" for edge "${C.id}" in phase "${n}"`);return Oi({id:C.id,source:C.source,target:C.target,sourceHandle:C.sourceField?`outputs@${C.sourceField}`:"output",targetHandle:C.targetField?`inputs@${C.targetField}`:"input",markerEnd:di.ArrowClosed,data:C,updatable:!i})}));t.watch([ae,de],([C,O])=>{K(C),k(O)},{immediate:!0});const ye=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function Q({source:C,sourceHandle:O,target:T,targetHandle:G}){if(!O||!G)return;const X=cm(O),B=cm(G);if((X==null?void 0:X.io)==="input"||(B==null?void 0:B.io)==="output"||O==="output"&&G==="output")return;const te=L(T);let V=!1,me=!1;const he=[],ge=[],oe=(B==null?void 0:B.io)==="input"?te.filter(Ne=>!Ne.targetField):te.filter(Ne=>!!Ne.targetField);oe.length>0&&(V=!0,oe.forEach(Ne=>{ge.push(Qo(Ne,H)),M(Ne.id,!1)}));const ue=(B==null?void 0:B.io)==="input"?te.filter(Ne=>Ne.targetField===B.field):te.filter(Ne=>!Ne.targetField);if(ue.length>0){if(ue.some(se=>se.source===C&&se.target===T&&se.targetField===(B==null?void 0:B.field)&&se.sourceField===(X==null?void 0:X.field)))return;me=!0,ue.forEach(se=>{ge.push(Qo(se,H)),M(se.id,!1)})}if(!U({source:C,sourceField:X==null?void 0:X.field,target:T,targetField:B==null?void 0:B.field},!1)){W(),h({message:y("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(he.push(Wl(C,X==null?void 0:X.field,T,B==null?void 0:B.field,H)),V||me){if(!m)throw W(),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"),he,ge)){W();return}}Z()}v(Q);let ne=!1;const le=()=>{ne&&(ne=!1,Z())};x(C=>{C.filter(T=>T.type==="select").sort((T,G)=>T.selected===G.selected?0:T.selected?1:-1).forEach(T=>{ee(T.selected?T.id:void 0)});let O=!1;C.forEach(T=>{T.type==="remove"&&(O=!0,q(T.id,!1))}),O&&!ne&&(ne=!0,queueMicrotask(le))}),w(({node:C})=>{C&&R(C.id,C.position)}),S(C=>{C.filter(G=>G.type==="select").sort((G,X)=>G.selected===X.selected?0:G.selected?1:-1).forEach(G=>{dm=G.selected?G.id:void 0,k(X=>X.map(B=>B.id!==G.id||!B.markerEnd?B:Oi({...B,zIndex:G.selected?1:void 0})))});let T=!1;C.forEach(G=>{G.type==="remove"&&(T=!0,M(G.id,!1))}),T&&!ne&&(ne=!0,queueMicrotask(le))}),$(({edge:C})=>{Xl=C.id,k(O=>O.map(T=>T.id!==C.id?T:Oi(T)))}),D(({edge:C})=>{Xl=void 0,k(O=>O.map(T=>T.id!==C.id?T:Oi(T)))}),I(({edge:C,connection:O})=>{M(C.id,!1),Q(O)});function fe(C=!0){let O,T;const G=[],X=ie=>{switch(ie.data.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(O)throw new Error("Duplicated request node in request phase");return O=ie,!0}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(T)throw new Error("Duplicated service_request node in request phase");return T=ie,!0}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(T)throw new Error("Duplicated service_response node in response phase");return T=ie,!0}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(O)throw new Error("Duplicated response node in response phase");return O=ie,!0}default:return G.push(ie),!1}};let B;for(const ie of ae.value)if(!X(ie)&&G.length>0){B||(B=new lm.graphlib.Graph({multigraph:!0}),B.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:f}));const Me=g(ie.id);if(!Me)throw new Error(`Node ${ie.id} is missing from the graph in ${n} phase`);B.setNode(ie.id,{width:Me.dimensions.width,height:Me.dimensions.height})}if(!O||!T)throw new Error(`One or more implicit nodes are missing from ${n} phase`);const te=g(O.id),V=g(T.id);if(!te||!V)throw new Error(`One or more implicit nodes are missing from the graph in ${n} phase`);if(G.length>0){if(!B)throw new Error("dagreGraph should be defined here if reachable");const ie=new Set([O.id,T.id]);for(const Me of de.value)!ie.has(Me.source)&&!ie.has(Me.target)&&B.setEdge(Me.source,Me.target,{points:[]});lm.layout(B)}const[me,he]=mB(),ge=ie=>({x:ie.x-ie.width/2,y:ie.y-ie.height/2,width:ie.width,height:ie.height});if(G.length>0){if(!B)throw new Error("dagreGraph should be defined here if reachable");for(const ie of G){const Me=B.node(ie.id),Ht=ge(Me);me(Ht),R(ie.data.id,{x:Ht.x,y:Ht.y},!1)}}const oe=he(),ue=oe.x2-oe.x1,ve=oe.y2-oe.y1,Ne=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,rP)-ue-2*c-te.dimensions.width-V.dimensions.width-2*l),se=oe.y1+ve/2;R(O.data.id,{x:oe.x1-c-Ne/2-te.dimensions.width,y:se-te.dimensions.height/2},!1),R(T.data.id,{x:oe.x2+c+Ne/2,y:se-V.dimensions.height/2},!1),C&&F(`autolayout-${o}`)}function ce(C){_({...ye.value,...C})}async function E(C){return ee(C),new Promise(O=>setTimeout(()=>{const T=g(C);Y(T?[T]:[]),O()},0))}function N(C){const O=j.value,T=O.find(({id:oe})=>oe===C);if(!T)throw new Error(`Node ${C} not found`);const{position:{x:G,y:X},dimensions:{width:B,height:te}}=T,V=X,me=X+te,he=O.filter(({id:oe})=>oe!==C).filter(({position:{y:oe},dimensions:{height:ue}})=>oe<me&&oe+ue>V).map(({position:{x:oe},dimensions:{width:ue}})=>({left:oe,right:oe+ue})).sort((oe,ue)=>oe.left-ue.left);let ge=G+B+c;for(const{left:oe,right:ue}of he)if(!(ue<=ge)){if(ge+B<=oe)return{x:ge,y:V};ge=Math.max(ge,ue)+c}return{x:ge,y:V}}function P(C){if(!C)return;const O=g(C);if(!O)throw new Error(`Node ${C} not found`);const{position:{x:T},dimensions:{width:G}}=O,X=T+G,{viewport:B,dimensions:te,setViewport:V}=u,{x:me,y:he,zoom:ge}=B.value,{width:oe}=te.value,ue=T*ge+me,ve=X*ge+me,Ne=oe-eu-c;if(ve<=Ne)return;let se=Ne-ve;ue+se<0&&(se=-ue),se!==0&&V({x:me+se,y:he,zoom:ge},{duration:lP})}return{vueFlowStore:u,editorStore:p,readonly:i,nodes:ae,edges:de,selectNode:E,autoLayout:fe,placeToRight:N,scrollRightToReveal:P,fitViewParams:ye,fitView:ce}}),$i=Ee(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>be.Left},size:{default:()=>Number.parseFloat(zc)},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"]]),um=Ee(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){const n=t.computed(()=>{var i;if(!At(e.type))return((i=Mr[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>fN(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 ro=null;function _B(){var n;if(ro)return ro;if(typeof navigator>"u")return ro="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?ro="mac":/Linux/i.test(e)&&!/Android/i.test(e)?ro="linux":ro="windows"}const bB={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},wB={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"},kB={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 CB(e,n={}){const o=n.platform??_B(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?bB:o==="linux"?kB:wB;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const EB={key:0,class:"label"},NB={class:"keys"},Bi=Ee(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=CB(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",EB,t.toDisplayString(o.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",NB,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),SB={class:"body"},vB={class:"name"},xB={class:"handle"},AB={class:"handle-label-wrapper"},IB={class:"handle-label-wrapper"},PB={class:"handle-label text"},TB={class:"handle"},OB={class:"handle-label-wrapper"},$B={class:"handle-label-wrapper"},BB={class:"handle-label text"},fm=Ee(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=je.createI18n("en-us",We),o=yB(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,toggleExpanded:a,duplicateNode:l,removeNode:s,propertiesPanelOpen:c}=at(),d=t.computed(()=>To(e.data.type)),f=t.computed(()=>e.data.fields.input.length>0),u=t.computed(()=>e.data.fields.output.length>0),p=t.computed(()=>f.value&&r(e.data.id).every(k=>k.targetField===void 0)),m=t.computed(()=>u.value&&i(e.data.id).every(k=>k.sourceField===void 0)),h=t.computed(()=>e.data.expanded.input??!1),y=t.computed(()=>e.data.expanded.output??!1),g=t.computed(()=>{var k,Y;if(e.data.type==="property"){const A=(k=e.data.config)==null?void 0:k.property;return Rl(A)}return(Y=d.value.io)==null?void 0:Y.input}),_=t.computed(()=>{var k,Y;if(e.data.type==="property"){const A=(k=e.data.config)==null?void 0:k.property;return Vl(A)}return(Y=d.value.io)==null?void 0:Y.output}),b=t.computed(()=>iu(e.data)),w=t.computed(()=>e.data.phase==="response"),v=t.computed(()=>e.data.phase==="request"?be.Left:be.Right),x=t.computed(()=>e.data.phase==="request"?be.Right:be.Left),S=t.computed(()=>b.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),I=t.computed(()=>b.value?gk:hk);function $(k){!o||o.readonly||k==="input"&&!p.value||k==="output"&&!m.value||a(e.data.id,k)}async function D(){if(!o||o.readonly)return;const k=l(e.data.id,o.placeToRight(e.data.id));await o.selectNode(k),o.scrollRightToReveal(k),c.value=!0}t.watch(p,k=>{k||a(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(m,k=>{k||a(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(k,Y)=>{wo(k,Y)||a(e.data.id,"input",k.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(k,Y)=>{wo(k,Y)||a(e.data.id,"output",k.length>0,!0,"*")},{deep:!0});const j=t.useTemplateRef("menu");function K(){var k;(k=j.value)==null||k.closeDropdown()}return(k,Y)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:w.value,implicit:b.value,readonly:k.readonly}]),onMousedown:K},[t.createElementVNode("div",SB,[b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:0,class:"badge",placement:"top",text:k.data.type},{default:t.withCtx(()=>[t.createVNode(um,{"icon-only":"",size:"small",type:k.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",vB,t.toDisplayString(S.value),1),k.error?(t.openBlock(),t.createBlock(t.unref(Ce.WarningIcon),{key:1,class:"error-icon",color:t.unref(qc),size:16},null,8,["color"])):t.createCommentVNode("",!0),b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KDropdown),{key:2,ref:"menu",class:"menu",disabled:k.readonly,"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:D},{default:t.withCtx(()=>[t.createVNode(Bi,{keys:t.unref(Dr).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]=A=>t.unref(s)(k.data.id))},{default:t.withCtx(()=>[t.createVNode(Bi,{keys:t.unref(Dr).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(Ce.MoreIcon),{color:t.unref(kk)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:w.value}])},[g.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":f.value}])},[t.createElementVNode("div",xB,[t.createVNode(t.unref(on),{id:"input",position:v.value,type:"target"},null,8,["position"]),t.createElementVNode("div",AB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:p.value}]),onClick:Y[2]||(Y[2]=t.withModifiers(A=>$("input"),["stop"]))},[Y[4]||(Y[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),f.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[h.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(No)},null,8,["size"])),h.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:p.value?void 0:t.unref(Gc),size:t.unref(No)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),f.value&&h.value?(t.openBlock(),t.createBlock($i,{key:0,color:I.value,position:v.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),f.value&&h.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(k.data.fields.input,(A,F)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${A.id}`,class:"handle indented"},[t.createVNode(t.unref(on),{id:`inputs@${A.id}`,position:v.value,type:"target"},null,8,["id","position"]),t.createElementVNode("div",IB,[t.createElementVNode("div",PB,t.toDisplayString(A.name),1),t.createVNode($i,{color:I.value,position:v.value,type:F<k.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":u.value}])},[t.createElementVNode("div",TB,[t.createElementVNode("div",OB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:m.value}]),onClick:Y[3]||(Y[3]=t.withModifiers(A=>$("output"),["stop"]))},[Y[5]||(Y[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),u.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(No)},null,8,["size"])),y.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:m.value?void 0:t.unref(Gc),size:t.unref(No)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),u.value&&y.value?(t.openBlock(),t.createBlock($i,{key:0,color:I.value,position:x.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(on),{id:"output",position:x.value,type:"source"},null,8,["position"])]),u.value&&y.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(k.data.fields.output,(A,F)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${A.id}`,class:"handle indented"},[t.createElementVNode("div",$B,[t.createElementVNode("div",BB,t.toDisplayString(A.name),1),t.createVNode($i,{color:I.value,position:x.value,type:F<k.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(on),{id:`outputs@${A.id}`,position:x.value,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],2)],34))}}),[["__scopeId","data-v-7853258d"]]),VB={key:0,class:"dk-flow-mask"},pm=Ee(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ke.useElementBounding(i),{i18n:{t:l}}=Pe(),{vueFlowStore:s,editorStore:c,autoLayout:d,fitViewParams:f,fitView:u,selectNode:p,placeToRight:m,scrollRightToReveal:h}=hB({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:y,propertiesPanelOpen:g,invalidConfigNodeIds:_,selectedNode:b,duplicateNode:w}=c,{project:v,vueFlowRef:x,zoomIn:S,zoomOut:I,viewport:$,maxZoom:D,minZoom:j}=s,K=t.ref(!1);function k(){e.mode==="edit"&&(g.value=!0)}function Y(q){e.mode!=="edit"||K.value||q.preventDefault()}function A(q){var ye,Q;if(e.mode!=="edit"||K.value)return;const H=(ye=q.dataTransfer)==null?void 0:ye.getData(Po);if(!H)return;q.preventDefault();const U=JSON.parse(H);if(U.action!=="create-node")return;const{top:M=0,left:L=0}=((Q=x.value)==null?void 0:Q.getBoundingClientRect())||{},Z=v({x:q.clientX-L,y:q.clientY-M}),{type:W,anchor:re}=U.data,ae={type:W,phase:e.phase,position:{x:Z.x-re.offsetX,y:Z.y-re.offsetY}},de=y(ae);de&&(p(de),g.value=!0)}function F(){d(),t.nextTick(()=>u())}const R=t.computed(()=>{if(e.mode==="preview")return[];const q=[{name:"zoom_in",icon:Ce.AddIcon,action:S,disabled:$.value.zoom>=D.value},{name:"zoom_out",icon:Ce.RemoveIcon,action:I,disabled:$.value.zoom<=j.value},{name:"fit_view",icon:Ce.FullscreenIcon,action:u}];return e.mode==="edit"&&q.push({name:"auto_layout",icon:Ce.AutoLayoutIcon,action:F}),q});if(e.phase==="response"&&e.mode==="edit"){Ke.useEventListener("dragstart",H=>{var L;const U=(L=H.dataTransfer)==null?void 0:L.types.find(Z=>Z.startsWith(`${Po}/`));if(!U)return;U.replace(`${Po}/`,"")==="call"&&(K.value=!0)});const{start:q}=Ke.useTimeoutFn(()=>{K.value=!1},80);Ke.useEventListener("dragover",()=>{q()}),Ke.useEventListener("dragend",()=>{K.value=!1})}async function ee(){const q=b.value;if(e.mode!=="edit"||!q||q.phase!==e.phase)return;const H=w(q.id,m(q.id));H&&(await p(H),g.value=!0,h(H))}return fp({enabled:t.computed(()=>!!b.value&&e.mode==="edit"&&b.value.phase===e.phase),duplicate:ee}),n({autoLayout:d,fitView:u}),(q,H)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(sp),{id:q.flowId,class:t.normalizeClass(["flow",{readonly:q.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":q.mode==="edit","max-zoom":t.unref(iP),"min-zoom":t.unref(aP),"multi-selection-key-code":null,"nodes-connectable":q.mode==="edit","nodes-draggable":q.mode==="edit","pan-on-drag":q.mode==="preview"?!1:void 0,"pan-on-scroll":q.mode!=="edit"?!1:void 0,"zoom-on-double-click":q.mode!=="edit"?!1:void 0,"zoom-on-pinch":q.mode!=="edit"?!1:void 0,"zoom-on-scroll":q.mode!=="edit"?!1:void 0,onDragover:Y,onDrop:A,onNodeClick:k,onNodesChange:H[0]||(H[0]=U=>r("nodes-change")),onNodesInitialized:H[1]||(H[1]=U=>r("initialized"))},{"node-flow":t.withCtx(U=>[t.createVNode(fm,{data:U.data,error:t.unref(_).has(U.data.id),readonly:q.mode!=="edit"},null,8,["data","error","readonly"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xI)),t.createVNode(t.unref(QI),{"fit-view-params":t.unref(f),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(R.value,U=>(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:U.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${U.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(Yo),{disabled:U.disabled,onClick:t.withModifiers(U.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(U.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"]),K.value?(t.openBlock(),t.createElementBlock("div",VB,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-49983ae7"]]),Zl=Ee(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const n=t.ref(!1),o=t.ref(!1),{state:r,clearPendingLayout:i,setPendingFitView:a,commit:l,clear:s}=at(),c=t.useId(),d=`${c}-request`,f=`${c}-response`,u=$e(d),p=$e(f);function m(L,Z){const{onPaneClick:W,onNodesChange:re,onEdgesChange:ae,getSelectedNodes:de,getSelectedEdges:ye}=L,{removeSelectedElements:Q}=Z;function ne(le){if(!le){Q();return}le.some(fe=>fe.type==="select")&&de.value.length+ye.value.length>0&&Q()}re(ne),ae(ne),W(()=>ne())}m(u,p),m(p,u);const h=t.useTemplateRef("flowPanels"),y=t.useTemplateRef("requestLabel"),g=t.useTemplateRef("requestCanvasContainer"),_=t.useTemplateRef("requestFlow"),b=t.useTemplateRef("resizeHandle"),w=t.useTemplateRef("responseLabel"),v=t.useTemplateRef("responseCanvasContainer"),x=t.useTemplateRef("responseFlow"),S=Ke.useElementBounding(h),I=Ke.useElementBounding(y),$=Ke.useElementBounding(g),D=Ke.useElementBounding(b),j=Ke.useElementBounding(w),K=Ke.useElementBounding(v),k=t.computed(()=>Math.max(30,S.height.value*.03)),Y=t.computed(()=>$.height.value<k.value),A=t.computed(()=>K.height.value<k.value),F=t.ref("50%"),R=t.ref("50%"),ee=()=>{e.resizable&&(Y.value?(F.value="50%",R.value="50%"):(F.value="0",R.value="100%"))},q=()=>{e.resizable&&(A.value?(F.value="50%",R.value="50%"):(F.value="100%",R.value="0"))},H=t.computed(()=>S.height.value-I.height.value-D.height.value-j.height.value),{isDragging:U}=Ke.useDraggable(b,{onMove(L){if(!e.resizable)return;const Z=Math.max(0,L.y-$.top.value),W=Math.min(1,Math.max(0,Z/H.value));F.value=`${W*100}%`,R.value=`${(1-W)*100}%`},onEnd(){e.resizable&&($.height.value<k.value?(F.value="0",R.value="100%"):K.height.value<k.value&&(F.value="100%",R.value="0"))}});function M(){t.nextTick(()=>{var L,Z;(L=_.value)==null||L.fitView(),(Z=x.value)==null||Z.fitView()})}return t.watch([n,o,()=>r.value.pendingLayout,()=>r.value.pendingFitView],([L,Z,W,re])=>{e.inactive||!L||!Z||!W&&!re||(W&&i(),re&&a(!1),setTimeout(()=>{var ae,de;W&&((ae=_.value)==null||ae.autoLayout(!1),(de=x.value)==null||de.autoLayout(!1),l("*"),W==="clearHistory"&&s()),re&&M()},0))}),(L,Z)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:h,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:y,class:t.normalizeClass(["label request",{resizable:L.resizable}]),onClick:ee},[L.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:Y.value}])},null,8,["class"])):t.createCommentVNode("",!0),Z[4]||(Z[4]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:g,class:t.normalizeClass(["canvas",{dragging:t.unref(U)}]),style:t.normalizeStyle({flexBasis:F.value})},[t.createVNode(pm,{ref_key:"requestFlow",ref:_,"flow-id":d,mode:L.mode,phase:"request",onInitialized:Z[0]||(Z[0]=W=>n.value=!0),onNodesChange:Z[1]||(Z[1]=W=>n.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:b,class:t.normalizeClass(["resize-handle",{resizable:L.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:w,class:t.normalizeClass(["label response",{dragging:t.unref(U),resizable:L.resizable}]),onClick:q},[L.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:A.value}])},null,8,["class"])):t.createCommentVNode("",!0),Z[5]||(Z[5]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:v,class:t.normalizeClass(["canvas response",{dragging:t.unref(U)}]),style:t.normalizeStyle({flexBasis:R.value})},[t.createVNode(pm,{ref_key:"responseFlow",ref:x,"flow-id":f,mode:L.mode,phase:"response",onInitialized:Z[2]||(Z[2]=W=>o.value=!0),onNodesChange:Z[3]||(Z[3]=W=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-57dcdcfa"]]),RB={class:"dk-confirm-modal-body"},DB={class:"dk-confirm-modal-connections"},MB=Ee(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=Pe(),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 f(){a.value=!1,i("cancel"),d==null||d(!1)}function u(){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:f,onProceed:u},{default:t.withCtx(()=>[t.createElementVNode("div",RB,[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",DB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ce.AddIcon),{color:t.unref(yk)},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(Ce.RemoveIcon),{color:t.unref(qc)},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"]]),LB={class:"dk-editor-nav"},FB={class:"top"},UB={class:"bottom"},KB=Ee(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=je.createI18n("en-us",We),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ce.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=Wa(),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,f)=>(t.openBlock(),t.createElementBlock("nav",LB,[t.createElementVNode("div",FB,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:u,to:p,icon:m,onClick:h})=>t.createVNode(t.unref(xe.KTooltip),{key:u,"kpop-attributes":{offset:"10px"},label:u,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:u,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(xa)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",UB,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(u=>s.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(u=>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(Ce.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(xa)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(xa)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),jB={class:"dk-editor-main"},qB={class:"header"},GB={class:"actions"},zB={class:"settings"},HB={ref:"canvasContainer",class:"body"},YB=Ee(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=je.createI18n("en-us",We),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l,load:s}=at();function c(u){const p=Ka.load(u,{schema:Rr,json:!0});if(typeof p!="object"||p===null)return;const m=p,h={config:{...m,nodes:m.nodes??[]}};s(h,!0)}function d(){o.value=!1}fp({enabled:o,undo:r,redo:i});const f={maxWidth:"300px",zIndex:1e4};return(u,p)=>(t.openBlock(),t.createElementBlock("div",jB,[t.createElementVNode("header",qB,[t.createElementVNode("div",GB,[t.createVNode(t.unref(xe.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Bi,{keys:t.unref(Dr).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(Ce.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(xe.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Bi,{keys:t.unref(Dr).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(Ce.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),p[0]||(p[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",zB,[t.createVNode(Ca,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:f},name:"config.debug"},null,8,["label","label-attributes"])]),p[1]||(p[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(xe.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples")},{items:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(ja,(m,h)=>t.createVNode(t.unref(xe.KDropdownItem),{key:h,onClick:y=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${h}`)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["trigger-text"]),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(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(xe.KButton),{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",HB,[t.createVNode(Zl,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-32006420"]]),WB=["draggable"],XB={class:"icon"},ZB={class:"content"},JB={class:"title"},QB={class:"description"},eV=Ee(t.defineComponent({__name:"NodePanelItem",props:{type:{}},emits:["dragstart"],setup(e,{emit:n}){const o=n,r=e.type==="cache"||e.type==="branch",{summary:i,icon:a}=Mr[e.type];function l(s){o("dragstart",s,e.type)}return(s,c)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${s.type}`]:!0,unsupported:t.unref(r)}]),draggable:!t.unref(r),onDragstart:l},[t.createElementVNode("div",XB,[t.createVNode(t.unref(a),{size:16})]),t.createElementVNode("div",ZB,[t.createElementVNode("div",JB,t.toDisplayString(s.type),1),t.createElementVNode("div",QB,t.toDisplayString(t.unref(i)),1)])],42,WB))}}),[["__scopeId","data-v-d3ce7350"]]),tV={class:"dk-node-panel"},nV={class:"title"},oV={class:"node-list"},rV={"aria-hidden":"true",class:"preview",inert:""},iV=Ee(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=je.createI18n("en-us",We),{createNode:o}=at(),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 $,D,j;const d=s.currentTarget,{left:f,top:u,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-f,y=s.clientY-u;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||d,_=g.cloneNode(!0);_.classList.add("dk-drag-snapshot");const{offsetWidth:b,offsetHeight:w}=g;Object.assign(_.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${b}px`,height:`${w}px`}),document.body.appendChild(_);const v=h/p,x=y/m,S={ratioX:v,ratioY:x,offsetX:b*v,offsetY:w*x},I={action:"create-node",data:{type:c,anchor:S}};($=s.dataTransfer)==null||$.setData(Po,JSON.stringify(I)),(D=s.dataTransfer)==null||D.setData(`${Po}/${c}`,c),(j=s.dataTransfer)==null||j.setDragImage(_,S.offsetX,S.offsetY),requestAnimationFrame(()=>{_.remove(),i.value=void 0})};return(s,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",tV,[t.createElementVNode("h3",nV,[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",oV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(Mr)),f=>(t.openBlock(),t.createBlock(eV,{key:f,type:f,onDragstart:l},null,8,["type"]))),128))]),t.createElementVNode("div",rV,[t.createVNode(t.unref(sp),{nodes:a.value},{"node-flow":t.withCtx(f=>[t.createVNode(fm,{id:r,data:f.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-e9879bef"]]),aV=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(vt,{items:t.unref(ga)([...t.unref(ou)]),name:n.name},null,8,["items","name"]))}}),lV=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Le(),{i18n:o}=Pe(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(rt,{"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(vt,{key:l,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"]))}}),sV=["data-testid"],cV={class:"dk-inputs-map-field-entry-body"},dV={class:"dk-inputs-map-field-entry-content"},uV=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}=Ea(o,r),{i18n:{t:c}}=Pe(),d=t.useTemplateRef("root"),f=t.ref(null),u=t.ref({});let p;async function m(x,S="key"){var I;d.value&&(await t.nextTick(),(I=d.value.querySelector(`[data-${S}-input="${x}"]`))==null||I.focus())}function h(){const{id:x}=a(),S=i.value.findIndex(({key:I})=>!I);m(S===-1?i.value.length-1:S),f.value=x}function y(x){l(x.id),x.id===f.value&&(f.value=null),x.key.trim()!==""&&r("remove:field",x.key)}function g(x){p=x.key}function _(x){if(b(x)){x.key=p,delete u.value[x.id];return}if(x.id===f.value){if(x.key.trim()==="")return;r("add:field",x.key,x.value),f.value=null}else r("rename:field",p,x.key);p=x.key}function b(x){delete u.value[x.id];const S=o.fieldNameValidator("input",p,x.key);if(S)return u.value[x.id]=S,S}function w(x){b(x)}function v(x,S){x.id!==f.value&&r("change:inputs",x.key,S)}return t.watch(()=>i.value,x=>{f.value&&(x.find(({id:S})=>S===f.value)||(f.value=null))}),(x,S)=>{const I=t.resolveComponent("KAlert"),$=t.resolveComponent("KLabel"),D=t.resolveComponent("KInput"),j=t.resolveComponent("KSelect"),K=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(I,{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),(k,Y)=>(t.openBlock(),t.createElementBlock("div",{key:k.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${Y}`},[t.createVNode($,{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",cV,[t.createElementVNode("div",dV,[t.createVNode(D,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${Y}`,modelValue:k.key,"onUpdate:modelValue":[A=>k.key=A,A=>b(k)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":Y,"data-testid":`ff-key-${t.unref(s).path.value}.${Y}`,error:!!u.value[k.id],"error-message":u.value[k.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:A=>w(k),onChange:A=>_(k),onFocus:A=>g(k)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(j,{modelValue:k.value,"onUpdate:modelValue":A=>k.value=A,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${Y}`,"enable-filtering":"",items:x.items,label:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:A=>v(k,(A==null?void 0:A.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),t.createVNode(K,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${Y}`,icon:"",onClick:A=>y(k)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,sV))),128)),t.createVNode(K,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!f.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.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-b2f89c26"]]),fV={class:"dk-inputs-field-or"},io=Ee(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}=Le(),{i18n:{t:i}}=Pe(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?lV:uV: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 f(p){o("remove:field",p)}function u(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(xe.KLabel),{class:"dk-inputs-field-h1",info:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),t.unref(r)("input")?(t.openBlock(),t.createBlock(vt,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:p.items,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","label","placeholder"])):t.createCommentVNode("",!0),t.createElementVNode("div",fV,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)]),t.createVNode(t.unref(xe.KLabel),{class:"dk-inputs-field-h2 dk-margin-0"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1}),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":f,"onRename:field":u},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-27c48bc3"]]),pV={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"},mV={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 gV(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function ao(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function lo(e){const{i18n:{t:n}}=Pe(),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 mm(e,n){const{i18n:{t:o}}=Pe();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 hV(e=0,n=1/0,o){const{i18n:{t:r}}=Pe();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 gm(e){const{i18n:{t:n}}=Pe();return function(r){if(!gV(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 hm(e,n){const{i18n:{t:o}}=Pe();return function(i){if(i==null)return;const a=gm(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 ym(e=-1/0,n=1/0,o){const{i18n:{t:r}}=Pe();return function(a){if(a==null)return;const l=gm(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 yV(e,n){const{state:o}=at(),{i18n:{t:r}}=Pe();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 _V(e,n,o){const{i18n:{t:r}}=Pe();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 bV(){const{i18n:{t:e}}=Pe();return function(o){if(za(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function _m(e){const{i18n:{t:n}}=Pe(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return ao(lo(o),mm("identifier",o),bV(),yV(e,o))}function wV(e){const{i18n:{t:n}}=Pe(),{getNodeById:o}=at();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 ao(lo(s),_V(i,o(e),l))(a)}}function kV(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=u=>{const p=typeof u=="function"?u():u,m=s(p);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},f=u=>(d(),c(u));r[l]={handleChange:f,handleBlur:f,validate:f,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],f=typeof d=="function"?d():d;(s=r[c])==null||s.validate(f)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function Vi(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=at(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>kV(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const u=o(),p=l.value.validate(u),m={};for(const h in a.value)m[h]=p[h];return m}function f(u,p){return{onBlur:()=>{const m=o(),h=s.value[u];h&&h.handleBlur(m[u])},onUpdate:()=>{const m=o(),h=s.value[u];h&&h.handleChange(m[u]),p==null||p()},error:t.computed(()=>{const m=s.value[u];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[u];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const u=d(),p=Object.values(u).filter(Boolean).length>0;r(!p)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:f}}function In(e,n){const o=t.inject(vr.DATAKIT_M2,!1),{state:r,renameNode:i,getNodeById:a,addField:l,renameField:s,removeField:c,replaceConfig:d,disconnectEdge:f,connectEdge:u,invalidConfigNodeIds:p,commit:m,revert:h}=at(),{i18n:{t:y}}=Pe(),g=pB();let _=!1;t.watch(r,async()=>{_=!0,await t.nextTick(),_=!1},{immediate:!0,deep:!0});const b=t.computed(()=>{const U=a(e);if(!U)throw new Error("Node not existed");return U}),w=t.computed(()=>{const M=r.value.edges.filter(L=>L.target===e).reduce((L,Z)=>{var ye,Q;const W=a(Z.source),re=(ye=Zt(W,"output",Z.sourceField))==null?void 0:ye.id,ae=(Q=Zt(b.value,"input",Z.targetField))==null?void 0:Q.name,de=W.id+(re?`.${re}`:"");return ae?L.inputs={...L.inputs,[ae]:de}:L.input=de,L},{});return b.value.fields.input.forEach(L=>{M.inputs||(M.inputs={}),M.inputs[L.name]||(M.inputs[L.name]=null)}),{...b.value.config,...M,name:b.value.name}}),v=U=>{i(e,U??"",!0,`${e}:rename`)},x=(U,M=!0)=>{if(_)return;if(!n)throw new Error("getFormInnerData is not defined");const L=ua(n(),["name","input","inputs"]),Z=U?`update:${e}:${U}`:void 0;d(e,L,M,Z)},S=(U,M)=>{const L=Yn(b.value,U,M);if(!L)throw new Error(`Field with name "${M}" not found in node "${b.value.name}"`);return L},I=(U,M,L)=>{const Z=!!L;l(e,U,M,!Z),Z&&k(M,L)},$=(U,M,L)=>{if(_)return;const Z=S(U,M).id;s(e,Z,L)},D=(U,M)=>{const L=S(U,M).id;c(e,L)},j=t.computed(()=>r.value.edges.filter(U=>U.target===e&&!U.targetField)[0]),K=t.computed(()=>r.value.edges.filter(U=>U.target===e&&U.targetField)),k=async(U,M)=>{if(_)return;const L=M==null,Z=S("input",U).id;if(L){const fe=K.value.find(ce=>ce.targetField===Z);fe&&f(fe.id);return}const{nodeId:W,fieldId:re}=au(M),ae=S("input",U).id,de=[];j.value&&(de.push(Qo(j.value,a)),f(j.value.id,!1));const ye=K.value.find(fe=>fe.targetField===Z);ye&&(de.push(Qo(ye,a)),f(ye.id,!1)),u({source:W,sourceField:re,target:e,targetField:ae},!1);const Q=Wl(W,re,e,ae,a),ne=de[0]&&Q?de[0][1]===Q[1]:!1;if(m(),ne||de.length===0)return;await g(y("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[Q],de)||h()},Y=async U=>{if(_)return;if(U==null){j.value&&f(j.value.id);return}const L=[];for(const de of K.value)L.push(Qo(de,a)),f(de.id,!1);j.value&&f(j.value.id,!1);const{nodeId:Z,fieldId:W}=au(U);u({source:Z,sourceField:W,target:e,targetField:void 0},!1);const re=Wl(Z,W,e,void 0,a);if(m(),L.length===0)return;await g(y("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[re],L)||h()},A=U=>{const M=[...r.value.edges,{source:U,target:e}];return Ya(Ur(M))},F=t.computed(()=>{var M,L;const U=[];for(const Z of r.value.nodes)if(!(!o&&Z.type==="vault"||!((M=To(Z.type).io)!=null&&M.output))&&Z.fields.output&&Z.id!==e&&!(Z.type==="property"&&!Vl((L=Z.config)==null?void 0:L.property))&&!A(Z.id)&&!(b.value.phase==="request"&&Z.phase==="response")){U.push({value:Z.id,label:Z.name});for(const re of Z.fields.output)U.push({value:`${Z.id}.${re.id}`,label:`${Z.name}.${re.name}`})}return U}),R=t.computed(()=>b.value.fields.input.map(U=>U.name)||[]);function ee(U){p.value.delete(e),U||p.value.add(e)}const q=wV(e);function H(U,M,L){const Z=a(e);if(!Z)throw new Error("Node not found when validating field name");const W=Yn(Z,U,M);return q(U,L,W==null?void 0:W.id)}return{formData:w,inputOptions:F,inputEdge:j,inputsEdges:K,inputsFieldNames:R,currentNode:b,setName:v,setConfig:x,addField:I,renameFieldByName:$,removeFieldByName:D,setInputs:k,setInput:Y,nameValidator:_m(e),fieldNameValidator:H,toggleNodeValid:ee}}function Pn(e){const{getSchema:n}=Le();return t.computed(()=>{if(At(e))switch(e){case"response":return mV;case"service_request":return pV}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 er=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Pe(),a=t.ref(o.name),l=t.computed(()=>{const f=o.validate(a.value.trim());return f===void 0?"":f});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,f=>{f!==a.value&&(a.value=f)}),(f,u)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":u[0]||(u[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"])}}}),CV=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Pe(),o=t.useTemplateRef("form"),r=Pn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:f,nameValidator:u,toggleNodeValid:p,fieldNameValidator:m}=In(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:h}=Vi({validationConfig:{url:ao(lo({fieldName:"URL"}),mm("url",{fieldName:"URL"})),timeout:ao(hm("integer",{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}),ym(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(_,b)=>{const w=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(er,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(w,{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(Ln,{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(aV,{name:"method",onUpdate:b[0]||(b[0]=v=>t.unref(l)())}),t.createVNode(Fn,{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(Ln,{name:"ssl_server_name","onUpdate:modelValue":b[1]||(b[1]=v=>t.unref(l)("ssl_server_name"))}),t.createVNode(io,{"field-name-validator":t.unref(m),"field-names":t.unref(f),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"])}}}),EV=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Pn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=In(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(io,{"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"]))}}),NV=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Pn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=In(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(io,{"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"]))}}),bm={jqlang:"https://jqlang.org/manual/"},SV=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:o}=Pe(),r=t.useTemplateRef("form"),i=Pn("jq"),{formData:a,setName:l,setConfig:s,inputOptions:c,setInputs:d,setInput:f,addField:u,removeFieldByName:p,renameFieldByName:m,inputsFieldNames:h,nameValidator:y,toggleNodeValid:g,fieldNameValidator:_}=In(e.nodeId,()=>r.value.getInnerData());function b($,D){u("input",$,D)}function w($){p("input",$)}function v($,D){m("input",$,D)}const x=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:S}=Vi({validationConfig:{jq:ao(lo({fieldName:x}),hV(1,10240,{fieldName:x}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:g}),I=S("jq",()=>s("jq"));return($,D)=>{const j=t.resolveComponent("KLabel"),K=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(er,{name:t.unref(a).name,validate:t.unref(y),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(j,{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(Ln,{autosize:"",error:t.unref(I).error.value,"error-message":t.unref(I).errorMessage.value,label:t.unref(x),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(I).onBlur,"onUpdate:modelValue":t.unref(I).onUpdate},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(K,{"hide-icon":"",href:t.unref(bm).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(bm).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(io,{"field-name-validator":t.unref(_),"field-names":t.unref(h),items:t.unref(c),"onAdd:field":b,"onChange:input":t.unref(f),"onChange:inputs":t.unref(d),"onRemove:field":w,"onRename:field":v},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),vV=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}=Ea(o,r,!1),{i18n:d}=Pe(),f=t.useTemplateRef("root"),u=t.ref(null);let p;async function m(x,S="key"){var I;f.value&&(await t.nextTick(),(I=f.value.querySelector(`[data-${S}-input="${x}"]`))==null||I.focus())}function h(){const x=l(),S=a.value.findIndex(({key:I})=>!I);m(S===-1?a.value.length-1:S),u.value=x}function y(x){var S;x.id===((S=u.value)==null?void 0:S.id)&&(u.value=null),s(x.id),x.key.trim()!==""&&r("remove:field",x.key)}function g(x){p=x.key}function _(x){var S;if(w(x)){x.key=p,delete i.value[x.id];return}if(x.id===((S=u.value)==null?void 0:S.id)){if(x.key.trim()==="")return;u.value=null,r("add:field",x.key,x.value)}else r("rename:field",p,x.key);p=x.key}function b(x,S){var $;if(S.id===(($=u.value)==null?void 0:$.id))return;const I=x.target.value.trim();r("change:value",S.key,I)}function w(x){delete i.value[x.id];const S=o.fieldNameValidator("output",p,x.key);if(S)return i.value[x.id]=S,S}function v(x){w(x)}return t.watchEffect(()=>{u.value&&!a.value.some(x=>x.id===u.value.id)&&a.value.push(u.value)}),(x,S)=>{const I=t.resolveComponent("KAlert"),$=t.resolveComponent("KLabel"),D=t.resolveComponent("KButton"),j=t.resolveComponent("KInput"),K=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(I,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:f,class:"dk-output-value-field"},[t.createVNode($,{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),(k,Y)=>(t.openBlock(),t.createBlock(K,{key:k.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${Y}`},{actions:t.withCtx(()=>[t.createVNode(D,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${Y}`,icon:"",onClick:A=>y(k)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(j,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${Y}`,modelValue:k.key,"onUpdate:modelValue":[A=>k.key=A,A=>w(k)],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[k.id],"error-message":i.value[k.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:A=>v(k),onChange:A=>_(k),onFocus:A=>g(k)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(j,{modelValue:k.value,"onUpdate:modelValue":A=>k.value=A,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:A=>b(A,k)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(D,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!u.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.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 xV(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 Ri(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 AV(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 IV=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=at(),{fieldNameValidator:c}=In(e.nodeId),d=Pn("static"),f=_m(e.nodeId),u=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var w;return((w=u.value)==null?void 0:w.fields.output.map(v=>v.name))||[]});function m(w){if(!u.value)throw new Error("No current node");n(u.value.id,w??"")}const h=t.computed(()=>{var D;if(!u.value)return{};const w=((D=u.value.config)==null?void 0:D.values)??{},v={},x=o(u.value.id).map(j=>j.sourceField).filter(Boolean).map(j=>Zt(u.value,"output",j)).map(j=>j==null?void 0:j.name).filter(Boolean),S=u.value.fields.output.map(j=>j.name),I=Object.keys(w);return new Set([...I,...x,...S]).forEach(j=>{if(j in w){v[j]=w[j];return}v[j]=""}),{name:u.value.name,values:xV(v)}});function y(w,v){if(!u.value)throw new Error("No selected node");const x=v!==void 0;if(r(e.nodeId,"output",w,!x),x){const S={values:Ri({...h.value.values,[w]:v})};l(e.nodeId,S)}}function g(w,v){if(!u.value)throw new Error("No selected node");const x=Yn(u.value,"output",w);if(!x)throw new Error("No field found to rename");const S={values:Ri(AV(h.value.values??{},w,v))};l(e.nodeId,S,!1),i(e.nodeId,x.id,v)}function _(w){var S;if(!u.value)throw new Error("No selected node");const v=Yn(u.value,"output",w);if(!v)throw new Error("No field found to delete");a((S=u.value)==null?void 0:S.id,v.id,!0,!1);const x={values:Ri({...h.value.values})};delete x.values[w],l(e.nodeId,x)}function b(w,v){if(!u.value)throw new Error("No selected node");const x={...h.value.values};x[w]=v;const S={values:Ri(x)};l(e.nodeId,S)}return(w,v)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>{var x;return[t.createVNode(er,{name:((x=u.value)==null?void 0:x.name)??"",validate:t.unref(f),onUpdate:m},null,8,["name","validate"]),t.createVNode(vV,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":y,"onChange:value":b,"onRemove:field":_,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),PV={class:"dk-kong-property-item"},TV={class:"property-type"},OV={class:"property-badges"},$V=Ee(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=Pe(),r=e,i=n,{formData:a}=Le(),l=t.ref(Xo(a.property)),s=t.computed(()=>Zo(a.property)),c=t.ref(Bl(a.property)),d=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(vn).map(([m])=>{var g;const h=Zo(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(oo,"")):a.property===m;return{label:h&&c.value?m.replace(oo,c.value):m,value:m,selected:h}}));function u(m){const h=Si.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!==Xo(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=Xo(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Bl(m),l.value=Xo(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:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=b=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:b})=>[t.createElementVNode("div",PV,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(b.label),1),t.createElementVNode("div",TV,t.toDisplayString(t.unref(vn)[b.value].dataType),1)]),t.createElementVNode("div",OV,[t.unref(vn)[b.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(vn)[b.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]=b=>c.value=b),u],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=b=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),BV=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=at(),a=Pn("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:f,setInput:u,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,fieldNameValidator:y}=In(e.nodeId,()=>n.value.getInnerData()),g=t.computed(()=>Rl(l.value.property));function _(w){var x;const v=(x=o.value)==null?void 0:x.id;if(!v)throw new Error("Expected selectedNode to be defined");Vl(w)||i(v,!1),Rl(w)||r(v,!1),c()}const{fields:b}=Vi({validationConfig:()=>({property:lo({fieldName:"Property"}),key:Zo(l.value.property)?lo({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Bl(l.value.property)}),toggleNodeValid:h});return(w,v)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(er,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(vt,{name:"content_type",onUpdate:v[0]||(v[0]=x=>t.unref(c)())}),t.createVNode($V,{validators:t.unref(b),"onUpdate:modelValue":_,"onUpdate:propertyKey":v[1]||(v[1]=x=>t.unref(c)("property-key"))},null,8,["validators"]),g.value?(t.openBlock(),t.createBlock(io,{key:0,"field-name-validator":t.unref(y),"field-names":t.unref(p),items:t.unref(d),"onChange:input":t.unref(u),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),VV=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Pn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:f,toggleNodeValid:u,fieldNameValidator:p}=In(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=Vi({validationConfig:{status:ao(hm("integer",{fieldName:"Status"}),ym(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:u}),h=m("status",()=>a("status"));return(y,g)=>(t.openBlock(),t.createBlock(mt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(er,{name:t.unref(r).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Fn,{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(Ca,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=_=>t.unref(a)())}),t.createVNode(io,{"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"]))}}),RV=["innerHTML"],DV=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${eu}px`},offsetTop:{default:`${uN}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=at(),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 CV;case"service_request":return EV;case"response":return NV;case"jq":return SV;case"static":return IV;case"property":return BV;case"exit":return VV;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(gt)(o.value.type)},null,8,RV)):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(um,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible"]))}}),MV=Ee(DV,[["__scopeId","data-v-0b3e4bcc"]]),LV={class:"dk-editor-content"},FV={class:"header"},UV={class:"title"},KV={class:"body"},jV={class:"node-selection-panel"},qV={class:"main"},GV=Ee(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=je.createI18n("en-us",We),{sidePanelExpanded:o}=Wa(),{propertiesPanelOpen:r,selectedNode:i}=at();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",LV,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:l.value}])},[t.createElementVNode("header",FV,[t.createElementVNode("h2",UV,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",KV,[t.createElementVNode("div",jV,[t.createVNode(iV)])])],2),t.createElementVNode("div",qV,[t.createVNode(YB)]),t.createVNode(MV,{"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"]]),zV={key:0,class:"dk-editor-modal"},HV=Ee(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(s=>({"5fe3dd96":`${t.unref(dN)}px`,"480b2f5d":`${t.unref(Qd)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal"),{clear:i}=at();fB(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const a=Ke.useScrollLock(document);t.watch(n,s=>{a.value=!!s,s||i()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(t.openBlock(),t.createElementBlock("div",zV,[t.createVNode(KB,{class:"nav",onBack:l}),t.createVNode(GV,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(MB,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-917708bb"]]),YV={class:"dk-flow-editor"},WV={class:"flow-panels-container"},XV={class:"overlay"},ZV=Ee(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:o}=je.createI18n("en-us",We),{formData:r}=Le(),i=n;function a(c,d){const f={...r.config,nodes:c},u={...r.__ui_data,nodes:d};r.config=f,r.__ui_data=u,i("change",f,u)}const{modalOpen:l,setPendingFitView:s}=mu(r,{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{s(!0)},{flush:"post"}),(c,d)=>{const f=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",YV,[t.createElementVNode("div",WV,[t.createVNode(Zl,{inactive:t.unref(l),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",XV,[t.createVNode(f,{appearance:"secondary",class:"button-open-editor",onClick:d[0]||(d[0]=u=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ce.ExpandIcon))]),_:1})])]),t.createVNode(HV,{open:t.unref(l),"onUpdate:open":d[1]||(d[1]=u=>t.isRef(l)?l.value=u:null)},null,8,["open"])])}}}),[["__scopeId","data-v-d41cc8b7"]]);function JV(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 QV(e){const n=e.path[2];return n==="output"||n==="outputs"}function eR(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function wm(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 f="input"in c&&c.input!=null,u="inputs"in c&&eR(c.inputs);f&&u&&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 f of JV(c,d)){const u=f.value.split(".",1)[0];if(a.has(u)||o.addIssue({code:"custom",message:`Unknown node "${u}" in connection "${f.value}"`,path:f.path}),QV(f)){const p=`${f.nodeName}->${u}`;s.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${f.nodeName}" outputs to "${u}" and "${u}" inputs from "${f.nodeName}". Specify it on one side only.`,path:f.path}):l.set(p,l.get(p)??f.path)}else{const p=`${u}->${f.nodeName}`;l.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${u}" outputs to "${f.nodeName}" and "${f.nodeName}" inputs from "${u}". Specify it on one side only.`,path:f.path}):s.set(p,s.get(p)??f.path)}}})}const tR=J.z.enum(tu),nR=J.z.enum(zn),km=e=>zn.includes(e),Jl=J.z.enum(nu),Cm=Jl.options;J.z.union([Jl,tR]);const oR=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,Em=J.z.string().min(1).max(255).regex(oR,"Invalid node name (snake_case / kebab-case only)").refine(e=>!km(e),"Name clashes with reserved implicit node").brand(),Nm=J.z.union([nR,Em]),rR=J.z.string().min(1).brand(),Bt=J.z.string().refine(e=>{if(Nm.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return Nm.safeParse(o).success&&rR.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),Sm=J.z.enum(ou),tr=J.z.object({type:J.z.string(),name:Em,input:Bt,inputs:J.z.record(J.z.string(),Bt).nullish(),output:Bt,outputs:J.z.record(J.z.string(),Bt).nullish()}).loose(),iR=J.z.object({type:J.z.string(),name:J.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}),Cm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Cm.join(", ")}`})}),aR=tr.extend({type:J.z.literal("call"),method:Sm.nullish(),ssl_server_name:J.z.string().min(1).nullish(),timeout:J.z.number().int().min(0).max(2147483646).nullish(),url:J.z.url(),inputs:J.z.object({body:Bt,headers:Bt,query:Bt}).partial().nullish(),outputs:J.z.object({body:Bt,headers:Bt,status:Bt}).partial().nullish()}).strict(),lR=tr.extend({type:J.z.literal("exit"),status:J.z.number().int().min(200).max(599).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),sR=tr.extend({type:J.z.literal("jq"),jq:J.z.string().min(1).max(10240),outputs:J.z.never().optional()}).strict(),cR=tr.extend({type:J.z.literal("property"),content_type:J.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:J.z.string().min(1),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),dR=tr.extend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),uR=iR.pipe(J.z.discriminatedUnion("type",[aR,lR,sR,cR,dR])),fR=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),pR=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),mR=J.z.object({host:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),gR=J.z.object({ip:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),hR=J.z.object({host:J.z.string().optional().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).optional().default(6379),connect_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),send_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),read_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),username:J.z.string().optional(),password:J.z.string().optional(),sentinel_username:J.z.string().optional(),sentinel_password:J.z.string().optional(),database:J.z.number().int().optional().default(0),keepalive_pool_size:J.z.number().int().min(1).max(2147483646).default(256),keepalive_backlog:J.z.number().int().min(0).max(2147483646).optional(),sentinel_master:J.z.string().optional(),sentinel_role:J.z.enum(["master","slave","any"]).optional(),sentinel_nodes:J.z.array(mR).min(1,{message:"sentinel_nodes must contain at least 1 item"}).optional(),cluster_nodes:J.z.array(gR).min(1,{message:"cluster_nodes must contain at least 1 item"}).optional(),ssl:J.z.boolean().default(!1).optional(),ssl_verify:J.z.boolean().default(!1).optional(),server_name:J.z.string().optional(),cluster_max_redirections:J.z.number().int().default(5).optional(),connection_is_proxied:J.z.boolean().default(!1).optional(),timeout:J.z.number().int().optional(),sentinel_addresses:J.z.array(J.z.string()).min(1).optional(),cluster_addresses:J.z.array(J.z.string()).min(1).optional()}).superRefine((e,n)=>{var c;const o=e.host!==void 0&&e.host!==null,r=e.port!==void 0&&e.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,l=!!((c=e.sentinel_nodes)!=null&&c.length),s=[i,a,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!o&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),yR=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:pR,redis:hR}),_R=J.z.object({vault:fR.nullish(),cache:yR.nullish()});J.z.array(J.z.object({id:J.z.string()})),J.z.object({nodes:J.z.array(uR).min(1,"At least one node is required"),debug:J.z.boolean().nullish(),resources:_R.nullish()}).strict().superRefine((e,n)=>{wm(e,zn,n)});const vm=Jl.options,bR=J.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!km(e),"Node name conflicts with reserved implicit node"),Vt=J.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"),nr=J.z.object({type:J.z.string(),name:bR,input:Vt.nullish(),inputs:J.z.record(J.z.string(),Vt.nullish()).nullish(),output:Vt.nullish(),outputs:J.z.record(J.z.string(),Vt.nullish()).nullish()}).loose(),wR=J.z.object({type:J.z.string(),name:J.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}),vm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${vm.join(", ")}`})}),kR=nr.extend({type:J.z.literal("call"),method:Sm.nullish(),ssl_server_name:J.z.string().nullish(),timeout:J.z.union([J.z.number(),J.z.string()]).nullish(),url:J.z.string().nullish(),inputs:J.z.object({body:Vt.nullish(),headers:Vt.nullish(),query:Vt.nullish()}).partial().nullish(),outputs:J.z.object({body:Vt.nullish(),headers:Vt.nullish(),status:Vt.nullish()}).partial().nullish()}).strict(),CR=nr.extend({type:J.z.literal("exit"),status:J.z.union([J.z.number(),J.z.string()]).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),ER=nr.extend({type:J.z.literal("jq"),jq:J.z.string().nullish(),outputs:J.z.never().optional()}).strict(),NR=nr.extend({type:J.z.literal("property"),content_type:J.z.string().nullish(),property:J.z.string().nullish(),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),SR=nr.extend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()).nullish(),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),vR=wR.pipe(J.z.discriminatedUnion("type",[kR,CR,ER,NR,SR])),xR=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),AR=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),IR=J.z.object(),PR=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:AR.optional(),redis:IR.optional()}),TR=J.z.object({vault:xR.nullish(),cache:PR.nullish()}),OR=J.z.object({nodes:J.z.array(vR).nullish(),debug:J.z.boolean().nullish(),resources:TR.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||wm(e,zn,n)}).nullish(),$R={class:"option-label"},BR=["innerHTML"],VR=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}=je.createI18n("en-us",We),o=e,r=t.inject(vr.DATAKIT_ENABLE_FLOW_EDITOR,!1),i=t.inject(vr.DATAKIT_M2,!1),{editorMode:a}=Wa(),l=t.computed(()=>r&&c.value?a.value:"code"),s={flow:Ce.DesignIcon,code:Ce.CodeblockIcon},c=t.ref(!0),d=t.computed(()=>{const y=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return y[0].disabled=!c.value,y}),f=t.computed(()=>{switch(l.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(l,()=>{var y;(y=o.onValidityChange)==null||y.call(o,{model:"config",valid:!0})});function u(){var y;(y=o.onValidityChange)==null||y.call(o,{model:"config",valid:!0})}function p(){u()}function m(y){var b;u();const{success:g}=OR.safeParse(y);let _=g;!i&&_&&(b=y.resources)!=null&&b.vault&&(_=!1),c.value=_}function h(y){var g;c.value=!1,(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!1,error:y})}return(y,g)=>{const _=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(Xc,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(b=>[t.createVNode(mt,t.mergeProps(b,{tag:"div"}),{default:t.withCtx(()=>[l.value==="flow"?(t.openBlock(),t.createBlock(ZV,{key:0,"is-editing":o.isEditing,onChange:p},null,8,["is-editing"])):l.value==="code"?(t.openBlock(),t.createBlock(cN,{key:1,class:"code-editor",editing:o.isEditing,onChange:m,onError:h},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},1040)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:f.value},null,8,BR)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(xe.KSegmentedControl),{"model-value":l.value,options:d.value,"onUpdate:modelValue":g[0]||(g[0]=b=>a.value=b)},{"option-label":t.withCtx(({option:b})=>[t.createVNode(_,{disabled:c.value||b.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",$R,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(s[b.value]))),t.createTextVNode(" "+t.toDisplayString(b.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-8aeabb6e"]]),xm=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))},Am=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},RR=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 f,u;const d=Vn(c);return(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Am(p.headers),Am(p.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var f,u;const d=Vn(c);(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{xm(p.headers),xm(p.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(mt,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:f})=>[t.createVNode(Ar,{appearance:"tabs","item-label":(u,p)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:p+1}),name:f,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(Ir)]),_:1},8,["data","schema"]))}}),DR=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(Oe.AUTOFILL_SLOT,o==null?void 0:o[Oe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Sa,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(RR,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),MR=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 f=Object.keys(d)[0];d[f].required?s.push(f):c.push(f)}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(mt,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(Ir,{class:"ff-advanced-fields"},{default:t.withCtx(()=>[t.createVNode(rt,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),[["__scopeId","data-v-3e5ed51d"]]),Im=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:DR,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(Oe.AUTOFILL_SLOT,o==null?void 0:o[Oe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Xc,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(MR,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),DatakitForm:VR,RequestCalloutForm:Kw,ServiceProtectionForm:Rk},Symbol.toStringTag,{value:"Module"})),LR={class:"kong-ui-entities-plugin-form"},FR={key:1,class:"entity-form"},UR={class:"plugin-config-empty-state"},KR=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 de,ye;const o=Object.keys(Oe.sharedForms),r=Object.keys(Im);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}=pe.useAxios((de=a.config)==null?void 0:de.axiosRequestConfig),{parseSchema:s}=De.useSchemas({entityId:((ye=a.entityMap.focusedEntity)==null?void 0:ye.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:f,isObjectEmpty:u,unsetNullForeignKey:p}=De.usePluginHelpers(),m=De.useExperimentalFreeForms(),{objectsAreEqual:h}=pe.useHelpers(),{i18n:{t:y}}=Pe(),g=Q=>a.config.app==="konnect"?Q.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?Q.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):Q,_=(Q,ne)=>{let le=`${a.config.apiBaseUrl}${Fe.form[a.config.app].entityGetOne}`;return le=g(le),le=le.replace(/{entity}/gi,Q),le=le.replace(/{id}/gi,ne),le},b=Q=>{let ne=`${a.config.apiBaseUrl}${Fe.form[a.config.app].entityGetAll}`;return ne=g(ne),ne=ne.replace(/{entity}/gi,Q),ne},w=(Q,ne)=>{const le=_(Q,ne);return l.get(le)},v=(Q,ne)=>{const le=b(Q);return a.config.app==="konnect"?l.get(le).then(fe=>{const{data:{data:ce}}=fe;if(delete ne.size,delete ne.offset,ce.length&&Object.keys(ne).length===1){const E=Object.keys(ne)[0],N=ce.filter(P=>P[E]?!!P[E].toLowerCase().includes(ne[E].toLowerCase()):!1);fe.data.data=N}return fe}):l.get(le,{params:ne})},x=(Q,ne,le)=>{const fe=b(Q);if(a.config.app==="konnect"){const{size:ce,offset:E,...N}=ne;if(Q==="consumer_groups")return l.get(fe,{params:{size:1e3},signal:le}).then(C=>{const{data:{data:O}}=C;if(O.length&&Object.keys(N).length===1){const T=Object.keys(N)[0],G=O.filter(X=>X[T]?!!X[T].toLowerCase().includes(N[T].toLowerCase()):!1);C.data.data=G}return C});const P={size:ce,offset:E};for(const C of Object.keys(N))P.filter={[C]:{contains:N[C]}};return l.get(fe,{params:P,signal:le})}return l.get(fe,{params:ne,signal:le})},S=(Q,ne=50)=>{const le=b(Q);return l.get(le,{params:{size:ne}})};t.provide(Oe.FORMS_API_KEY,{getOne:w,getAll:v,getAllV2:x,peek:S}),t.provide(Oe.FORMS_CONFIG,a.config);const I=t.ref(""),$=t.ref(""),D=t.ref(null),j=t.ref({}),K=t.reactive({}),k=t.reactive({}),Y=t.computed(()=>{var Q;return(Q=D.value)==null?void 0:Q.options}),A=t.ref(!1),F=t.ref(),R=(Q,ne)=>{A.value=Q??"",F.value=ne},ee=Q=>{var ne;(ne=F.value)==null||ne.call(F,Q),A.value=!1},q=()=>{var N,P;const Q={...a.schema},ne=k,le=K,fe=Object.keys(ne),ce={};if(!u(j.value))for(let C=0;C<((P=(N=j.value)==null?void 0:N.fields)==null?void 0:P.length);C++)Q[j.value.fields[C].model]=j.value.fields[C];Oe.customFields.forEach(C=>{Q[C]&&(Q[C].fields.forEach(O=>{O.fields&&O.fields.forEach(T=>{Q[T.model]=T}),O.model&&(Q[O.model]=O)}),delete Q[C])}),fe.forEach(C=>{var he;if(!Q[C]){C==="partials"&&(ce[C]=ne[C]);return}const O=Q[C];let T=ne[C];const G=le[C],X=Array.isArray(T)?"array":typeof T,B=O?O.valueType:null,te=O?O.valueArrayType:null,V=O?O.transform:null;if(T==null&&G==null&&!O.submitWhenNull)return;if(O){if(B&&X!==B)switch(B){case"array":X==="string"&&T.length&&(T=T.split(",").map(ge=>{if(ge=ge.trim(),te==="string")return String(ge);if(te==="number")return Number(ge);if(te==="boolean"){if(typeof ge=="string")return ge.toLowerCase()==="true"||ge==="1";if(typeof ge=="number")return ge===1}return ge})),(!T||!T.length)&&(T=O.submitWhenNull?null:[]);break;case"number":T=Number(T);break;case"boolean":X==="string"&&(T=T.toLowerCase()==="true"||T==="1"),X==="number"&&(T=T===1);break;case"string":T=T==null?"":String(T);break}else B==="array"&&(!T||!T.length?T=O.submitWhenNull?null:[]:((he=O.inputAttributes)==null?void 0:he.type)==="number"&&(T=T.map(ge=>Number(ge))));if(O.type==="array"&&O.nestedFields){const ge=oe=>{Object.keys(oe).forEach(ue=>{oe[ue]&&typeof oe[ue]=="object"&&!Array.isArray(oe[ue])&&oe[ue]!==null?ge(oe[ue]):(oe[ue]===void 0||oe[ue]===null||typeof oe[ue]=="number"&&isNaN(oe[ue])||typeof oe[ue]=="string"&&oe[ue].trim().length===0)&&delete oe[ue]})};T&&typeof T=="object"&&ge(T)}O.type==="object-advanced"&&O.fields&&T!==null&&(Object.entries(T).length===0?T=null:Object.keys(T).forEach(ge=>{Array.isArray(T[ge])||(T[ge]=T[ge].split(","))}))}let me=c(C);if(O.fieldNameHasDashes){const[ge,...oe]=me.split(".").reverse();me=[ge.replace(/_/g,"-"),...oe].reverse().join(".")}if(B==="object-expand"){let ge;[me,ge]=me.split(".");let oe={};ce[me]&&(oe=ce[me]),oe[ge]=T,T=oe}G!==void 0&&T===""&&T!==G?ce[me]=B==="object"?{}:null:O.type==="checklist"&&T===""?ce[me]=[]:T!==""&&(ce[me]=T),ce[me]=V?V(T):ce[me],p(me,ce)});const E=d(ce);return $.value&&Object.assign(E,Z.value),E},H=(Q,ne={})=>{f(k,ne,Q,a.editing),i("model-updated",{model:k,originalModel:K,data:q()})},U=(Q,ne)=>{var ce;const le={[ne]:Q};typeof((ce=a.schema[ne])==null?void 0:ce.modelTransformer)=="function"&&(le[ne]=a.schema[ne].modelTransformer(Q));const fe=Object.assign({},k,le);Object.assign(k,fe),i("model-updated",{model:k,originalModel:K,data:q()})},M=Q=>{i("validity-change",Q)},L=(Q,ne)=>{Object.keys(Q).forEach(le=>{var P,C;let fe=ne?`${ne}-${le}`:le,ce=a.schema[fe];if(!ce){const O=ne?`${ne}-${le.replace(/-/g,"_")}`:le.replace(/-/g,"_");(P=a.schema[O])!=null&&P.fieldNameHasDashes&&(fe=O,ce=a.schema[fe]),ne&&((C=a.schema[ne])==null?void 0:C.keyFromObject)===le&&(fe=ne,ce=a.schema[fe])}const E=Q[le],N=typeof E;if(ce&&ce.type==="object-advanced"&&!E){k[fe]={},K[fe]={};return}if(Array.isArray(E)){k[fe]=JSON.parse(JSON.stringify(E)),K[fe]=JSON.parse(JSON.stringify(E));return}if(N==="object"&&E&&!E.length)return L(E,fe);if(N==="object"&&E&&E.length&&ce.type==="input"){k[fe]=E.join(", "),K[fe]=E.join(", ");return}k[fe]=E,K[fe]=E}),i("model-updated",{model:k,originalModel:K,data:q()})},Z=t.shallowRef(a.record),W=Q=>{Z.value=Q,i("model-updated",{model:{...k,...Q},originalModel:K,data:q()})},re=t.ref(!0),ae=()=>{var Q;if(a.record&&a.schema&&(L({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)&&L({consumer_id:a.record.consumer_id||a.record.consumer}),L(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)&&L({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&&H("redis",{partials:a.record.partials}),$.value?W(a.record):L(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ne={};for(const le in a.entityMap){const fe=a.entityMap[le].id,ce=a.entityMap[le].idField,E=ce==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ce).replace("_","-"));Object.prototype.hasOwnProperty.call(k,E)&&(ne[E]=fe)}L(ne)}if((Q=a.entityMap.consumer)!=null&&Q.id&&a.schema&&a.credential){const ne={};Object.prototype.hasOwnProperty.call(k,"consumer")&&(ne.consumer=a.entityMap.consumer.id),L(ne)}re.value=!1};return t.watch(re,Q=>{i("loading",Q)}),t.watch(()=>a.schema,(Q,ne)=>{var fe,ce;if(h(Q||{},ne||{}))return;const le=s(Q,void 0,void 0,a.engine);Object.assign(k,le.model),j.value={fields:(ce=(fe=j.value)==null?void 0:fe.fields)==null?void 0:ce.map(E=>({...E,disabled:E.disabled||!1}))},Object.assign(K,JSON.parse(JSON.stringify(le.model))),$.value=a.engine?a.engine==="vfg"?void 0:pa(le.model.name,m)||"CommonForm":pa(le.model.name,m),I.value=Oe.getSharedFormName(le.model.name),ae()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var Q,ne;D.value=s(a.schema,void 0,void 0,a.engine),Object.assign(k,((Q=D.value)==null?void 0:Q.model)||{}),j.value=((ne=D.value)==null?void 0:ne.schema)||{},ae()}),(Q,ne)=>{var fe;const le=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",LR,[re.value?(t.openBlock(),t.createBlock(le,{key:0,type:"form"})):k.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",FR,[$.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(Im[$.value]),{key:0,"form-model":k,"form-options":Y.value,"form-schema":j.value,"is-editing":e.editing,model:e.record,"on-form-change":W,"on-model-updated":U,"on-validity-change":M,schema:e.rawSchema,onGlobalAction:ne[0]||(ne[0]=(ce,E)=>Q.$emit("globalAction",ce,E))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Oe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(dr.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):I.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Oe.sharedForms)[I.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":k,"form-options":Y.value,"form-schema":j.value,"is-editing":e.editing,"on-model-updated":U,"on-partial-toggled":H,"show-new-partial-modal":ce=>Q.$emit("showNewPartialModal",ce)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Oe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(dr.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),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(Oe.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:k,options:Y.value,schema:j.value,onModelUpdated:U,onPartialToggled:H,onRefreshModel:q,onShowNewPartialModal:ne[1]||(ne[1]=ce=>Q.$emit("showNewPartialModal",ce))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",UR,t.toDisplayString(t.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(fe=t.unref(Nt)[k.name])!=null&&fe.fieldRules&&(a.config.isNewOtelSchema||k.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(G0,{rules:t.unref(Nt)[k.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Oe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(dr.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),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(dr.VaultSecretPicker),{config:a.config,setup:A.value,onCancel:ne[2]||(ne[2]=()=>A.value=!1),onProceed:ee},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-3a5319dd"]]),jR={key:1},qR=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",jR,[t.renderSlot(n.$slots,"default")]))}}),GR={class:"kong-ui-entities-plugin-form-container"},zR={key:0},HR={class:"plugin-form-actions"},YR=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 X;const o=n,r=e,i=so.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}=pe.useErrors(),{capitalize:f}=pe.useStringHelpers(),{objectsAreEqual:u}=pe.useHelpers(),{axiosInstance:p}=pe.useAxios((X=r.config)==null?void 0:X.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),y=t.computed(()=>r.pluginId?pe.EntityBaseFormType.Edit:pe.EntityBaseFormType.Create),g=t.ref(void 0),_=t.ref(void 0),b=t.computed(()=>!!(r.credential&&r.config.entityId)),w=t.ref(void 0),v=t.ref({}),x=t.ref(),S=t.ref();t.provide(Hc,{redisType:x,redisPath:S,isEditing:h.value});const I=t.ref(!1),$=t.reactive({enabled:!0,protocols:[],tags:[]}),D=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),j=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&j.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const K=t.ref(""),k=t.computed(()=>{var te;if(b.value){let V=Fe.form[r.config.app].credential[y.value];return V=V.replace(/{resourceEndpoint}/gi,R.value),V}let B;return r.config.entityType&&r.config.entityId?B=Fe.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):B=Fe.form[r.config.app].edit.all,r.config.app==="konnect"&&((te=Nt[r.pluginType])!=null&&te.useUIData)?`${B}?__ui_data=true`:B}),Y=()=>{m.value=!m.value},A=t.computed(()=>{var ge,oe,ue,ve,Ne,se,ie,Me;const B=r.config.entityType==="consumers"&&r.config.entityId||((oe=(ge=w.value)==null?void 0:ge.consumer)==null?void 0:oe.id),te=r.config.entityType==="consumer_groups"&&r.config.entityId||((ve=(ue=w.value)==null?void 0:ue.consumer_group)==null?void 0:ve.id),V=r.config.entityType==="services"&&r.config.entityId||((se=(Ne=w.value)==null?void 0:Ne.service)==null?void 0:se.id),me=r.config.entityType==="routes"&&r.config.entityId||((Me=(ie=w.value)==null?void 0:ie.route)==null?void 0:Me.id);if(!(B||te||V||me))return{global:{entity:z.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const he={};return V&&(he.service={entity:z.PluginScope.SERVICE,entityEndpoint:"services",id:V,idField:rn.SERVICE}),me&&(he.route={entity:z.PluginScope.ROUTE,entityEndpoint:"routes",id:me,idField:rn.ROUTE}),B&&(he.consumer={entity:z.PluginScope.CONSUMER,entityEndpoint:"consumers",id:B,idField:rn.CONSUMER}),te&&(he.consumer_group={entity:z.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:te,idField:rn.CONSUMER_GROUP}),r.config.entityType&&(he.focusedEntity={entity:z.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:rn[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),he}),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===pe.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}),R=t.computed(()=>{var V;const B=r.developer?"developers":"consumers",te=((V=On[r.pluginType])==null?void 0:V.endpoint)||"/plugins";return`${B}/${r.config.entityId}${r.developer?"/credentials":""}${te}`}),ee=B=>{const te=Array.from(new Set(B.map(V=>typeof V)));return te.length>1?"string":te[0]},q=(B,te,V,me)=>{var ue,ve;let he=te&&te.fields||[];const ge=l[r.pluginType],oe=(ve=(ue=On[r.pluginType])==null?void 0:ue.schema)==null?void 0:ve.fields;return Array.isArray(he)&&(he=he.reduce((Ne,se)=>{const ie=Object.keys(se)[0];return ie.match(/-/g)?Ne[ie.replace(/-/g,"_")]={...se[ie],fieldNameHasDashes:!0}:Ne[ie]=se[ie],Ne},{})),Object.keys(he).sort().forEach(Ne=>{var Ht,or,rr,ir,ar,lr,sr;const se=he[Ne];se.type==="set"&&(se.type="array");const ie=B?`${B}-${Ne}`:`${Ne}`;if((Ht=ge==null?void 0:ge.fieldsToDelete)!=null&&Ht.includes(ie)){Nc(V,ie);return}if(Object.prototype.hasOwnProperty.call(se,"overwrite")||se.hidden)return;if(se.type==="table")return q(ie,se.schema,V);if(se.fields)return me&&se.type==="record"?(V[ie]={type:"object",model:Ne,schema:{fields:Object.values(q(ie,se,{},!0))}},V):q(ie,se,V);if(V[ie]={id:ie,model:Ne},V[ie].type=se.type==="boolean"?"checkbox":"input",V[ie].required=se.required,V[ie].referenceable=se.referenceable,ie.startsWith("config-"))if(!me&&se.type==="array"&&(K.value=ie),me&&K.value&&ie.startsWith(K.value)){const Ie=ie.slice(K.value.length+1);V[ie].label=Ie.split("-").map(c).join(".")}else V[ie].label=c(ie);if((B==="config"||B.startsWith("config-"))&&(or=he[Ne])!=null&&or.description&&(V[ie].help=cr.marked.parse(he[Ne].description,{mangle:!1,headerIds:!1})),se.type==="map"){if(V[ie].type="object-advanced",V[ie].values=se.values,se.values.type==="array"){const{type:Ie}=se.values.elements||{};V[ie].schema={fields:[{schema:{fields:[{...Ae,model:ie,valueArrayType:Ie==="integer"?"number":Ie||"string",inputAttributes:{...Ae.inputAttributes,type:Ie==="integer"?"number":"text",inputMode:Ie==="integer"?"numeric":"text"}}]}}]}}else se.values.fields&&(V[ie].schema={fields:[{type:"object",model:"object",schema:{fields:se.values.fields.map(Ie=>{const st=Object.keys(Ie)[0];return{model:st,type:"input",label:f(st),placeholder:st,inputType:Ie[st].type}})}}]});return V}if(se.enum&&se.type==="array"&&(V[ie].type="checklist",V[ie].values=se.enum,V[ie].multi=!0,V[ie].multiSelect=!0),se.one_of&&se.type!=="array"&&(V[ie].type="select",V[ie].values=se.one_of,V[ie].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),se.elements&&se.type==="array"){const Ie=se.elements;if(V[ie].referenceable=Ie.referenceable,V[ie].elements=Ie,["string","integer","number"].includes(Ie.type)&&!Ie.one_of){const{id:st,help:Ue,label:Se,hint:Te,values:Be,referenceable:Yt,model:ut}=V[ie],{inputAttributes:Di,...zD}=JSON.parse(JSON.stringify(Ae));Di.type=Ie.type==="string"?"text":"number",V[ie]={id:st,help:Ue,label:Se,hint:Te,values:Be,referenceable:Yt,model:ut,inputAttributes:Di,...zD}}}if(se.hint&&(V[ie].hint=se.hint),ge&&!ge.overwriteDefault&&Object.keys(ge).forEach(Ie=>{if(Ie===ie){const{help:st,label:Ue,hint:Se,values:Te,referenceable:Be,elements:Yt}=V[ie],{help:ut,...Di}=ge[Ie];V[ie]={help:st,label:Ue,hint:Se,values:Te,referenceable:Be,elements:Yt,...Di},typeof ut=="string"&&(V[ie].help=cr.marked.parse(ut,{mangle:!1,headerIds:!1}))}}),se.type==="array"&&((rr=se.elements)==null?void 0:rr.type)==="record"&&Array.isArray(se.elements.fields)){let Ie={};for(const Ue of se.elements.fields)Ie={...Ie,...Ue};const st=(lr=(ar=(ir=V[ie])==null?void 0:ir.items)==null?void 0:ar.schema)==null?void 0:lr.fields;if(Array.isArray(st))for(const Ue of V[ie].items.schema.fields){const Se=(sr=Ie[Ue.model])==null?void 0:sr.description;Ue.help===void 0&&typeof Se=="string"&&(Ue.help=cr.marked.parse(Se,{mangle:!1,headerIds:!1}))}if(st||(V[ie].type="array",V[ie].newElementButtonLabelClasses="kong-form-new-element-button-label",V[ie].fieldClasses="array-card-container-wrapper",V[ie].itemContainerComponent="FieldArrayCardContainer",V[ie].items={type:"object",schema:{fields:Object.values(q(ie,se.elements,{},!0))}},V[ie].items.schema.fields.forEach(Ue=>{var Se,Te;for(const Be of se.elements.fields){const Yt=Object.keys(Be)[0],ut=((Te=(Se=Ue.id)==null?void 0:Se.split)==null?void 0:Te.call(Se,"-"))??[];if(ut[ut.length-1]===Yt){Ue.model=Yt,Ue.label=c(Yt);break}}}),se.elements.type==="record"&&(V[ie].nestedFields=!0)),!V[ie].nestedFields)V[ie].items.default=()=>se.elements.fields.reduce((Ue,Se)=>{const Te=Object.keys(Se)[0];return Ue[Te]=Se[Te].default,Ue},{});else{const Ue=(Se,Te)=>{if(Se.type==="object"){Se.model&&(Te[Se.model]={});for(const Be of Se.schema.fields)Ue(Be,Se.model?Te[Se.model]:Te)}else Se.model&&(Te[Se.model]=Se.default)};V[ie].items.default=()=>{const Se={};return Ue(V[ie].items,Se),Se}}}if(b.value&&oe){for(let Ie=0;Ie<oe.length;Ie++)if(oe[Ie][ie]){V[ie]={...V[ie],...oe[Ie][ie]};break}}if(se.required&&se.type!=="boolean"&&(V[ie].required=!0,V[ie].selectOptions={hideNoneSelectedText:!0}),se.required&&se.type==="boolean"&&(V[ie].default=se.default??!1),se.default!=null&&typeof se.default!="object"&&se.default!=="function"&&(V[ie].default=se.default),V[ie].type==="input"){["string","number"].includes(typeof V[ie].default)&&r.config.app==="konnect"&&(V[ie].placeholder=`Default: ${V[ie].default===""?"<empty string>":V[ie].default}`);const{type:Ie}=se.elements||{};Ie&&(V[ie].valueArrayType=Ie==="integer"?"number":Ie),V[ie].inputType=se.type==="array"||se.type==="string"?se.encrypted?"password":"text":se.type}let Me="string";se.enum?Me=ee(se.enum):se.type==="boolean"?Me="boolean":se.type==="number"||se.type==="integer"?(Me="number",V[ie].inputType="number"):se.type==="array"?(Me="array",V[ie].default=se.default,se.len_min>0&&(V[ie].submitWhenNull=!0)):se.type==="foreign"?Me="object":se.default&&Array.isArray(se.default)?(Me="array",V[ie].valueArrayType=ee(se.default)):se.default&&(Me=typeof se.default),V[ie].valueType=Me,se.fieldNameHasDashes&&(V[ie].fieldNameHasDashes=!0)}),V},H=()=>{var ie,Me,Ht,or,rr,ir,ar,lr,sr,Ie,st,Ue;const B=((ie=Nt[r.pluginType])==null?void 0:ie.scope.includes(z.PluginScope.SERVICE))??!0,te=((Me=Nt[r.pluginType])==null?void 0:Me.scope.includes(z.PluginScope.ROUTE))??!0,V=((Ht=Nt[r.pluginType])==null?void 0:Ht.scope.includes(z.PluginScope.CONSUMER))??!0,me=r.config.disableConsumerGroupScope?!1:((or=Nt[r.pluginType])==null?void 0:or.scope.includes(z.PluginScope.CONSUMER_GROUP))??!0,he=r.config.entityType==="consumers"&&!!r.config.entityId||!!((ir=(rr=w.value)==null?void 0:rr.consumer)!=null&&ir.id),ge=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((lr=(ar=w.value)==null?void 0:ar.consumer_group)!=null&&lr.id),oe=r.config.entityType==="services"&&!!r.config.entityId||!!((Ie=(sr=w.value)==null?void 0:sr.service)!=null&&Ie.id),ue=r.config.entityType==="routes"&&!!r.config.entityId||!!((Ue=(st=w.value)==null?void 0:st.route)!=null&&Ue.id),ve=[],Ne=(Se,Te,Be)=>Se?a("plugins.form.disable_source_scope_change",{scope:Be}):Te?a("plugins.form.disable_data_retrieving",{scope:Be}):"",se=Se=>{var Te,Be;return((Be=(Te=r.scopedEntitiesPermissions)==null?void 0:Te[Se])==null?void 0:Be.canRetrieve)===!1};if(B){const Se=se("service"),Te="services",Be=oe&&r.disableScopeSelection;ve.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:Te,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Be||Se,disabledTooltip:Ne(Be,Se,Te)})}if(te){const Se=se("route"),Te="routes",Be=ue&&r.disableScopeSelection;ve.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Be||Se,disabledTooltip:Ne(Be,Se,Te)})}if(V){const Se=se("consumer"),Te="consumers",Be=he&&r.disableScopeSelection;ve.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Be||Se,disabledTooltip:Ne(Be,Se,Te)})}if(me){const Se=se("consumer_group"),Te="consumer_groups",Be=ge&&r.disableScopeSelection;ve.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Be||Se,disabledTooltip:Ne(Be,Se,Te)})}if(ve.length){const Se=[...B?["service"]:[],...te?["route"]:[],...V?["consumer"]:[],...me?["consumer_group"]:[]],Be=Se.splice(Se.length-2,2).map(ut=>a(ut==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ut}.plural`)).join(`${Se.length>0?",":""} and/or `),Yt=["Specific",[...Se.length>0?[Se.map(ut=>a(ut==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ut}.plural`)).join(", ")]:[],Be].join(", ")].join(" ");F.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Yt,fields:[]}),F.selectionGroup.fields[1].fields=ve}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(F,l[r.pluginType].formSchema)},U=t.computed(()=>!u(D.fields,$,!0)),M=t.computed(()=>!T.value&&!I.value&&(y.value===pe.EntityBaseFormType.Create||U.value)),L=t.ref(!1),Z=t.ref(),W=B=>{r.credential&&B.password&&(B.password=""),D.fields.id=(B==null?void 0:B.id)||void 0,Z.value=B==null?void 0:B.ordering,Object.assign($,D.fields),w.value=B,L.value=!0},re=t.ref({}),ae=B=>{var te;D.fields=B.model,D.fields.id=((te=w.value)==null?void 0:te.id)||void 0,Object.assign($,B.originalModel),re.value=B.data,r.isWizardStep&&o("model-updated",{model:D.fields,data:B.data,resourceEndpoint:R.value})},de=t.ref(new Map),ye=t.computed(()=>[D.clientErrorMessage,D.serverErrorMessage].filter(Boolean).join("; ")),Q=B=>{B.valid?de.value.delete(B.model):de.value.set(B.model,B.error),D.clientErrorMessage=[...de.value.entries()].map(([te,V])=>`${te}: ${typeof V=="string"?V:d(V)}`).join("; "),D.clientErrorMessage&&(D.serverErrorMessage="")};t.watch([A,L],(B,te)=>{const V=B[0]!==te[0],me=B[1],he=te[1];if(!b.value&&y.value===pe.EntityBaseFormType.Edit&&(V||me&&me!==he)){const ge=q("config",v.value,F);ce.value&&(ge._isCustomPlugin=!0),x.value&&(ge._supported_redis_partial_type=x.value),_.value=ge}},{deep:!0});const ne=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},le=t.computed(()=>{let B=`${r.config.apiBaseUrl}${Fe.form[r.config.app].validate}`;return r.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),B=B.replace(/{id}/gi,r.pluginId),B}),fe=t.computed(()=>{const B=r.config.entityType&&r.config.entityId&&!r.developer,te=b.value?Fe.form[r.config.app].credential[y.value]:Fe.form[r.config.app][y.value][B?"forEntity":"all"];let V=`${r.config.apiBaseUrl}${te}`;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,R.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}),ce=t.computed(()=>!Object.keys(Nt).includes(r.pluginType)),E=t.computed(()=>{const B=re.value;if(b.value){for(const te in z.PluginScope){const V=z.PluginScope[te];B[V]&&!B[V].id&&(B[V]={id:r.config.entityId})}delete B.created_at}return re.value.partials&&S.value&&Nc(B,S.value),B}),N=t.computed(()=>{const{__ui_data:B,...te}={...E.value};return te}),P=async()=>{if(!D.clientErrorMessage&&!r.isWizardStep)try{D.isReadonly=!0;let B;const te=JSON.parse(JSON.stringify(E.value)),V=l[r.pluginType];typeof(V==null?void 0:V.shamefullyTransformPayload)=="function"&&V.shamefullyTransformPayload({originalModel:$,model:D.fields,payload:te,schema:_.value}),!b.value&&!ce.value&&await p.post(le.value,te),y.value==="create"?B=await p.post(fe.value,te):y.value==="edit"&&(B=r.config.app==="konnect"||x.value&&te.partials?await p.put(fe.value,Object.assign({ordering:Z.value},te)):await p.patch(fe.value,te)),Object.assign($,D.fields),o("update",B==null?void 0:B.data)}catch(B){D.serverErrorMessage=d(B),o("error",B)}finally{D.isReadonly=!1}},C=t.computed(()=>{var me;const B=b.value?(me=On[r.pluginType])==null?void 0:me.schemaEndpoint:r.pluginType,te=b.value?Fe.form[r.config.app].credentialSchema:Fe.form[r.config.app].pluginSchema;let V=`${r.config.apiBaseUrl}${te}`;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,B),V}),O=t.ref(""),T=t.ref(!1),G=t.ref("");return t.onBeforeMount(async()=>{var B,te,V,me;T.value=!0;try{if(b.value&&r.config.app==="konnect"){const he=(B=On[r.pluginType])==null?void 0:B.schemaEndpoint,ge=zm[he];O.value=he,_.value=q("",ge,{}),T.value=!1}else{const he=r.schema??(await p.get(C.value)).data;if(g.value=he,he)if(b.value)_.value=q("",he,{}),T.value=!1;else{const ge=he.fields.find(ue=>ue.config);v.value=ge?ge.config:he,he.supported_partials&&(x.value=Object.keys(he.supported_partials).find(ue=>[fr.REDIS_CE,fr.REDIS_EE].includes(ue)),S.value=(te=he.supported_partials[x.value])==null?void 0:te[0]),H();const oe=(V=he.fields.find(ue=>ue.protocols))==null?void 0:V.protocols;if(oe){const{default:ue=[],elements:ve={}}=oe;F.protocols.default=ue,F.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ue.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(me=ve.one_of)!=null&&me.length&&(F.protocols.values=ve.one_of.map(Ne=>({label:Ne,value:Ne})))}if(L.value||y.value===pe.EntityBaseFormType.Create){const ue=q("config",v.value,F);x.value&&(ue._supported_redis_partial_type=x.value),ce.value&&(ue._isCustomPlugin=!0),_.value=ue}}}}catch(he){console.error(he),G.value=d(he),o("error:fetch-schema",he)}finally{T.value=!1}}),(B,te)=>{const V=t.resolveComponent("KSkeleton"),me=t.resolveComponent("KEmptyState"),he=t.resolveComponent("KButton"),ge=t.resolveComponent("KTabs"),oe=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",GR,[T.value?(t.openBlock(),t.createBlock(V,{key:0,type:"form"})):G.value?(t.openBlock(),t.createBlock(me,{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(pe.EntityBaseForm),{key:2,"can-submit":M.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(pe.SupportedEntityType).Plugin,"error-message":ye.value,"fetch-url":k.value,"form-fields":E.value,"is-readonly":D.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ne,"onFetch:error":te[4]||(te[4]=ue=>B.$emit("error",ue)),"onFetch:success":W,onLoading:te[5]||(te[5]=ue=>B.$emit("loading",ue))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",zR)):(t.openBlock(),t.createBlock(qR,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",HR,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(he,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:te[3]||(te[3]=ue=>Y())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(he,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:D.isReadonly,onClick:ne},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(he,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!M.value||D.isReadonly,type:"submit",onClick:P},{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:P},null,32),t.createVNode(KR,{config:e.config,credential:b.value,editing:y.value===t.unref(pe.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":A.value,"raw-schema":g.value,record:w.value,schema:_.value,onGlobalAction:te[0]||(te[0]=(ue,ve)=>B.$emit("globalAction",ue,ve)),onLoading:te[1]||(te[1]=ue=>I.value=ue),onModelUpdated:ae,onShowNewPartialModal:te[2]||(te[2]=ue=>B.$emit("showNewPartialModal",ue)),onValidityChange:Q},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(oe,{"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(ge,{"data-testid":"form-view-configuration-slideout-tabs",tabs:j.value},{json:t.withCtx(()=>[t.createVNode(t.unref(pe.JsonCodeBlock),{config:e.config,"entity-record":N.value,"fetcher-url":fe.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(pe.YamlCodeBlock),{"entity-record":N.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(pe.TerraformCodeBlock),{"credential-type":O.value,"entity-record":N.value,"entity-type":t.unref(pe.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-4e00808e"]]),WR={class:"kong-ui-entities-plugins-list"},XR={class:"button-row"},ZR={class:"name-cell-wrapper"},JR={class:"info-wrapper"},QR={key:0,class:"info-name"},eD={key:1,class:"info-name"},tD={key:2,class:"info-type"},nD={key:1},oD=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 C,O;const o=De.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=De.useI18n(),l=so.useRouter(),{axiosInstance:s}=pe.useAxios((C=i.config)==null?void 0:C.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=pe.useTableState(()=>w.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),u=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var T;return((T=i.config)==null?void 0:T.entityType)==="consumers"}),m=t.computed(()=>{var T;return((T=i.config)==null?void 0:T.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||pe.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}};(O=i.config)!=null&&O.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,b=t.computed(()=>{var G,X,B,te;let T=i.config.entityType?`${i.config.apiBaseUrl}${Fe.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Fe.list[i.config.app].all}`;return i.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,((G=i.config)==null?void 0:G.controlPlaneId)||""):i.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,(X=i.config)!=null&&X.workspace?`/${i.config.workspace}`:"")),T.replace(/{entityType}/gi,((B=i.config)==null?void 0:B.entityType)||"").replace(/{entityId}/gi,((te=i.config)==null?void 0:te.entityId)||"")}),w=t.ref(""),v=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:x,fetcherState:S,fetcherCacheKey:I}=pe.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),b),$=()=>{w.value=""},D=()=>{I.value++},j=t.ref(null),K=T=>{var X,B,te,V;const G=[];return((X=T.route)!=null&&X.id||T.route_id)&&G.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((B=T.service)!=null&&B.id||T.service_id)&&G.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((te=T.consumer)!=null&&te.id||T.consumer_id)&&G.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((V=T.consumer_group)!=null&&V.id||T.consumer_group_id)&&G.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),G.length?G:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},k=async(T,G)=>{var X;return T===null?!1:await((X=i.canRetrieveScopedEntity)==null?void 0:X.call(i,T,G.id))},Y=(T,G)=>{var B,te,V,me,he;let X=null;switch(T){case"route":X=(B=G.route)==null?void 0:B.id;break;case"service":X=(te=G.service)==null?void 0:te.id;break;case"consumer":X=(V=G.consumer)==null?void 0:V.id;break;case"consumer_group":X=(me=G.consumer_group)==null?void 0:me.id;break}X&&((he=i.config)!=null&&he.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(T,X))},A=t.ref(!1),F=t.ref(null),R=t.computed(()=>{const T={action:"disable",id:"",name:""};if(F.value){const{enabled:G,id:X,name:B}=F.value;T.action=G?"disable":"enable",T.id=X,T.name=o.getDisplayName(B)||X}return T}),ee=T=>{A.value=!0,F.value=T},q=()=>{A.value=!1,F.value=null},H=async()=>{var B,te,V,me,he,ge,oe,ue;if(!await((B=i.canEdit)==null?void 0:B.call(i,F.value))||!F.value)return;let G=`${i.config.apiBaseUrl}${(he=Fe.item[i.config.app])==null?void 0:he[(te=i.config)!=null&&te.entityType?"forEntity":"all"].replace(/{entityType}/gi,((V=i.config)==null?void 0:V.entityType)||"").replace(/{entityId}/gi,((me=i.config)==null?void 0:me.entityId)||"")}`.replace(/{id}/gi,F.value.id||"");i.config.app==="konnect"?G=G.replace(/{controlPlaneId}/gi,((ge=i.config)==null?void 0:ge.controlPlaneId)||""):i.config.app==="kongManager"&&(G=G.replace(/\/{workspace}/gi,(oe=i.config)!=null&&oe.workspace?`/${i.config.workspace}`:""));const X=!F.value.enabled;try{const{data:ve}=((ue=i.config)==null?void 0:ue.app)==="konnect"?await s.put(G,{...F.value,enabled:X},{timeout:12e4}):await s.patch(G,{...F.value,enabled:X},{timeout:12e4});r("toggle-enabled",X,ve),F.value.enabled=X}catch(ve){r("error",ve)}},U=async(T,G)=>{const X=T.id;if(!await G(X)){r("copy:error",{entity:T,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:T,field:"id",message:a("copy.success",{val:X})})},M=async(T,G)=>{const X=JSON.stringify(T);if(!await G(X)){r("copy:error",{entity:T,message:a("errors.copy")});return}r("copy:success",{entity:T,message:a("copy.success_brief")})},L=async T=>{var X;await((X=i.canRetrieve)==null?void 0:X.call(i,T))&&l.push(i.config.getViewRoute(T))},Z=T=>({label:a("actions.view"),to:i.config.getViewRoute(T)}),W=T=>({label:a("actions.edit"),to:i.config.getEditRoute(T)}),re=T=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(T)}),ae=t.ref(void 0),de=t.ref(!1),ye=t.ref(!1),Q=t.ref(""),ne=pe.useDeleteUrlBuilder(i.config,b.value),le=T=>{ae.value=T,de.value=!0},fe=()=>{de.value=!1},ce=async()=>{var T,G,X;if((T=ae.value)!=null&&T.id){ye.value=!0;try{await s.delete(ne(ae.value.id)),ye.value=!1,de.value=!1,I.value++,r("delete:success",ae.value)}catch(B){Q.value=((X=(G=B.response)==null?void 0:G.data)==null?void 0:X.message)||B.message||a("errors.delete"),r("error",B)}finally{ye.value=!1}}},E=()=>{l.push(i.config.createRoute)};t.watch(S,T=>{var G,X,B;if(T.status===pe.FetcherStatus.Error){j.value={title:a("errors.general")},(B=(X=(G=T.error)==null?void 0:G.response)==null?void 0:X.data)!=null&&B.message&&(j.value.message=T.error.response.data.message),r("error",T.error);return}j.value=null});const N=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")}),P=t.ref(!1);return t.onBeforeMount(async()=>{P.value=await i.canCreate(),P.value&&(N.value.title=a("plugins.list.empty_state.title"),N.value.ctaText=a("actions.create"))}),(T,G)=>{const X=t.resolveComponent("KButton"),B=t.resolveComponent("KEmptyState"),te=t.resolveComponent("KBadge"),V=t.resolveComponent("KTruncate"),me=t.resolveComponent("KInputSwitch"),he=t.resolveComponent("KDropdownItem"),ge=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",WR,[t.createVNode(t.unref(pe.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":y.value,"empty-state-options":N.value,"enable-entity-actions":"","error-message":j.value,fetcher:t.unref(x),"fetcher-cache-key":t.unref(I),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:w.value,"table-headers":t.unref(_),title:e.title,"title-tag":e.titleTag,onClearSearchInput:$,"onClick:row":G[4]||(G[4]=oe=>L(oe)),onSort:D,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(pe.EntityFilter),{modelValue:w.value,"onUpdate:modelValue":G[0]||(G[0]=oe=>w.value=oe),config:v.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",XR,[!u.value&&f.value?(t.openBlock(),t.createBlock(X,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:G[1]||(G[1]=oe=>T.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(X,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.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:oe})=>[t.createElementVNode("div",ZR,[t.createVNode(t.unref(uo.PluginIcon),{class:"plugin-icon",name:oe.name,size:24},null,8,["name"]),t.createElementVNode("div",JR,[oe.instance_name?(t.openBlock(),t.createElementBlock("span",QR,t.toDisplayString(oe.instance_name),1)):(t.openBlock(),t.createElementBlock("span",eD,t.toDisplayString(t.unref(o).getDisplayName(oe.name)),1)),oe.instance_name?(t.openBlock(),t.createElementBlock("span",tD,t.toDisplayString(t.unref(o).getDisplayName(oe.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:oe})=>[K(oe).length>0?(t.openBlock(),t.createBlock(V,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(K(oe),ue=>(t.openBlock(),t.createBlock(t.unref(pe.PermissionsWrapper),{key:ue.badgeText,"auth-function":()=>k(ue.type,oe),"force-show":""},{default:t.withCtx(({isAllowed:ve})=>[t.createVNode(te,{class:t.normalizeClass(ve||"disabled"),onClick:t.withModifiers(Ne=>ve&&ue.type&&Y(ue.type,oe),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(ue.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",nD,"-"))]),enabled:t.withCtx(({row:oe})=>[t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(oe)&&await e.canToggle(oe)),"force-show":""},{default:t.withCtx(({isAllowed:ue})=>{var ve,Ne;return[t.createElementVNode("div",{onClick:G[3]||(G[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(me,{disabled:!ue,"disabled-tooltip-text":!ue&&((Ne=(ve=e.config).getToggleDisabledTooltip)==null?void 0:Ne.call(ve,oe))||void 0,"model-value":oe.enabled,onClick:t.withModifiers(se=>ue&&ee(oe),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:oe})=>[t.createVNode(te,{appearance:t.unref(kc)(oe)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(kc)(oe)?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:oe})=>[t.createVNode(t.unref(pe.TableTags),{tags:oe},null,8,["tags"])]),actions:t.withCtx(({row:oe})=>[t.createVNode(ge,null,{default:t.withCtx(({copyToClipboard:ue})=>[t.createVNode(he,{"data-testid":"action-entity-copy-id",onClick:ve=>U(oe,ue)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(ge,null,{default:t.withCtx(({copyToClipboard:ue})=>[t.createVNode(he,{"data-testid":"action-entity-copy-json",onClick:ve=>M(oe,ue)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(oe)},{default:t.withCtx(()=>[t.createVNode(he,{"data-testid":"action-entity-view","has-divider":"",item:Z(oe)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canEdit(oe)},{default:t.withCtx(()=>[t.createVNode(he,{"data-testid":"action-entity-edit",item:W(oe)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(pe.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(oe)},{default:t.withCtx(()=>[re(oe)?(t.openBlock(),t.createBlock(he,{key:0,"data-testid":"action-entity-config-dyn-order",item:re(oe)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canDelete(oe)},{default:t.withCtx(()=>[t.createVNode(he,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ue=>le(oe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!w.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var oe;return[t.createVNode(B,{"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(Ce.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[P.value?(t.openBlock(),t.createBlock(X,{key:0,"data-testid":"entity-create-button",onClick:E},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(X,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:G[2]||(G[2]=ue=>T.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(oe=e.config)!=null&&oe.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(pe.EntityToggleModal),{action:R.value.action,"entity-id":R.value.id,"entity-name":R.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":H,visible:A.value,onCancel:q,onProceed:q},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(pe.EntityDeleteModal),{"action-pending":ye.value,description:t.unref(a)("delete.description"),"entity-name":ae.value&&(ae.value.instance_name||ae.value.name||ae.value.id),"entity-type":t.unref(pe.EntityTypes).Plugin,error:Q.value,title:t.unref(a)("delete.title"),visible:de.value,onCancel:fe,onProceed:ce},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-582a936c"]]),rD={class:"plugin-select-card-wrapper"},iD=["data-testid"],aD={class:"plugin-card-header"},lD={class:"plugin-card-title"},sD={key:0,class:"plugin-card-actions"},cD=["data-testid","title"],dD={key:0,class:"plugin-card-text"},uD={key:0},fD=["title"],Ql=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=so.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))},f=()=>{r.navigateOnClick?d():u()},u=()=>{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=(_,b)=>{const w=r.config;r.config.app==="konnect"&&typeof w.getCustomEditRoute=="function"&&w.getCustomEditRoute&&i.push(w.getCustomEditRoute(_,b))},g=()=>{if(!s.value&&r.config.app==="konnect"){const _=r.config;p.value&&_.createCustomRoute?i.push(_.createCustomRoute):m.value&&d()}};return(_,b)=>{const w=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),x=t.resolveComponent("KDropdownMenu"),S=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",rD,[t.createVNode(S,{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:b[1]||(b[1]=I=>s.value||m.value?void 0:f())},[t.createElementVNode("div",aD,[t.createElementVNode("div",lD,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",sD,[t.createVNode(x,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(w,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{size:t.unref(Ck)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:b[0]||(b[0]=t.withModifiers(I=>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(v,{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(uo.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",dD,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",uD,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,fD)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,cD),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,iD)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),pD=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}=pe.useErrors(),{axiosInstance:s}=pe.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var y;return u.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),f=t.ref(""),u=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const y=o.plugin.customPluginType==="streaming"?Fe.select[o.config.app].streamingCustomPluginItem:Fe.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,_,b;if(d.value=!0,f.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(w){const{response:v}=w;(v==null?void 0:v.status)===400&&((b=(_=v.data)==null?void 0:_.message)!=null&&b.includes("plugin schema is currently in use"))?u.value=!0:f.value=l(w)}finally{d.value=!1}};return(y,g)=>{const _=t.resolveComponent("KButton"),b=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(pe.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(pe.EntityTypes).Plugin,error:f.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=w=>y.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(b,{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]=w=>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]=w=>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"]]),mD={class:"custom-plugins-grid"},gD={class:"empty-state-title"},hD={class:"empty-state-description"},es=310,yD=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=x=>{r("plugin-clicked",x)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const x=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(x):x}),f=t.ref(!1),u=t.ref(null),p=x=>{f.value=!0,u.value={id:x.id,name:x.name,customPluginType:x.customPluginType}},m=x=>{var S;x&&(r("revalidate"),r("delete:success",((S=u.value)==null?void 0:S.name)||"")),f.value=!1,u.value=null},h=t.ref(es),y=t.ref(null),g=t.ref(null),_=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),b=t.ref(!1),w=()=>{h.value=Math.max(a(g.value),es),v()},v=()=>{var x,S;(x=g.value)!=null&&x.length&&(b.value=l(y.value,(S=g.value)==null?void 0:S.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),es),v(),window==null||window.addEventListener("resize",w)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",w)}),(x,S)=>{const I=t.resolveComponent("KEmptyState"),$=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",mD,[d.value.length?(t.openBlock(),t.createBlock($,{key:1,modelValue:s.value,"onUpdate:modelValue":S[0]||(S[0]=D=>s.value=D),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,(D,j)=>(t.openBlock(),t.createBlock(Ql,{key:`plugin-card-${j}`,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:D,onCustomPluginDelete:K=>p(D),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[b.value?void 0:{name:"trigger",fn:t.withCtx(()=>[S[2]||(S[2]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(I,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",gD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",hD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&u.value?(t.openBlock(),t.createBlock(pD,{key:2,config:e.config,plugin:u.value,onClosed:m,onProceed:S[1]||(S[1]=D=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),ts=310,Pm=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(ts),d=t.ref(null),f=t.ref(null),u=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(f.value),ts),h()},h=()=>{var y,g;(y=f.value)!=null&&y.length&&(p.value=s(d.value,(g=f.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(f.value),ts),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]=b=>o.value=b),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(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,b=>(t.openBlock(),t.createBlock(Ql,{key:`plugin-card-${b.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:b,onPluginClicked:w=>i("plugin-clicked",b)},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"]]),_D={class:"plugin-select-grid"},bD={class:"empty-state-title"},wD={class:"empty-state-description"},ns=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(as),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,f)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",_D,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",bD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",wD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Pm,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[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:f[1]||(f[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(is),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(Pm,{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:f[2]||(f[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),kD={class:"kong-ui-entities-plugin-select-form"},CD={class:"plugins-filter-input-container"},ED={key:0},ND={key:3,"aria-live":"polite",class:"plugins-results-container"},SD={"data-testid":"kong-tab"},vD={class:"tab-description"},xD={"data-testid":"custom-tab"},AD={class:"tab-description"},ID=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=so.useRoute(),a=so.useRouter(),{i18n:{t:l}}=De.useI18n(),{pluginMetaData:s}=De.usePluginMetaData(),{getMessageFromError:c}=pe.useErrors(),{sortAlpha:d,objectsAreEqual:f}=pe.useHelpers(),u=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref([]),g=t.ref([]),_=t.ref({}),b=t.ref([]),{axiosInstance:w}=pe.useAxios((U=o.config)==null?void 0:U.axiosRequestConfig),v=t.computed(()=>_.value?Object.entries(_.value).filter(([M])=>M!==z.PluginGroup.CUSTOM_PLUGINS).reduce((M,[,L])=>{for(const Z of L)M[Z.id]=Z;return M},{}):{}),x=t.computed(()=>{var Z;if(!_.value)return{};const M=u.value.toLowerCase(),L=JSON.parse(JSON.stringify(_.value));for(const W in _.value){const re=((Z=_.value[W])==null?void 0:Z.filter(ae=>ae.name.toLowerCase().includes(M)||ae.id.toLowerCase().includes(M)||ae.group.toLowerCase().includes(M)))||[];re.length?L[W]=re:delete L[W]}return L}),S=t.computed(()=>o.highlightedPluginIds.reduce((M,L)=>{const Z=v.value[L];return Z&&M.push(Z),M},[])),I=t.computed(()=>Object.keys(x.value).length>0),$=t.computed(()=>Object.keys(_.value).length>0&&!I.value),D=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)}]:[]),j=t.computed(()=>{var L;let M=D.value.length&&((i==null?void 0:i.hash)||((L=D.value[0])==null?void 0:L.hash))||"";return M==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(M="#kong"),M}),K=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...y.value])].filter(M=>!o.ignoredPlugins.includes(M)).filter(M=>o.config.entityType&&(o.config.entityType==="services"&&s[M]&&!s[M].scope.includes(z.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[M]&&!s[M].scope.includes(z.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[M]&&!s[M].scope.includes(z.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[M]&&!s[M].scope.includes(z.PluginScope.CONSUMER))?!1:M).reduce((M,L)=>{var de;const Z=s[L]&&s[L].name||L,W={...s[L],id:L,name:Z,available:y.value.includes(L),disabledMessage:"",group:((de=s[L])==null?void 0:de.group)||z.PluginGroup.CUSTOM_PLUGINS};W.group===z.PluginGroup.CUSTOM_PLUGINS&&(W.customPluginType=g.value.find(ye=>ye.name===L)?"streaming":"schema"),o.disabledPlugins&&(W.disabledMessage=o.disabledPlugins[L]);const re=W.group||l("plugins.select.misc_plugins");let ae=M[re];return ae||(ae=[]),ae.push(W),ae.sort(d("name")),M[re]=ae,M},{}),k=t.computed(()=>{var L;let M=`${o.config.apiBaseUrl}${Fe.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?M=M.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(M=((L=o.config.gatewayInfo)==null?void 0:L.edition)==="community"?`${o.config.apiBaseUrl}${Fe.select[o.config.app].availablePluginsForOss}`:M.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),M}),Y=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let M=`${o.config.apiBaseUrl}${Fe.select[o.config.app].streamingCustomPlugins}`;return M=M.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),M}return null}),A=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let M=`${o.config.apiBaseUrl}${Fe.list[o.config.app].forEntity}`;return o.config.app==="konnect"?M=M.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(M=M.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),M.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),F=M=>{a.replace({hash:M,query:i.query})};t.watch(()=>o.disabledPlugins,(M,L)=>{!f(M,L)&&!p.value&&(_.value=K())}),t.watch(()=>o.ignoredPlugins,(M,L)=>{!f(M,L)&&!p.value&&(_.value=K())}),t.watch(p,M=>{r("loading",M)});const R=t.ref(!1),ee=t.ref(!1),q=t.ref(!1);t.onBeforeMount(async()=>{R.value=await o.canCreateCustomPlugin(),ee.value=await o.canEditCustomPlugin(),q.value=await o.canDeleteCustomPlugin()});const H=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var M,L;(L=(M=H.value)==null?void 0:M.input)==null||L.focus();try{const{data:Z}=await w.get(k.value);if(o.config.app==="konnect"){const{names:W}=Z;if(y.value=W||[],Y.value){const{data:re}=await w.get(Y.value);g.value=re.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:W}}=Z;y.value=W?Object.keys(W):[]}}catch(Z){m.value=!0,h.value=c(Z)}if(A.value)try{const{data:{data:Z}}=await w.get(A.value);if(Z!=null&&Z.length){const W=Z.reduce((re,ae)=>(ae.name&&re.push(ae.name),re),[]);b.value=b.value.concat(W)}}catch{}m.value||(_.value=K()),p.value=!1}),(M,L)=>{const Z=t.resolveComponent("KInput"),W=t.resolveComponent("KSkeletonBox"),re=t.resolveComponent("KSkeleton"),ae=t.resolveComponent("KEmptyState"),de=t.resolveComponent("KTooltip"),ye=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",kD,[t.createElementVNode("div",CD,[t.createVNode(Z,{ref:"filter-input",modelValue:u.value,"onUpdate:modelValue":L[0]||(L[0]=Q=>u.value=Q),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",ED,[t.createVNode(W,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(re,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ae,{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})):$.value&&u.value?(t.openBlock(),t.createBlock(ae,{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:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",ND,[D.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(ye,{key:0,modelValue:j.value,"onUpdate:modelValue":L[5]||(L[5]=Q=>j.value=Q),"data-testid":"plugins-tabs",tabs:D.value,onChange:F},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",SD,[t.createElementVNode("p",vD,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(ns,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":S.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":x.value,onPluginClicked:L[1]||(L[1]=Q=>M.$emit("plugin-clicked",Q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",xD,[t.renderSlot(M.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",AD,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(yD,{"can-create-custom-plugin":R.value,"can-delete-custom-plugin":q.value,"can-edit-custom-plugin":ee.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":x.value,"onDelete:success":L[2]||(L[2]=Q=>M.$emit("delete-custom:success",Q)),onPluginClicked:L[3]||(L[3]=Q=>M.$emit("plugin-clicked",Q)),onRevalidate:L[4]||(L[4]=()=>_.value=K())},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(de,{"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(ns,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":S.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":x.value,onPluginClicked:L[6]||(L[6]=Q=>M.$emit("plugin-clicked",Q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-7b1adaaa"]]),PD={class:"datakit-config-card-canvas"},TD={class:"config-card-details-label","data-testid":"datakit-configuration-label"},OD={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},$D={class:"canvas-wrapper"},BD=Ee(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{}},setup(e){return mu(e.pluginData),(n,o)=>{const r=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",PD,[t.createElementVNode("div",TD,[t.createVNode(r,null,{default:t.withCtx(()=>o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])),_:1,__:[0]})]),t.createElementVNode("div",OD,[t.createElementVNode("div",$D,[t.createVNode(Zl,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])}}}),[["__scopeId","data-v-591ec060"]]),VD={class:"kong-ui-entity-plugin-config-card"},RD={class:"name-cell-wrapper"},DD={class:"info-name"},MD={key:0},LD={key:0},FD={key:0},UD={key:0},KD={key:0},os="config",jD=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 S;const o=n,r=e,{i18n:{t:i}}=De.useI18n(),a=De.usePluginMetaData(),{setFieldType:l}=De.usePluginHelpers(),{getPropValue:s}=pe.useHelpers(),c=t.computed(()=>r.config.app==="konnect"),d=t.computed(()=>c.value&&r.config.pluginType==="datakit"),f=t.computed(()=>{var $;let I=($=Fe.item[r.config.app])==null?void 0:$[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(c.value){const D=r.expandPartial?"&":"?";I=I.concat(`${D}__ui_data=true`)}return I}),u=t.computed(()=>{var D,j;const I={},$=((D=w.value)==null?void 0:D.fields)||[];for(let K=0;K<$.length;K++){const k=w.value.fields[K],Y=(j=Object.keys(k))==null?void 0:j[0];l(I,Y,k[Y])}return{...I,instance_name:{section:pe.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:pe.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:pe.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:pe.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:pe.ConfigurationSchemaSection.Basic,order:6},protocols:{type:pe.ConfigurationSchemaType.BadgeTag,section:pe.ConfigurationSchemaSection.Basic,order:7}}}),p=t.computed(()=>{var $,D,j;if(!(($=w.value)!=null&&$.fields))return[];const I=(D=w.value.fields)==null?void 0:D.find(K=>{var Y;return((Y=Object.keys(K))==null?void 0:Y[0])===os});return((j=I==null?void 0:I[os])==null?void 0:j.fields)||[]}),m=t.computed(()=>{var $,D;const I={};if(!p.value)return I;for(let j=0;j<(($=p.value)==null?void 0:$.length);j++){const K=p.value[j],k=(D=Object.keys(K))==null?void 0:D[0],Y=K[k];Y.required&&(I[k]={order:1}),l(I,k,Y)}return I}),h=I=>{var D;const $=(D=a.pluginMetaData[r.config.pluginType])==null?void 0:D.scope;return $?Object.fromEntries(Object.entries(I).filter(([j,K])=>K?!0:!(j==="service"&&!$.includes(z.PluginScope.SERVICE)||j==="route"&&!$.includes(z.PluginScope.ROUTE)||j==="consumer"&&!$.includes(z.PluginScope.CONSUMER)||j==="consumer_group"&&!$.includes(z.PluginScope.CONSUMER_GROUP)))):I},y=I=>ua(I,"__ui_data"),{getMessageFromError:g}=pe.useErrors(),{axiosInstance:_}=pe.useAxios((S=r.config)==null?void 0:S.axiosRequestConfig),b=t.computed(()=>{var $,D;let I=`${r.config.apiBaseUrl}${Fe.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,(($=r.config)==null?void 0:$.controlPlaneId)||""):r.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,(D=r.config)!=null&&D.workspace?`/${r.config.workspace}`:"")),I=I.replace(/{plugin}/gi,r.config.pluginType),I}),w=t.ref({});pe.useSchemaProvider(w);const v=t.ref(!1),x=t.ref("");return t.onBeforeMount(async()=>{v.value=!0;try{const{data:I}=await _.get(b.value);w.value=I}catch(I){x.value=g(I),o("error:fetch-schema",I)}finally{v.value=!1}}),(I,$)=>{const D=t.resolveComponent("KSkeleton"),j=t.resolveComponent("KEmptyState"),K=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",VD,[v.value?(t.openBlock(),t.createBlock(D,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):x.value?(t.openBlock(),t.createBlock(j,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(x.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(pe.EntityBaseConfigCard),{key:2,"code-block-record-formatter":y,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(pe.SupportedEntityType).Plugin,"fetch-url":f.value,"hide-title":e.hideTitle,"plugin-config-key":os,"plugin-config-schema":m.value,"record-resolver":h,"onFetch:error":$[0]||($[0]=k=>I.$emit("fetch:error",k)),"onFetch:success":$[1]||($[1]=k=>I.$emit("fetch:success",k)),onLoading:$[2]||($[2]=k=>I.$emit("loading",k))},t.createSlots({name:t.withCtx(k=>[t.createElementVNode("div",RD,[t.createVNode(t.unref(uo.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",k),size:24},null,8,["name"]),t.createElementVNode("span",DD,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",k))),1)])]),consumer:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",k).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",MD,"–"))]),route:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",k).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",LD,"–"))]),service:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",k).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",FD,"–"))]),consumer_group:t.withCtx(k=>[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",k).id,value:t.unref(s)("rowValue",k).id,type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",k).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",k).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",UD,"–"))]),partials:t.withCtx(k=>{var Y,A,F,R,ee,q,H,U,M;return[t.unref(s)("rowValue",k)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:(A=(Y=t.unref(s)("rowValue",k))==null?void 0:Y[0])==null?void 0:A.id,value:((R=(F=t.unref(s)("rowValue",k))==null?void 0:F[0])==null?void 0:R.id)+((q=(ee=t.unref(s)("rowValue",k))==null?void 0:ee[0])!=null&&q.name?"/"+((U=(H=t.unref(s)("rowValue",k))==null?void 0:H[0])==null?void 0:U.name):""),type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var L,Z;return I.$emit("navigation-click",(Z=(L=t.unref(s)("rowValue",k))==null?void 0:L[0])==null?void 0:Z.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(K,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",k).label}),"data-testid":"partial-copy-uuid",text:(M=t.unref(s)("rowValue",k))==null?void 0:M[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",KD,"–"))]}),_:2},[d.value?{name:"config-card-item-nodes",fn:t.withCtx(k=>[t.createVNode(BD,{"plugin-data":k.record},null,8,["plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-a5302acb"]]),{usePluginMetaData:qD,useProvideExperimentalFreeForms:GD}=De;Object.defineProperty(we,"PluginGroup",{enumerable:!0,get:()=>z.PluginGroup}),Object.defineProperty(we,"PluginScope",{enumerable:!0,get:()=>z.PluginScope}),Object.defineProperty(we,"PluginIcon",{enumerable:!0,get:()=>uo.PluginIcon}),Object.defineProperty(we,"getPluginIconURL",{enumerable:!0,get:()=>uo.getPluginIconURL}),we.EXPERIMENTAL_FREE_FORM_PROVIDER=ma,we.EntityTypeIdField=rn,we.FEATURE_FLAGS=vr,we.PLUGIN_GROUPS_COLLAPSE_STATUS=as,we.PluginConfigCard=jD,we.PluginForm=YR,we.PluginGroupArray=is,we.PluginList=oD,we.PluginPartialType=fr,we.PluginSelect=ID,we.PluginSelectCard=Ql,we.PluginSelectGrid=ns,we.TOASTER_PROVIDER=Sc,we.pluginEndpoints=Fe,we.usePluginMetaData=qD,we.useProvideExperimentalFreeForms=GD,Object.defineProperty(we,Symbol.toStringTag,{value:"Module"})});
|