diff --git a/404.html b/404.html index e2d672d28e..ab1eaefb5a 100644 --- a/404.html +++ b/404.html @@ -10,8 +10,8 @@ - - + + diff --git a/Components/components-memories.html b/Components/components-memories.html index 7ab4a9cacd..0fa0d4b345 100644 --- a/Components/components-memories.html +++ b/Components/components-memories.html @@ -10,15 +10,15 @@ - - + + -
Skip to main content

Memories

+

Memories

Chat memory components store and retrieve chat messages by session_id.

AstraDBChatMemory Component

This component creates an AstraDBChatMessageHistory instance, which allows for storing and retrieving chat messages using Astra DB, a cloud-native database service.

diff --git a/Components/components-tools.html b/Components/components-tools.html index be8b9b1e65..1f038d57b2 100644 --- a/Components/components-tools.html +++ b/Components/components-tools.html @@ -10,15 +10,15 @@ - - + + -

Tools

+

Tools

Tool components are used to interact with external services, APIs, and tools. They can be used to search the web, query databases, and perform other tasks.

Bing Search API

This component allows you to call the Bing Search API.

diff --git a/Configuration/configuration-custom-database.html b/Configuration/configuration-custom-database.html index 388a0c0ad8..43d28642cc 100644 --- a/Configuration/configuration-custom-database.html +++ b/Configuration/configuration-custom-database.html @@ -10,8 +10,8 @@ - - + + diff --git a/agents-overview.html b/agents-overview.html index 7efb24124f..5c9c6bbaee 100644 --- a/agents-overview.html +++ b/agents-overview.html @@ -10,18 +10,18 @@ - - + + -

Agents overview

Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.

+

Agents overview

Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.

Instead of developers having to create logical statements to direct every possible path of a program, an agent can operate with autonomy. An agent can leverage external tools and APIs to gather information and take action, demonstrate chain-of-thought reasoning, and generate tailored text for specific purposes.

To simplify the development of agents, Langflow created a custom Tool calling agent component that simplifies configuration and lets developers focus on solving problems with agents.

Prompt component -

To get started, see Create a problem solving agent.

Hi, how can I help you?

+

To get started, see Create a problem solving agent.

Hi, how can I help you?

\ No newline at end of file diff --git a/agents-tool-calling-agent-component.html b/agents-tool-calling-agent-component.html index ca2c55eddf..6b8edd9bac 100644 --- a/agents-tool-calling-agent-component.html +++ b/agents-tool-calling-agent-component.html @@ -10,15 +10,15 @@ - - + + -

Create a problem-solving agent

+

Create a problem-solving agent

Developing agents in Langchain is complex.

The AgentComponent is a component for easily creating an AI agent capable of analyzing tasks using tools you provide.

The component contains all of the elements you'll need for creating an agent. Instead of managing LLM models and providers, pick your model and enter your API key. Instead of connecting a Prompt component, enter instructions in the component's Agent Instruction fields.

diff --git a/api.html b/api.html index 88b2e1b259..9738caaef4 100644 --- a/api.html +++ b/api.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/add-user.html b/api/add-user.html index 058a5caa47..ff6d5c5e4e 100644 --- a/api/add-user.html +++ b/api/add-user.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/auto-login.html b/api/auto-login.html index 95331eabbd..5245228574 100644 --- a/api/auto-login.html +++ b/api/auto-login.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/build-flow.html b/api/build-flow.html index 8f7487c50d..9e75494319 100644 --- a/api/build-flow.html +++ b/api/build-flow.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/build-vertex-stream.html b/api/build-vertex-stream.html index 8b810e67ce..2f9b42f880 100644 --- a/api/build-vertex-stream.html +++ b/api/build-vertex-stream.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/build-vertex.html b/api/build-vertex.html index f23f4f7ec7..cff2faec88 100644 --- a/api/build-vertex.html +++ b/api/build-vertex.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/check-if-store-has-api-key.html b/api/check-if-store-has-api-key.html index d087cbd69c..c1ac0e31f3 100644 --- a/api/check-if-store-has-api-key.html +++ b/api/check-if-store-has-api-key.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/check-if-store-is-enabled.html b/api/check-if-store-is-enabled.html index 8a547a1108..58f91ce912 100644 --- a/api/check-if-store-is-enabled.html +++ b/api/check-if-store-is-enabled.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/create-api-key-route.html b/api/create-api-key-route.html index c8207fbf39..f3a5976387 100644 --- a/api/create-api-key-route.html +++ b/api/create-api-key-route.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/create-flow.html b/api/create-flow.html index a98a6c40b7..625aced11f 100644 --- a/api/create-flow.html +++ b/api/create-flow.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/create-flows.html b/api/create-flows.html index 1ae9deb92d..40409b4774 100644 --- a/api/create-flows.html +++ b/api/create-flows.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/create-folder.html b/api/create-folder.html index cfbcc9a871..fa6f4bd47d 100644 --- a/api/create-folder.html +++ b/api/create-folder.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/create-upload-file.html b/api/create-upload-file.html index 2bb01ab8ba..2c8acba5ec 100644 --- a/api/create-upload-file.html +++ b/api/create-upload-file.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/create-variable.html b/api/create-variable.html index 1bc15fc756..d51302736f 100644 --- a/api/create-variable.html +++ b/api/create-variable.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/custom-component-update.html b/api/custom-component-update.html index 7cd576e629..626caec3e3 100644 --- a/api/custom-component-update.html +++ b/api/custom-component-update.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/custom-component.html b/api/custom-component.html index c54fc19310..8458a7d313 100644 --- a/api/custom-component.html +++ b/api/custom-component.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-api-key-route.html b/api/delete-api-key-route.html index 7446627144..bfe81f0664 100644 --- a/api/delete-api-key-route.html +++ b/api/delete-api-key-route.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-file.html b/api/delete-file.html index f279b3f05f..6f039edb39 100644 --- a/api/delete-file.html +++ b/api/delete-file.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-flow.html b/api/delete-flow.html index a9a2e0dfd8..88306fb427 100644 --- a/api/delete-flow.html +++ b/api/delete-flow.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-folder.html b/api/delete-folder.html index fc591af557..7385d53074 100644 --- a/api/delete-folder.html +++ b/api/delete-folder.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-messages-session.html b/api/delete-messages-session.html index e4323e68bf..c8ba264971 100644 --- a/api/delete-messages-session.html +++ b/api/delete-messages-session.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-messages.html b/api/delete-messages.html index 80c982f2af..f06562aa51 100644 --- a/api/delete-messages.html +++ b/api/delete-messages.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-multiple-flows.html b/api/delete-multiple-flows.html index 8e4137721c..67ed211ecf 100644 --- a/api/delete-multiple-flows.html +++ b/api/delete-multiple-flows.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-user.html b/api/delete-user.html index 693d917e92..03f9b78ef9 100644 --- a/api/delete-user.html +++ b/api/delete-user.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-variable.html b/api/delete-variable.html index 29353c6a5c..a3d5e8e242 100644 --- a/api/delete-variable.html +++ b/api/delete-variable.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/delete-vertex-builds.html b/api/delete-vertex-builds.html index 8697513edc..c44e70dc27 100644 --- a/api/delete-vertex-builds.html +++ b/api/delete-vertex-builds.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/download-component.html b/api/download-component.html index df56465678..f4c6634610 100644 --- a/api/download-component.html +++ b/api/download-component.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/download-file-1.html b/api/download-file-1.html index cdac9b94c1..b9c75cefcd 100644 --- a/api/download-file-1.html +++ b/api/download-file-1.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/download-file.html b/api/download-file.html index 127bf5c91f..81f7c9c38f 100644 --- a/api/download-file.html +++ b/api/download-file.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/download-image.html b/api/download-image.html index 46669c6196..4630663a7d 100644 --- a/api/download-image.html +++ b/api/download-image.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/download-multiple-file.html b/api/download-multiple-file.html index b4494e7ca3..f6104c21b4 100644 --- a/api/download-multiple-file.html +++ b/api/download-multiple-file.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/download-profile-picture.html b/api/download-profile-picture.html index ba8e40c05b..94347eeabf 100644 --- a/api/download-profile-picture.html +++ b/api/download-profile-picture.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/experimental-run-flow.html b/api/experimental-run-flow.html index 226ca5a97d..6e1064ed10 100644 --- a/api/experimental-run-flow.html +++ b/api/experimental-run-flow.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-all.html b/api/get-all.html index 0ae50390a3..7114383b4e 100644 --- a/api/get-all.html +++ b/api/get-all.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-api-keys-route.html b/api/get-api-keys-route.html index 95239cc9e9..7cfca2ca5c 100644 --- a/api/get-api-keys-route.html +++ b/api/get-api-keys-route.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-components.html b/api/get-components.html index 447948d9e3..c92c7a543a 100644 --- a/api/get-components.html +++ b/api/get-components.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-config.html b/api/get-config.html index 61717f63fe..f78c93de37 100644 --- a/api/get-config.html +++ b/api/get-config.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-list-of-components-liked-by-user.html b/api/get-list-of-components-liked-by-user.html index 71b40b5a81..9c3e9afe39 100644 --- a/api/get-list-of-components-liked-by-user.html +++ b/api/get-list-of-components-liked-by-user.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-messages.html b/api/get-messages.html index 2865ac3a4b..9dff9903be 100644 --- a/api/get-messages.html +++ b/api/get-messages.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-starter-projects.html b/api/get-starter-projects.html index 411962ab36..c500eacf50 100644 --- a/api/get-starter-projects.html +++ b/api/get-starter-projects.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-tags.html b/api/get-tags.html index 46584c3aff..cde1b252c7 100644 --- a/api/get-tags.html +++ b/api/get-tags.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-task-status.html b/api/get-task-status.html index fac3ed3d08..933db46fff 100644 --- a/api/get-task-status.html +++ b/api/get-task-status.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-transactions.html b/api/get-transactions.html index 4adbb65437..09b4866ae9 100644 --- a/api/get-transactions.html +++ b/api/get-transactions.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-version.html b/api/get-version.html index 1c712af931..65436ab283 100644 --- a/api/get-version.html +++ b/api/get-version.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/get-vertex-builds.html b/api/get-vertex-builds.html index 95e0f7dd81..645c71e6c6 100644 --- a/api/get-vertex-builds.html +++ b/api/get-vertex-builds.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/health-check.html b/api/health-check.html index 109ea4d6c8..a128919a8a 100644 --- a/api/health-check.html +++ b/api/health-check.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/health.html b/api/health.html index 0bda25a37a..1ff7cb77c3 100644 --- a/api/health.html +++ b/api/health.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/like-component.html b/api/like-component.html index ca56abe8c5..7a9ba5f032 100644 --- a/api/like-component.html +++ b/api/like-component.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/list-files.html b/api/list-files.html index e5cc8ac6b4..c32508148e 100644 --- a/api/list-files.html +++ b/api/list-files.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/list-profile-pictures.html b/api/list-profile-pictures.html index 1ec021d316..5f99e27544 100644 --- a/api/list-profile-pictures.html +++ b/api/list-profile-pictures.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/login-to-get-access-token.html b/api/login-to-get-access-token.html index 63aa642bd1..cf901b2bc8 100644 --- a/api/login-to-get-access-token.html +++ b/api/login-to-get-access-token.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/logout.html b/api/logout.html index 51c2a9c29e..e0026723fb 100644 --- a/api/logout.html +++ b/api/logout.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/logs.html b/api/logs.html index cf6f1641a5..67397d41c9 100644 --- a/api/logs.html +++ b/api/logs.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/patch-user.html b/api/patch-user.html index 07b9ce8605..3a1d4ac605 100644 --- a/api/patch-user.html +++ b/api/patch-user.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/post-validate-code.html b/api/post-validate-code.html index c88959c8e1..1e2b4b0224 100644 --- a/api/post-validate-code.html +++ b/api/post-validate-code.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/post-validate-prompt.html b/api/post-validate-prompt.html index 0282169f22..816c7ae253 100644 --- a/api/post-validate-prompt.html +++ b/api/post-validate-prompt.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/process-1.html b/api/process-1.html index ca122f3b62..3c0d098f7e 100644 --- a/api/process-1.html +++ b/api/process-1.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/process.html b/api/process.html index 8f464f0fd6..8bab462624 100644 --- a/api/process.html +++ b/api/process.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/read-all-users.html b/api/read-all-users.html index f68a2c61c1..177f1f4b5b 100644 --- a/api/read-all-users.html +++ b/api/read-all-users.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/read-basic-examples.html b/api/read-basic-examples.html index 7a70fc660a..1bb73cda63 100644 --- a/api/read-basic-examples.html +++ b/api/read-basic-examples.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/read-current-user.html b/api/read-current-user.html index 6463a5edad..cbb25c9975 100644 --- a/api/read-current-user.html +++ b/api/read-current-user.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/read-flow.html b/api/read-flow.html index 290ae2f7c7..982ae45197 100644 --- a/api/read-flow.html +++ b/api/read-flow.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/read-flows.html b/api/read-flows.html index 8603a64516..61cd7b0306 100644 --- a/api/read-flows.html +++ b/api/read-flows.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/read-folder.html b/api/read-folder.html index a047f013d9..61b59518da 100644 --- a/api/read-folder.html +++ b/api/read-folder.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/read-folders.html b/api/read-folders.html index a1bc956c22..e5f8631240 100644 --- a/api/read-folders.html +++ b/api/read-folders.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/read-variables.html b/api/read-variables.html index 24f5d6c63d..8907afa258 100644 --- a/api/read-variables.html +++ b/api/read-variables.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/refresh-token.html b/api/refresh-token.html index bfa444a46f..ab12f35d4a 100644 --- a/api/refresh-token.html +++ b/api/refresh-token.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/reset-password.html b/api/reset-password.html index e5cee717df..3d16cbe8e2 100644 --- a/api/reset-password.html +++ b/api/reset-password.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/retrieve-vertices-order.html b/api/retrieve-vertices-order.html index 09ee55e544..4f526e5142 100644 --- a/api/retrieve-vertices-order.html +++ b/api/retrieve-vertices-order.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/save-store-api-key.html b/api/save-store-api-key.html index 7e232bc6e1..7f5e7f9459 100644 --- a/api/save-store-api-key.html +++ b/api/save-store-api-key.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/share-component.html b/api/share-component.html index 110affc4e1..9219ee9dd2 100644 --- a/api/share-component.html +++ b/api/share-component.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/simplified-run-flow.html b/api/simplified-run-flow.html index 2c1ead7d58..cb0f69a821 100644 --- a/api/simplified-run-flow.html +++ b/api/simplified-run-flow.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/stream-logs.html b/api/stream-logs.html index 2f3bbaddfc..dd451aea17 100644 --- a/api/stream-logs.html +++ b/api/stream-logs.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/update-flow.html b/api/update-flow.html index a88d0c1271..528f72ae4c 100644 --- a/api/update-flow.html +++ b/api/update-flow.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/update-folder.html b/api/update-folder.html index 2457a6f0c5..9d6d846c7a 100644 --- a/api/update-folder.html +++ b/api/update-folder.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/update-message.html b/api/update-message.html index 4efec37569..f027372fc0 100644 --- a/api/update-message.html +++ b/api/update-message.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/update-session-id.html b/api/update-session-id.html index 7064a6792f..6fdc9f4e09 100644 --- a/api/update-session-id.html +++ b/api/update-session-id.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/update-shared-component.html b/api/update-shared-component.html index d3874783d8..ae0ddb5df1 100644 --- a/api/update-shared-component.html +++ b/api/update-shared-component.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/update-variable.html b/api/update-variable.html index c093e76355..595c065f71 100644 --- a/api/update-variable.html +++ b/api/update-variable.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/upload-file-1.html b/api/upload-file-1.html index 7f20de3246..9f4ba958b0 100644 --- a/api/upload-file-1.html +++ b/api/upload-file-1.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/upload-file-2.html b/api/upload-file-2.html index dc9d8d1273..d4bee2929a 100644 --- a/api/upload-file-2.html +++ b/api/upload-file-2.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/upload-file.html b/api/upload-file.html index 777b3575c3..4ec6a7ea99 100644 --- a/api/upload-file.html +++ b/api/upload-file.html @@ -10,8 +10,8 @@ - - + + diff --git a/api/webhook-run-flow.html b/api/webhook-run-flow.html index 467c4f91d7..f2c7339cfa 100644 --- a/api/webhook-run-flow.html +++ b/api/webhook-run-flow.html @@ -10,8 +10,8 @@ - - + + diff --git a/assets/js/16d61ab3.4713891f.js b/assets/js/16d61ab3.4713891f.js deleted file mode 100644 index 09b2c8bf07..0000000000 --- a/assets/js/16d61ab3.4713891f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1039],{98724:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var s=n(74848),o=n(28453);const r={title:"Memory Chatbot",sidebar_position:3,slug:"/starter-projects-memory-chatbot"},i=void 0,a={id:"Starter-Projects/starter-projects-memory-chatbot",title:"Memory Chatbot",description:"This flow extends the\xa0basic prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.",source:"@site/docs/Starter-Projects/starter-projects-memory-chatbot.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-memory-chatbot",permalink:"/starter-projects-memory-chatbot",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{title:"Memory Chatbot",sidebar_position:3,slug:"/starter-projects-memory-chatbot"},sidebar:"docs",previous:{title:"Dynamic agent",permalink:"/starter-projects-dynamic-agent"},next:{title:"Simple agent",permalink:"/starter-projects-simple-agent"}},c={},h=[{value:"Prerequisites",id:"a71d73e99b1543bbba827207503cf31f",level:2},{value:"Create the memory chatbot flow",id:"create-the-memory-chatbot-flow",level:2},{value:"Run the memory chatbot flow",id:"run-the-memory-chatbot-flow",level:2},{value:"Use Session ID in with the memory chatbot flow",id:"4e68c3c0750942f98c45c1c45d7ffbbe",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["This flow extends the\xa0",(0,s.jsx)(t.a,{href:"/starter-projects-basic-prompting",children:"basic prompting"}),"\xa0flow to include a chat memory. This makes the AI remember previous user inputs."]}),"\n",(0,s.jsx)(t.h2,{id:"a71d73e99b1543bbba827207503cf31f",children:"Prerequisites"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/get-started-installation",children:"Langflow installed and running"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"create-the-memory-chatbot-flow",children:"Create the memory chatbot flow"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,s.jsx)(t.strong,{children:"New Flow"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:["Select\xa0",(0,s.jsx)(t.strong,{children:"Memory Chatbot"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:["The\xa0",(0,s.jsx)(t.strong,{children:"Memory Chatbot"}),"\xa0flow is created."]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(97829).A+"",width:"2978",height:"1056"})}),"\n",(0,s.jsxs)(t.p,{children:["This flow uses the same components as the Basic Prompting one, but extends it with a\xa0",(0,s.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component. This component retrieves previous messages and sends them to the\xa0",(0,s.jsx)(t.strong,{children:"Prompt"}),"\xa0component to fill a part of the\xa0",(0,s.jsx)(t.strong,{children:"Template"}),"\xa0with context."]}),"\n",(0,s.jsx)(t.p,{children:"By clicking the template, you'll see the prompt editor like below:"}),"\n",(0,s.jsxs)(t.p,{children:["This gives the\xa0",(0,s.jsx)(t.strong,{children:"OpenAI"}),"\xa0component a memory of previous chat messages."]}),"\n",(0,s.jsx)(t.h2,{id:"run-the-memory-chatbot-flow",children:"Run the memory chatbot flow"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsx)(t.li,{children:"Open the Playground."}),"\n",(0,s.jsxs)(t.li,{children:["Type multiple questions. In the\xa0",(0,s.jsx)(t.strong,{children:"Memories"}),"\xa0tab, your queries are logged in order. Up to 100 queries are stored by default. Try telling the AI your name and asking\xa0",(0,s.jsx)(t.code,{children:"What is my name?"})," on a second message, or\xa0",(0,s.jsx)(t.code,{children:"What is the first subject I asked you about?"}),"\xa0to validate that previous knowledge is taking effect."]}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["Check and adjust advanced parameters by opening the Advanced Settings of the\xa0",(0,s.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component."]})}),"\n",(0,s.jsx)(t.h2,{id:"4e68c3c0750942f98c45c1c45d7ffbbe",children:"Use Session ID in with the memory chatbot flow"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"SessionID"}),"\xa0is a unique identifier in Langflow that stores conversation sessions between the AI and a user. A\xa0",(0,s.jsx)(t.code,{children:"SessionID"}),"\xa0is created when a conversation is initiated, and then associated with all subsequent messages during that session."]}),"\n",(0,s.jsxs)(t.p,{children:["In the\xa0",(0,s.jsx)(t.strong,{children:"Memory Chatbot"}),"\xa0flow you created, the\xa0",(0,s.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component references past interactions by\xa0",(0,s.jsx)(t.strong,{children:"Session ID"}),". You can demonstrate this by modifying the\xa0",(0,s.jsx)(t.strong,{children:"Session ID"}),"\xa0value to switch between conversation histories."]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["In the\xa0",(0,s.jsx)(t.strong,{children:"Session ID"}),"\xa0field of the\xa0",(0,s.jsx)(t.strong,{children:"Chat Memory"}),"\xa0and\xa0",(0,s.jsx)(t.strong,{children:"Chat Input"}),"\xa0components, add a\xa0",(0,s.jsx)(t.strong,{children:"Session ID"}),"\xa0value like\xa0",(0,s.jsx)(t.code,{children:"MySessionID"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:["Now, once you send a new message the\xa0",(0,s.jsx)(t.strong,{children:"Playground"}),", you should have a new memory created on the\xa0",(0,s.jsx)(t.strong,{children:"Memories"}),"\xa0tab."]}),"\n",(0,s.jsx)(t.li,{children:"Notice how your conversation is being stored in different memory sessions."}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["Every\xa0chat\xa0component in Langflow comes with a\xa0",(0,s.jsx)(t.code,{children:"SessionID"}),". It defaults to the flow ID. Explore how changing it affects what the AI remembers."]})}),"\n",(0,s.jsxs)(t.p,{children:["Learn more about memories in the ",(0,s.jsx)(t.a,{href:"/guides-chat-memory",children:"Chat Memory"})," section."]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},97829:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/starter-flow-memory-chatbot-e2582e60e66da0086d957faa300f569e.png"},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(96540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/16d61ab3.6e5a6695.js b/assets/js/16d61ab3.6e5a6695.js new file mode 100644 index 0000000000..d0d1bc2247 --- /dev/null +++ b/assets/js/16d61ab3.6e5a6695.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1039],{98724:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var s=n(74848),o=n(28453);const r={title:"Memory Chatbot",sidebar_position:3,slug:"/starter-projects-memory-chatbot"},i=void 0,a={id:"Starter-Projects/starter-projects-memory-chatbot",title:"Memory Chatbot",description:"This flow extends the\xa0basic prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.",source:"@site/docs/Starter-Projects/starter-projects-memory-chatbot.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-memory-chatbot",permalink:"/starter-projects-memory-chatbot",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{title:"Memory Chatbot",sidebar_position:3,slug:"/starter-projects-memory-chatbot"},sidebar:"docs",previous:{title:"Document QA",permalink:"/starter-projects-document-qa"},next:{title:"Simple agent",permalink:"/starter-projects-simple-agent"}},c={},h=[{value:"Prerequisites",id:"a71d73e99b1543bbba827207503cf31f",level:2},{value:"Create the memory chatbot flow",id:"create-the-memory-chatbot-flow",level:2},{value:"Run the memory chatbot flow",id:"run-the-memory-chatbot-flow",level:2},{value:"Use Session ID in with the memory chatbot flow",id:"4e68c3c0750942f98c45c1c45d7ffbbe",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["This flow extends the\xa0",(0,s.jsx)(t.a,{href:"/starter-projects-basic-prompting",children:"basic prompting"}),"\xa0flow to include a chat memory. This makes the AI remember previous user inputs."]}),"\n",(0,s.jsx)(t.h2,{id:"a71d73e99b1543bbba827207503cf31f",children:"Prerequisites"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/get-started-installation",children:"Langflow installed and running"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"create-the-memory-chatbot-flow",children:"Create the memory chatbot flow"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,s.jsx)(t.strong,{children:"New Flow"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:["Select\xa0",(0,s.jsx)(t.strong,{children:"Memory Chatbot"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:["The\xa0",(0,s.jsx)(t.strong,{children:"Memory Chatbot"}),"\xa0flow is created."]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(97829).A+"",width:"2978",height:"1056"})}),"\n",(0,s.jsxs)(t.p,{children:["This flow uses the same components as the Basic Prompting one, but extends it with a\xa0",(0,s.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component. This component retrieves previous messages and sends them to the\xa0",(0,s.jsx)(t.strong,{children:"Prompt"}),"\xa0component to fill a part of the\xa0",(0,s.jsx)(t.strong,{children:"Template"}),"\xa0with context."]}),"\n",(0,s.jsx)(t.p,{children:"By clicking the template, you'll see the prompt editor like below:"}),"\n",(0,s.jsxs)(t.p,{children:["This gives the\xa0",(0,s.jsx)(t.strong,{children:"OpenAI"}),"\xa0component a memory of previous chat messages."]}),"\n",(0,s.jsx)(t.h2,{id:"run-the-memory-chatbot-flow",children:"Run the memory chatbot flow"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsx)(t.li,{children:"Open the Playground."}),"\n",(0,s.jsxs)(t.li,{children:["Type multiple questions. In the\xa0",(0,s.jsx)(t.strong,{children:"Memories"}),"\xa0tab, your queries are logged in order. Up to 100 queries are stored by default. Try telling the AI your name and asking\xa0",(0,s.jsx)(t.code,{children:"What is my name?"})," on a second message, or\xa0",(0,s.jsx)(t.code,{children:"What is the first subject I asked you about?"}),"\xa0to validate that previous knowledge is taking effect."]}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["Check and adjust advanced parameters by opening the Advanced Settings of the\xa0",(0,s.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component."]})}),"\n",(0,s.jsx)(t.h2,{id:"4e68c3c0750942f98c45c1c45d7ffbbe",children:"Use Session ID in with the memory chatbot flow"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"SessionID"}),"\xa0is a unique identifier in Langflow that stores conversation sessions between the AI and a user. A\xa0",(0,s.jsx)(t.code,{children:"SessionID"}),"\xa0is created when a conversation is initiated, and then associated with all subsequent messages during that session."]}),"\n",(0,s.jsxs)(t.p,{children:["In the\xa0",(0,s.jsx)(t.strong,{children:"Memory Chatbot"}),"\xa0flow you created, the\xa0",(0,s.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component references past interactions by\xa0",(0,s.jsx)(t.strong,{children:"Session ID"}),". You can demonstrate this by modifying the\xa0",(0,s.jsx)(t.strong,{children:"Session ID"}),"\xa0value to switch between conversation histories."]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["In the\xa0",(0,s.jsx)(t.strong,{children:"Session ID"}),"\xa0field of the\xa0",(0,s.jsx)(t.strong,{children:"Chat Memory"}),"\xa0and\xa0",(0,s.jsx)(t.strong,{children:"Chat Input"}),"\xa0components, add a\xa0",(0,s.jsx)(t.strong,{children:"Session ID"}),"\xa0value like\xa0",(0,s.jsx)(t.code,{children:"MySessionID"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:["Now, once you send a new message the\xa0",(0,s.jsx)(t.strong,{children:"Playground"}),", you should have a new memory created on the\xa0",(0,s.jsx)(t.strong,{children:"Memories"}),"\xa0tab."]}),"\n",(0,s.jsx)(t.li,{children:"Notice how your conversation is being stored in different memory sessions."}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["Every\xa0chat\xa0component in Langflow comes with a\xa0",(0,s.jsx)(t.code,{children:"SessionID"}),". It defaults to the flow ID. Explore how changing it affects what the AI remembers."]})}),"\n",(0,s.jsxs)(t.p,{children:["Learn more about memories in the ",(0,s.jsx)(t.a,{href:"/guides-chat-memory",children:"Chat Memory"})," section."]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},97829:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/starter-flow-memory-chatbot-e2582e60e66da0086d957faa300f569e.png"},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(96540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/172b3cfb.27d12542.js b/assets/js/172b3cfb.27d12542.js new file mode 100644 index 0000000000..23a53dad1d --- /dev/null +++ b/assets/js/172b3cfb.27d12542.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8929],{29411:(M,j,N)=>{N.r(j),N.d(j,{assets:()=>u,contentTitle:()=>T,default:()=>x,frontMatter:()=>g,metadata:()=>y,toc:()=>e});var D=N(74848),I=N(28453);const g={title:"Render",sidebar_position:4,slug:"/deployment-render"},T=void 0,y={id:"Deployment/deployment-render",title:"Render",description:"Deploy on Render",source:"@site/docs/Deployment/deployment-render.md",sourceDirName:"Deployment",slug:"/deployment-render",permalink:"/deployment-render",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Render",sidebar_position:4,slug:"/deployment-render"},sidebar:"docs",previous:{title:"Railway",permalink:"/deployment-railway"},next:{title:"AssemblyAI",permalink:"/integrations-assemblyai"}},u={},e=[{value:"Deploy on Render",id:"20a959b7047e44e490cc129fd21895c0",level:2}];function A(M){const j={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,I.R)(),...M.components};return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(j.h2,{id:"20a959b7047e44e490cc129fd21895c0",children:"Deploy on Render"}),"\n",(0,D.jsx)(j.hr,{}),"\n",(0,D.jsxs)(j.p,{children:[(0,D.jsx)(j.a,{href:"http://render.com/",children:"Render.com"})," is a unified cloud platform designed to make deploying web applications, APIs, and static sites easy. It provides a streamlined experience with powerful features like automatic SSL, managed databases, and auto-deploy from Git, making it a popular choice for developers looking to simplify their deployment workflows."]}),"\n",(0,D.jsx)(j.p,{children:"Deploying Langflow to Render is a straightforward process that can be completed in just a few steps:"}),"\n",(0,D.jsxs)(j.ol,{children:["\n",(0,D.jsxs)(j.li,{children:["\n",(0,D.jsxs)(j.p,{children:[(0,D.jsx)(j.strong,{children:"Click the Button Below"}),": Start by clicking the deployment button provided below. This will redirect you to the Render platform."]}),"\n",(0,D.jsx)(j.p,{children:(0,D.jsx)(j.a,{href:"https://render.com/deploy?repo=https%3A%2F%2Fgithub.com%2Flangflow-ai%2Flangflow%2Ftree%2Fdev",children:(0,D.jsx)(j.img,{alt:"Deploy to Render",src:N(1975).A+"",width:"153",height:"40"})})}),"\n"]}),"\n",(0,D.jsxs)(j.li,{children:["\n",(0,D.jsxs)(j.p,{children:[(0,D.jsx)(j.strong,{children:"Select the Blueprint Configuration"}),": Once on the Render platform, you will be prompted to provide a blueprint name and to select the branch for your ",(0,D.jsx)(j.code,{children:"render.yaml"})," file in Langflow. This configuration file includes all the necessary settings and resources to deploy Langflow in Render. The default is ",(0,D.jsx)(j.code,{children:"main"}),"."]}),"\n"]}),"\n",(0,D.jsxs)(j.li,{children:["\n",(0,D.jsxs)(j.p,{children:["The ",(0,D.jsx)(j.code,{children:"render.yaml"})," file specifies a ",(0,D.jsx)(j.code,{children:"standard"})," Render instance, because Langflow requires at least 2 GB of RAM to run. This may require a credit card to sign up. Review the pricing details on the Render platform to understand any costs involved before proceeding. If you need to change your plan later, from the Render dashboard, go to ",(0,D.jsx)(j.strong,{children:"Settings"})," > ",(0,D.jsx)(j.strong,{children:"Instance Type"}),"."]}),"\n"]}),"\n",(0,D.jsxs)(j.li,{children:["\n",(0,D.jsxs)(j.p,{children:["Click ",(0,D.jsx)(j.strong,{children:"Deploy Blueprint"})," to deploy Langflow. Render will handle the rest, including setting up the database, deploying the Langflow instance, and starting the application."]}),"\n"]}),"\n"]}),"\n",(0,D.jsx)(j.p,{children:"By following these steps, your Langflow instance will be successfully deployed on Render."})]})}function x(M={}){const{wrapper:j}={...(0,I.R)(),...M.components};return j?(0,D.jsx)(j,{...M,children:(0,D.jsx)(A,{...M})}):A(M)}},1975:(M,j,N)=>{N.d(j,{A:()=>D});const D="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUzIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMTUzIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB3aWR0aD0iMTUzIiBoZWlnaHQ9IjQwIiBmaWxsPSIjOEEwNUZGIi8+CjxwYXRoIGQ9Ik0xNy41MDAxIDIxTDE4LjIwNTEgMjEuNzA1TDE5LjUwMDEgMjAuNDE1VjI2LjVIMjAuNTAwMVYyMC40MTVMMjEuNzk1MSAyMS43MDVMMjIuNTAwMSAyMUwyMC4wMDAxIDE4LjVMMTcuNTAwMSAyMVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMy43NTAxIDIzSDIzLjUwMDFWMjJIMjMuNzUwMUMyNC4zNDY4IDIyLjAyMzkgMjQuOTI4NiAyMS44MDk3IDI1LjM2NzQgMjEuNDA0N0MyNS44MDYyIDIwLjk5OTYgMjYuMDY2MiAyMC40MzY4IDI2LjA5MDEgMTkuODRDMjYuMTEzOSAxOS4yNDMzIDI1Ljg5OTggMTguNjYxNSAyNS40OTQ3IDE4LjIyMjdDMjUuMDg5NiAxNy43ODM4IDI0LjUyNjggMTcuNTIzOSAyMy45MzAxIDE3LjVIMjMuNTAwMUwyMy40NTAxIDE3LjA5QzIzLjMzOTEgMTYuMjQ4MyAyMi45MjYgMTUuNDc1NSAyMi4yODc2IDE0LjkxNTdDMjEuNjQ5MiAxNC4zNTU5IDIwLjgyOTEgMTQuMDQ3MyAxOS45ODAxIDE0LjA0NzNDMTkuMTMxIDE0LjA0NzMgMTguMzEwOSAxNC4zNTU5IDE3LjY3MjUgMTQuOTE1N0MxNy4wMzQxIDE1LjQ3NTUgMTYuNjIxIDE2LjI0ODMgMTYuNTEwMSAxNy4wOUwxNi41MDAxIDE3LjVIMTYuMDcwMUMxNS40NzMzIDE3LjUyMzkgMTQuOTEwNSAxNy43ODM4IDE0LjUwNTQgMTguMjIyN0MxNC4xMDAzIDE4LjY2MTUgMTMuODg2MiAxOS4yNDMzIDEzLjkxMDEgMTkuODRDMTMuOTMzOSAyMC40MzY4IDE0LjE5MzkgMjAuOTk5NiAxNC42MzI3IDIxLjQwNDdDMTUuMDcxNSAyMS44MDk3IDE1LjY1MzMgMjIuMDIzOSAxNi4yNTAxIDIySDE2LjUwMDFWMjNIMTYuMjUwMUMxNS40NDgzIDIyLjk5NSAxNC42NzY2IDIyLjY5MzcgMTQuMDgzNSAyMi4xNTQxQzEzLjQ5MDUgMjEuNjE0NSAxMy4xMTc4IDIwLjg3NDcgMTMuMDM3MSAyMC4wNzdDMTIuOTU2NSAxOS4yNzkyIDEzLjE3MzYgMTguNDc5OCAxMy42NDY3IDE3LjgzMjVDMTQuMTE5OCAxNy4xODUxIDE0LjgxNTUgMTYuNzM1NSAxNS42MDAxIDE2LjU3QzE1LjgxNTkgMTUuNTYzMyAxNi4zNzA1IDE0LjY2MSAxNy4xNzEyIDE0LjAxMzhDMTcuOTcxOSAxMy4zNjY1IDE4Ljk3MDQgMTMuMDEzNCAyMC4wMDAxIDEzLjAxMzRDMjEuMDI5NyAxMy4wMTM0IDIyLjAyODIgMTMuMzY2NSAyMi44Mjg5IDE0LjAxMzhDMjMuNjI5NiAxNC42NjEgMjQuMTg0MiAxNS41NjMzIDI0LjQwMDEgMTYuNTdDMjUuMTg0NiAxNi43MzU1IDI1Ljg4MDMgMTcuMTg1MSAyNi4zNTM0IDE3LjgzMjVDMjYuODI2NSAxOC40Nzk4IDI3LjA0MzYgMTkuMjc5MiAyNi45NjMgMjAuMDc3QzI2Ljg4MjMgMjAuODc0NyAyNi41MDk2IDIxLjYxNDUgMjUuOTE2NiAyMi4xNTQxQzI1LjMyMzUgMjIuNjkzNyAyNC41NTE4IDIyLjk5NSAyMy43NTAxIDIzWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTM5LjA2MzIgMjVIMzUuNDM3MlYxNC45OUgzOS4wNjMyQzQxLjgyMTIgMTQuOTkgNDMuNTE1MiAxNi43ODIgNDMuNTE1MiAyMC4wMDJDNDMuNTE1MiAyMy4yMjIgNDEuODIxMiAyNSAzOS4wNjMyIDI1Wk0zNi42OTcyIDIzLjg4SDM5LjA2MzJDNDEuNjExMiAyMy44OCA0Mi4xOTkyIDIxLjk2MiA0Mi4xOTkyIDIwLjAwMkM0Mi4xOTkyIDE4LjA0MiA0MS42MTEyIDE2LjExIDM5LjA2MzIgMTYuMTFIMzYuNjk3MlYyMy44OFpNNTEuNDMwOSAyMS4xNjRDNTEuNDMwOSAyMS4zNzQgNTEuNDMwOSAyMS42MTIgNTEuNDE2OSAyMS43MjRINDUuODMwOUM0NS44NTg5IDIyLjk4NCA0Ni41NTg5IDI0LjI0NCA0OC4xNDA5IDI0LjI0NEM0OS41NDA5IDI0LjI0NCA1MC4wNzI5IDIzLjMwNiA1MC4xOTg5IDIyLjgwMkg1MS4zMzI5QzUwLjk2ODkgMjQuMTMyIDQ5Ljk2MDkgMjUuMjEgNDguMTI2OSAyNS4yMUM0NS44NzI5IDI1LjIxIDQ0LjY1NDkgMjMuNTg2IDQ0LjY1NDkgMjEuNDE2QzQ0LjY1NDkgMTkuMTM0IDQ2LjAxMjkgMTcuNjUgNDguMTI2OSAxNy42NUM1MC4yMTI5IDE3LjY1IDUxLjQzMDkgMTkuMDc4IDUxLjQzMDkgMjEuMTY0Wk00NS44MzA5IDIwLjc0NEg1MC4yNDA5QzUwLjI0MDkgMTkuNTY4IDQ5LjQwMDkgMTguNjE2IDQ4LjA3MDkgMTguNjE2QzQ2LjgzODkgMTguNjE2IDQ1LjkwMDkgMTkuNDk4IDQ1LjgzMDkgMjAuNzQ0Wk01Ni4xODk4IDE3LjY2NEM1Ny45ODE4IDE3LjY2NCA1OS40MDk4IDE5LjA3OCA1OS40MDk4IDIxLjQzQzU5LjQwOTggMjMuNzgyIDU3Ljk4MTggMjUuMTk2IDU2LjE4OTggMjUuMTk2QzU1LjA0MTggMjUuMTk2IDU0LjM2OTggMjQuNjkyIDUzLjk0OTggMjQuMDc2SDUzLjkyMThWMjcuNDc4SDUyLjgwMThWMTcuODZINTMuOTIxOFYxOC43NDJINTMuOTQ5OEM1NC4zNjk4IDE4LjE5NiA1NS4wNDE4IDE3LjY2NCA1Ni4xODk4IDE3LjY2NFpNNTYuMDc3OCAyNC4yMTZDNTcuNTQ3OCAyNC4yMTYgNTguMjMzOCAyMi44MyA1OC4yMzM4IDIxLjQzQzU4LjIzMzggMjAuMDMgNTcuNTQ3OCAxOC42NDQgNTYuMDc3OCAxOC42NDRDNTQuNzQ3OCAxOC42NDQgNTMuOTIxOCAxOS43NSA1My45MjE4IDIxLjQzQzUzLjkyMTggMjMuMTEgNTQuNzQ3OCAyNC4yMTYgNTYuMDc3OCAyNC4yMTZaTTYxLjkwOTQgMjVINjAuNzg5NFYxNC45OUg2MS45MDk0VjI1Wk02Ni43ODU1IDI1LjIxQzY0LjYwMTUgMjUuMjEgNjMuMjg1NSAyMy42NTYgNjMuMjg1NSAyMS40M0M2My4yODU1IDE5LjIwNCA2NC42MDE1IDE3LjY1IDY2Ljc4NTUgMTcuNjVDNjguOTU1NSAxNy42NSA3MC4yNzE1IDE5LjIwNCA3MC4yNzE1IDIxLjQzQzcwLjI3MTUgMjMuNjU2IDY4Ljk1NTUgMjUuMjEgNjYuNzg1NSAyNS4yMVpNNjYuNzg1NSAyNC4yM0M2OC4zODE1IDI0LjIzIDY5LjA5NTUgMjIuOTU2IDY5LjA5NTUgMjEuNDNDNjkuMDk1NSAxOS45MDQgNjguMzgxNSAxOC42MyA2Ni43ODU1IDE4LjYzQzY1LjE3NTUgMTguNjMgNjQuNDYxNSAxOS45MDQgNjQuNDYxNSAyMS40M0M2NC40NjE1IDIyLjk1NiA2NS4xNzU1IDI0LjIzIDY2Ljc4NTUgMjQuMjNaTTcyLjIwMiAyNy41MDZDNzEuOTUgMjcuNTA2IDcxLjc4MiAyNy40OTIgNzEuNDYgMjcuNDM2VjI2LjQ4NEM3MS42OTggMjYuNTEyIDcxLjgxIDI2LjUyNiA3Mi4wMiAyNi41MjZDNzIuNjA4IDI2LjUyNiA3My4yNTIgMjYuMTYyIDczLjU2IDI0LjkzTDcwLjY2MiAxNy44Nkg3MS45MjJMNzQuMTIgMjMuNTQ0SDc0LjE0OEw3Ni4yNDggMTcuODZINzcuNDUyTDc0LjU2OCAyNS4yMUM3My44NTQgMjcuMDE2IDczLjE2OCAyNy41MDYgNzIuMjAyIDI3LjUwNlpNODQuMjM3IDE3Ljg2VjE4Ljg0SDgyLjgzN1YyMy4xMzhDODIuODM3IDIzLjg5NCA4My4wMTkgMjQuMDkgODMuNjQ5IDI0LjA5QzgzLjg4NyAyNC4wOSA4My45OTkgMjQuMDc2IDg0LjIzNyAyNC4wNDhWMjVDODMuOTE1IDI1LjA1NiA4My43NDcgMjUuMDcgODMuNDk1IDI1LjA3QzgyLjQ0NSAyNS4wNyA4MS43MTcgMjQuNzA2IDgxLjcxNyAyMy4wODJWMTguODRIODAuNjY3VjE3Ljg2SDgxLjcxN1YxNS40OEg4Mi44MzdWMTcuODZIODQuMjM3Wk04OC41MDk1IDI1LjIxQzg2LjMyNTUgMjUuMjEgODUuMDA5NSAyMy42NTYgODUuMDA5NSAyMS40M0M4NS4wMDk1IDE5LjIwNCA4Ni4zMjU1IDE3LjY1IDg4LjUwOTUgMTcuNjVDOTAuNjc5NSAxNy42NSA5MS45OTU1IDE5LjIwNCA5MS45OTU1IDIxLjQzQzkxLjk5NTUgMjMuNjU2IDkwLjY3OTUgMjUuMjEgODguNTA5NSAyNS4yMVpNODguNTA5NSAyNC4yM0M5MC4xMDU1IDI0LjIzIDkwLjgxOTUgMjIuOTU2IDkwLjgxOTUgMjEuNDNDOTAuODE5NSAxOS45MDQgOTAuMTA1NSAxOC42MyA4OC41MDk1IDE4LjYzQzg2Ljg5OTUgMTguNjMgODYuMTg1NSAxOS45MDQgODYuMTg1NSAyMS40M0M4Ni4xODU1IDIyLjk1NiA4Ni44OTk1IDI0LjIzIDg4LjUwOTUgMjQuMjNaTTk3Ljk4IDI1SDk2LjcyVjE0Ljk5SDEwMC43MzhDMTAyLjkzNiAxNC45OSAxMDQuMDg0IDE2LjAyNiAxMDQuMDg0IDE3Ljg3NEMxMDQuMDg0IDE5LjEyIDEwMy4zMTQgMjAuMDcyIDEwMi4yNjQgMjAuMzI0VjIwLjM1MkMxMDQuNTE4IDIwLjc4NiAxMDMuNjkyIDI0Ljc0OCAxMDQuMjI0IDI0LjkxNlYyNUgxMDIuODY2QzEwMi40MzIgMjQuNTggMTAzLjM4NCAyMC45NTQgMTAwLjg1IDIwLjk1NEg5Ny45OFYyNVpNOTcuOTggMTkuODM0SDEwMC40NDRDMTAxLjk3IDE5LjgzNCAxMDIuODI0IDE5LjE0OCAxMDIuODI0IDE3LjkwMkMxMDIuODI0IDE2Ljc1NCAxMDIuMTggMTYuMTEgMTAwLjQ4NiAxNi4xMUg5Ny45OFYxOS44MzRaTTExMS45NjIgMjEuMTY0QzExMS45NjIgMjEuMzc0IDExMS45NjIgMjEuNjEyIDExMS45NDggMjEuNzI0SDEwNi4zNjJDMTA2LjM5IDIyLjk4NCAxMDcuMDkgMjQuMjQ0IDEwOC42NzIgMjQuMjQ0QzExMC4wNzIgMjQuMjQ0IDExMC42MDQgMjMuMzA2IDExMC43MyAyMi44MDJIMTExLjg2NEMxMTEuNSAyNC4xMzIgMTEwLjQ5MiAyNS4yMSAxMDguNjU4IDI1LjIxQzEwNi40MDQgMjUuMjEgMTA1LjE4NiAyMy41ODYgMTA1LjE4NiAyMS40MTZDMTA1LjE4NiAxOS4xMzQgMTA2LjU0NCAxNy42NSAxMDguNjU4IDE3LjY1QzExMC43NDQgMTcuNjUgMTExLjk2MiAxOS4wNzggMTExLjk2MiAyMS4xNjRaTTEwNi4zNjIgMjAuNzQ0SDExMC43NzJDMTEwLjc3MiAxOS41NjggMTA5LjkzMiAxOC42MTYgMTA4LjYwMiAxOC42MTZDMTA3LjM3IDE4LjYxNiAxMDYuNDMyIDE5LjQ5OCAxMDYuMzYyIDIwLjc0NFpNMTE2LjgzMyAxNy42NjRDMTE4LjEzNSAxNy42NjQgMTE5LjIyNyAxOC4zNzggMTE5LjIyNyAyMC4wMTZWMjVIMTE4LjEwN1YyMC4yOTZDMTE4LjEwNyAxOS4zNzIgMTE3LjY3MyAxOC42NDQgMTE2LjU1MyAxOC42NDRDMTE1LjI5MyAxOC42NDQgMTE0LjQ1MyAxOS40NDIgMTE0LjQ1MyAyMC41NDhWMjVIMTEzLjMzM1YxNy44NkgxMTQuNDUzVjE4LjcxNEgxMTQuNDgxQzExNC44NTkgMTguMjEgMTE1LjYxNSAxNy42NjQgMTE2LjgzMyAxNy42NjRaTTEyNi4wNDcgMTguNzg0VjE0Ljk5SDEyNy4xNjdWMjVIMTI2LjA0N1YyNC4xMThIMTI2LjAxOUMxMjUuNTk5IDI0LjY2NCAxMjQuOTI3IDI1LjE5NiAxMjMuNzc5IDI1LjE5NkMxMjEuOTg3IDI1LjE5NiAxMjAuNTU5IDIzLjc4MiAxMjAuNTU5IDIxLjQzQzEyMC41NTkgMTkuMDc4IDEyMS45ODcgMTcuNjY0IDEyMy43NzkgMTcuNjY0QzEyNC45MjcgMTcuNjY0IDEyNS41OTkgMTguMTY4IDEyNi4wMTkgMTguNzg0SDEyNi4wNDdaTTEyMy44OTEgMjQuMjE2QzEyNS4yMjEgMjQuMjE2IDEyNi4wNDcgMjMuMTEgMTI2LjA0NyAyMS40M0MxMjYuMDQ3IDE5Ljc1IDEyNS4yMjEgMTguNjQ0IDEyMy44OTEgMTguNjQ0QzEyMi40MjEgMTguNjQ0IDEyMS43MzUgMjAuMDMgMTIxLjczNSAyMS40M0MxMjEuNzM1IDIyLjgzIDEyMi40MjEgMjQuMjE2IDEyMy44OTEgMjQuMjE2Wk0xMzUuMzIzIDIxLjE2NEMxMzUuMzIzIDIxLjM3NCAxMzUuMzIzIDIxLjYxMiAxMzUuMzA5IDIxLjcyNEgxMjkuNzIzQzEyOS43NTEgMjIuOTg0IDEzMC40NTEgMjQuMjQ0IDEzMi4wMzMgMjQuMjQ0QzEzMy40MzMgMjQuMjQ0IDEzMy45NjUgMjMuMzA2IDEzNC4wOTEgMjIuODAySDEzNS4yMjVDMTM0Ljg2MSAyNC4xMzIgMTMzLjg1MyAyNS4yMSAxMzIuMDE5IDI1LjIxQzEyOS43NjUgMjUuMjEgMTI4LjU0NyAyMy41ODYgMTI4LjU0NyAyMS40MTZDMTI4LjU0NyAxOS4xMzQgMTI5LjkwNSAxNy42NSAxMzIuMDE5IDE3LjY1QzEzNC4xMDUgMTcuNjUgMTM1LjMyMyAxOS4wNzggMTM1LjMyMyAyMS4xNjRaTTEyOS43MjMgMjAuNzQ0SDEzNC4xMzNDMTM0LjEzMyAxOS41NjggMTMzLjI5MyAxOC42MTYgMTMxLjk2MyAxOC42MTZDMTMwLjczMSAxOC42MTYgMTI5Ljc5MyAxOS40OTggMTI5LjcyMyAyMC43NDRaTTEzOS44MTYgMTcuNjY0QzE0MC4wODIgMTcuNjY0IDE0MC4yNzggMTcuNjc4IDE0MC40NzQgMTcuNzA2VjE4LjgyNkMxNDAuMzA2IDE4Ljc5OCAxNDAuMTggMTguNzg0IDE0MC4wMTIgMTguNzg0QzEzOC42OTYgMTguNzg0IDEzNy44MTQgMTkuODIgMTM3LjgxNCAyMS4xOTJWMjVIMTM2LjY5NFYxNy44NkgxMzcuODE0VjE5LjI3NEgxMzcuODQyQzEzOC4yMiAxOC4zMzYgMTM4Ljc5NCAxNy42NjQgMTM5LjgxNiAxNy42NjRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"},28453:(M,j,N)=>{N.d(j,{R:()=>T,x:()=>y});var D=N(96540);const I={},g=D.createContext(I);function T(M){const j=D.useContext(g);return D.useMemo((function(){return"function"==typeof M?M(j):{...j,...M}}),[j,M])}function y(M){let j;return j=M.disableParentContext?"function"==typeof M.components?M.components(I):M.components||I:T(M.components),D.createElement(g.Provider,{value:j},M.children)}}}]); \ No newline at end of file diff --git a/assets/js/172b3cfb.8a457416.js b/assets/js/172b3cfb.8a457416.js deleted file mode 100644 index a1ac80ab5e..0000000000 --- a/assets/js/172b3cfb.8a457416.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8929],{29411:(M,j,N)=>{N.r(j),N.d(j,{assets:()=>u,contentTitle:()=>T,default:()=>x,frontMatter:()=>g,metadata:()=>y,toc:()=>e});var D=N(74848),I=N(28453);const g={title:"Render",sidebar_position:4,slug:"/deployment-render"},T=void 0,y={id:"Deployment/deployment-render",title:"Render",description:"Deploy on Render",source:"@site/docs/Deployment/deployment-render.md",sourceDirName:"Deployment",slug:"/deployment-render",permalink:"/deployment-render",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Render",sidebar_position:4,slug:"/deployment-render"},sidebar:"docs",previous:{title:"Railway",permalink:"/deployment-railway"}},u={},e=[{value:"Deploy on Render",id:"20a959b7047e44e490cc129fd21895c0",level:2}];function A(M){const j={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,I.R)(),...M.components};return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(j.h2,{id:"20a959b7047e44e490cc129fd21895c0",children:"Deploy on Render"}),"\n",(0,D.jsx)(j.hr,{}),"\n",(0,D.jsxs)(j.p,{children:[(0,D.jsx)(j.a,{href:"http://render.com/",children:"Render.com"})," is a unified cloud platform designed to make deploying web applications, APIs, and static sites easy. It provides a streamlined experience with powerful features like automatic SSL, managed databases, and auto-deploy from Git, making it a popular choice for developers looking to simplify their deployment workflows."]}),"\n",(0,D.jsx)(j.p,{children:"Deploying Langflow to Render is a straightforward process that can be completed in just a few steps:"}),"\n",(0,D.jsxs)(j.ol,{children:["\n",(0,D.jsxs)(j.li,{children:["\n",(0,D.jsxs)(j.p,{children:[(0,D.jsx)(j.strong,{children:"Click the Button Below"}),": Start by clicking the deployment button provided below. This will redirect you to the Render platform."]}),"\n",(0,D.jsx)(j.p,{children:(0,D.jsx)(j.a,{href:"https://render.com/deploy?repo=https%3A%2F%2Fgithub.com%2Flangflow-ai%2Flangflow%2Ftree%2Fdev",children:(0,D.jsx)(j.img,{alt:"Deploy to Render",src:N(1975).A+"",width:"153",height:"40"})})}),"\n"]}),"\n",(0,D.jsxs)(j.li,{children:["\n",(0,D.jsxs)(j.p,{children:[(0,D.jsx)(j.strong,{children:"Select the Blueprint Configuration"}),": Once on the Render platform, you will be prompted to provide a blueprint name and to select the branch for your ",(0,D.jsx)(j.code,{children:"render.yaml"})," file in Langflow. This configuration file includes all the necessary settings and resources to deploy Langflow in Render. The default is ",(0,D.jsx)(j.code,{children:"main"}),"."]}),"\n"]}),"\n",(0,D.jsxs)(j.li,{children:["\n",(0,D.jsxs)(j.p,{children:["The ",(0,D.jsx)(j.code,{children:"render.yaml"})," file specifies a ",(0,D.jsx)(j.code,{children:"standard"})," Render instance, because Langflow requires at least 2 GB of RAM to run. This may require a credit card to sign up. Review the pricing details on the Render platform to understand any costs involved before proceeding. If you need to change your plan later, from the Render dashboard, go to ",(0,D.jsx)(j.strong,{children:"Settings"})," > ",(0,D.jsx)(j.strong,{children:"Instance Type"}),"."]}),"\n"]}),"\n",(0,D.jsxs)(j.li,{children:["\n",(0,D.jsxs)(j.p,{children:["Click ",(0,D.jsx)(j.strong,{children:"Deploy Blueprint"})," to deploy Langflow. Render will handle the rest, including setting up the database, deploying the Langflow instance, and starting the application."]}),"\n"]}),"\n"]}),"\n",(0,D.jsx)(j.p,{children:"By following these steps, your Langflow instance will be successfully deployed on Render."})]})}function x(M={}){const{wrapper:j}={...(0,I.R)(),...M.components};return j?(0,D.jsx)(j,{...M,children:(0,D.jsx)(A,{...M})}):A(M)}},1975:(M,j,N)=>{N.d(j,{A:()=>D});const D="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUzIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMTUzIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB3aWR0aD0iMTUzIiBoZWlnaHQ9IjQwIiBmaWxsPSIjOEEwNUZGIi8+CjxwYXRoIGQ9Ik0xNy41MDAxIDIxTDE4LjIwNTEgMjEuNzA1TDE5LjUwMDEgMjAuNDE1VjI2LjVIMjAuNTAwMVYyMC40MTVMMjEuNzk1MSAyMS43MDVMMjIuNTAwMSAyMUwyMC4wMDAxIDE4LjVMMTcuNTAwMSAyMVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMy43NTAxIDIzSDIzLjUwMDFWMjJIMjMuNzUwMUMyNC4zNDY4IDIyLjAyMzkgMjQuOTI4NiAyMS44MDk3IDI1LjM2NzQgMjEuNDA0N0MyNS44MDYyIDIwLjk5OTYgMjYuMDY2MiAyMC40MzY4IDI2LjA5MDEgMTkuODRDMjYuMTEzOSAxOS4yNDMzIDI1Ljg5OTggMTguNjYxNSAyNS40OTQ3IDE4LjIyMjdDMjUuMDg5NiAxNy43ODM4IDI0LjUyNjggMTcuNTIzOSAyMy45MzAxIDE3LjVIMjMuNTAwMUwyMy40NTAxIDE3LjA5QzIzLjMzOTEgMTYuMjQ4MyAyMi45MjYgMTUuNDc1NSAyMi4yODc2IDE0LjkxNTdDMjEuNjQ5MiAxNC4zNTU5IDIwLjgyOTEgMTQuMDQ3MyAxOS45ODAxIDE0LjA0NzNDMTkuMTMxIDE0LjA0NzMgMTguMzEwOSAxNC4zNTU5IDE3LjY3MjUgMTQuOTE1N0MxNy4wMzQxIDE1LjQ3NTUgMTYuNjIxIDE2LjI0ODMgMTYuNTEwMSAxNy4wOUwxNi41MDAxIDE3LjVIMTYuMDcwMUMxNS40NzMzIDE3LjUyMzkgMTQuOTEwNSAxNy43ODM4IDE0LjUwNTQgMTguMjIyN0MxNC4xMDAzIDE4LjY2MTUgMTMuODg2MiAxOS4yNDMzIDEzLjkxMDEgMTkuODRDMTMuOTMzOSAyMC40MzY4IDE0LjE5MzkgMjAuOTk5NiAxNC42MzI3IDIxLjQwNDdDMTUuMDcxNSAyMS44MDk3IDE1LjY1MzMgMjIuMDIzOSAxNi4yNTAxIDIySDE2LjUwMDFWMjNIMTYuMjUwMUMxNS40NDgzIDIyLjk5NSAxNC42NzY2IDIyLjY5MzcgMTQuMDgzNSAyMi4xNTQxQzEzLjQ5MDUgMjEuNjE0NSAxMy4xMTc4IDIwLjg3NDcgMTMuMDM3MSAyMC4wNzdDMTIuOTU2NSAxOS4yNzkyIDEzLjE3MzYgMTguNDc5OCAxMy42NDY3IDE3LjgzMjVDMTQuMTE5OCAxNy4xODUxIDE0LjgxNTUgMTYuNzM1NSAxNS42MDAxIDE2LjU3QzE1LjgxNTkgMTUuNTYzMyAxNi4zNzA1IDE0LjY2MSAxNy4xNzEyIDE0LjAxMzhDMTcuOTcxOSAxMy4zNjY1IDE4Ljk3MDQgMTMuMDEzNCAyMC4wMDAxIDEzLjAxMzRDMjEuMDI5NyAxMy4wMTM0IDIyLjAyODIgMTMuMzY2NSAyMi44Mjg5IDE0LjAxMzhDMjMuNjI5NiAxNC42NjEgMjQuMTg0MiAxNS41NjMzIDI0LjQwMDEgMTYuNTdDMjUuMTg0NiAxNi43MzU1IDI1Ljg4MDMgMTcuMTg1MSAyNi4zNTM0IDE3LjgzMjVDMjYuODI2NSAxOC40Nzk4IDI3LjA0MzYgMTkuMjc5MiAyNi45NjMgMjAuMDc3QzI2Ljg4MjMgMjAuODc0NyAyNi41MDk2IDIxLjYxNDUgMjUuOTE2NiAyMi4xNTQxQzI1LjMyMzUgMjIuNjkzNyAyNC41NTE4IDIyLjk5NSAyMy43NTAxIDIzWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTM5LjA2MzIgMjVIMzUuNDM3MlYxNC45OUgzOS4wNjMyQzQxLjgyMTIgMTQuOTkgNDMuNTE1MiAxNi43ODIgNDMuNTE1MiAyMC4wMDJDNDMuNTE1MiAyMy4yMjIgNDEuODIxMiAyNSAzOS4wNjMyIDI1Wk0zNi42OTcyIDIzLjg4SDM5LjA2MzJDNDEuNjExMiAyMy44OCA0Mi4xOTkyIDIxLjk2MiA0Mi4xOTkyIDIwLjAwMkM0Mi4xOTkyIDE4LjA0MiA0MS42MTEyIDE2LjExIDM5LjA2MzIgMTYuMTFIMzYuNjk3MlYyMy44OFpNNTEuNDMwOSAyMS4xNjRDNTEuNDMwOSAyMS4zNzQgNTEuNDMwOSAyMS42MTIgNTEuNDE2OSAyMS43MjRINDUuODMwOUM0NS44NTg5IDIyLjk4NCA0Ni41NTg5IDI0LjI0NCA0OC4xNDA5IDI0LjI0NEM0OS41NDA5IDI0LjI0NCA1MC4wNzI5IDIzLjMwNiA1MC4xOTg5IDIyLjgwMkg1MS4zMzI5QzUwLjk2ODkgMjQuMTMyIDQ5Ljk2MDkgMjUuMjEgNDguMTI2OSAyNS4yMUM0NS44NzI5IDI1LjIxIDQ0LjY1NDkgMjMuNTg2IDQ0LjY1NDkgMjEuNDE2QzQ0LjY1NDkgMTkuMTM0IDQ2LjAxMjkgMTcuNjUgNDguMTI2OSAxNy42NUM1MC4yMTI5IDE3LjY1IDUxLjQzMDkgMTkuMDc4IDUxLjQzMDkgMjEuMTY0Wk00NS44MzA5IDIwLjc0NEg1MC4yNDA5QzUwLjI0MDkgMTkuNTY4IDQ5LjQwMDkgMTguNjE2IDQ4LjA3MDkgMTguNjE2QzQ2LjgzODkgMTguNjE2IDQ1LjkwMDkgMTkuNDk4IDQ1LjgzMDkgMjAuNzQ0Wk01Ni4xODk4IDE3LjY2NEM1Ny45ODE4IDE3LjY2NCA1OS40MDk4IDE5LjA3OCA1OS40MDk4IDIxLjQzQzU5LjQwOTggMjMuNzgyIDU3Ljk4MTggMjUuMTk2IDU2LjE4OTggMjUuMTk2QzU1LjA0MTggMjUuMTk2IDU0LjM2OTggMjQuNjkyIDUzLjk0OTggMjQuMDc2SDUzLjkyMThWMjcuNDc4SDUyLjgwMThWMTcuODZINTMuOTIxOFYxOC43NDJINTMuOTQ5OEM1NC4zNjk4IDE4LjE5NiA1NS4wNDE4IDE3LjY2NCA1Ni4xODk4IDE3LjY2NFpNNTYuMDc3OCAyNC4yMTZDNTcuNTQ3OCAyNC4yMTYgNTguMjMzOCAyMi44MyA1OC4yMzM4IDIxLjQzQzU4LjIzMzggMjAuMDMgNTcuNTQ3OCAxOC42NDQgNTYuMDc3OCAxOC42NDRDNTQuNzQ3OCAxOC42NDQgNTMuOTIxOCAxOS43NSA1My45MjE4IDIxLjQzQzUzLjkyMTggMjMuMTEgNTQuNzQ3OCAyNC4yMTYgNTYuMDc3OCAyNC4yMTZaTTYxLjkwOTQgMjVINjAuNzg5NFYxNC45OUg2MS45MDk0VjI1Wk02Ni43ODU1IDI1LjIxQzY0LjYwMTUgMjUuMjEgNjMuMjg1NSAyMy42NTYgNjMuMjg1NSAyMS40M0M2My4yODU1IDE5LjIwNCA2NC42MDE1IDE3LjY1IDY2Ljc4NTUgMTcuNjVDNjguOTU1NSAxNy42NSA3MC4yNzE1IDE5LjIwNCA3MC4yNzE1IDIxLjQzQzcwLjI3MTUgMjMuNjU2IDY4Ljk1NTUgMjUuMjEgNjYuNzg1NSAyNS4yMVpNNjYuNzg1NSAyNC4yM0M2OC4zODE1IDI0LjIzIDY5LjA5NTUgMjIuOTU2IDY5LjA5NTUgMjEuNDNDNjkuMDk1NSAxOS45MDQgNjguMzgxNSAxOC42MyA2Ni43ODU1IDE4LjYzQzY1LjE3NTUgMTguNjMgNjQuNDYxNSAxOS45MDQgNjQuNDYxNSAyMS40M0M2NC40NjE1IDIyLjk1NiA2NS4xNzU1IDI0LjIzIDY2Ljc4NTUgMjQuMjNaTTcyLjIwMiAyNy41MDZDNzEuOTUgMjcuNTA2IDcxLjc4MiAyNy40OTIgNzEuNDYgMjcuNDM2VjI2LjQ4NEM3MS42OTggMjYuNTEyIDcxLjgxIDI2LjUyNiA3Mi4wMiAyNi41MjZDNzIuNjA4IDI2LjUyNiA3My4yNTIgMjYuMTYyIDczLjU2IDI0LjkzTDcwLjY2MiAxNy44Nkg3MS45MjJMNzQuMTIgMjMuNTQ0SDc0LjE0OEw3Ni4yNDggMTcuODZINzcuNDUyTDc0LjU2OCAyNS4yMUM3My44NTQgMjcuMDE2IDczLjE2OCAyNy41MDYgNzIuMjAyIDI3LjUwNlpNODQuMjM3IDE3Ljg2VjE4Ljg0SDgyLjgzN1YyMy4xMzhDODIuODM3IDIzLjg5NCA4My4wMTkgMjQuMDkgODMuNjQ5IDI0LjA5QzgzLjg4NyAyNC4wOSA4My45OTkgMjQuMDc2IDg0LjIzNyAyNC4wNDhWMjVDODMuOTE1IDI1LjA1NiA4My43NDcgMjUuMDcgODMuNDk1IDI1LjA3QzgyLjQ0NSAyNS4wNyA4MS43MTcgMjQuNzA2IDgxLjcxNyAyMy4wODJWMTguODRIODAuNjY3VjE3Ljg2SDgxLjcxN1YxNS40OEg4Mi44MzdWMTcuODZIODQuMjM3Wk04OC41MDk1IDI1LjIxQzg2LjMyNTUgMjUuMjEgODUuMDA5NSAyMy42NTYgODUuMDA5NSAyMS40M0M4NS4wMDk1IDE5LjIwNCA4Ni4zMjU1IDE3LjY1IDg4LjUwOTUgMTcuNjVDOTAuNjc5NSAxNy42NSA5MS45OTU1IDE5LjIwNCA5MS45OTU1IDIxLjQzQzkxLjk5NTUgMjMuNjU2IDkwLjY3OTUgMjUuMjEgODguNTA5NSAyNS4yMVpNODguNTA5NSAyNC4yM0M5MC4xMDU1IDI0LjIzIDkwLjgxOTUgMjIuOTU2IDkwLjgxOTUgMjEuNDNDOTAuODE5NSAxOS45MDQgOTAuMTA1NSAxOC42MyA4OC41MDk1IDE4LjYzQzg2Ljg5OTUgMTguNjMgODYuMTg1NSAxOS45MDQgODYuMTg1NSAyMS40M0M4Ni4xODU1IDIyLjk1NiA4Ni44OTk1IDI0LjIzIDg4LjUwOTUgMjQuMjNaTTk3Ljk4IDI1SDk2LjcyVjE0Ljk5SDEwMC43MzhDMTAyLjkzNiAxNC45OSAxMDQuMDg0IDE2LjAyNiAxMDQuMDg0IDE3Ljg3NEMxMDQuMDg0IDE5LjEyIDEwMy4zMTQgMjAuMDcyIDEwMi4yNjQgMjAuMzI0VjIwLjM1MkMxMDQuNTE4IDIwLjc4NiAxMDMuNjkyIDI0Ljc0OCAxMDQuMjI0IDI0LjkxNlYyNUgxMDIuODY2QzEwMi40MzIgMjQuNTggMTAzLjM4NCAyMC45NTQgMTAwLjg1IDIwLjk1NEg5Ny45OFYyNVpNOTcuOTggMTkuODM0SDEwMC40NDRDMTAxLjk3IDE5LjgzNCAxMDIuODI0IDE5LjE0OCAxMDIuODI0IDE3LjkwMkMxMDIuODI0IDE2Ljc1NCAxMDIuMTggMTYuMTEgMTAwLjQ4NiAxNi4xMUg5Ny45OFYxOS44MzRaTTExMS45NjIgMjEuMTY0QzExMS45NjIgMjEuMzc0IDExMS45NjIgMjEuNjEyIDExMS45NDggMjEuNzI0SDEwNi4zNjJDMTA2LjM5IDIyLjk4NCAxMDcuMDkgMjQuMjQ0IDEwOC42NzIgMjQuMjQ0QzExMC4wNzIgMjQuMjQ0IDExMC42MDQgMjMuMzA2IDExMC43MyAyMi44MDJIMTExLjg2NEMxMTEuNSAyNC4xMzIgMTEwLjQ5MiAyNS4yMSAxMDguNjU4IDI1LjIxQzEwNi40MDQgMjUuMjEgMTA1LjE4NiAyMy41ODYgMTA1LjE4NiAyMS40MTZDMTA1LjE4NiAxOS4xMzQgMTA2LjU0NCAxNy42NSAxMDguNjU4IDE3LjY1QzExMC43NDQgMTcuNjUgMTExLjk2MiAxOS4wNzggMTExLjk2MiAyMS4xNjRaTTEwNi4zNjIgMjAuNzQ0SDExMC43NzJDMTEwLjc3MiAxOS41NjggMTA5LjkzMiAxOC42MTYgMTA4LjYwMiAxOC42MTZDMTA3LjM3IDE4LjYxNiAxMDYuNDMyIDE5LjQ5OCAxMDYuMzYyIDIwLjc0NFpNMTE2LjgzMyAxNy42NjRDMTE4LjEzNSAxNy42NjQgMTE5LjIyNyAxOC4zNzggMTE5LjIyNyAyMC4wMTZWMjVIMTE4LjEwN1YyMC4yOTZDMTE4LjEwNyAxOS4zNzIgMTE3LjY3MyAxOC42NDQgMTE2LjU1MyAxOC42NDRDMTE1LjI5MyAxOC42NDQgMTE0LjQ1MyAxOS40NDIgMTE0LjQ1MyAyMC41NDhWMjVIMTEzLjMzM1YxNy44NkgxMTQuNDUzVjE4LjcxNEgxMTQuNDgxQzExNC44NTkgMTguMjEgMTE1LjYxNSAxNy42NjQgMTE2LjgzMyAxNy42NjRaTTEyNi4wNDcgMTguNzg0VjE0Ljk5SDEyNy4xNjdWMjVIMTI2LjA0N1YyNC4xMThIMTI2LjAxOUMxMjUuNTk5IDI0LjY2NCAxMjQuOTI3IDI1LjE5NiAxMjMuNzc5IDI1LjE5NkMxMjEuOTg3IDI1LjE5NiAxMjAuNTU5IDIzLjc4MiAxMjAuNTU5IDIxLjQzQzEyMC41NTkgMTkuMDc4IDEyMS45ODcgMTcuNjY0IDEyMy43NzkgMTcuNjY0QzEyNC45MjcgMTcuNjY0IDEyNS41OTkgMTguMTY4IDEyNi4wMTkgMTguNzg0SDEyNi4wNDdaTTEyMy44OTEgMjQuMjE2QzEyNS4yMjEgMjQuMjE2IDEyNi4wNDcgMjMuMTEgMTI2LjA0NyAyMS40M0MxMjYuMDQ3IDE5Ljc1IDEyNS4yMjEgMTguNjQ0IDEyMy44OTEgMTguNjQ0QzEyMi40MjEgMTguNjQ0IDEyMS43MzUgMjAuMDMgMTIxLjczNSAyMS40M0MxMjEuNzM1IDIyLjgzIDEyMi40MjEgMjQuMjE2IDEyMy44OTEgMjQuMjE2Wk0xMzUuMzIzIDIxLjE2NEMxMzUuMzIzIDIxLjM3NCAxMzUuMzIzIDIxLjYxMiAxMzUuMzA5IDIxLjcyNEgxMjkuNzIzQzEyOS43NTEgMjIuOTg0IDEzMC40NTEgMjQuMjQ0IDEzMi4wMzMgMjQuMjQ0QzEzMy40MzMgMjQuMjQ0IDEzMy45NjUgMjMuMzA2IDEzNC4wOTEgMjIuODAySDEzNS4yMjVDMTM0Ljg2MSAyNC4xMzIgMTMzLjg1MyAyNS4yMSAxMzIuMDE5IDI1LjIxQzEyOS43NjUgMjUuMjEgMTI4LjU0NyAyMy41ODYgMTI4LjU0NyAyMS40MTZDMTI4LjU0NyAxOS4xMzQgMTI5LjkwNSAxNy42NSAxMzIuMDE5IDE3LjY1QzEzNC4xMDUgMTcuNjUgMTM1LjMyMyAxOS4wNzggMTM1LjMyMyAyMS4xNjRaTTEyOS43MjMgMjAuNzQ0SDEzNC4xMzNDMTM0LjEzMyAxOS41NjggMTMzLjI5MyAxOC42MTYgMTMxLjk2MyAxOC42MTZDMTMwLjczMSAxOC42MTYgMTI5Ljc5MyAxOS40OTggMTI5LjcyMyAyMC43NDRaTTEzOS44MTYgMTcuNjY0QzE0MC4wODIgMTcuNjY0IDE0MC4yNzggMTcuNjc4IDE0MC40NzQgMTcuNzA2VjE4LjgyNkMxNDAuMzA2IDE4Ljc5OCAxNDAuMTggMTguNzg0IDE0MC4wMTIgMTguNzg0QzEzOC42OTYgMTguNzg0IDEzNy44MTQgMTkuODIgMTM3LjgxNCAyMS4xOTJWMjVIMTM2LjY5NFYxNy44NkgxMzcuODE0VjE5LjI3NEgxMzcuODQyQzEzOC4yMiAxOC4zMzYgMTM4Ljc5NCAxNy42NjQgMTM5LjgxNiAxNy42NjRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"},28453:(M,j,N)=>{N.d(j,{R:()=>T,x:()=>y});var D=N(96540);const I={},g=D.createContext(I);function T(M){const j=D.useContext(g);return D.useMemo((function(){return"function"==typeof M?M(j):{...j,...M}}),[j,M])}function y(M){let j;return j=M.disableParentContext?"function"==typeof M.components?M.components(I):M.components||I:T(M.components),D.createElement(g.Provider,{value:j},M.children)}}}]); \ No newline at end of file diff --git a/assets/js/18f3809a.30699dc9.js b/assets/js/18f3809a.30699dc9.js new file mode 100644 index 0000000000..fa207786a5 --- /dev/null +++ b/assets/js/18f3809a.30699dc9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5475],{66662:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=t(74848),s=t(28453);const o={title:"Notion Meeting Notes Agent",sidebar_position:1,slug:"/integrations/notion/notion-agent-meeting-notes"},r=void 0,l={id:"Integrations/Notion/notion-agent-meeting-notes",title:"Notion Meeting Notes Agent",description:"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.",source:"@site/docs/Integrations/Notion/notion-agent-meeting-notes.md",sourceDirName:"Integrations/Notion",slug:"/integrations/notion/notion-agent-meeting-notes",permalink:"/integrations/notion/notion-agent-meeting-notes",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Notion Meeting Notes Agent",sidebar_position:1,slug:"/integrations/notion/notion-agent-meeting-notes"},sidebar:"docs",previous:{title:"Notion Conversational Agent",permalink:"/integrations/notion/notion-agent-conversational"},next:{title:"Join the Langflow community",permalink:"/contributing-community"}},a={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Components",id:"components",level:2},{value:"Meeting Transcript (Text Input)",id:"meeting-transcript-text-input",level:3},{value:"List Users (Notion Component)",id:"list-users-notion-component",level:3},{value:"List Databases (Notion Component)",id:"list-databases-notion-component",level:3},{value:"Prompt",id:"prompt",level:3},{value:"Meeting Summarizer (Tool Calling Agent)",id:"meeting-summarizer-tool-calling-agent",level:3},{value:"Notion Agent (Tool Calling Agent)",id:"notion-agent-tool-calling-agent",level:3},{value:"Notion Components (Tools)",id:"notion-components-tools",level:3},{value:"List Database Properties",id:"list-database-properties",level:4},{value:"Create Page",id:"create-page",level:4},{value:"Update Page Property",id:"update-page-property",level:4},{value:"Add Content to Page",id:"add-content-to-page",level:4},{value:"Chat Output",id:"chat-output",level:3},{value:"Flow Process",id:"flow-process",level:2},{value:"Run the Notion Meeting Notes flow",id:"run-the-notion-meeting-notes-flow",level:2},{value:"Customization",id:"customization",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function c(e){const n={a:"a",admonition:"admonition",h2:"h2",h3:"h3",h4:"h4",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input."}),"\n",(0,i.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/integrations/notion/setup",children:"Notion App"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.notion.so/my-integrations",children:"Notion API key"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://platform.openai.com/account/api-keys",children:"OpenAI API key"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(86924).A+"",children:"Download Flow Meeting Agent Flow"}),"(Download link)"]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"Before using this flow, ensure you have obtained the necessary API keys from Notion and OpenAI. These keys are essential for the flow to function properly. Keep them secure and do not share them publicly."})}),"\n",(0,i.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Notion Meeting Agent Part 1",src:t(43725).A+"",width:"1427",height:"645"})}),"\n",(0,i.jsx)(n.h3,{id:"meeting-transcript-text-input",children:"Meeting Transcript (Text Input)"}),"\n",(0,i.jsx)(n.p,{children:"This component allows users to input the meeting transcript directly into the flow."}),"\n",(0,i.jsx)(n.h3,{id:"list-users-notion-component",children:"List Users (Notion Component)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Retrieves a list of users from the Notion workspace."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Input"}),": Notion Secret (API key)"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Output"}),": List of user data"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"list-databases-notion-component",children:"List Databases (Notion Component)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Searches and lists all databases in the Notion workspace."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,i.jsx)(n.li,{children:"Query (optional)"}),"\n",(0,i.jsx)(n.li,{children:"Filter Type (default: database)"}),"\n",(0,i.jsx)(n.li,{children:"Sort Direction"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Output"}),": List of database data"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"prompt",children:"Prompt"}),"\n",(0,i.jsx)(n.p,{children:"This component creates a dynamic prompt template using the following inputs:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Meeting Transcript"}),"\n",(0,i.jsx)(n.li,{children:"List of Users"}),"\n",(0,i.jsx)(n.li,{children:"List of Databases"}),"\n",(0,i.jsx)(n.li,{children:"Current Date"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"meeting-summarizer-tool-calling-agent",children:"Meeting Summarizer (Tool Calling Agent)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Analyzes the meeting transcript and identifies tasks and action items."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"System Prompt (from the Prompt component)"}),"\n",(0,i.jsx)(n.li,{children:"Language Model (OpenAI)"}),"\n",(0,i.jsxs)(n.li,{children:["Tools:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Notion Search"}),"\n",(0,i.jsx)(n.li,{children:"List Database Properties"}),"\n",(0,i.jsx)(n.li,{children:"Create Page"}),"\n",(0,i.jsx)(n.li,{children:"Update Page Property"}),"\n",(0,i.jsx)(n.li,{children:"Add Content to Page"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Notion Meeting Agent Part 2",src:t(29750).A+"",width:"1362",height:"819"})}),"\n",(0,i.jsx)(n.h3,{id:"notion-agent-tool-calling-agent",children:"Notion Agent (Tool Calling Agent)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Executes actions in Notion based on the meeting summary."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"System Prompt (from the second Prompt component)"}),"\n",(0,i.jsx)(n.li,{children:"Language Model (OpenAI)"}),"\n",(0,i.jsxs)(n.li,{children:["Tools:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"List Database Properties"}),"\n",(0,i.jsx)(n.li,{children:"Create Page"}),"\n",(0,i.jsx)(n.li,{children:"Update Page Property"}),"\n",(0,i.jsx)(n.li,{children:"Add Content to Page"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"notion-components-tools",children:"Notion Components (Tools)"}),"\n",(0,i.jsx)(n.h4,{id:"list-database-properties",children:"List Database Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Retrieves the properties of a specified Notion database."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Database ID"}),"\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"create-page",children:"Create Page"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Creates a new page in a Notion database."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Database ID"}),"\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,i.jsx)(n.li,{children:"Properties (JSON)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"update-page-property",children:"Update Page Property"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Updates the properties of an existing Notion page."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Page ID"}),"\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,i.jsx)(n.li,{children:"Properties to update"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"add-content-to-page",children:"Add Content to Page"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Converts markdown text to Notion blocks and appends them to a specified Notion page."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Page/Block ID"}),"\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,i.jsx)(n.li,{children:"Markdown text"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"chat-output",children:"Chat Output"}),"\n",(0,i.jsx)(n.p,{children:"Displays the final output of the Notion Agent in the Playground."}),"\n",(0,i.jsx)(n.h2,{id:"flow-process",children:"Flow Process"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"The user inputs a meeting transcript."}),"\n",(0,i.jsx)(n.li,{children:"The flow retrieves the list of Notion users and databases."}),"\n",(0,i.jsx)(n.li,{children:"A prompt is generated using the transcript, user list, database list, and current date."}),"\n",(0,i.jsx)(n.li,{children:"The Meeting Summarizer analyzes the transcript and identifies tasks and action items."}),"\n",(0,i.jsxs)(n.li,{children:["The Notion Agent uses the meeting summary to:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Create new pages for new tasks"}),"\n",(0,i.jsx)(n.li,{children:"Update existing pages for existing tasks"}),"\n",(0,i.jsx)(n.li,{children:"Add content to pages with meeting notes"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"The Chat Output displays a summary of actions taken in Notion."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"run-the-notion-meeting-notes-flow",children:"Run the Notion Meeting Notes flow"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"To run the Notion Agent for Meeting Notes:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Open Langflow and create a new project."}),"\n",(0,i.jsxs)(n.li,{children:["Add the components listed above to your flow canvas, or download the ",(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(86924).A+"",children:"Flow Meeting Agent Flow"}),"(Download link) and ",(0,i.jsx)(n.strong,{children:"Import"})," the JSON file into Langflow."]}),"\n",(0,i.jsx)(n.li,{children:"Connect the components as shown in the flow diagram."}),"\n",(0,i.jsx)(n.li,{children:"Input the Notion and OpenAI API keys in their respective components."}),"\n",(0,i.jsx)(n.li,{children:"Paste your meeting transcript into the Meeting Transcript component."}),"\n",(0,i.jsxs)(n.li,{children:["Run the flow by clicking ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.strong,{children:"Chat Output"})," component."]}),"\n",(0,i.jsx)(n.li,{children:"Review the output in the Chat Output component, which will summarize the actions taken in your Notion workspace."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For optimal results, use detailed meeting transcripts. The quality of the output depends on the comprehensiveness of the input provided."}),"\n",(0,i.jsx)(n.h2,{id:"customization",children:"Customization"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"The flow can be customized to meet your team's specific needs."}),"\n",(0,i.jsx)(n.p,{children:"Customize this flow by:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Adjusting the system prompt to change the agent's behavior or knowledge base."}),"\n",(0,i.jsx)(n.li,{children:"Adding or removing Notion tools based on your specific needs."}),"\n",(0,i.jsx)(n.li,{children:"Modifying the OpenAI model parameters (e.g., temperature) to adjust the agent's response style."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Ensure all API keys are correctly set and have the necessary permissions."}),"\n",(0,i.jsx)(n.li,{children:"Check that your Notion integration has access to the relevant pages and databases."}),"\n",(0,i.jsx)(n.li,{children:"Verify that all components are properly connected in the flow."}),"\n",(0,i.jsx)(n.li,{children:"Review the Langflow logs for any error messages."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["For more advanced usage and integration options, refer to the ",(0,i.jsx)(n.a,{href:"https://developers.notion.com/",children:"Notion API documentation"})," and ",(0,i.jsx)(n.a,{href:"/",children:"Langflow documentation"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},86924:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/files/Meeting_Notes_Agent-3bf013ee192aba15c84d74cc91079a4a.json"},43725:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/notion_meeting_agent_part_1-58b920a4f8129f18bbf4483b3e3255a5.png"},29750:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/notion_meeting_agent_part_2-cbaa61a7a2dc7af1fc8541bfae8491ac.png"},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>l});var i=t(96540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/18f3809a.89f2267f.js b/assets/js/18f3809a.89f2267f.js deleted file mode 100644 index 75f1bdc09d..0000000000 --- a/assets/js/18f3809a.89f2267f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5475],{66662:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=t(74848),s=t(28453);const o={title:"Notion Meeting Notes Agent",sidebar_position:1,slug:"/integrations/notion/notion-agent-meeting-notes"},r=void 0,l={id:"Integrations/Notion/notion-agent-meeting-notes",title:"Notion Meeting Notes Agent",description:"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.",source:"@site/docs/Integrations/Notion/notion-agent-meeting-notes.md",sourceDirName:"Integrations/Notion",slug:"/integrations/notion/notion-agent-meeting-notes",permalink:"/integrations/notion/notion-agent-meeting-notes",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Notion Meeting Notes Agent",sidebar_position:1,slug:"/integrations/notion/notion-agent-meeting-notes"},sidebar:"docs",previous:{title:"Notion Conversational Agent",permalink:"/integrations/notion/notion-agent-conversational"},next:{title:"Basic Prompting",permalink:"/starter-projects-basic-prompting"}},a={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Components",id:"components",level:2},{value:"Meeting Transcript (Text Input)",id:"meeting-transcript-text-input",level:3},{value:"List Users (Notion Component)",id:"list-users-notion-component",level:3},{value:"List Databases (Notion Component)",id:"list-databases-notion-component",level:3},{value:"Prompt",id:"prompt",level:3},{value:"Meeting Summarizer (Tool Calling Agent)",id:"meeting-summarizer-tool-calling-agent",level:3},{value:"Notion Agent (Tool Calling Agent)",id:"notion-agent-tool-calling-agent",level:3},{value:"Notion Components (Tools)",id:"notion-components-tools",level:3},{value:"List Database Properties",id:"list-database-properties",level:4},{value:"Create Page",id:"create-page",level:4},{value:"Update Page Property",id:"update-page-property",level:4},{value:"Add Content to Page",id:"add-content-to-page",level:4},{value:"Chat Output",id:"chat-output",level:3},{value:"Flow Process",id:"flow-process",level:2},{value:"Run the Notion Meeting Notes flow",id:"run-the-notion-meeting-notes-flow",level:2},{value:"Customization",id:"customization",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function c(e){const n={a:"a",admonition:"admonition",h2:"h2",h3:"h3",h4:"h4",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input."}),"\n",(0,i.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/integrations/notion/setup",children:"Notion App"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.notion.so/my-integrations",children:"Notion API key"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://platform.openai.com/account/api-keys",children:"OpenAI API key"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(86924).A+"",children:"Download Flow Meeting Agent Flow"}),"(Download link)"]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"Before using this flow, ensure you have obtained the necessary API keys from Notion and OpenAI. These keys are essential for the flow to function properly. Keep them secure and do not share them publicly."})}),"\n",(0,i.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Notion Meeting Agent Part 1",src:t(43725).A+"",width:"1427",height:"645"})}),"\n",(0,i.jsx)(n.h3,{id:"meeting-transcript-text-input",children:"Meeting Transcript (Text Input)"}),"\n",(0,i.jsx)(n.p,{children:"This component allows users to input the meeting transcript directly into the flow."}),"\n",(0,i.jsx)(n.h3,{id:"list-users-notion-component",children:"List Users (Notion Component)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Retrieves a list of users from the Notion workspace."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Input"}),": Notion Secret (API key)"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Output"}),": List of user data"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"list-databases-notion-component",children:"List Databases (Notion Component)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Searches and lists all databases in the Notion workspace."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,i.jsx)(n.li,{children:"Query (optional)"}),"\n",(0,i.jsx)(n.li,{children:"Filter Type (default: database)"}),"\n",(0,i.jsx)(n.li,{children:"Sort Direction"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Output"}),": List of database data"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"prompt",children:"Prompt"}),"\n",(0,i.jsx)(n.p,{children:"This component creates a dynamic prompt template using the following inputs:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Meeting Transcript"}),"\n",(0,i.jsx)(n.li,{children:"List of Users"}),"\n",(0,i.jsx)(n.li,{children:"List of Databases"}),"\n",(0,i.jsx)(n.li,{children:"Current Date"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"meeting-summarizer-tool-calling-agent",children:"Meeting Summarizer (Tool Calling Agent)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Analyzes the meeting transcript and identifies tasks and action items."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"System Prompt (from the Prompt component)"}),"\n",(0,i.jsx)(n.li,{children:"Language Model (OpenAI)"}),"\n",(0,i.jsxs)(n.li,{children:["Tools:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Notion Search"}),"\n",(0,i.jsx)(n.li,{children:"List Database Properties"}),"\n",(0,i.jsx)(n.li,{children:"Create Page"}),"\n",(0,i.jsx)(n.li,{children:"Update Page Property"}),"\n",(0,i.jsx)(n.li,{children:"Add Content to Page"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Notion Meeting Agent Part 2",src:t(29750).A+"",width:"1362",height:"819"})}),"\n",(0,i.jsx)(n.h3,{id:"notion-agent-tool-calling-agent",children:"Notion Agent (Tool Calling Agent)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Executes actions in Notion based on the meeting summary."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"System Prompt (from the second Prompt component)"}),"\n",(0,i.jsx)(n.li,{children:"Language Model (OpenAI)"}),"\n",(0,i.jsxs)(n.li,{children:["Tools:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"List Database Properties"}),"\n",(0,i.jsx)(n.li,{children:"Create Page"}),"\n",(0,i.jsx)(n.li,{children:"Update Page Property"}),"\n",(0,i.jsx)(n.li,{children:"Add Content to Page"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"notion-components-tools",children:"Notion Components (Tools)"}),"\n",(0,i.jsx)(n.h4,{id:"list-database-properties",children:"List Database Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Retrieves the properties of a specified Notion database."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Database ID"}),"\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"create-page",children:"Create Page"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Creates a new page in a Notion database."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Database ID"}),"\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,i.jsx)(n.li,{children:"Properties (JSON)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"update-page-property",children:"Update Page Property"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Updates the properties of an existing Notion page."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Page ID"}),"\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,i.jsx)(n.li,{children:"Properties to update"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"add-content-to-page",children:"Add Content to Page"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Purpose"}),": Converts markdown text to Notion blocks and appends them to a specified Notion page."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Inputs"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Page/Block ID"}),"\n",(0,i.jsx)(n.li,{children:"Notion Secret (API key)"}),"\n",(0,i.jsx)(n.li,{children:"Markdown text"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"chat-output",children:"Chat Output"}),"\n",(0,i.jsx)(n.p,{children:"Displays the final output of the Notion Agent in the Playground."}),"\n",(0,i.jsx)(n.h2,{id:"flow-process",children:"Flow Process"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"The user inputs a meeting transcript."}),"\n",(0,i.jsx)(n.li,{children:"The flow retrieves the list of Notion users and databases."}),"\n",(0,i.jsx)(n.li,{children:"A prompt is generated using the transcript, user list, database list, and current date."}),"\n",(0,i.jsx)(n.li,{children:"The Meeting Summarizer analyzes the transcript and identifies tasks and action items."}),"\n",(0,i.jsxs)(n.li,{children:["The Notion Agent uses the meeting summary to:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Create new pages for new tasks"}),"\n",(0,i.jsx)(n.li,{children:"Update existing pages for existing tasks"}),"\n",(0,i.jsx)(n.li,{children:"Add content to pages with meeting notes"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"The Chat Output displays a summary of actions taken in Notion."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"run-the-notion-meeting-notes-flow",children:"Run the Notion Meeting Notes flow"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"To run the Notion Agent for Meeting Notes:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Open Langflow and create a new project."}),"\n",(0,i.jsxs)(n.li,{children:["Add the components listed above to your flow canvas, or download the ",(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(86924).A+"",children:"Flow Meeting Agent Flow"}),"(Download link) and ",(0,i.jsx)(n.strong,{children:"Import"})," the JSON file into Langflow."]}),"\n",(0,i.jsx)(n.li,{children:"Connect the components as shown in the flow diagram."}),"\n",(0,i.jsx)(n.li,{children:"Input the Notion and OpenAI API keys in their respective components."}),"\n",(0,i.jsx)(n.li,{children:"Paste your meeting transcript into the Meeting Transcript component."}),"\n",(0,i.jsxs)(n.li,{children:["Run the flow by clicking ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.strong,{children:"Chat Output"})," component."]}),"\n",(0,i.jsx)(n.li,{children:"Review the output in the Chat Output component, which will summarize the actions taken in your Notion workspace."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For optimal results, use detailed meeting transcripts. The quality of the output depends on the comprehensiveness of the input provided."}),"\n",(0,i.jsx)(n.h2,{id:"customization",children:"Customization"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"The flow can be customized to meet your team's specific needs."}),"\n",(0,i.jsx)(n.p,{children:"Customize this flow by:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Adjusting the system prompt to change the agent's behavior or knowledge base."}),"\n",(0,i.jsx)(n.li,{children:"Adding or removing Notion tools based on your specific needs."}),"\n",(0,i.jsx)(n.li,{children:"Modifying the OpenAI model parameters (e.g., temperature) to adjust the agent's response style."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Ensure all API keys are correctly set and have the necessary permissions."}),"\n",(0,i.jsx)(n.li,{children:"Check that your Notion integration has access to the relevant pages and databases."}),"\n",(0,i.jsx)(n.li,{children:"Verify that all components are properly connected in the flow."}),"\n",(0,i.jsx)(n.li,{children:"Review the Langflow logs for any error messages."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["For more advanced usage and integration options, refer to the ",(0,i.jsx)(n.a,{href:"https://developers.notion.com/",children:"Notion API documentation"})," and ",(0,i.jsx)(n.a,{href:"/",children:"Langflow documentation"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},86924:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/files/Meeting_Notes_Agent-3bf013ee192aba15c84d74cc91079a4a.json"},43725:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/notion_meeting_agent_part_1-58b920a4f8129f18bbf4483b3e3255a5.png"},29750:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/notion_meeting_agent_part_2-cbaa61a7a2dc7af1fc8541bfae8491ac.png"},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>l});var i=t(96540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/20e9af62.88e5e3a2.js b/assets/js/20e9af62.88e5e3a2.js new file mode 100644 index 0000000000..2a6c65b84b --- /dev/null +++ b/assets/js/20e9af62.88e5e3a2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5562],{68096:(n,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var e=t(74848),i=t(28453);const s={title:"Join the Langflow community",sidebar_position:5,slug:"/contributing-community"},r=void 0,l={id:"Contributing/contributing-community",title:"Join the Langflow community",description:"Join the Langflow Discord server",source:"@site/docs/Contributing/contributing-community.md",sourceDirName:"Contributing",slug:"/contributing-community",permalink:"/contributing-community",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{title:"Join the Langflow community",sidebar_position:5,slug:"/contributing-community"},sidebar:"docs",previous:{title:"Notion Meeting Notes Agent",permalink:"/integrations/notion/notion-agent-meeting-notes"},next:{title:"Contribute components",permalink:"/contributing-components"}},a={},c=[{value:"Join the Langflow Discord server",id:"join-the-langflow-discord-server",level:2},{value:"Follow Langflow on X",id:"follow-langflow-on-x",level:2},{value:"Star\xa0Langflow\xa0on GitHub",id:"starlangflowon-github",level:2},{value:"Watch the GitHub repository for releases",id:"watch-the-github-repository-for-releases",level:2}];function u(n){const o={a:"a",h2:"h2",p:"p",strong:"strong",...(0,i.R)(),...n.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.h2,{id:"join-the-langflow-discord-server",children:"Join the Langflow Discord server"}),"\n",(0,e.jsxs)(o.p,{children:["Join the ",(0,e.jsx)(o.a,{href:"https://discord.gg/EqksyE2EX9",children:"Langflow Discord Server"})," to ask questions and showcase your projects."]}),"\n",(0,e.jsx)(o.h2,{id:"follow-langflow-on-x",children:"Follow Langflow on X"}),"\n",(0,e.jsxs)(o.p,{children:["Follow\xa0",(0,e.jsx)(o.a,{href:"https://twitter.com/langflow_ai",children:"@langflow_ai"}),"\xa0on\xa0X\xa0to get the latest news about\xa0Langflow."]}),"\n",(0,e.jsx)(o.h2,{id:"starlangflowon-github",children:"Star\xa0Langflow\xa0on GitHub"}),"\n",(0,e.jsxs)(o.p,{children:["You can ",(0,e.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow",children:"star\xa0Langflow\xa0in\xa0GitHub"}),"."]}),"\n",(0,e.jsx)(o.p,{children:"By adding a star, other users will be able to find Langflow more easily, and see that it has been already useful for others."}),"\n",(0,e.jsx)(o.h2,{id:"watch-the-github-repository-for-releases",children:"Watch the GitHub repository for releases"}),"\n",(0,e.jsxs)(o.p,{children:["You can ",(0,e.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow",children:"watch Langflow in GitHub"}),". If you select ",(0,e.jsx)(o.strong,{children:"Watching"})," instead of ",(0,e.jsx)(o.strong,{children:"Releases only"})," you will receive notifications when someone creates a new issue or question. You can also specify that you want to be notified only about new issues, discussions, and PRs so you can try to help solve those issues."]})]})}function h(n={}){const{wrapper:o}={...(0,i.R)(),...n.components};return o?(0,e.jsx)(o,{...n,children:(0,e.jsx)(u,{...n})}):u(n)}},28453:(n,o,t)=>{t.d(o,{R:()=>r,x:()=>l});var e=t(96540);const i={},s=e.createContext(i);function r(n){const o=e.useContext(s);return e.useMemo((function(){return"function"==typeof n?n(o):{...o,...n}}),[o,n])}function l(n){let o;return o=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:r(n.components),e.createElement(s.Provider,{value:o},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/20e9af62.eeebc501.js b/assets/js/20e9af62.eeebc501.js deleted file mode 100644 index 33a3803cb8..0000000000 --- a/assets/js/20e9af62.eeebc501.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5562],{68096:(n,o,e)=>{e.r(o),e.d(o,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var t=e(74848),i=e(28453);const s={title:"Join the Langflow community",sidebar_position:5,slug:"/contributing-community"},r=void 0,l={id:"Contributing/contributing-community",title:"Join the Langflow community",description:"Join the Langflow Discord server",source:"@site/docs/Contributing/contributing-community.md",sourceDirName:"Contributing",slug:"/contributing-community",permalink:"/contributing-community",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{title:"Join the Langflow community",sidebar_position:5,slug:"/contributing-community"},sidebar:"docs",previous:{title:"Playground",permalink:"/workspace-playground"},next:{title:"Contribute components",permalink:"/contributing-components"}},a={},c=[{value:"Join the Langflow Discord server",id:"join-the-langflow-discord-server",level:2},{value:"Follow Langflow on X",id:"follow-langflow-on-x",level:2},{value:"Star\xa0Langflow\xa0on GitHub",id:"starlangflowon-github",level:2},{value:"Watch the GitHub repository for releases",id:"watch-the-github-repository-for-releases",level:2}];function u(n){const o={a:"a",h2:"h2",p:"p",strong:"strong",...(0,i.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h2,{id:"join-the-langflow-discord-server",children:"Join the Langflow Discord server"}),"\n",(0,t.jsxs)(o.p,{children:["Join the ",(0,t.jsx)(o.a,{href:"https://discord.gg/EqksyE2EX9",children:"Langflow Discord Server"})," to ask questions and showcase your projects."]}),"\n",(0,t.jsx)(o.h2,{id:"follow-langflow-on-x",children:"Follow Langflow on X"}),"\n",(0,t.jsxs)(o.p,{children:["Follow\xa0",(0,t.jsx)(o.a,{href:"https://twitter.com/langflow_ai",children:"@langflow_ai"}),"\xa0on\xa0X\xa0to get the latest news about\xa0Langflow."]}),"\n",(0,t.jsx)(o.h2,{id:"starlangflowon-github",children:"Star\xa0Langflow\xa0on GitHub"}),"\n",(0,t.jsxs)(o.p,{children:["You can ",(0,t.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow",children:"star\xa0Langflow\xa0in\xa0GitHub"}),"."]}),"\n",(0,t.jsx)(o.p,{children:"By adding a star, other users will be able to find Langflow more easily, and see that it has been already useful for others."}),"\n",(0,t.jsx)(o.h2,{id:"watch-the-github-repository-for-releases",children:"Watch the GitHub repository for releases"}),"\n",(0,t.jsxs)(o.p,{children:["You can ",(0,t.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow",children:"watch Langflow in GitHub"}),". If you select ",(0,t.jsx)(o.strong,{children:"Watching"})," instead of ",(0,t.jsx)(o.strong,{children:"Releases only"})," you will receive notifications when someone creates a new issue or question. You can also specify that you want to be notified only about new issues, discussions, and PRs so you can try to help solve those issues."]})]})}function h(n={}){const{wrapper:o}={...(0,i.R)(),...n.components};return o?(0,t.jsx)(o,{...n,children:(0,t.jsx)(u,{...n})}):u(n)}},28453:(n,o,e)=>{e.d(o,{R:()=>r,x:()=>l});var t=e(96540);const i={},s=t.createContext(i);function r(n){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof n?n(o):{...o,...n}}),[o,n])}function l(n){let o;return o=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:r(n.components),t.createElement(s.Provider,{value:o},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.9e77931d.js b/assets/js/22dd74f7.9e77931d.js deleted file mode 100644 index c86b3fa569..0000000000 --- a/assets/js/22dd74f7.9e77931d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Welcome to Langflow","href":"/","docId":"Get-Started/welcome-to-langflow","unlisted":false},{"type":"category","label":"Get Started","items":[{"type":"link","label":"Install Langflow","href":"/get-started-installation","docId":"Get-Started/get-started-installation","unlisted":false},{"type":"link","label":"Quickstart","href":"/get-started-quickstart","docId":"Get-Started/get-started-quickstart","unlisted":false},{"type":"link","label":"Welcome to Langflow","href":"/","docId":"Get-Started/welcome-to-langflow","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Components","items":[{"type":"link","label":"How to build flows with components","href":"/components-overview","docId":"Components/components-overview","unlisted":false},{"type":"link","label":"Agents","href":"/components-agents","docId":"Components/components-agents","unlisted":false},{"type":"link","label":"Custom Components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Embedding Models","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Inputs & Outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Loaders","href":"/components-loaders","docId":"Components/components-loaders","unlisted":false},{"type":"link","label":"Logic","href":"/components-logic","docId":"Components/components-logic","unlisted":false},{"type":"link","label":"Memories","href":"/Components/components-memories","docId":"Components/components-memories","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"RAG","href":"/components-rag","docId":"Components/components-rag","unlisted":false},{"type":"link","label":"Tools","href":"/Components/components-tools","docId":"Components/components-tools","unlisted":false},{"type":"link","label":"Vector Stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Agents","items":[{"type":"link","label":"Agents overview","href":"/agents-overview","docId":"Agents/agents-overview","unlisted":false},{"type":"link","label":"Create a problem-solving agent","href":"/agents-tool-calling-agent-component","docId":"Agents/agent-tool-calling-agent-component","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Configuration","items":[{"type":"link","label":"API keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"Auto-saving","href":"/configuration-auto-save","docId":"Configuration/configuration-auto-saving","unlisted":false},{"type":"link","label":"Run Langflow in backend-only mode","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false},{"type":"link","label":"Langflow CLI","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"Global variables","href":"/configuration-global-variables","docId":"Configuration/configuration-global-variables","unlisted":false},{"type":"link","label":"Environment variables","href":"/environment-variables","docId":"Configuration/environment-variables","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Guides","items":[{"type":"link","label":"Chat Memory","href":"/guides-chat-memory","docId":"Guides/guides-chat-memory","unlisted":false},{"type":"link","label":"Data & Message","href":"/guides-data-message","docId":"Guides/guides-data-message","unlisted":false},{"type":"link","label":"\ud83d\udcda New to LLMs?","href":"/guides-new-to-llms","docId":"Guides/guides-new-to-llms","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"AssemblyAI","href":"/integrations-assemblyai","docId":"Integrations/integrations-assemblyai","unlisted":false},{"type":"link","label":"Langfuse","href":"/integrations-langfuse","docId":"Integrations/integrations-langfuse","unlisted":false},{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false},{"type":"link","label":"LangWatch","href":"/integrations-langwatch","docId":"Integrations/integrations-langwatch","unlisted":false},{"type":"category","label":"Google","items":[{"type":"link","label":"Integrate Google OAuth with Langflow","href":"/integrations-setup-google-oauth-langflow","docId":"Integrations/Google/integrations-setup-google-oauth-langflow","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Notion","items":[{"type":"link","label":"Setup","href":"/integrations/notion/setup","docId":"Integrations/Notion/integrations-notion","unlisted":false},{"type":"link","label":"Notion Conversational Agent","href":"/integrations/notion/notion-agent-conversational","docId":"Integrations/Notion/notion-agent-conversational","unlisted":false},{"type":"link","label":"Notion Meeting Notes Agent","href":"/integrations/notion/notion-agent-meeting-notes","docId":"Integrations/Notion/notion-agent-meeting-notes","unlisted":false}],"collapsed":false,"collapsible":true}],"collapsed":false,"collapsible":true},{"type":"category","label":"Starter Projects","items":[{"type":"link","label":"Basic Prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Blog Writer","href":"/starter-projects-blog-writer","docId":"Starter-Projects/starter-projects-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/starter-projects-document-qa","docId":"Starter-Projects/starter-projects-document-qa","unlisted":false},{"type":"link","label":"Dynamic agent","href":"/starter-projects-dynamic-agent","docId":"Starter-Projects/starter-projects-dynamic-agent","unlisted":false},{"type":"link","label":"Memory Chatbot","href":"/starter-projects-memory-chatbot","docId":"Starter-Projects/starter-projects-memory-chatbot","unlisted":false},{"type":"link","label":"Simple agent","href":"/starter-projects-simple-agent","docId":"Starter-Projects/starter-projects-simple-agent","unlisted":false},{"type":"link","label":"Travel planning agent","href":"/starter-projects-travel-planning-agent","docId":"Starter-Projects/starter-projects-travel-planning-agent","unlisted":false},{"type":"link","label":"Vector Store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Workspace","items":[{"type":"link","label":"Workspace concepts","href":"/workspace-overview","docId":"Workspace/workspace-overview","unlisted":false},{"type":"link","label":"API","href":"/workspace-api","docId":"Workspace/workspace-api","unlisted":false},{"type":"link","label":"Logs","href":"/workspace-logs","docId":"Workspace/workspace-logs","unlisted":false},{"type":"link","label":"Playground","href":"/workspace-playground","docId":"Workspace/workspace-playground","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Contributing","items":[{"type":"link","label":"Join the Langflow community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false},{"type":"link","label":"Contribute components","href":"/contributing-components","docId":"Contributing/contributing-components","unlisted":false},{"type":"link","label":"Ask for help on the Discussions board","href":"/contributing-github-discussions","docId":"Contributing/contributing-github-discussion-board","unlisted":false},{"type":"link","label":"Request an enhancement or report a bug","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Contribute to Langflow","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Deployment","items":[{"type":"link","label":"Docker","href":"/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"HuggingFace\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"API Reference","items":[{"type":"link","label":"API Documentation","href":"/api"}],"collapsed":false,"collapsible":true}]},"docs":{"Agents/agent-tool-calling-agent-component":{"id":"Agents/agent-tool-calling-agent-component","title":"Create a problem-solving agent","description":"Developing agents in Langchain is complex.","sidebar":"docs"},"Agents/agents-overview":{"id":"Agents/agents-overview","title":"Agents overview","description":"Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.","sidebar":"docs"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Agent components are used to define the behavior and capabilities of AI agents in your flow. Agents can interact with APIs, databases, and other services and use LLMs as a reasoning engine to decide which course to take in your flow.","sidebar":"docs"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Custom Components","description":"Custom components are created within Langflow and extend the platform\'s functionality with custom, resusable Python code.","sidebar":"docs"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"API Request","sidebar":"docs"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embedding Models","description":"Embeddings models are used to convert text into numerical vectors. These vectors can be used for various tasks such as similarity search, clustering, and classification.","sidebar":"docs"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Helper components provide utility functions to help manage data, tasks, and other components in your flow.","sidebar":"docs"},"Components/components-io":{"id":"Components/components-io","title":"Inputs & Outputs","description":"This category of components defines where data enters and exits your flow. They dynamically alter the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"docs"},"Components/components-loaders":{"id":"Components/components-loaders","title":"Loaders","description":"Loaders are components used to load documents from various sources, such as databases, websites, and local files. They can be used to fetch data from external sources and convert it into a format that can be processed by other components.","sidebar":"docs"},"Components/components-logic":{"id":"Components/components-logic","title":"Logic","description":"Logic components provide functionalities for routing, conditional processing, and flow management.","sidebar":"docs"},"Components/components-memories":{"id":"Components/components-memories","title":"Memories","description":"Chat memory components store and retrieve chat messages by session_id.","sidebar":"docs"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Model components are used to generate text using language models. These components can be used to generate text for various tasks such as chatbots, content generation, and more.","sidebar":"docs"},"Components/components-overview":{"id":"Components/components-overview","title":"How to build flows with components","description":"A\xa0component\xa0is a single building block within a flow. It consists of inputs, outputs, and parameters that define their functionality. These elements provide a convenient and straightforward way to compose LLM-based applications. Learn more about components and how they work below.","sidebar":"docs"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt serves as the input to a language model, comprising multiple components that can be parameterized using prompt templates.","sidebar":"docs"},"Components/components-rag":{"id":"Components/components-rag","title":"RAG","description":"RAG (Retrieval-Augmented Generation) components process a user query by retrieving relevant documents and generating a concise summary that addresses the user\'s question.","sidebar":"docs"},"Components/components-tools":{"id":"Components/components-tools","title":"Tools","description":"Tool components are used to interact with external services, APIs, and tools. They can be used to search the web, query databases, and perform other tasks.","sidebar":"docs"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector Stores","description":"Vector databases are used to store and search for vectors. They can be used to store embeddings, search for similar vectors, and perform other vector operations.","sidebar":"docs"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API keys","description":"Langflow provides an API key functionality that allows users to access their individual components and flows without traditional login authentication. The API key is a user-specific token that can be included in the request header, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.","sidebar":"docs"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"The login functionality in Langflow serves to authenticate users and protect sensitive routes in the application.","sidebar":"docs"},"Configuration/configuration-auto-saving":{"id":"Configuration/configuration-auto-saving","title":"Auto-saving","description":"Langflow supports both manual and auto-saving functionality.","sidebar":"docs"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Run Langflow in backend-only mode","description":"Langflow can run in --backend-only mode to expose a Langflow app as an API endpoint, without running the frontend UI.","sidebar":"docs"},"Configuration/configuration-cli":{"id":"Configuration/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server.","sidebar":"docs"},"Configuration/configuration-custom-database":{"id":"Configuration/configuration-custom-database","title":"Configure an external PostgreSQL database","description":"Langflow\'s default database is SQLite, but you can configure Langflow to use PostgreSQL instead."},"Configuration/configuration-global-variables":{"id":"Configuration/configuration-global-variables","title":"Global variables","description":"Global variables let you store and reuse generic input values and credentials across your projects.","sidebar":"docs"},"Configuration/environment-variables":{"id":"Configuration/environment-variables","title":"Environment variables","description":"Langflow lets you configure a number of settings using environment variables.","sidebar":"docs"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"Join the Langflow Discord server","sidebar":"docs"},"Contributing/contributing-components":{"id":"Contributing/contributing-components","title":"Contribute components","description":"New components are added as objects of the\xa0CustomComponent\xa0class.","sidebar":"docs"},"Contributing/contributing-github-discussion-board":{"id":"Contributing/contributing-github-discussion-board","title":"Ask for help on the Discussions board","description":"If you\'re looking for help with your code, consider posting a question on the Langflow\xa0GitHub Discussions board. The Langflow team cannot provide individual support via email. The team also believes that help is much more valuable if it\'s\xa0shared publicly, so that more people can benefit from it.","sidebar":"docs"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"Request an enhancement or report a bug","description":"The\xa0Issues page in the Langflow repo is kept up to date with bugs, improvements, and feature requests. Labels are used to help with sorting and discovery of issues of interest. For an overview of the system Langflow uses to tag issues and pull requests, see the Langflow repo\'s labels page.","sidebar":"docs"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"Contribute to Langflow","description":"This guide is intended to help you start contributing to Langflow.","sidebar":"docs"},"Contributing/contributing-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need.","sidebar":"docs"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"docs"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"To deploy Langflow on Google Cloud Platform using Cloud Shell, use the below script.","sidebar":"docs"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"HuggingFace\xa0Spaces","description":"HuggingFace Spaces","sidebar":"docs"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"docs"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"docs"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"docs"},"Get-Started/get-started-installation":{"id":"Get-Started/get-started-installation","title":"Install Langflow","description":"You can deploy Langflow either locally or as a hosted service with Datastax Langflow.","sidebar":"docs"},"Get-Started/get-started-quickstart":{"id":"Get-Started/get-started-quickstart","title":"Quickstart","description":"Prerequisites","sidebar":"docs"},"Get-Started/welcome-to-langflow":{"id":"Get-Started/welcome-to-langflow","title":"Welcome to Langflow","description":"Langflow is a new, visual framework for building multi-agent and RAG applications. It is open-source, Python-powered, fully customizable, and LLM and vector store agnostic.","sidebar":"docs"},"Guides/guides-chat-memory":{"id":"Guides/guides-chat-memory","title":"Chat Memory","description":"Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.","sidebar":"docs"},"Guides/guides-data-message":{"id":"Guides/guides-data-message","title":"Data & Message","description":"In Langflow, the\xa0Data\xa0and\xa0Message\xa0objects serve as structured, functional representations of data that enhance the capabilities and reliability of the platform.","sidebar":"docs"},"Guides/guides-new-to-llms":{"id":"Guides/guides-new-to-llms","title":"\ud83d\udcda New to LLMs?","description":"Large Language Models, or LLMs, are part of an exciting new world in computing.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-oauth-langflow":{"id":"Integrations/Google/integrations-setup-google-oauth-langflow","title":"Integrate Google OAuth with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/integrations-assemblyai":{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"docs"},"Integrations/integrations-langfuse":{"id":"Integrations/integrations-langfuse","title":"Langfuse","description":"Langfuse is an observability and analytics platform specifically designed for language models and AI applications.","sidebar":"docs"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"docs"},"Integrations/integrations-langwatch":{"id":"Integrations/integrations-langwatch","title":"LangWatch","description":"938674091aac4d9d9aa4aa6eb5c215b4}","sidebar":"docs"},"Integrations/Notion/integrations-notion":{"id":"Integrations/Notion/integrations-notion","title":"Setup","description":"To use Notion components in Langflow, you first need to create a Notion integration and configure it with the necessary capabilities. This guide will walk you through the process of setting up a Notion integration and granting it access to your Notion databases.","sidebar":"docs"},"Integrations/Notion/notion-agent-conversational":{"id":"Integrations/Notion/notion-agent-conversational","title":"Notion Conversational Agent","description":"The Notion Conversational Agent is an AI-powered assistant that interacts with your Notion workspace through natural language conversations. This flow performs Notion-related tasks like creating pages, searching for information, and managing content, all through a chat interface.","sidebar":"docs"},"Integrations/Notion/notion-agent-meeting-notes":{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","sidebar":"docs"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic Prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"docs"},"Starter-Projects/starter-projects-blog-writer":{"id":"Starter-Projects/starter-projects-blog-writer","title":"Blog Writer","description":"Build a Blog Writer flow for a one-shot application using OpenAI.","sidebar":"docs"},"Starter-Projects/starter-projects-document-qa":{"id":"Starter-Projects/starter-projects-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"docs"},"Starter-Projects/starter-projects-dynamic-agent":{"id":"Starter-Projects/starter-projects-dynamic-agent","title":"Dynamic agent","description":"Build a Dynamic Agent flow for an agentic application using the CrewAI.","sidebar":"docs"},"Starter-Projects/starter-projects-memory-chatbot":{"id":"Starter-Projects/starter-projects-memory-chatbot","title":"Memory Chatbot","description":"This flow extends the\xa0basic prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.","sidebar":"docs"},"Starter-Projects/starter-projects-simple-agent":{"id":"Starter-Projects/starter-projects-simple-agent","title":"Simple agent","description":"Build a Simple Agent flow for an agentic application using the Tool-calling agent.","sidebar":"docs"},"Starter-Projects/starter-projects-travel-planning-agent":{"id":"Starter-Projects/starter-projects-travel-planning-agent","title":"Travel planning agent","description":"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.","sidebar":"docs"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector Store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"docs"},"Workspace/workspace-api":{"id":"Workspace/workspace-api","title":"API","description":"The\xa0API\xa0section presents code templates for integrating your flow into external applications.","sidebar":"docs"},"Workspace/workspace-logs":{"id":"Workspace/workspace-logs","title":"Logs","description":"The\xa0Logs\xa0pane provides a detailed record of all component executions within a workspace. It is designed to help you track actions, debug issues, and understand the flow of data through various components.","sidebar":"docs"},"Workspace/workspace-overview":{"id":"Workspace/workspace-overview","title":"Workspace concepts","description":"The workspace is where you create AI applications by connecting and running components in flows.","sidebar":"docs"},"Workspace/workspace-playground":{"id":"Workspace/workspace-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.e7a1f721.js b/assets/js/22dd74f7.e7a1f721.js new file mode 100644 index 0000000000..772f72bad5 --- /dev/null +++ b/assets/js/22dd74f7.e7a1f721.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Welcome to Langflow","href":"/","docId":"Get-Started/welcome-to-langflow","unlisted":false},{"type":"category","label":"Get Started","items":[{"type":"link","label":"Install Langflow","href":"/get-started-installation","docId":"Get-Started/get-started-installation","unlisted":false},{"type":"link","label":"Quickstart","href":"/get-started-quickstart","docId":"Get-Started/get-started-quickstart","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Starter Projects","items":[{"type":"link","label":"Basic Prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Blog Writer","href":"/starter-projects-blog-writer","docId":"Starter-Projects/starter-projects-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/starter-projects-document-qa","docId":"Starter-Projects/starter-projects-document-qa","unlisted":false},{"type":"link","label":"Memory Chatbot","href":"/starter-projects-memory-chatbot","docId":"Starter-Projects/starter-projects-memory-chatbot","unlisted":false},{"type":"link","label":"Simple agent","href":"/starter-projects-simple-agent","docId":"Starter-Projects/starter-projects-simple-agent","unlisted":false},{"type":"link","label":"Vector Store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false},{"type":"link","label":"Travel planning agent","href":"/starter-projects-travel-planning-agent","docId":"Starter-Projects/starter-projects-travel-planning-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Workspace","items":[{"type":"link","label":"Workspace concepts","href":"/workspace-overview","docId":"Workspace/workspace-overview","unlisted":false},{"type":"link","label":"API","href":"/workspace-api","docId":"Workspace/workspace-api","unlisted":false},{"type":"link","label":"Logs","href":"/workspace-logs","docId":"Workspace/workspace-logs","unlisted":false},{"type":"link","label":"Playground","href":"/workspace-playground","docId":"Workspace/workspace-playground","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Agents","items":[{"type":"link","label":"Agents overview","href":"/agents-overview","docId":"Agents/agents-overview","unlisted":false},{"type":"link","label":"Create a problem-solving agent","href":"/agents-tool-calling-agent-component","docId":"Agents/agent-tool-calling-agent-component","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Configuration","items":[{"type":"link","label":"API keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"Auto-saving","href":"/configuration-auto-save","docId":"Configuration/configuration-auto-saving","unlisted":false},{"type":"link","label":"Run Langflow in backend-only mode","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false},{"type":"link","label":"Langflow CLI","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"Global variables","href":"/configuration-global-variables","docId":"Configuration/configuration-global-variables","unlisted":false},{"type":"link","label":"Environment variables","href":"/environment-variables","docId":"Configuration/environment-variables","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Components","items":[{"type":"link","label":"How to build flows with components","href":"/components-overview","docId":"Components/components-overview","unlisted":false},{"type":"link","label":"Agents","href":"/components-agents","docId":"Components/components-agents","unlisted":false},{"type":"link","label":"Custom Components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Embedding Models","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Inputs & Outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Loaders","href":"/components-loaders","docId":"Components/components-loaders","unlisted":false},{"type":"link","label":"Logic","href":"/components-logic","docId":"Components/components-logic","unlisted":false},{"type":"link","label":"Memories","href":"/Components/components-memories","docId":"Components/components-memories","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"RAG","href":"/components-rag","docId":"Components/components-rag","unlisted":false},{"type":"link","label":"Tools","href":"/Components/components-tools","docId":"Components/components-tools","unlisted":false},{"type":"link","label":"Vector Stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Guides","items":[{"type":"link","label":"Chat Memory","href":"/guides-chat-memory","docId":"Guides/guides-chat-memory","unlisted":false},{"type":"link","label":"Data & Message","href":"/guides-data-message","docId":"Guides/guides-data-message","unlisted":false},{"type":"link","label":"\ud83d\udcda New to LLMs?","href":"/guides-new-to-llms","docId":"Guides/guides-new-to-llms","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Deployment","items":[{"type":"link","label":"Docker","href":"/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"HuggingFace\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"AssemblyAI","href":"/integrations-assemblyai","docId":"Integrations/integrations-assemblyai","unlisted":false},{"type":"link","label":"Langfuse","href":"/integrations-langfuse","docId":"Integrations/integrations-langfuse","unlisted":false},{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false},{"type":"link","label":"LangWatch","href":"/integrations-langwatch","docId":"Integrations/integrations-langwatch","unlisted":false},{"type":"category","label":"Google","items":[{"type":"link","label":"Integrate Google OAuth with Langflow","href":"/integrations-setup-google-oauth-langflow","docId":"Integrations/Google/integrations-setup-google-oauth-langflow","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Notion","items":[{"type":"link","label":"Setup","href":"/integrations/notion/setup","docId":"Integrations/Notion/integrations-notion","unlisted":false},{"type":"link","label":"Notion Conversational Agent","href":"/integrations/notion/notion-agent-conversational","docId":"Integrations/Notion/notion-agent-conversational","unlisted":false},{"type":"link","label":"Notion Meeting Notes Agent","href":"/integrations/notion/notion-agent-meeting-notes","docId":"Integrations/Notion/notion-agent-meeting-notes","unlisted":false}],"collapsed":false,"collapsible":true}],"collapsed":false,"collapsible":true},{"type":"category","label":"Contributing","items":[{"type":"link","label":"Join the Langflow community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false},{"type":"link","label":"Contribute components","href":"/contributing-components","docId":"Contributing/contributing-components","unlisted":false},{"type":"link","label":"Ask for help on the Discussions board","href":"/contributing-github-discussions","docId":"Contributing/contributing-github-discussion-board","unlisted":false},{"type":"link","label":"Request an enhancement or report a bug","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Contribute to Langflow","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"API Reference","items":[{"type":"link","label":"API Documentation","href":"/api"}],"collapsed":false,"collapsible":true}]},"docs":{"Agents/agent-tool-calling-agent-component":{"id":"Agents/agent-tool-calling-agent-component","title":"Create a problem-solving agent","description":"Developing agents in Langchain is complex.","sidebar":"docs"},"Agents/agents-overview":{"id":"Agents/agents-overview","title":"Agents overview","description":"Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.","sidebar":"docs"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Agent components are used to define the behavior and capabilities of AI agents in your flow. Agents can interact with APIs, databases, and other services and use LLMs as a reasoning engine to decide which course to take in your flow.","sidebar":"docs"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Custom Components","description":"Custom components are created within Langflow and extend the platform\'s functionality with custom, resusable Python code.","sidebar":"docs"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"API Request","sidebar":"docs"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embedding Models","description":"Embeddings models are used to convert text into numerical vectors. These vectors can be used for various tasks such as similarity search, clustering, and classification.","sidebar":"docs"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Helper components provide utility functions to help manage data, tasks, and other components in your flow.","sidebar":"docs"},"Components/components-io":{"id":"Components/components-io","title":"Inputs & Outputs","description":"This category of components defines where data enters and exits your flow. They dynamically alter the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"docs"},"Components/components-loaders":{"id":"Components/components-loaders","title":"Loaders","description":"Loaders are components used to load documents from various sources, such as databases, websites, and local files. They can be used to fetch data from external sources and convert it into a format that can be processed by other components.","sidebar":"docs"},"Components/components-logic":{"id":"Components/components-logic","title":"Logic","description":"Logic components provide functionalities for routing, conditional processing, and flow management.","sidebar":"docs"},"Components/components-memories":{"id":"Components/components-memories","title":"Memories","description":"Chat memory components store and retrieve chat messages by session_id.","sidebar":"docs"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Model components are used to generate text using language models. These components can be used to generate text for various tasks such as chatbots, content generation, and more.","sidebar":"docs"},"Components/components-overview":{"id":"Components/components-overview","title":"How to build flows with components","description":"A\xa0component\xa0is a single building block within a flow. It consists of inputs, outputs, and parameters that define their functionality. These elements provide a convenient and straightforward way to compose LLM-based applications. Learn more about components and how they work below.","sidebar":"docs"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt serves as the input to a language model, comprising multiple components that can be parameterized using prompt templates.","sidebar":"docs"},"Components/components-rag":{"id":"Components/components-rag","title":"RAG","description":"RAG (Retrieval-Augmented Generation) components process a user query by retrieving relevant documents and generating a concise summary that addresses the user\'s question.","sidebar":"docs"},"Components/components-tools":{"id":"Components/components-tools","title":"Tools","description":"Tool components are used to interact with external services, APIs, and tools. They can be used to search the web, query databases, and perform other tasks.","sidebar":"docs"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector Stores","description":"Vector databases are used to store and search for vectors. They can be used to store embeddings, search for similar vectors, and perform other vector operations.","sidebar":"docs"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API keys","description":"Langflow provides an API key functionality that allows users to access their individual components and flows without traditional login authentication. The API key is a user-specific token that can be included in the request header, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.","sidebar":"docs"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"The login functionality in Langflow serves to authenticate users and protect sensitive routes in the application.","sidebar":"docs"},"Configuration/configuration-auto-saving":{"id":"Configuration/configuration-auto-saving","title":"Auto-saving","description":"Langflow supports both manual and auto-saving functionality.","sidebar":"docs"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Run Langflow in backend-only mode","description":"Langflow can run in --backend-only mode to expose a Langflow app as an API endpoint, without running the frontend UI.","sidebar":"docs"},"Configuration/configuration-cli":{"id":"Configuration/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server.","sidebar":"docs"},"Configuration/configuration-custom-database":{"id":"Configuration/configuration-custom-database","title":"Configure an external PostgreSQL database","description":"Langflow\'s default database is SQLite, but you can configure Langflow to use PostgreSQL instead."},"Configuration/configuration-global-variables":{"id":"Configuration/configuration-global-variables","title":"Global variables","description":"Global variables let you store and reuse generic input values and credentials across your projects.","sidebar":"docs"},"Configuration/environment-variables":{"id":"Configuration/environment-variables","title":"Environment variables","description":"Langflow lets you configure a number of settings using environment variables.","sidebar":"docs"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"Join the Langflow Discord server","sidebar":"docs"},"Contributing/contributing-components":{"id":"Contributing/contributing-components","title":"Contribute components","description":"New components are added as objects of the\xa0CustomComponent\xa0class.","sidebar":"docs"},"Contributing/contributing-github-discussion-board":{"id":"Contributing/contributing-github-discussion-board","title":"Ask for help on the Discussions board","description":"If you\'re looking for help with your code, consider posting a question on the Langflow\xa0GitHub Discussions board. The Langflow team cannot provide individual support via email. The team also believes that help is much more valuable if it\'s\xa0shared publicly, so that more people can benefit from it.","sidebar":"docs"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"Request an enhancement or report a bug","description":"The\xa0Issues page in the Langflow repo is kept up to date with bugs, improvements, and feature requests. Labels are used to help with sorting and discovery of issues of interest. For an overview of the system Langflow uses to tag issues and pull requests, see the Langflow repo\'s labels page.","sidebar":"docs"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"Contribute to Langflow","description":"This guide is intended to help you start contributing to Langflow.","sidebar":"docs"},"Contributing/contributing-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need.","sidebar":"docs"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"docs"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"To deploy Langflow on Google Cloud Platform using Cloud Shell, use the below script.","sidebar":"docs"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"HuggingFace\xa0Spaces","description":"HuggingFace Spaces","sidebar":"docs"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"docs"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"docs"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"docs"},"Get-Started/get-started-installation":{"id":"Get-Started/get-started-installation","title":"Install Langflow","description":"You can deploy Langflow either locally or as a hosted service with Datastax Langflow.","sidebar":"docs"},"Get-Started/get-started-quickstart":{"id":"Get-Started/get-started-quickstart","title":"Quickstart","description":"Prerequisites","sidebar":"docs"},"Get-Started/welcome-to-langflow":{"id":"Get-Started/welcome-to-langflow","title":"Welcome to Langflow","description":"Langflow is a new, visual framework for building multi-agent and RAG applications. It is open-source, Python-powered, fully customizable, and LLM and vector store agnostic.","sidebar":"docs"},"Guides/guides-chat-memory":{"id":"Guides/guides-chat-memory","title":"Chat Memory","description":"Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.","sidebar":"docs"},"Guides/guides-data-message":{"id":"Guides/guides-data-message","title":"Data & Message","description":"In Langflow, the\xa0Data\xa0and\xa0Message\xa0objects serve as structured, functional representations of data that enhance the capabilities and reliability of the platform.","sidebar":"docs"},"Guides/guides-new-to-llms":{"id":"Guides/guides-new-to-llms","title":"\ud83d\udcda New to LLMs?","description":"Large Language Models, or LLMs, are part of an exciting new world in computing.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-oauth-langflow":{"id":"Integrations/Google/integrations-setup-google-oauth-langflow","title":"Integrate Google OAuth with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/integrations-assemblyai":{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"docs"},"Integrations/integrations-langfuse":{"id":"Integrations/integrations-langfuse","title":"Langfuse","description":"Langfuse is an observability and analytics platform specifically designed for language models and AI applications.","sidebar":"docs"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"docs"},"Integrations/integrations-langwatch":{"id":"Integrations/integrations-langwatch","title":"LangWatch","description":"938674091aac4d9d9aa4aa6eb5c215b4}","sidebar":"docs"},"Integrations/Notion/integrations-notion":{"id":"Integrations/Notion/integrations-notion","title":"Setup","description":"To use Notion components in Langflow, you first need to create a Notion integration and configure it with the necessary capabilities. This guide will walk you through the process of setting up a Notion integration and granting it access to your Notion databases.","sidebar":"docs"},"Integrations/Notion/notion-agent-conversational":{"id":"Integrations/Notion/notion-agent-conversational","title":"Notion Conversational Agent","description":"The Notion Conversational Agent is an AI-powered assistant that interacts with your Notion workspace through natural language conversations. This flow performs Notion-related tasks like creating pages, searching for information, and managing content, all through a chat interface.","sidebar":"docs"},"Integrations/Notion/notion-agent-meeting-notes":{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","sidebar":"docs"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic Prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"docs"},"Starter-Projects/starter-projects-blog-writer":{"id":"Starter-Projects/starter-projects-blog-writer","title":"Blog Writer","description":"Build a Blog Writer flow for a one-shot application using OpenAI.","sidebar":"docs"},"Starter-Projects/starter-projects-document-qa":{"id":"Starter-Projects/starter-projects-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"docs"},"Starter-Projects/starter-projects-memory-chatbot":{"id":"Starter-Projects/starter-projects-memory-chatbot","title":"Memory Chatbot","description":"This flow extends the\xa0basic prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.","sidebar":"docs"},"Starter-Projects/starter-projects-simple-agent":{"id":"Starter-Projects/starter-projects-simple-agent","title":"Simple agent","description":"Build a Simple Agent flow for an agentic application using the Tool-calling agent.","sidebar":"docs"},"Starter-Projects/starter-projects-travel-planning-agent":{"id":"Starter-Projects/starter-projects-travel-planning-agent","title":"Travel planning agent","description":"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.","sidebar":"docs"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector Store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"docs"},"Workspace/workspace-api":{"id":"Workspace/workspace-api","title":"API","description":"The\xa0API\xa0section presents code templates for integrating your flow into external applications.","sidebar":"docs"},"Workspace/workspace-logs":{"id":"Workspace/workspace-logs","title":"Logs","description":"The\xa0Logs\xa0pane provides a detailed record of all component executions within a workspace. It is designed to help you track actions, debug issues, and understand the flow of data through various components.","sidebar":"docs"},"Workspace/workspace-overview":{"id":"Workspace/workspace-overview","title":"Workspace concepts","description":"The workspace is where you create AI applications by connecting and running components in flows.","sidebar":"docs"},"Workspace/workspace-playground":{"id":"Workspace/workspace-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/25bf2d67.163f4ef8.js b/assets/js/25bf2d67.163f4ef8.js deleted file mode 100644 index 6506f12391..0000000000 --- a/assets/js/25bf2d67.163f4ef8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8031],{43956:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var r=t(74848),s=t(28453);const i={title:"Basic Prompting",sidebar_position:0,slug:"/starter-projects-basic-prompting"},o=void 0,a={id:"Starter-Projects/starter-projects-basic-prompting",title:"Basic Prompting",description:"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.",source:"@site/docs/Starter-Projects/starter-projects-basic-prompting.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-basic-prompting",permalink:"/starter-projects-basic-prompting",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"Basic Prompting",sidebar_position:0,slug:"/starter-projects-basic-prompting"},sidebar:"docs",previous:{title:"Notion Meeting Notes Agent",permalink:"/integrations/notion/notion-agent-meeting-notes"},next:{title:"Blog Writer",permalink:"/starter-projects-blog-writer"}},l={},c=[{value:"Prerequisites",id:"20bd7bc51ce04e2fb4922c95f00870d3",level:2},{value:"Create the basic prompting flow",id:"19d5305239c841548a695e2bf7839e7a",level:2},{value:"Run the basic prompting flow",id:"ce52f8e6b491452a9dfb069feb962eed",level:2},{value:"Modify the prompt for a different result",id:"3ab045fcbe774c8fb3adc528f9042ba0",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks."}),"\n",(0,r.jsx)(n.p,{children:"By submitting natural language requests in a prompt to an LLM, you can obtain answers, generate text, and solve problems."}),"\n",(0,r.jsx)(n.p,{children:"This article demonstrates how to use Langflow's prompt tools to issue basic prompts to an LLM, and how various prompting strategies can affect your outcomes."}),"\n",(0,r.jsx)(n.h2,{id:"20bd7bc51ce04e2fb4922c95f00870d3",children:"Prerequisites"}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/get-started-installation",children:"Langflow installed and running"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"19d5305239c841548a695e2bf7839e7a",children:"Create the basic prompting flow"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["From the Langflow dashboard, click\xa0",(0,r.jsx)(n.strong,{children:"New Flow"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Select\xa0",(0,r.jsx)(n.strong,{children:"Basic Prompting"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["The\xa0",(0,r.jsx)(n.strong,{children:"Basic Prompting"}),"\xa0flow is created."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:t(90567).A+"",width:"2874",height:"966"})}),"\n",(0,r.jsxs)(n.p,{children:["This flow allows you to chat with the\xa0",(0,r.jsx)(n.strong,{children:"OpenAI"}),"\xa0component through the\xa0",(0,r.jsx)(n.strong,{children:"Prompt"}),"\xa0component."]}),"\n",(0,r.jsxs)(n.p,{children:["Examine the\xa0",(0,r.jsx)(n.strong,{children:"Prompt"}),"\xa0component. The\xa0",(0,r.jsx)(n.strong,{children:"Template"}),"\xa0field instructs the LLM to\xa0",(0,r.jsx)(n.code,{children:"Answer the user as if you were a pirate."}),"\xa0This should be interesting..."]}),"\n",(0,r.jsxs)(n.ol,{start:"4",children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["To create an environment variable for the\xa0",(0,r.jsx)(n.strong,{children:"OpenAI"}),"\xa0component, in the\xa0",(0,r.jsx)(n.strong,{children:"OpenAI API Key"}),"\xa0field, click the\xa0",(0,r.jsx)(n.strong,{children:"Globe"}),"\xa0button, and then click\xa0",(0,r.jsx)(n.strong,{children:"Add New Variable"}),"."]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["In the\xa0",(0,r.jsx)(n.strong,{children:"Variable Name"}),"\xa0field, enter\xa0",(0,r.jsx)(n.code,{children:"openai_api_key"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["In the\xa0",(0,r.jsx)(n.strong,{children:"Value"}),"\xa0field, paste your OpenAI API Key (",(0,r.jsx)(n.code,{children:"sk-..."}),")."]}),"\n",(0,r.jsxs)(n.li,{children:["Click\xa0",(0,r.jsx)(n.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"ce52f8e6b491452a9dfb069feb962eed",children:"Run the basic prompting flow"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Click the\xa0",(0,r.jsx)(n.strong,{children:"Playground"}),"\xa0button on the control panel (bottom right side of the workspace). This is where you can interact with your AI."]}),"\n",(0,r.jsx)(n.li,{children:"Type a message and press Enter. The bot should respond in a markedly piratical manner!"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"3ab045fcbe774c8fb3adc528f9042ba0",children:"Modify the prompt for a different result"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["To modify your prompt results, in the\xa0",(0,r.jsx)(n.strong,{children:"Prompt"}),"\xa0template, click the\xa0",(0,r.jsx)(n.strong,{children:"Template"}),"\xa0field. The\xa0",(0,r.jsx)(n.strong,{children:"Edit Prompt"}),"\xa0window opens."]}),"\n",(0,r.jsxs)(n.li,{children:["Change\xa0",(0,r.jsx)(n.code,{children:"Answer the user as if you were a pirate"}),"\xa0to a different character, perhaps\xa0",(0,r.jsx)(n.code,{children:"Answer the user as if you were Hermione Granger."})]}),"\n",(0,r.jsx)(n.li,{children:"Run the workflow again. The response will be markedly different."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},90567:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/starter-flow-basic-prompting-40917cdcd3e69dcb5ed1a611df982d06.png"},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var r=t(96540);const s={},i=r.createContext(s);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/25bf2d67.46f2eb17.js b/assets/js/25bf2d67.46f2eb17.js new file mode 100644 index 0000000000..2489502493 --- /dev/null +++ b/assets/js/25bf2d67.46f2eb17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8031],{43956:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=t(74848),s=t(28453);const i={title:"Basic Prompting",sidebar_position:0,slug:"/starter-projects-basic-prompting"},o=void 0,a={id:"Starter-Projects/starter-projects-basic-prompting",title:"Basic Prompting",description:"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.",source:"@site/docs/Starter-Projects/starter-projects-basic-prompting.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-basic-prompting",permalink:"/starter-projects-basic-prompting",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"Basic Prompting",sidebar_position:0,slug:"/starter-projects-basic-prompting"},sidebar:"docs",previous:{title:"Quickstart",permalink:"/get-started-quickstart"},next:{title:"Blog Writer",permalink:"/starter-projects-blog-writer"}},c={},l=[{value:"Prerequisites",id:"20bd7bc51ce04e2fb4922c95f00870d3",level:2},{value:"Create the basic prompting flow",id:"19d5305239c841548a695e2bf7839e7a",level:2},{value:"Run the basic prompting flow",id:"ce52f8e6b491452a9dfb069feb962eed",level:2},{value:"Modify the prompt for a different result",id:"3ab045fcbe774c8fb3adc528f9042ba0",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks."}),"\n",(0,r.jsx)(n.p,{children:"By submitting natural language requests in a prompt to an LLM, you can obtain answers, generate text, and solve problems."}),"\n",(0,r.jsx)(n.p,{children:"This article demonstrates how to use Langflow's prompt tools to issue basic prompts to an LLM, and how various prompting strategies can affect your outcomes."}),"\n",(0,r.jsx)(n.h2,{id:"20bd7bc51ce04e2fb4922c95f00870d3",children:"Prerequisites"}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/get-started-installation",children:"Langflow installed and running"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"19d5305239c841548a695e2bf7839e7a",children:"Create the basic prompting flow"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["From the Langflow dashboard, click\xa0",(0,r.jsx)(n.strong,{children:"New Flow"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Select\xa0",(0,r.jsx)(n.strong,{children:"Basic Prompting"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["The\xa0",(0,r.jsx)(n.strong,{children:"Basic Prompting"}),"\xa0flow is created."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:t(90567).A+"",width:"2874",height:"966"})}),"\n",(0,r.jsxs)(n.p,{children:["This flow allows you to chat with the\xa0",(0,r.jsx)(n.strong,{children:"OpenAI"}),"\xa0component through the\xa0",(0,r.jsx)(n.strong,{children:"Prompt"}),"\xa0component."]}),"\n",(0,r.jsxs)(n.p,{children:["Examine the\xa0",(0,r.jsx)(n.strong,{children:"Prompt"}),"\xa0component. The\xa0",(0,r.jsx)(n.strong,{children:"Template"}),"\xa0field instructs the LLM to\xa0",(0,r.jsx)(n.code,{children:"Answer the user as if you were a pirate."}),"\xa0This should be interesting..."]}),"\n",(0,r.jsxs)(n.ol,{start:"4",children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["To create an environment variable for the\xa0",(0,r.jsx)(n.strong,{children:"OpenAI"}),"\xa0component, in the\xa0",(0,r.jsx)(n.strong,{children:"OpenAI API Key"}),"\xa0field, click the\xa0",(0,r.jsx)(n.strong,{children:"Globe"}),"\xa0button, and then click\xa0",(0,r.jsx)(n.strong,{children:"Add New Variable"}),"."]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["In the\xa0",(0,r.jsx)(n.strong,{children:"Variable Name"}),"\xa0field, enter\xa0",(0,r.jsx)(n.code,{children:"openai_api_key"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["In the\xa0",(0,r.jsx)(n.strong,{children:"Value"}),"\xa0field, paste your OpenAI API Key (",(0,r.jsx)(n.code,{children:"sk-..."}),")."]}),"\n",(0,r.jsxs)(n.li,{children:["Click\xa0",(0,r.jsx)(n.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"ce52f8e6b491452a9dfb069feb962eed",children:"Run the basic prompting flow"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Click the\xa0",(0,r.jsx)(n.strong,{children:"Playground"}),"\xa0button on the control panel (bottom right side of the workspace). This is where you can interact with your AI."]}),"\n",(0,r.jsx)(n.li,{children:"Type a message and press Enter. The bot should respond in a markedly piratical manner!"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"3ab045fcbe774c8fb3adc528f9042ba0",children:"Modify the prompt for a different result"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["To modify your prompt results, in the\xa0",(0,r.jsx)(n.strong,{children:"Prompt"}),"\xa0template, click the\xa0",(0,r.jsx)(n.strong,{children:"Template"}),"\xa0field. The\xa0",(0,r.jsx)(n.strong,{children:"Edit Prompt"}),"\xa0window opens."]}),"\n",(0,r.jsxs)(n.li,{children:["Change\xa0",(0,r.jsx)(n.code,{children:"Answer the user as if you were a pirate"}),"\xa0to a different character, perhaps\xa0",(0,r.jsx)(n.code,{children:"Answer the user as if you were Hermione Granger."})]}),"\n",(0,r.jsx)(n.li,{children:"Run the workflow again. The response will be markedly different."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},90567:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/starter-flow-basic-prompting-40917cdcd3e69dcb5ed1a611df982d06.png"},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var r=t(96540);const s={},i=r.createContext(s);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/32cedcea.542379f2.js b/assets/js/32cedcea.542379f2.js new file mode 100644 index 0000000000..351d3ff5f4 --- /dev/null +++ b/assets/js/32cedcea.542379f2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4429],{83966:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var t=o(74848),s=o(28453);const i={title:"How to build flows with components",sidebar_position:0,slug:"/components-overview"},c=void 0,a={id:"Components/components-overview",title:"How to build flows with components",description:"A\xa0component\xa0is a single building block within a flow. It consists of inputs, outputs, and parameters that define their functionality. These elements provide a convenient and straightforward way to compose LLM-based applications. Learn more about components and how they work below.",source:"@site/docs/Components/components-overview.md",sourceDirName:"Components",slug:"/components-overview",permalink:"/components-overview",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"How to build flows with components",sidebar_position:0,slug:"/components-overview"},sidebar:"docs",previous:{title:"Environment variables",permalink:"/environment-variables"},next:{title:"Agents",permalink:"/components-agents"}},r={},l=[{value:"Component menu",id:"7e3f2f8ff5074b2fb3eee97c9cfaabe7",level:2},{value:"Output preview",id:"ed7b3c34e0774b8a916b0e68821c9a7a",level:2},{value:"Advanced settings",id:"b6430d4903df44f0ba4618a558c83d7b",level:2},{value:"Group components",id:"c3f5ed818e3b40ceb6534dc358e1a5f2",level:2},{value:"Component version",id:"887fd587589448dc8c27336d1c235b9b",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"A\xa0component\xa0is a single building block within a flow. It consists of inputs, outputs, and parameters that define their functionality. These elements provide a convenient and straightforward way to compose LLM-based applications. Learn more about components and how they work below."}),"\n",(0,t.jsx)(n.p,{children:"During the flow creation process, you will notice handles (colored circles) attached to one or both sides of a component. These handles use distinct colors to indicate the types of inputs and outputs that can be interconnected. Hover over a handle to see connection details."}),"\n",(0,t.jsx)("img",{src:"/img/prompt-component.png",alt:"Prompt component",style:{display:"block",margin:"auto",width:300}}),"\n",(0,t.jsxs)(n.p,{children:["On the top right corner of the component, you'll find the a play button to run a component. Once it runs, a status icon appears and you can hover over that to visualize success or error messages. Start interacting with your AI by clicking the\xa0",(0,t.jsx)(n.strong,{children:"Playground"}),"\xa0at the bottom right of the workspace."]}),"\n",(0,t.jsx)(n.h2,{id:"7e3f2f8ff5074b2fb3eee97c9cfaabe7",children:"Component menu"}),"\n",(0,t.jsx)(n.p,{children:"Each component is unique, but they all have a menu bar at the top that looks something like this."}),"\n",(0,t.jsx)("img",{src:"/img/openai-model-component.png",alt:"Prompt component",style:{display:"block",margin:"auto",width:300}}),"\n",(0,t.jsx)(n.p,{children:"It consists of options such as:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Code"}),"\xa0\u2014 Modify the component's Python code and save it."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Controls"}),"\xa0\u2014 Adjust all parameters of a component."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Freeze Path"}),"\xa0\u2014 After a component runs, lock its previous output state to prevent it from re-running."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Click\xa0",(0,t.jsx)(n.strong,{children:"All"}),'\xa0(the "..." button) to see all options.']}),"\n",(0,t.jsx)(n.h2,{id:"ed7b3c34e0774b8a916b0e68821c9a7a",children:"Output preview"}),"\n",(0,t.jsx)(n.p,{children:"Langflow includes an output visualizer for components that opens a pop-up screen. This allows you to easily inspect and monitor transmissions between components, providing instant feedback on your workflows."}),"\n",(0,t.jsx)(n.h2,{id:"b6430d4903df44f0ba4618a558c83d7b",children:"Advanced settings"}),"\n",(0,t.jsxs)(n.p,{children:["Langflow components can be edited by clicking the\xa0",(0,t.jsx)(n.strong,{children:"Advanced Settings"}),"\xa0button."]}),"\n",(0,t.jsxs)(n.p,{children:["Hide parameters with the\xa0",(0,t.jsx)(n.strong,{children:"Show"}),"\xa0button to reduce complexity and keep the workspace clean and intuitive for experimentation."]}),"\n",(0,t.jsx)(n.p,{children:"You can also double-click a component's name and description to modify those. Component descriptions accept markdown syntax."}),"\n",(0,t.jsx)(n.h2,{id:"c3f5ed818e3b40ceb6534dc358e1a5f2",children:"Group components"}),"\n",(0,t.jsx)(n.p,{children:"Multiple components can be grouped into a single component for reuse. This is useful when combining large flows into single components (like RAG with a vector database, for example) and saving space."}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Hold\xa0",(0,t.jsx)(n.strong,{children:"Shift"}),"\xa0and drag to select components."]}),"\n",(0,t.jsxs)(n.li,{children:["Select\xa0",(0,t.jsx)(n.strong,{children:"Group"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"The components merge into a single component."}),"\n",(0,t.jsx)(n.li,{children:"Double-click the name and description to change them."}),"\n",(0,t.jsx)(n.li,{children:"Save your grouped component to in the sidebar for later use!"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"887fd587589448dc8c27336d1c235b9b",children:"Component version"}),"\n",(0,t.jsx)(n.p,{children:"A component's state is stored in a database, while sidebar components are like starter templates. As soon as you drag a component from the sidebar to the workspace, the two components are no longer in parity."}),"\n",(0,t.jsxs)(n.p,{children:["The component will keep the version number it was initialized to the workspace with. Click the\xa0",(0,t.jsx)(n.strong,{children:"Update Component"}),"\xa0icon (exclamation mark) to bring the component up to the\xa0",(0,t.jsx)(n.code,{children:"latest"}),"\xa0version. This will change the code of the component in place so you can validate that the component was updated by checking its Python code before and after updating it."]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},28453:(e,n,o)=>{o.d(n,{R:()=>c,x:()=>a});var t=o(96540);const s={},i=t.createContext(s);function c(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/32cedcea.a1bae4ae.js b/assets/js/32cedcea.a1bae4ae.js deleted file mode 100644 index a35394dfb5..0000000000 --- a/assets/js/32cedcea.a1bae4ae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4429],{83966:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var t=o(74848),s=o(28453);const i={title:"How to build flows with components",sidebar_position:0,slug:"/components-overview"},c=void 0,a={id:"Components/components-overview",title:"How to build flows with components",description:"A\xa0component\xa0is a single building block within a flow. It consists of inputs, outputs, and parameters that define their functionality. These elements provide a convenient and straightforward way to compose LLM-based applications. Learn more about components and how they work below.",source:"@site/docs/Components/components-overview.md",sourceDirName:"Components",slug:"/components-overview",permalink:"/components-overview",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"How to build flows with components",sidebar_position:0,slug:"/components-overview"},sidebar:"docs",previous:{title:"Welcome to Langflow",permalink:"/"},next:{title:"Agents",permalink:"/components-agents"}},r={},l=[{value:"Component menu",id:"7e3f2f8ff5074b2fb3eee97c9cfaabe7",level:2},{value:"Output preview",id:"ed7b3c34e0774b8a916b0e68821c9a7a",level:2},{value:"Advanced settings",id:"b6430d4903df44f0ba4618a558c83d7b",level:2},{value:"Group components",id:"c3f5ed818e3b40ceb6534dc358e1a5f2",level:2},{value:"Component version",id:"887fd587589448dc8c27336d1c235b9b",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"A\xa0component\xa0is a single building block within a flow. It consists of inputs, outputs, and parameters that define their functionality. These elements provide a convenient and straightforward way to compose LLM-based applications. Learn more about components and how they work below."}),"\n",(0,t.jsx)(n.p,{children:"During the flow creation process, you will notice handles (colored circles) attached to one or both sides of a component. These handles use distinct colors to indicate the types of inputs and outputs that can be interconnected. Hover over a handle to see connection details."}),"\n",(0,t.jsx)("img",{src:"/img/prompt-component.png",alt:"Prompt component",style:{display:"block",margin:"auto",width:300}}),"\n",(0,t.jsxs)(n.p,{children:["On the top right corner of the component, you'll find the a play button to run a component. Once it runs, a status icon appears and you can hover over that to visualize success or error messages. Start interacting with your AI by clicking the\xa0",(0,t.jsx)(n.strong,{children:"Playground"}),"\xa0at the bottom right of the workspace."]}),"\n",(0,t.jsx)(n.h2,{id:"7e3f2f8ff5074b2fb3eee97c9cfaabe7",children:"Component menu"}),"\n",(0,t.jsx)(n.p,{children:"Each component is unique, but they all have a menu bar at the top that looks something like this."}),"\n",(0,t.jsx)("img",{src:"/img/openai-model-component.png",alt:"Prompt component",style:{display:"block",margin:"auto",width:300}}),"\n",(0,t.jsx)(n.p,{children:"It consists of options such as:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Code"}),"\xa0\u2014 Modify the component's Python code and save it."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Controls"}),"\xa0\u2014 Adjust all parameters of a component."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Freeze Path"}),"\xa0\u2014 After a component runs, lock its previous output state to prevent it from re-running."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Click\xa0",(0,t.jsx)(n.strong,{children:"All"}),'\xa0(the "..." button) to see all options.']}),"\n",(0,t.jsx)(n.h2,{id:"ed7b3c34e0774b8a916b0e68821c9a7a",children:"Output preview"}),"\n",(0,t.jsx)(n.p,{children:"Langflow includes an output visualizer for components that opens a pop-up screen. This allows you to easily inspect and monitor transmissions between components, providing instant feedback on your workflows."}),"\n",(0,t.jsx)(n.h2,{id:"b6430d4903df44f0ba4618a558c83d7b",children:"Advanced settings"}),"\n",(0,t.jsxs)(n.p,{children:["Langflow components can be edited by clicking the\xa0",(0,t.jsx)(n.strong,{children:"Advanced Settings"}),"\xa0button."]}),"\n",(0,t.jsxs)(n.p,{children:["Hide parameters with the\xa0",(0,t.jsx)(n.strong,{children:"Show"}),"\xa0button to reduce complexity and keep the workspace clean and intuitive for experimentation."]}),"\n",(0,t.jsx)(n.p,{children:"You can also double-click a component's name and description to modify those. Component descriptions accept markdown syntax."}),"\n",(0,t.jsx)(n.h2,{id:"c3f5ed818e3b40ceb6534dc358e1a5f2",children:"Group components"}),"\n",(0,t.jsx)(n.p,{children:"Multiple components can be grouped into a single component for reuse. This is useful when combining large flows into single components (like RAG with a vector database, for example) and saving space."}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Hold\xa0",(0,t.jsx)(n.strong,{children:"Shift"}),"\xa0and drag to select components."]}),"\n",(0,t.jsxs)(n.li,{children:["Select\xa0",(0,t.jsx)(n.strong,{children:"Group"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"The components merge into a single component."}),"\n",(0,t.jsx)(n.li,{children:"Double-click the name and description to change them."}),"\n",(0,t.jsx)(n.li,{children:"Save your grouped component to in the sidebar for later use!"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"887fd587589448dc8c27336d1c235b9b",children:"Component version"}),"\n",(0,t.jsx)(n.p,{children:"A component's state is stored in a database, while sidebar components are like starter templates. As soon as you drag a component from the sidebar to the workspace, the two components are no longer in parity."}),"\n",(0,t.jsxs)(n.p,{children:["The component will keep the version number it was initialized to the workspace with. Click the\xa0",(0,t.jsx)(n.strong,{children:"Update Component"}),"\xa0icon (exclamation mark) to bring the component up to the\xa0",(0,t.jsx)(n.code,{children:"latest"}),"\xa0version. This will change the code of the component in place so you can validate that the component was updated by checking its Python code before and after updating it."]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},28453:(e,n,o)=>{o.d(n,{R:()=>c,x:()=>a});var t=o(96540);const s={},i=t.createContext(s);function c(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/790349b7.4449c1b4.js b/assets/js/790349b7.4449c1b4.js deleted file mode 100644 index f99e8f3950..0000000000 --- a/assets/js/790349b7.4449c1b4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[7892],{18556:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>t,metadata:()=>l,toc:()=>a});var s=o(74848),r=o(28453);const t={title:"Workspace concepts",sidebar_position:1,slug:"/workspace-overview"},i=void 0,l={id:"Workspace/workspace-overview",title:"Workspace concepts",description:"The workspace is where you create AI applications by connecting and running components in flows.",source:"@site/docs/Workspace/workspace-overview.md",sourceDirName:"Workspace",slug:"/workspace-overview",permalink:"/workspace-overview",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Workspace concepts",sidebar_position:1,slug:"/workspace-overview"},sidebar:"docs",previous:{title:"Vector Store RAG",permalink:"/starter-projects-vector-store-rag"},next:{title:"API",permalink:"/workspace-api"}},c={},a=[{value:"Components",id:"components",level:2},{value:"Playground",id:"playground",level:2},{value:"API",id:"api",level:2},{value:"Projects and folders",id:"projects-and-folders",level:2},{value:"Options menu",id:"options-menu",level:2},{value:"Settings",id:"settings",level:2}];function d(e){const n={a:"a",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"workspace"})," is where you create AI applications by connecting and running components in flows."]}),"\n",(0,s.jsx)(n.p,{children:"The workspace controls allow you to adjust your view and lock your flows in place."}),"\n",(0,s.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(n.p,{children:["A ",(0,s.jsx)(n.strong,{children:"component"})," is a single building block within a flow and consists of inputs, outputs, and parameters that define its functionality."]}),"\n",(0,s.jsx)(n.p,{children:"To add a component to your flow, drag it from the sidebar onto the workspace."}),"\n",(0,s.jsx)(n.p,{children:"To connect components, drag a line from the output handle (\u26aa) of one component to the input handle of another."}),"\n",(0,s.jsxs)(n.p,{children:["For more information, see ",(0,s.jsx)(n.a,{href:"/components-overview",children:"How to build flows with components"}),"."]}),"\n",(0,s.jsx)("img",{src:"/img/prompt-component.png",alt:"Prompt component",style:{display:"block",margin:"auto",width:300}}),"\n",(0,s.jsx)(n.h2,{id:"playground",children:"Playground"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"Playground"})," executes the current flow in the workspace."]}),"\n",(0,s.jsx)(n.p,{children:"Chat with your flow, view inputs and outputs, and modify your AI's memories to tune your responses in real time."}),"\n",(0,s.jsxs)(n.p,{children:["Either the ",(0,s.jsx)(n.strong,{children:"Chat Input"})," or ",(0,s.jsx)(n.strong,{children:"Chat Output"})," component can be opened in the ",(0,s.jsx)(n.strong,{children:"Playground"})," and tested in real time."]}),"\n",(0,s.jsxs)(n.p,{children:["For more information, see the ",(0,s.jsx)(n.a,{href:"/workspace-playground",children:"Playground documentation"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:o(75918).A+"",width:"3244",height:"1776"})}),"\n",(0,s.jsx)(n.h2,{id:"api",children:"API"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"API"})," pane provides code templates to integrate your flows into external applications."]}),"\n",(0,s.jsxs)(n.p,{children:["For more information, see the ",(0,s.jsx)(n.a,{href:"/workspace-api",children:"API documentation"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:o(4558).A+"",width:"3236",height:"1760"})}),"\n",(0,s.jsx)(n.h2,{id:"projects-and-folders",children:"Projects and folders"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"My Projects"})," page displays all the flows and components you've created in the Langflow workspace."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:o(22640).A+"",width:"3412",height:"1758"})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"My Projects"})," is the default folder where all new projects and components are initially stored."]}),"\n",(0,s.jsx)(n.p,{children:"Projects, folders, and flows are exchanged as JSON objects."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["To create a new folder, click \ud83d\udcc1 ",(0,s.jsx)(n.strong,{children:"New Folder"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"To rename a folder, double-click the folder name."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["To download a folder, click \ud83d\udce5 ",(0,s.jsx)(n.strong,{children:"Download"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["To upload a folder, click \ud83d\udce4 ",(0,s.jsx)(n.strong,{children:"Upload"}),". The default maximum file upload size is 100 MB."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"To move a flow or component, drag and drop it into the desired folder."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"options-menu",children:"Options menu"}),"\n",(0,s.jsx)(n.p,{children:"The dropdown menu labeled with the project name offers several management and customization options for the current flow in the Langflow workspace."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"New"}),": Create a new flow from scratch."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Settings"}),": Adjust settings specific to the current flow, such as its name, description, and endpoint name."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Logs"}),": View logs for the current project, including execution history, errors, and other runtime events."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Import"}),": Import a flow or component from a JSON file into the workspace."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Export"}),": Export the current flow as a JSON file."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Undo (\u2318Z)"}),": Revert the last action taken in the project."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Redo (\u2318Y)"}),": Reapply a previously undone action."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Refresh All"}),": Refresh all components and delete cache."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"settings",children:"Settings"}),"\n",(0,s.jsxs)(n.p,{children:["Click \u2699\ufe0f ",(0,s.jsx)(n.strong,{children:"Settings"})," to access ",(0,s.jsx)(n.strong,{children:"Global variables"}),", ",(0,s.jsx)(n.strong,{children:"Langflow API"}),", ",(0,s.jsx)(n.strong,{children:"Shortcuts"}),", and ",(0,s.jsx)(n.strong,{children:"Messages"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4558:(e,n,o)=>{o.d(n,{A:()=>s});const s=o.p+"assets/images/api-pane-97a01b20a262676d4e21906df0e29f46.png"},22640:(e,n,o)=>{o.d(n,{A:()=>s});const s=o.p+"assets/images/my-projects-20f73f0541b2f5b41398ef5df610b7b3.png"},75918:(e,n,o)=>{o.d(n,{A:()=>s});const s=o.p+"assets/images/playground-b2c623fb6849024570bc9bd5285309f5.png"},28453:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>l});var s=o(96540);const r={},t=s.createContext(r);function i(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/790349b7.e97eef4c.js b/assets/js/790349b7.e97eef4c.js new file mode 100644 index 0000000000..4864af5497 --- /dev/null +++ b/assets/js/790349b7.e97eef4c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[7892],{18556:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>t,metadata:()=>l,toc:()=>a});var o=s(74848),r=s(28453);const t={title:"Workspace concepts",sidebar_position:1,slug:"/workspace-overview"},i=void 0,l={id:"Workspace/workspace-overview",title:"Workspace concepts",description:"The workspace is where you create AI applications by connecting and running components in flows.",source:"@site/docs/Workspace/workspace-overview.md",sourceDirName:"Workspace",slug:"/workspace-overview",permalink:"/workspace-overview",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Workspace concepts",sidebar_position:1,slug:"/workspace-overview"},sidebar:"docs",previous:{title:"Travel planning agent",permalink:"/starter-projects-travel-planning-agent"},next:{title:"API",permalink:"/workspace-api"}},c={},a=[{value:"Components",id:"components",level:2},{value:"Playground",id:"playground",level:2},{value:"API",id:"api",level:2},{value:"Projects and folders",id:"projects-and-folders",level:2},{value:"Options menu",id:"options-menu",level:2},{value:"Settings",id:"settings",level:2}];function d(e){const n={a:"a",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.strong,{children:"workspace"})," is where you create AI applications by connecting and running components in flows."]}),"\n",(0,o.jsx)(n.p,{children:"The workspace controls allow you to adjust your view and lock your flows in place."}),"\n",(0,o.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,o.jsxs)(n.p,{children:["A ",(0,o.jsx)(n.strong,{children:"component"})," is a single building block within a flow and consists of inputs, outputs, and parameters that define its functionality."]}),"\n",(0,o.jsx)(n.p,{children:"To add a component to your flow, drag it from the sidebar onto the workspace."}),"\n",(0,o.jsx)(n.p,{children:"To connect components, drag a line from the output handle (\u26aa) of one component to the input handle of another."}),"\n",(0,o.jsxs)(n.p,{children:["For more information, see ",(0,o.jsx)(n.a,{href:"/components-overview",children:"How to build flows with components"}),"."]}),"\n",(0,o.jsx)("img",{src:"/img/prompt-component.png",alt:"Prompt component",style:{display:"block",margin:"auto",width:300}}),"\n",(0,o.jsx)(n.h2,{id:"playground",children:"Playground"}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.strong,{children:"Playground"})," executes the current flow in the workspace."]}),"\n",(0,o.jsx)(n.p,{children:"Chat with your flow, view inputs and outputs, and modify your AI's memories to tune your responses in real time."}),"\n",(0,o.jsxs)(n.p,{children:["Either the ",(0,o.jsx)(n.strong,{children:"Chat Input"})," or ",(0,o.jsx)(n.strong,{children:"Chat Output"})," component can be opened in the ",(0,o.jsx)(n.strong,{children:"Playground"})," and tested in real time."]}),"\n",(0,o.jsxs)(n.p,{children:["For more information, see the ",(0,o.jsx)(n.a,{href:"/workspace-playground",children:"Playground documentation"}),"."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:s(75918).A+"",width:"3244",height:"1776"})}),"\n",(0,o.jsx)(n.h2,{id:"api",children:"API"}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.strong,{children:"API"})," pane provides code templates to integrate your flows into external applications."]}),"\n",(0,o.jsxs)(n.p,{children:["For more information, see the ",(0,o.jsx)(n.a,{href:"/workspace-api",children:"API documentation"}),"."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:s(4558).A+"",width:"3236",height:"1760"})}),"\n",(0,o.jsx)(n.h2,{id:"projects-and-folders",children:"Projects and folders"}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.strong,{children:"My Projects"})," page displays all the flows and components you've created in the Langflow workspace."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:s(22640).A+"",width:"3412",height:"1758"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"My Projects"})," is the default folder where all new projects and components are initially stored."]}),"\n",(0,o.jsx)(n.p,{children:"Projects, folders, and flows are exchanged as JSON objects."}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["To create a new folder, click \ud83d\udcc1 ",(0,o.jsx)(n.strong,{children:"New Folder"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"To rename a folder, double-click the folder name."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["To download a folder, click \ud83d\udce5 ",(0,o.jsx)(n.strong,{children:"Download"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["To upload a folder, click \ud83d\udce4 ",(0,o.jsx)(n.strong,{children:"Upload"}),". The default maximum file upload size is 100 MB."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"To move a flow or component, drag and drop it into the desired folder."}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"options-menu",children:"Options menu"}),"\n",(0,o.jsx)(n.p,{children:"The dropdown menu labeled with the project name offers several management and customization options for the current flow in the Langflow workspace."}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"New"}),": Create a new flow from scratch."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Settings"}),": Adjust settings specific to the current flow, such as its name, description, and endpoint name."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Logs"}),": View logs for the current project, including execution history, errors, and other runtime events."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Import"}),": Import a flow or component from a JSON file into the workspace."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Export"}),": Export the current flow as a JSON file."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Undo (\u2318Z)"}),": Revert the last action taken in the project."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Redo (\u2318Y)"}),": Reapply a previously undone action."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Refresh All"}),": Refresh all components and delete cache."]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"settings",children:"Settings"}),"\n",(0,o.jsxs)(n.p,{children:["Click \u2699\ufe0f ",(0,o.jsx)(n.strong,{children:"Settings"})," to access ",(0,o.jsx)(n.strong,{children:"Global variables"}),", ",(0,o.jsx)(n.strong,{children:"Langflow API"}),", ",(0,o.jsx)(n.strong,{children:"Shortcuts"}),", and ",(0,o.jsx)(n.strong,{children:"Messages"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4558:(e,n,s)=>{s.d(n,{A:()=>o});const o=s.p+"assets/images/api-pane-97a01b20a262676d4e21906df0e29f46.png"},22640:(e,n,s)=>{s.d(n,{A:()=>o});const o=s.p+"assets/images/my-projects-20f73f0541b2f5b41398ef5df610b7b3.png"},75918:(e,n,s)=>{s.d(n,{A:()=>o});const o=s.p+"assets/images/playground-b2c623fb6849024570bc9bd5285309f5.png"},28453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>l});var o=s(96540);const r={},t=o.createContext(r);function i(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7da17ff3.60bc2465.js b/assets/js/7da17ff3.60bc2465.js deleted file mode 100644 index 591be7eb43..0000000000 --- a/assets/js/7da17ff3.60bc2465.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1258],{80115:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var s=t(74848),r=t(28453);const l={title:"Travel planning agent",sidebar_position:8,slug:"/starter-projects-travel-planning-agent"},a=void 0,o={id:"Starter-Projects/starter-projects-travel-planning-agent",title:"Travel planning agent",description:"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.",source:"@site/docs/Starter-Projects/starter-projects-travel-planning-agent.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-travel-planning-agent",permalink:"/starter-projects-travel-planning-agent",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:8,frontMatter:{title:"Travel planning agent",sidebar_position:8,slug:"/starter-projects-travel-planning-agent"},sidebar:"docs",previous:{title:"Simple agent",permalink:"/starter-projects-simple-agent"},next:{title:"Vector Store RAG",permalink:"/starter-projects-vector-store-rag"}},i={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Open Langflow and start a new flow",id:"open-langflow-and-start-a-new-flow",level:2},{value:"Create the travel planning agent flow",id:"create-the-travel-planning-agent-flow",level:2},{value:"Run the travel planning agent flow",id:"run-the-travel-planning-agent-flow",level:2}];function h(e){const n={a:"a",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["Build a ",(0,s.jsx)(n.strong,{children:"Travel Planning Agent"})," flow for an agentic application using the multiple Tool-calling agents."]}),"\n",(0,s.jsxs)(n.p,{children:["An ",(0,s.jsx)(n.strong,{children:"agent"}),' uses an LLM as its "brain" to select among the connected tools and complete its tasks.']}),"\n",(0,s.jsxs)(n.p,{children:["In this flow, multiple ",(0,s.jsx)(n.strong,{children:"Tool-calling agents"})," reason using an ",(0,s.jsx)(n.strong,{children:"Open AI"})," LLM to plan a travel journey. Each agent is given a different responsibility defined by its ",(0,s.jsx)(n.strong,{children:"System Prompt"})," field."]}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"Chat input"})," defines where the user wants to go, and passes the result to the ",(0,s.jsx)(n.strong,{children:"City Selection"})," agent. The ",(0,s.jsx)(n.strong,{children:"Local Expert"})," agent then adds information based on the selected cities, and the ",(0,s.jsx)(n.strong,{children:"Travel Concierge"})," assembles a seven day travel plan in Markdown."]}),"\n",(0,s.jsxs)(n.p,{children:["All agents have access to the ",(0,s.jsx)(n.strong,{children:"Search API"})," and ",(0,s.jsx)(n.strong,{children:"URL Content Fetcher"})," components, while only the Travel Concierge can use the ",(0,s.jsx)(n.strong,{children:"Calculator"})," for computing the trip costs."]}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(n.p,{children:["To use this flow, you need an ",(0,s.jsx)(n.a,{href:"https://platform.openai.com/",children:"OpenAI API key"})," and a ",(0,s.jsx)(n.a,{href:"https://www.searchapi.io/",children:"Search API key"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"open-langflow-and-start-a-new-flow",children:"Open Langflow and start a new flow"}),"\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.strong,{children:"New Flow"}),", and then select the ",(0,s.jsx)(n.strong,{children:"Travel Planning Agent"})," flow."]}),"\n",(0,s.jsx)(n.p,{children:"This opens a starter flow with the necessary components to run an agentic application using multiple Tool-calling agents."}),"\n",(0,s.jsx)(n.h2,{id:"create-the-travel-planning-agent-flow",children:"Create the travel planning agent flow"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:t(17286).A+"",width:"2948",height:"1302"})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"Travel Planning Agent"})," flow consists of these components:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Multiple ",(0,s.jsx)(n.strong,{children:"Tool calling agent"})," components that use the connected LLM to reason through the user's input and select among the connected tools to complete their tasks."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Calculator"})," component performs basic arithmetic operations."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"URL Content Fetcher"})," component scrapes content from a given URL."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Chat Input"})," component accepts user input to the chat."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Chat Output"})," component prints the flow's output to the chat."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"OpenAI"})," model component sends the user input and prompt to the OpenAI API and receives a response."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"run-the-travel-planning-agent-flow",children:"Run the travel planning agent flow"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Add your credentials to the Open AI and Search API components."}),"\n",(0,s.jsxs)(n.li,{children:["In the ",(0,s.jsx)(n.strong,{children:"Chat output"})," component, click \u25b6\ufe0f Play to start the end-to-end application flow.\nA ",(0,s.jsx)(n.strong,{children:"Chat output built successfully"})," message and a \u2705 Check on all components indicate that the flow ran successfully."]}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:"Playground"})," to start a chat session.\nYou should receive a detailed, helpful answer to the journey defined in the ",(0,s.jsx)(n.strong,{children:"Chat input"})," component."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Now that your query has completed the journey from ",(0,s.jsx)(n.strong,{children:"Chat input"})," to ",(0,s.jsx)(n.strong,{children:"Chat output"}),", you have completed the ",(0,s.jsx)(n.strong,{children:"Travel Planning Agent"})," flow."]})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},17286:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/starter-flow-travel-agent-94f75fa203af9a49e2571bdc68bc6050.png"},28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(96540);const r={},l=s.createContext(r);function a(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7da17ff3.8e81187a.js b/assets/js/7da17ff3.8e81187a.js new file mode 100644 index 0000000000..684c9a0d60 --- /dev/null +++ b/assets/js/7da17ff3.8e81187a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1258],{80115:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var s=t(74848),r=t(28453);const l={title:"Travel planning agent",sidebar_position:8,slug:"/starter-projects-travel-planning-agent"},a=void 0,o={id:"Starter-Projects/starter-projects-travel-planning-agent",title:"Travel planning agent",description:"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.",source:"@site/docs/Starter-Projects/starter-projects-travel-planning-agent.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-travel-planning-agent",permalink:"/starter-projects-travel-planning-agent",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:8,frontMatter:{title:"Travel planning agent",sidebar_position:8,slug:"/starter-projects-travel-planning-agent"},sidebar:"docs",previous:{title:"Vector Store RAG",permalink:"/starter-projects-vector-store-rag"},next:{title:"Workspace concepts",permalink:"/workspace-overview"}},i={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Open Langflow and start a new flow",id:"open-langflow-and-start-a-new-flow",level:2},{value:"Create the travel planning agent flow",id:"create-the-travel-planning-agent-flow",level:2},{value:"Run the travel planning agent flow",id:"run-the-travel-planning-agent-flow",level:2}];function h(e){const n={a:"a",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["Build a ",(0,s.jsx)(n.strong,{children:"Travel Planning Agent"})," flow for an agentic application using the multiple Tool-calling agents."]}),"\n",(0,s.jsxs)(n.p,{children:["An ",(0,s.jsx)(n.strong,{children:"agent"}),' uses an LLM as its "brain" to select among the connected tools and complete its tasks.']}),"\n",(0,s.jsxs)(n.p,{children:["In this flow, multiple ",(0,s.jsx)(n.strong,{children:"Tool-calling agents"})," reason using an ",(0,s.jsx)(n.strong,{children:"Open AI"})," LLM to plan a travel journey. Each agent is given a different responsibility defined by its ",(0,s.jsx)(n.strong,{children:"System Prompt"})," field."]}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"Chat input"})," defines where the user wants to go, and passes the result to the ",(0,s.jsx)(n.strong,{children:"City Selection"})," agent. The ",(0,s.jsx)(n.strong,{children:"Local Expert"})," agent then adds information based on the selected cities, and the ",(0,s.jsx)(n.strong,{children:"Travel Concierge"})," assembles a seven day travel plan in Markdown."]}),"\n",(0,s.jsxs)(n.p,{children:["All agents have access to the ",(0,s.jsx)(n.strong,{children:"Search API"})," and ",(0,s.jsx)(n.strong,{children:"URL Content Fetcher"})," components, while only the Travel Concierge can use the ",(0,s.jsx)(n.strong,{children:"Calculator"})," for computing the trip costs."]}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(n.p,{children:["To use this flow, you need an ",(0,s.jsx)(n.a,{href:"https://platform.openai.com/",children:"OpenAI API key"})," and a ",(0,s.jsx)(n.a,{href:"https://www.searchapi.io/",children:"Search API key"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"open-langflow-and-start-a-new-flow",children:"Open Langflow and start a new flow"}),"\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.strong,{children:"New Flow"}),", and then select the ",(0,s.jsx)(n.strong,{children:"Travel Planning Agent"})," flow."]}),"\n",(0,s.jsx)(n.p,{children:"This opens a starter flow with the necessary components to run an agentic application using multiple Tool-calling agents."}),"\n",(0,s.jsx)(n.h2,{id:"create-the-travel-planning-agent-flow",children:"Create the travel planning agent flow"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:t(17286).A+"",width:"2948",height:"1302"})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"Travel Planning Agent"})," flow consists of these components:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Multiple ",(0,s.jsx)(n.strong,{children:"Tool calling agent"})," components that use the connected LLM to reason through the user's input and select among the connected tools to complete their tasks."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Calculator"})," component performs basic arithmetic operations."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"URL Content Fetcher"})," component scrapes content from a given URL."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Chat Input"})," component accepts user input to the chat."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Chat Output"})," component prints the flow's output to the chat."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"OpenAI"})," model component sends the user input and prompt to the OpenAI API and receives a response."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"run-the-travel-planning-agent-flow",children:"Run the travel planning agent flow"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Add your credentials to the Open AI and Search API components."}),"\n",(0,s.jsxs)(n.li,{children:["In the ",(0,s.jsx)(n.strong,{children:"Chat output"})," component, click \u25b6\ufe0f Play to start the end-to-end application flow.\nA ",(0,s.jsx)(n.strong,{children:"Chat output built successfully"})," message and a \u2705 Check on all components indicate that the flow ran successfully."]}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:"Playground"})," to start a chat session.\nYou should receive a detailed, helpful answer to the journey defined in the ",(0,s.jsx)(n.strong,{children:"Chat input"})," component."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Now that your query has completed the journey from ",(0,s.jsx)(n.strong,{children:"Chat input"})," to ",(0,s.jsx)(n.strong,{children:"Chat output"}),", you have completed the ",(0,s.jsx)(n.strong,{children:"Travel Planning Agent"})," flow."]})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},17286:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/starter-flow-travel-agent-94f75fa203af9a49e2571bdc68bc6050.png"},28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(96540);const r={},l=s.createContext(r);function a(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/829ff4d2.0cd22fac.js b/assets/js/829ff4d2.0cd22fac.js new file mode 100644 index 0000000000..967f086654 --- /dev/null +++ b/assets/js/829ff4d2.0cd22fac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[3964],{44745:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var t=s(74848),i=s(28453);const l={title:"AssemblyAI",sidebar_position:1,slug:"/integrations-assemblyai"},r="AssemblyAI",o={id:"Integrations/integrations-assemblyai",title:"AssemblyAI",description:"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:",source:"@site/docs/Integrations/integrations-assemblyai.md",sourceDirName:"Integrations",slug:"/integrations-assemblyai",permalink:"/integrations-assemblyai",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"AssemblyAI",sidebar_position:1,slug:"/integrations-assemblyai"},sidebar:"docs",previous:{title:"Render",permalink:"/deployment-render"},next:{title:"Langfuse",permalink:"/integrations-langfuse"}},a={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Components",id:"components",level:2},{value:"AssemblyAI Start Transcript",id:"assemblyai-start-transcript",level:3},{value:"AssebmlyAI Poll Transcript",id:"assebmlyai-poll-transcript",level:3},{value:"AssebmlyAI Get Subtitles",id:"assebmlyai-get-subtitles",level:3},{value:"AssebmlyAI LeMUR",id:"assebmlyai-lemur",level:3},{value:"AssemblyAI List Transcripts",id:"assemblyai-list-transcripts",level:3},{value:"Flow Process",id:"flow-process",level:2},{value:"Run the Transcription and Speech AI Flow",id:"run-the-transcription-and-speech-ai-flow",level:2},{value:"Customization",id:"customization",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function h(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"assemblyai",children:"AssemblyAI"})}),"\n",(0,t.jsx)(n.p,{children:"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Transcribing audio and video files"}),"\n",(0,t.jsx)(n.li,{children:"Formatting transcripts"}),"\n",(0,t.jsx)(n.li,{children:"Generating subtitles"}),"\n",(0,t.jsx)(n.li,{children:"Applying LLMs to audio files"}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"More info about AssemblyAI:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/",children:"Website"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs",children:"AssemblyAI API Docs"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/dashboard/signup",children:"Get a Free API key"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(n.p,{children:["You need an ",(0,t.jsx)(n.strong,{children:"AssemblyAI API key"}),". After creating a free account, you'll find the API key in your dashboard. ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/dashboard/signup",children:"Get a Free API key here"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["Enter the key in the ",(0,t.jsx)(n.em,{children:"AssemblyAI API Key"})," field in all components that require the key."]}),"\n",(0,t.jsx)(n.p,{children:"(Optional): To use LeMUR, you need to upgrade your AssemblyAI account, since this is not included in the free account."}),"\n",(0,t.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"AssemblyAI Components",src:s(17835).A+"",width:"1494",height:"1048"})}),"\n",(0,t.jsx)(n.h3,{id:"assemblyai-start-transcript",children:"AssemblyAI Start Transcript"}),"\n",(0,t.jsx)(n.p,{children:"This component allows you to submit an audio or video file for transcription."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Tip"}),": You can freeze the path of this component to only submit the file once."]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsx)(n.li,{children:"Audio File: The audio or video file to transcribe."}),"\n",(0,t.jsxs)(n.li,{children:["Speech Model (Optional): Select the class of models. Default is ",(0,t.jsx)(n.em,{children:"Best"}),". See ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/speech-to-text/speech-recognition#select-the-speech-model-with-best-and-nano",children:"speech models"})," for more info."]}),"\n",(0,t.jsx)(n.li,{children:"Automatic Language Detection (Optional): Enable automatic language detection."}),"\n",(0,t.jsxs)(n.li,{children:["Language (Optional): The language of the audio file. Can be set manually if automatic language detection is disabled.\nSee ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/getting-started/supported-languages",children:"supported languages"})," for a list of supported language codes."]}),"\n",(0,t.jsx)(n.li,{children:"Enable Speaker Labels (Optional): Detect speakers in an audio file and what each speaker said."}),"\n",(0,t.jsx)(n.li,{children:"Expected Number of Speakers (Optional): Set the expected number of speakers, if Speaker Labels is enabled."}),"\n",(0,t.jsxs)(n.li,{children:["Audio File URL (Optional): The URL of the audio or video file to transcribe. Can be used instead of ",(0,t.jsx)(n.em,{children:"Audio File"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"Punctuate (Optional): Apply punctuation. Default is true."}),"\n",(0,t.jsx)(n.li,{children:"Format Text (Optional): Apply casing and text formatting. Default is true."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Transcript ID: The id of the transcript"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"assebmlyai-poll-transcript",children:"AssebmlyAI Poll Transcript"}),"\n",(0,t.jsx)(n.p,{children:"This components allows you to poll the transcripts. It checks the status of the transcript every few seconds until the transcription is completed."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsx)(n.li,{children:"Polling Interval (Optional): The polling interval in seconds. Default is 3."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Transcription Result: The AssemblyAI JSON response of a completed transcript. Contains the text and other info."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"assebmlyai-get-subtitles",children:"AssebmlyAI Get Subtitles"}),"\n",(0,t.jsx)(n.p,{children:"This component allows you to generate subtitles in SRT or VTT format."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsxs)(n.li,{children:["Transcription Result: The output of the ",(0,t.jsx)(n.em,{children:"Poll Transcript"})," component."]}),"\n",(0,t.jsx)(n.li,{children:"Subtitle Format: The format of the captions (SRT or VTT)."}),"\n",(0,t.jsx)(n.li,{children:"Character per Caption (Optional): The maximum number of characters per caption (0 for no limit)."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Subtitles: A JSON response with the ",(0,t.jsx)(n.code,{children:"subtitles"})," field containing the captions in SRT or VTT format."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"assebmlyai-lemur",children:"AssebmlyAI LeMUR"}),"\n",(0,t.jsxs)(n.p,{children:["This component allows you to apply Large Language Models to spoken data using the ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/lemur",children:"AssemblyAI LeMUR framework"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"LeMUR automatically ingests the transcript as additional context, making it easy to apply LLMs to audio data. You can use it for tasks like summarizing audio, extracting insights, or asking questions."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsxs)(n.li,{children:["Transcription Result: The output of the ",(0,t.jsx)(n.em,{children:"Poll Transcript"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Input Prompt: The text to prompt the model. You can type your prompt in this field or connect it to a ",(0,t.jsx)(n.em,{children:"Prompt"})," component."]}),"\n",(0,t.jsx)(n.li,{children:"Final Model: The model that is used for the final prompt after compression is performed. Default is Claude 3.5 Sonnet."}),"\n",(0,t.jsx)(n.li,{children:"Temperature (Optional): The temperature to use for the model. Default is 0.0."}),"\n",(0,t.jsx)(n.li,{children:"Max Output Size (Optional): Max output size in tokens, up to 4000. Default is 2000."}),"\n",(0,t.jsxs)(n.li,{children:['Endpoint (Optional): The LeMUR endpoint to use. Default is "task". For "summary" and "question-answer", no prompt input is needed. See ',(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/api-reference/lemur/",children:"LeMUR API docs"})," for more info."]}),"\n",(0,t.jsxs)(n.li,{children:["Questions (Optional): Comma-separated list of your questions. Only used if ",(0,t.jsx)(n.em,{children:"Endpoint"}),' is "question-answer".']}),"\n",(0,t.jsxs)(n.li,{children:["Transcript IDs (Optional): Comma-separated list of transcript IDs. LeMUR can perform actions over multiple transcripts. If provided, the ",(0,t.jsx)(n.em,{children:"Transcription Result"})," is ignored."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"LeMUR Response: The generated LLM response."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"assemblyai-list-transcripts",children:"AssemblyAI List Transcripts"}),"\n",(0,t.jsx)(n.p,{children:"This component can be used as a standalone component to list all previously generated transcripts."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsx)(n.li,{children:"Limit (Optional): Maximum number of transcripts to retrieve. Default is 20, use 0 for all."}),"\n",(0,t.jsx)(n.li,{children:"Filter (Optional): Filter by transcript status."}),"\n",(0,t.jsx)(n.li,{children:"Created On (Optional): Only get transcripts created on this date (YYYY-MM-DD)."}),"\n",(0,t.jsx)(n.li,{children:"Throttled Only (Optional): Only get throttled transcripts, overrides the status filter"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Transcript List: A list of all transcripts with info such as the transcript ID, the status, and the data."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"flow-process",children:"Flow Process"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"The user inputs an audio or video file."}),"\n",(0,t.jsx)(n.li,{children:"The user can also input an LLM prompt. In this example, we want to generate a summary of the transcript."}),"\n",(0,t.jsx)(n.li,{children:"The flow submits the audio file for transcription."}),"\n",(0,t.jsx)(n.li,{children:"The flow checks the status of the transcript every few seconds until transcription is completed."}),"\n",(0,t.jsx)(n.li,{children:"The flow parses the transcription result and outputs the transcribed text."}),"\n",(0,t.jsx)(n.li,{children:"The flow also generates subtitles."}),"\n",(0,t.jsx)(n.li,{children:"The flow applies the LLM prompt to generate a summary."}),"\n",(0,t.jsx)(n.li,{children:"As a standalone component, all transcripts can be listed."}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"run-the-transcription-and-speech-ai-flow",children:"Run the Transcription and Speech AI Flow"}),"\n",(0,t.jsx)(n.p,{children:"To run the Transcription and Speech AI Flow:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Open Langflow and create a new project."}),"\n",(0,t.jsxs)(n.li,{children:["Add the components listed above to your flow canvas, or download the ",(0,t.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(28618).A+"",children:"AssemblyAI Transcription and Speech AI Flow"}),"(Download link) and ",(0,t.jsx)(n.strong,{children:"Import"})," the JSON file into Langflow."]}),"\n",(0,t.jsxs)(n.li,{children:["Connect the components as shown in the flow diagram. ",(0,t.jsx)(n.strong,{children:"Tip"}),": Freeze the path of the ",(0,t.jsx)(n.em,{children:"Start Transcript"})," component to only submit the file once."]}),"\n",(0,t.jsx)(n.li,{children:"Input the AssemblyAI API key in in all components that require the key (Start Transcript, Poll Transcript, Get Subtitles, LeMUR, List Transcripts)."}),"\n",(0,t.jsxs)(n.li,{children:["Select an audio or video file in the ",(0,t.jsx)(n.em,{children:"Start Transcript"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Run the flow by clicking ",(0,t.jsx)(n.strong,{children:"Play"})," on the ",(0,t.jsx)(n.em,{children:"Parse Data"})," component. Make sure that the specified template is ",(0,t.jsx)(n.code,{children:"{text}"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["To generate subtitles, click ",(0,t.jsx)(n.strong,{children:"Play"})," on the ",(0,t.jsx)(n.em,{children:"Get Subtitles"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["To apply an LLM to your audio file, click ",(0,t.jsx)(n.strong,{children:"Play"})," on the ",(0,t.jsx)(n.em,{children:"LeMUR"})," component. Note that you need an upgraded AssemblyAI account to use LeMUR."]}),"\n",(0,t.jsxs)(n.li,{children:["To list all transcripts, click ",(0,t.jsx)(n.strong,{children:"Play"})," on the ",(0,t.jsx)(n.em,{children:"List Transcript"})," component."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"customization",children:"Customization"}),"\n",(0,t.jsx)(n.p,{children:"The flow can be customized by:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Modifying the parameters in the ",(0,t.jsx)(n.em,{children:"Start Transcript"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Modifying the subtitle format in the ",(0,t.jsx)(n.em,{children:"Get Subtitles"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Modifying the LLM prompt for input of the ",(0,t.jsx)(n.em,{children:"LeMUR"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Modifying the LLM parameters (e.g., temperature) in the ",(0,t.jsx)(n.em,{children:"LeMUR"})," component."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Ensure the API key is correctly set in all components that require the key."}),"\n",(0,t.jsx)(n.li,{children:"To use LeMUR, you need to upgrade your AssemblyAI account, since this is not included in the free account."}),"\n",(0,t.jsx)(n.li,{children:"Verify that all components are properly connected in the flow."}),"\n",(0,t.jsx)(n.li,{children:"Review the Langflow logs for any error messages."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For more advanced usage, refer to the ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/",children:"AssemblyAI API documentation"}),". If you need more help, you can reach out to the ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/contact/support",children:"AssemblyAI support"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},28618:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/files/AssemblyAI_Flow-368be24ae9542f0b8b5253cc9d97b42f.json"},17835:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/assemblyai-components-b88c7c97e04114bf658898f7fc633e23.png"},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var t=s(96540);const i={},l=t.createContext(i);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/829ff4d2.6bd756ba.js b/assets/js/829ff4d2.6bd756ba.js deleted file mode 100644 index 56b4d59f83..0000000000 --- a/assets/js/829ff4d2.6bd756ba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[3964],{44745:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var t=s(74848),i=s(28453);const l={title:"AssemblyAI",sidebar_position:1,slug:"/integrations-assemblyai"},r="AssemblyAI",o={id:"Integrations/integrations-assemblyai",title:"AssemblyAI",description:"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:",source:"@site/docs/Integrations/integrations-assemblyai.md",sourceDirName:"Integrations",slug:"/integrations-assemblyai",permalink:"/integrations-assemblyai",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"AssemblyAI",sidebar_position:1,slug:"/integrations-assemblyai"},sidebar:"docs",previous:{title:"\ud83d\udcda New to LLMs?",permalink:"/guides-new-to-llms"},next:{title:"Langfuse",permalink:"/integrations-langfuse"}},a={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Components",id:"components",level:2},{value:"AssemblyAI Start Transcript",id:"assemblyai-start-transcript",level:3},{value:"AssebmlyAI Poll Transcript",id:"assebmlyai-poll-transcript",level:3},{value:"AssebmlyAI Get Subtitles",id:"assebmlyai-get-subtitles",level:3},{value:"AssebmlyAI LeMUR",id:"assebmlyai-lemur",level:3},{value:"AssemblyAI List Transcripts",id:"assemblyai-list-transcripts",level:3},{value:"Flow Process",id:"flow-process",level:2},{value:"Run the Transcription and Speech AI Flow",id:"run-the-transcription-and-speech-ai-flow",level:2},{value:"Customization",id:"customization",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function h(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"assemblyai",children:"AssemblyAI"})}),"\n",(0,t.jsx)(n.p,{children:"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Transcribing audio and video files"}),"\n",(0,t.jsx)(n.li,{children:"Formatting transcripts"}),"\n",(0,t.jsx)(n.li,{children:"Generating subtitles"}),"\n",(0,t.jsx)(n.li,{children:"Applying LLMs to audio files"}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"More info about AssemblyAI:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/",children:"Website"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs",children:"AssemblyAI API Docs"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/dashboard/signup",children:"Get a Free API key"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(n.p,{children:["You need an ",(0,t.jsx)(n.strong,{children:"AssemblyAI API key"}),". After creating a free account, you'll find the API key in your dashboard. ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/dashboard/signup",children:"Get a Free API key here"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["Enter the key in the ",(0,t.jsx)(n.em,{children:"AssemblyAI API Key"})," field in all components that require the key."]}),"\n",(0,t.jsx)(n.p,{children:"(Optional): To use LeMUR, you need to upgrade your AssemblyAI account, since this is not included in the free account."}),"\n",(0,t.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"AssemblyAI Components",src:s(17835).A+"",width:"1494",height:"1048"})}),"\n",(0,t.jsx)(n.h3,{id:"assemblyai-start-transcript",children:"AssemblyAI Start Transcript"}),"\n",(0,t.jsx)(n.p,{children:"This component allows you to submit an audio or video file for transcription."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Tip"}),": You can freeze the path of this component to only submit the file once."]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsx)(n.li,{children:"Audio File: The audio or video file to transcribe."}),"\n",(0,t.jsxs)(n.li,{children:["Speech Model (Optional): Select the class of models. Default is ",(0,t.jsx)(n.em,{children:"Best"}),". See ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/speech-to-text/speech-recognition#select-the-speech-model-with-best-and-nano",children:"speech models"})," for more info."]}),"\n",(0,t.jsx)(n.li,{children:"Automatic Language Detection (Optional): Enable automatic language detection."}),"\n",(0,t.jsxs)(n.li,{children:["Language (Optional): The language of the audio file. Can be set manually if automatic language detection is disabled.\nSee ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/getting-started/supported-languages",children:"supported languages"})," for a list of supported language codes."]}),"\n",(0,t.jsx)(n.li,{children:"Enable Speaker Labels (Optional): Detect speakers in an audio file and what each speaker said."}),"\n",(0,t.jsx)(n.li,{children:"Expected Number of Speakers (Optional): Set the expected number of speakers, if Speaker Labels is enabled."}),"\n",(0,t.jsxs)(n.li,{children:["Audio File URL (Optional): The URL of the audio or video file to transcribe. Can be used instead of ",(0,t.jsx)(n.em,{children:"Audio File"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"Punctuate (Optional): Apply punctuation. Default is true."}),"\n",(0,t.jsx)(n.li,{children:"Format Text (Optional): Apply casing and text formatting. Default is true."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Transcript ID: The id of the transcript"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"assebmlyai-poll-transcript",children:"AssebmlyAI Poll Transcript"}),"\n",(0,t.jsx)(n.p,{children:"This components allows you to poll the transcripts. It checks the status of the transcript every few seconds until the transcription is completed."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsx)(n.li,{children:"Polling Interval (Optional): The polling interval in seconds. Default is 3."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Transcription Result: The AssemblyAI JSON response of a completed transcript. Contains the text and other info."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"assebmlyai-get-subtitles",children:"AssebmlyAI Get Subtitles"}),"\n",(0,t.jsx)(n.p,{children:"This component allows you to generate subtitles in SRT or VTT format."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsxs)(n.li,{children:["Transcription Result: The output of the ",(0,t.jsx)(n.em,{children:"Poll Transcript"})," component."]}),"\n",(0,t.jsx)(n.li,{children:"Subtitle Format: The format of the captions (SRT or VTT)."}),"\n",(0,t.jsx)(n.li,{children:"Character per Caption (Optional): The maximum number of characters per caption (0 for no limit)."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Subtitles: A JSON response with the ",(0,t.jsx)(n.code,{children:"subtitles"})," field containing the captions in SRT or VTT format."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"assebmlyai-lemur",children:"AssebmlyAI LeMUR"}),"\n",(0,t.jsxs)(n.p,{children:["This component allows you to apply Large Language Models to spoken data using the ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/lemur",children:"AssemblyAI LeMUR framework"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"LeMUR automatically ingests the transcript as additional context, making it easy to apply LLMs to audio data. You can use it for tasks like summarizing audio, extracting insights, or asking questions."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsxs)(n.li,{children:["Transcription Result: The output of the ",(0,t.jsx)(n.em,{children:"Poll Transcript"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Input Prompt: The text to prompt the model. You can type your prompt in this field or connect it to a ",(0,t.jsx)(n.em,{children:"Prompt"})," component."]}),"\n",(0,t.jsx)(n.li,{children:"Final Model: The model that is used for the final prompt after compression is performed. Default is Claude 3.5 Sonnet."}),"\n",(0,t.jsx)(n.li,{children:"Temperature (Optional): The temperature to use for the model. Default is 0.0."}),"\n",(0,t.jsx)(n.li,{children:"Max Output Size (Optional): Max output size in tokens, up to 4000. Default is 2000."}),"\n",(0,t.jsxs)(n.li,{children:['Endpoint (Optional): The LeMUR endpoint to use. Default is "task". For "summary" and "question-answer", no prompt input is needed. See ',(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/api-reference/lemur/",children:"LeMUR API docs"})," for more info."]}),"\n",(0,t.jsxs)(n.li,{children:["Questions (Optional): Comma-separated list of your questions. Only used if ",(0,t.jsx)(n.em,{children:"Endpoint"}),' is "question-answer".']}),"\n",(0,t.jsxs)(n.li,{children:["Transcript IDs (Optional): Comma-separated list of transcript IDs. LeMUR can perform actions over multiple transcripts. If provided, the ",(0,t.jsx)(n.em,{children:"Transcription Result"})," is ignored."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"LeMUR Response: The generated LLM response."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"assemblyai-list-transcripts",children:"AssemblyAI List Transcripts"}),"\n",(0,t.jsx)(n.p,{children:"This component can be used as a standalone component to list all previously generated transcripts."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,t.jsx)(n.li,{children:"Limit (Optional): Maximum number of transcripts to retrieve. Default is 20, use 0 for all."}),"\n",(0,t.jsx)(n.li,{children:"Filter (Optional): Filter by transcript status."}),"\n",(0,t.jsx)(n.li,{children:"Created On (Optional): Only get transcripts created on this date (YYYY-MM-DD)."}),"\n",(0,t.jsx)(n.li,{children:"Throttled Only (Optional): Only get throttled transcripts, overrides the status filter"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Transcript List: A list of all transcripts with info such as the transcript ID, the status, and the data."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"flow-process",children:"Flow Process"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"The user inputs an audio or video file."}),"\n",(0,t.jsx)(n.li,{children:"The user can also input an LLM prompt. In this example, we want to generate a summary of the transcript."}),"\n",(0,t.jsx)(n.li,{children:"The flow submits the audio file for transcription."}),"\n",(0,t.jsx)(n.li,{children:"The flow checks the status of the transcript every few seconds until transcription is completed."}),"\n",(0,t.jsx)(n.li,{children:"The flow parses the transcription result and outputs the transcribed text."}),"\n",(0,t.jsx)(n.li,{children:"The flow also generates subtitles."}),"\n",(0,t.jsx)(n.li,{children:"The flow applies the LLM prompt to generate a summary."}),"\n",(0,t.jsx)(n.li,{children:"As a standalone component, all transcripts can be listed."}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"run-the-transcription-and-speech-ai-flow",children:"Run the Transcription and Speech AI Flow"}),"\n",(0,t.jsx)(n.p,{children:"To run the Transcription and Speech AI Flow:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Open Langflow and create a new project."}),"\n",(0,t.jsxs)(n.li,{children:["Add the components listed above to your flow canvas, or download the ",(0,t.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(28618).A+"",children:"AssemblyAI Transcription and Speech AI Flow"}),"(Download link) and ",(0,t.jsx)(n.strong,{children:"Import"})," the JSON file into Langflow."]}),"\n",(0,t.jsxs)(n.li,{children:["Connect the components as shown in the flow diagram. ",(0,t.jsx)(n.strong,{children:"Tip"}),": Freeze the path of the ",(0,t.jsx)(n.em,{children:"Start Transcript"})," component to only submit the file once."]}),"\n",(0,t.jsx)(n.li,{children:"Input the AssemblyAI API key in in all components that require the key (Start Transcript, Poll Transcript, Get Subtitles, LeMUR, List Transcripts)."}),"\n",(0,t.jsxs)(n.li,{children:["Select an audio or video file in the ",(0,t.jsx)(n.em,{children:"Start Transcript"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Run the flow by clicking ",(0,t.jsx)(n.strong,{children:"Play"})," on the ",(0,t.jsx)(n.em,{children:"Parse Data"})," component. Make sure that the specified template is ",(0,t.jsx)(n.code,{children:"{text}"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["To generate subtitles, click ",(0,t.jsx)(n.strong,{children:"Play"})," on the ",(0,t.jsx)(n.em,{children:"Get Subtitles"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["To apply an LLM to your audio file, click ",(0,t.jsx)(n.strong,{children:"Play"})," on the ",(0,t.jsx)(n.em,{children:"LeMUR"})," component. Note that you need an upgraded AssemblyAI account to use LeMUR."]}),"\n",(0,t.jsxs)(n.li,{children:["To list all transcripts, click ",(0,t.jsx)(n.strong,{children:"Play"})," on the ",(0,t.jsx)(n.em,{children:"List Transcript"})," component."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"customization",children:"Customization"}),"\n",(0,t.jsx)(n.p,{children:"The flow can be customized by:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Modifying the parameters in the ",(0,t.jsx)(n.em,{children:"Start Transcript"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Modifying the subtitle format in the ",(0,t.jsx)(n.em,{children:"Get Subtitles"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Modifying the LLM prompt for input of the ",(0,t.jsx)(n.em,{children:"LeMUR"})," component."]}),"\n",(0,t.jsxs)(n.li,{children:["Modifying the LLM parameters (e.g., temperature) in the ",(0,t.jsx)(n.em,{children:"LeMUR"})," component."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Ensure the API key is correctly set in all components that require the key."}),"\n",(0,t.jsx)(n.li,{children:"To use LeMUR, you need to upgrade your AssemblyAI account, since this is not included in the free account."}),"\n",(0,t.jsx)(n.li,{children:"Verify that all components are properly connected in the flow."}),"\n",(0,t.jsx)(n.li,{children:"Review the Langflow logs for any error messages."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For more advanced usage, refer to the ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/docs/",children:"AssemblyAI API documentation"}),". If you need more help, you can reach out to the ",(0,t.jsx)(n.a,{href:"https://www.assemblyai.com/contact/support",children:"AssemblyAI support"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},28618:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/files/AssemblyAI_Flow-368be24ae9542f0b8b5253cc9d97b42f.json"},17835:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/assemblyai-components-b88c7c97e04114bf658898f7fc633e23.png"},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var t=s(96540);const i={},l=t.createContext(i);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9822a706.91c6ae65.js b/assets/js/9822a706.91c6ae65.js new file mode 100644 index 0000000000..7e3d8d12ba --- /dev/null +++ b/assets/js/9822a706.91c6ae65.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5634],{16763:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>d,assets:()=>a,chCodeConfig:()=>h,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var o=n(74848),r=n(28453),s=n(24754);const i={title:"Simple agent",sidebar_position:6,slug:"/starter-projects-simple-agent"},l=void 0,c={id:"Starter-Projects/starter-projects-simple-agent",title:"Simple agent",description:"Build a Simple Agent flow for an agentic application using the Tool-calling agent.",source:"@site/docs/Starter-Projects/starter-projects-simple-agent.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-simple-agent",permalink:"/starter-projects-simple-agent",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:6,frontMatter:{title:"Simple agent",sidebar_position:6,slug:"/starter-projects-simple-agent"},sidebar:"docs",previous:{title:"Memory Chatbot",permalink:"/starter-projects-memory-chatbot"},next:{title:"Vector Store RAG",permalink:"/starter-projects-vector-store-rag"}},a={},d={annotations:s.hk,Code:s.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},p=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Open Langflow and start a new flow",id:"open-langflow-and-start-a-new-flow",level:2},{value:"Simple Agent flow",id:"simple-agent-flow",level:2},{value:"Run the Simple Agent flow",id:"run-the-simple-agent-flow",level:2}];function g(e){const t={code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return d||m("CH",!1),d.Code||m("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,o.jsxs)(t.p,{children:["Build a ",(0,o.jsx)(t.strong,{children:"Simple Agent"})," flow for an agentic application using the Tool-calling agent."]}),"\n",(0,o.jsxs)(t.p,{children:["An ",(0,o.jsx)(t.strong,{children:"agent"}),' uses an LLM as its "brain" to select among the connected tools and complete its tasks.']}),"\n",(0,o.jsxs)(t.p,{children:["In this flow, the ",(0,o.jsx)(t.strong,{children:"Tool-calling agent"})," reasons using an ",(0,o.jsx)(t.strong,{children:"Open AI"})," LLM to solve math problems. It will select the ",(0,o.jsx)(t.strong,{children:"Calculator"})," tool for simpler math, and the ",(0,o.jsx)(t.strong,{children:"Python REPL"})," tool (with the Python ",(0,o.jsx)(t.code,{children:"math"})," library) for more complex problems."]}),"\n",(0,o.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,o.jsx)(t.p,{children:"To use this flow, you need an OpenAI API key."}),"\n",(0,o.jsx)(t.h2,{id:"open-langflow-and-start-a-new-flow",children:"Open Langflow and start a new flow"}),"\n",(0,o.jsxs)(t.p,{children:["Click ",(0,o.jsx)(t.strong,{children:"New Flow"}),", and then select the ",(0,o.jsx)(t.strong,{children:"Simple Agent"})," flow."]}),"\n",(0,o.jsx)(t.p,{children:"This opens a starter flow with the necessary components to run an agentic application using the Tool-calling agent."}),"\n",(0,o.jsx)(t.h2,{id:"simple-agent-flow",children:"Simple Agent flow"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(19680).A+"",width:"2104",height:"1746"})}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.strong,{children:"Simple Agent"})," flow consists of these components:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Tool calling agent"})," component uses the connected LLM to reason through the user's input and select among the connected tools to complete its task."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Python REPL tool"})," component executes Python code in a REPL (Read-Evaluate-Print Loop) interpreter."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Calculator"})," component performs basic arithmetic operations."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Chat Input"})," component accepts user input to the chat."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Prompt"})," component combines the user input with a user-defined prompt."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Chat Output"})," component prints the flow's output to the chat."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"OpenAI"})," model component sends the user input and prompt to the OpenAI API and receives a response."]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"run-the-simple-agent-flow",children:"Run the Simple Agent flow"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsx)(t.li,{children:"Add your credentials to the Open AI component."}),"\n",(0,o.jsxs)(t.li,{children:["In the ",(0,o.jsx)(t.strong,{children:"Chat output"})," component, click \u25b6\ufe0f Play to start the end-to-end application flow.\nA ",(0,o.jsx)(t.strong,{children:"Chat output built successfully"})," message and a \u2705 Check on all components indicate that the flow ran successfully."]}),"\n",(0,o.jsxs)(t.li,{children:["Click ",(0,o.jsx)(t.strong,{children:"Playground"})," to start a chat session."]}),"\n",(0,o.jsxs)(t.li,{children:["Enter a simple math problem, like ",(0,o.jsx)(t.code,{children:"2 + 2"}),", and then make sure the bot responds with the correct answer."]}),"\n",(0,o.jsxs)(t.li,{children:["To confirm the REPL interpreter is working, prompt the ",(0,o.jsx)(t.code,{children:"math"})," library directly with ",(0,o.jsx)(t.code,{children:"math.sqrt(4)"})," and see if the bot responds with ",(0,o.jsx)(t.code,{children:"4"}),"."]}),"\n",(0,o.jsx)(t.li,{children:"The agent will also reason through more complex word problems. For example, prompt the agent with the following math problem:"}),"\n"]}),"\n",(0,o.jsx)(d.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"The equation 24x2+25x\u221247ax\u22122=\u22128x\u22123\u221253ax\u22122 is true for all values of x\u22602a, where a is a constant.",props:{}}]},{tokens:[{content:"What is the value of a?",props:{}}]},{tokens:[{content:"A) -16",props:{}}]},{tokens:[{content:"B) -3",props:{}}]},{tokens:[{content:"C) 3",props:{}}]},{tokens:[{content:"D) 16",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,o.jsxs)(t.p,{children:["The agent should respond with ",(0,o.jsx)(t.code,{children:"B"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Now that your query has completed the journey from ",(0,o.jsx)(t.strong,{children:"Chat input"})," to ",(0,o.jsx)(t.strong,{children:"Chat output"}),", you have completed the ",(0,o.jsx)(t.strong,{children:"Simple Agent"})," flow."]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}function m(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},19680:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/starter-flow-simple-agent-6c6df85ce6d01bfafebe3e4247cefc83.png"}}]); \ No newline at end of file diff --git a/assets/js/9822a706.f0a994c9.js b/assets/js/9822a706.f0a994c9.js deleted file mode 100644 index 77396641a2..0000000000 --- a/assets/js/9822a706.f0a994c9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5634],{16763:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>d,assets:()=>a,chCodeConfig:()=>h,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var o=n(74848),r=n(28453),s=n(24754);const i={title:"Simple agent",sidebar_position:6,slug:"/starter-projects-simple-agent"},l=void 0,c={id:"Starter-Projects/starter-projects-simple-agent",title:"Simple agent",description:"Build a Simple Agent flow for an agentic application using the Tool-calling agent.",source:"@site/docs/Starter-Projects/starter-projects-simple-agent.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-simple-agent",permalink:"/starter-projects-simple-agent",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:6,frontMatter:{title:"Simple agent",sidebar_position:6,slug:"/starter-projects-simple-agent"},sidebar:"docs",previous:{title:"Memory Chatbot",permalink:"/starter-projects-memory-chatbot"},next:{title:"Travel planning agent",permalink:"/starter-projects-travel-planning-agent"}},a={},d={annotations:s.hk,Code:s.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},p=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Open Langflow and start a new flow",id:"open-langflow-and-start-a-new-flow",level:2},{value:"Simple Agent flow",id:"simple-agent-flow",level:2},{value:"Run the Simple Agent flow",id:"run-the-simple-agent-flow",level:2}];function g(e){const t={code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return d||m("CH",!1),d.Code||m("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,o.jsxs)(t.p,{children:["Build a ",(0,o.jsx)(t.strong,{children:"Simple Agent"})," flow for an agentic application using the Tool-calling agent."]}),"\n",(0,o.jsxs)(t.p,{children:["An ",(0,o.jsx)(t.strong,{children:"agent"}),' uses an LLM as its "brain" to select among the connected tools and complete its tasks.']}),"\n",(0,o.jsxs)(t.p,{children:["In this flow, the ",(0,o.jsx)(t.strong,{children:"Tool-calling agent"})," reasons using an ",(0,o.jsx)(t.strong,{children:"Open AI"})," LLM to solve math problems. It will select the ",(0,o.jsx)(t.strong,{children:"Calculator"})," tool for simpler math, and the ",(0,o.jsx)(t.strong,{children:"Python REPL"})," tool (with the Python ",(0,o.jsx)(t.code,{children:"math"})," library) for more complex problems."]}),"\n",(0,o.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,o.jsx)(t.p,{children:"To use this flow, you need an OpenAI API key."}),"\n",(0,o.jsx)(t.h2,{id:"open-langflow-and-start-a-new-flow",children:"Open Langflow and start a new flow"}),"\n",(0,o.jsxs)(t.p,{children:["Click ",(0,o.jsx)(t.strong,{children:"New Flow"}),", and then select the ",(0,o.jsx)(t.strong,{children:"Simple Agent"})," flow."]}),"\n",(0,o.jsx)(t.p,{children:"This opens a starter flow with the necessary components to run an agentic application using the Tool-calling agent."}),"\n",(0,o.jsx)(t.h2,{id:"simple-agent-flow",children:"Simple Agent flow"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(19680).A+"",width:"2104",height:"1746"})}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.strong,{children:"Simple Agent"})," flow consists of these components:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Tool calling agent"})," component uses the connected LLM to reason through the user's input and select among the connected tools to complete its task."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Python REPL tool"})," component executes Python code in a REPL (Read-Evaluate-Print Loop) interpreter."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Calculator"})," component performs basic arithmetic operations."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Chat Input"})," component accepts user input to the chat."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Prompt"})," component combines the user input with a user-defined prompt."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"Chat Output"})," component prints the flow's output to the chat."]}),"\n",(0,o.jsxs)(t.li,{children:["The ",(0,o.jsx)(t.strong,{children:"OpenAI"})," model component sends the user input and prompt to the OpenAI API and receives a response."]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"run-the-simple-agent-flow",children:"Run the Simple Agent flow"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsx)(t.li,{children:"Add your credentials to the Open AI component."}),"\n",(0,o.jsxs)(t.li,{children:["In the ",(0,o.jsx)(t.strong,{children:"Chat output"})," component, click \u25b6\ufe0f Play to start the end-to-end application flow.\nA ",(0,o.jsx)(t.strong,{children:"Chat output built successfully"})," message and a \u2705 Check on all components indicate that the flow ran successfully."]}),"\n",(0,o.jsxs)(t.li,{children:["Click ",(0,o.jsx)(t.strong,{children:"Playground"})," to start a chat session."]}),"\n",(0,o.jsxs)(t.li,{children:["Enter a simple math problem, like ",(0,o.jsx)(t.code,{children:"2 + 2"}),", and then make sure the bot responds with the correct answer."]}),"\n",(0,o.jsxs)(t.li,{children:["To confirm the REPL interpreter is working, prompt the ",(0,o.jsx)(t.code,{children:"math"})," library directly with ",(0,o.jsx)(t.code,{children:"math.sqrt(4)"})," and see if the bot responds with ",(0,o.jsx)(t.code,{children:"4"}),"."]}),"\n",(0,o.jsx)(t.li,{children:"The agent will also reason through more complex word problems. For example, prompt the agent with the following math problem:"}),"\n"]}),"\n",(0,o.jsx)(d.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"The equation 24x2+25x\u221247ax\u22122=\u22128x\u22123\u221253ax\u22122 is true for all values of x\u22602a, where a is a constant.",props:{}}]},{tokens:[{content:"What is the value of a?",props:{}}]},{tokens:[{content:"A) -16",props:{}}]},{tokens:[{content:"B) -3",props:{}}]},{tokens:[{content:"C) 3",props:{}}]},{tokens:[{content:"D) 16",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,o.jsxs)(t.p,{children:["The agent should respond with ",(0,o.jsx)(t.code,{children:"B"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Now that your query has completed the journey from ",(0,o.jsx)(t.strong,{children:"Chat input"})," to ",(0,o.jsx)(t.strong,{children:"Chat output"}),", you have completed the ",(0,o.jsx)(t.strong,{children:"Simple Agent"})," flow."]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}function m(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},19680:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/starter-flow-simple-agent-6c6df85ce6d01bfafebe3e4247cefc83.png"}}]); \ No newline at end of file diff --git a/assets/js/a3ab51d1.0a14fc05.js b/assets/js/a3ab51d1.0a14fc05.js new file mode 100644 index 0000000000..2958cf330d --- /dev/null +++ b/assets/js/a3ab51d1.0a14fc05.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[2657],{4606:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=t(74848),s=t(28453);const o={title:"Telemetry",sidebar_position:0,slug:"/contributing-telemetry"},r=void 0,l={id:"Contributing/contributing-telemetry",title:"Telemetry",description:"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need.",source:"@site/docs/Contributing/contributing-telemetry.md",sourceDirName:"Contributing",slug:"/contributing-telemetry",permalink:"/contributing-telemetry",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"Telemetry",sidebar_position:0,slug:"/contributing-telemetry"},sidebar:"docs",previous:{title:"Contribute to Langflow",permalink:"/contributing-how-to-contribute"}},a={},c=[{value:"Opt out of telemetry",id:"opt-out-of-telemetry",level:2},{value:"Data that Langflow collects",id:"data-that-langflow-collects",level:2},{value:"Run",id:"2d427dca4f0148ae867997f6789e8bfb",level:3},{value:"Shutdown",id:"081e4bd4faec430fb05b657026d1a69c",level:3},{value:"Version",id:"dc09f6aba6c64c7b8dad3d86a7cba6d6",level:3},{value:"Playground",id:"ae6c3859f612441db3c15a7155e9f920",level:3},{value:"Component",id:"630728d6654c40a6b8901459a4bc3a4e",level:3}];function d(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need."}),"\n",(0,i.jsx)(n.p,{children:"We respect your privacy and are committed to protecting your data. We do not collect any personal information or sensitive data. All telemetry data is anonymized and used solely for improving Langflow."}),"\n",(0,i.jsx)(n.h2,{id:"opt-out-of-telemetry",children:"Opt out of telemetry"}),"\n",(0,i.jsxs)(n.p,{children:["To opt out of telemetry, set the\xa0",(0,i.jsx)(n.code,{children:"LANGFLOW_DO_NOT_TRACK"}),"\xa0or\xa0",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK"}),"\xa0environment variable to\xa0",(0,i.jsx)(n.code,{children:"true"}),"\xa0before running Langflow. This disables telemetry data collection."]}),"\n",(0,i.jsx)(n.h2,{id:"data-that-langflow-collects",children:"Data that Langflow collects"}),"\n",(0,i.jsx)(n.h3,{id:"2d427dca4f0148ae867997f6789e8bfb",children:"Run"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"IsWebhook"}),": Indicates whether the operation was triggered via a webhook."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for how long the operation lasted, providing insights into performance."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Boolean value indicating whether the operation was successful, helping identify potential errors or issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Provides error message details if the operation was unsuccessful, aiding in troubleshooting and enhancements."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"081e4bd4faec430fb05b657026d1a69c",children:"Shutdown"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Time Running"}),": Total runtime before shutdown, useful for understanding application lifecycle and optimizing uptime."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"dc09f6aba6c64c7b8dad3d86a7cba6d6",children:"Version"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Version"}),": The specific version of Langflow used, which helps in tracking feature adoption and compatibility."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Platform"}),": Operating system of the host machine, which aids in focusing our support for popular platforms like Windows, macOS, and Linux."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Python"}),": The version of Python used, assisting in maintaining compatibility and support for various Python versions."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Arch"}),": Architecture of the system (e.g., x86, ARM), which helps optimize our software for different hardware."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"AutoLogin"}),": Indicates whether the auto-login feature is enabled, reflecting user preference settings."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"CacheType"}),": Type of caching mechanism used, which impacts performance and efficiency."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"BackendOnly"}),": Boolean indicating whether you are running Langflow in a backend-only mode, useful for understanding deployment configurations."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"ae6c3859f612441db3c15a7155e9f920",children:"Playground"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for playground execution, offering insights into performance during testing or experimental stages."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ComponentCount"}),": Number of components used in the playground, which helps understand complexity and usage patterns."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Success status of the playground operation, aiding in identifying the stability of experimental features."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"630728d6654c40a6b8901459a4bc3a4e",children:"Component"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Name"}),": Identifies the component, providing data on which components are most utilized or prone to issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Time taken by the component to execute, offering performance metrics."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Whether the component operated successfully, which helps in quality control."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Details of any errors encountered, crucial for debugging and improvement."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>l});var i=t(96540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a3ab51d1.e1eece41.js b/assets/js/a3ab51d1.e1eece41.js deleted file mode 100644 index a517cb5e50..0000000000 --- a/assets/js/a3ab51d1.e1eece41.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[2657],{4606:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var i=t(74848),o=t(28453);const s={title:"Telemetry",sidebar_position:0,slug:"/contributing-telemetry"},r=void 0,l={id:"Contributing/contributing-telemetry",title:"Telemetry",description:"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need.",source:"@site/docs/Contributing/contributing-telemetry.md",sourceDirName:"Contributing",slug:"/contributing-telemetry",permalink:"/contributing-telemetry",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"Telemetry",sidebar_position:0,slug:"/contributing-telemetry"},sidebar:"docs",previous:{title:"Contribute to Langflow",permalink:"/contributing-how-to-contribute"},next:{title:"Docker",permalink:"/deployment-docker"}},a={},c=[{value:"Opt out of telemetry",id:"opt-out-of-telemetry",level:2},{value:"Data that Langflow collects",id:"data-that-langflow-collects",level:2},{value:"Run",id:"2d427dca4f0148ae867997f6789e8bfb",level:3},{value:"Shutdown",id:"081e4bd4faec430fb05b657026d1a69c",level:3},{value:"Version",id:"dc09f6aba6c64c7b8dad3d86a7cba6d6",level:3},{value:"Playground",id:"ae6c3859f612441db3c15a7155e9f920",level:3},{value:"Component",id:"630728d6654c40a6b8901459a4bc3a4e",level:3}];function d(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need."}),"\n",(0,i.jsx)(n.p,{children:"We respect your privacy and are committed to protecting your data. We do not collect any personal information or sensitive data. All telemetry data is anonymized and used solely for improving Langflow."}),"\n",(0,i.jsx)(n.h2,{id:"opt-out-of-telemetry",children:"Opt out of telemetry"}),"\n",(0,i.jsxs)(n.p,{children:["To opt out of telemetry, set the\xa0",(0,i.jsx)(n.code,{children:"LANGFLOW_DO_NOT_TRACK"}),"\xa0or\xa0",(0,i.jsx)(n.code,{children:"DO_NOT_TRACK"}),"\xa0environment variable to\xa0",(0,i.jsx)(n.code,{children:"true"}),"\xa0before running Langflow. This disables telemetry data collection."]}),"\n",(0,i.jsx)(n.h2,{id:"data-that-langflow-collects",children:"Data that Langflow collects"}),"\n",(0,i.jsx)(n.h3,{id:"2d427dca4f0148ae867997f6789e8bfb",children:"Run"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"IsWebhook"}),": Indicates whether the operation was triggered via a webhook."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for how long the operation lasted, providing insights into performance."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Boolean value indicating whether the operation was successful, helping identify potential errors or issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Provides error message details if the operation was unsuccessful, aiding in troubleshooting and enhancements."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"081e4bd4faec430fb05b657026d1a69c",children:"Shutdown"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Time Running"}),": Total runtime before shutdown, useful for understanding application lifecycle and optimizing uptime."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"dc09f6aba6c64c7b8dad3d86a7cba6d6",children:"Version"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Version"}),": The specific version of Langflow used, which helps in tracking feature adoption and compatibility."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Platform"}),": Operating system of the host machine, which aids in focusing our support for popular platforms like Windows, macOS, and Linux."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Python"}),": The version of Python used, assisting in maintaining compatibility and support for various Python versions."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Arch"}),": Architecture of the system (e.g., x86, ARM), which helps optimize our software for different hardware."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"AutoLogin"}),": Indicates whether the auto-login feature is enabled, reflecting user preference settings."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"CacheType"}),": Type of caching mechanism used, which impacts performance and efficiency."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"BackendOnly"}),": Boolean indicating whether you are running Langflow in a backend-only mode, useful for understanding deployment configurations."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"ae6c3859f612441db3c15a7155e9f920",children:"Playground"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Duration in seconds for playground execution, offering insights into performance during testing or experimental stages."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ComponentCount"}),": Number of components used in the playground, which helps understand complexity and usage patterns."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Success status of the playground operation, aiding in identifying the stability of experimental features."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"630728d6654c40a6b8901459a4bc3a4e",children:"Component"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Name"}),": Identifies the component, providing data on which components are most utilized or prone to issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Seconds"}),": Time taken by the component to execute, offering performance metrics."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Success"}),": Whether the component operated successfully, which helps in quality control."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"ErrorMessage"}),": Details of any errors encountered, crucial for debugging and improvement."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>l});var i=t(96540);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a83bc7c0.5bfe7bbc.js b/assets/js/a83bc7c0.5bfe7bbc.js deleted file mode 100644 index e07d1960af..0000000000 --- a/assets/js/a83bc7c0.5bfe7bbc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5628],{45449:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var r=n(74848),s=n(28453);const o={title:"Vector Store RAG",sidebar_position:4,slug:"/starter-projects-vector-store-rag"},i=void 0,a={id:"Starter-Projects/starter-projects-vector-store-rag",title:"Vector Store RAG",description:"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.",source:"@site/docs/Starter-Projects/starter-projects-vector-store-rag.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-vector-store-rag",permalink:"/starter-projects-vector-store-rag",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Vector Store RAG",sidebar_position:4,slug:"/starter-projects-vector-store-rag"},sidebar:"docs",previous:{title:"Travel planning agent",permalink:"/starter-projects-travel-planning-agent"},next:{title:"Workspace concepts",permalink:"/workspace-overview"}},l={},c=[{value:"Prerequisites",id:"6aa2c6dff6894eccadc39d4903d79e66",level:2},{value:"Create the vector store RAG flow",id:"create-the-vector-store-rag-flow",level:2},{value:"Run the Vector Store RAG flow",id:"run-the-vector-store-rag-flow",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it."}),"\n",(0,r.jsxs)(t.p,{children:["RAG is backed by a\xa0",(0,r.jsx)(t.strong,{children:"vector store"}),", a vector database which stores embeddings of the ingested data."]}),"\n",(0,r.jsxs)(t.p,{children:["This enables\xa0",(0,r.jsx)(t.strong,{children:"vector search"}),", a more powerful and context-aware search."]}),"\n",(0,r.jsxs)(t.p,{children:["We've chosen\xa0",(0,r.jsx)(t.a,{href:"https://astra.datastax.com/signup?utm_source=langflow-pre-release&utm_medium=referral&utm_campaign=langflow-announcement&utm_content=create-a-free-astra-db-account",children:"Astra DB"}),"\xa0as the vector database for this starter flow, but you can follow along with any of Langflow's vector database options."]}),"\n",(0,r.jsx)(t.h2,{id:"6aa2c6dff6894eccadc39d4903d79e66",children:"Prerequisites"}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://docs.langflow.org/get-started-installation",children:"Langflow installed and running"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key"})}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://docs.datastax.com/en/astra-db-serverless/get-started/quickstart.html",children:"An Astra DB vector database created"}),"\xa0with:","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Application Token"}),"\n",(0,r.jsx)(t.li,{children:"API Endpoint"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"create-the-vector-store-rag-flow",children:"Create the vector store RAG flow"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,r.jsx)(t.strong,{children:"New Flow"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Select\xa0",(0,r.jsx)(t.strong,{children:"Vector Store RAG"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["The\xa0",(0,r.jsx)(t.strong,{children:"Vector Store RAG"}),"\xa0flowis created."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{src:n(85410).A+"",width:"2842",height:"1458"})}),"\n",(0,r.jsx)(t.p,{children:"The vector store RAG flow is built of two separate flows for ingestion and query."}),"\n",(0,r.jsxs)(t.p,{children:["The\xa0",(0,r.jsx)(t.strong,{children:"ingestion"}),"\xa0part (bottom of the screen) populates the vector store with data from a local file. It ingests data from a file (",(0,r.jsx)(t.strong,{children:"File"}),"), splits it into chunks (",(0,r.jsx)(t.strong,{children:"Split Text"}),"), indexes it in Astra DB (",(0,r.jsx)(t.strong,{children:"Astra DB"}),"), and computes embeddings for the chunks using an embedding model (",(0,r.jsx)(t.strong,{children:"OpenAI Embeddings"}),")."]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"Embeddings are numerical vectors that represent data meaningfully. They enable efficient similarity searches in vector stores by placing similar items close together in the vector space, enhancing search and recommendation tasks."})}),"\n",(0,r.jsx)(t.p,{children:"This part creates a searchable index to be queried for contextual similarity."}),"\n",(0,r.jsxs)(t.p,{children:["The\xa0",(0,r.jsx)(t.strong,{children:"query"}),"\xa0part (top of the screen) allows users to retrieve embedded vector store data. Components:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Chat Input"})," defines where to send the user input (coming from the Playground)."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"OpenAI Embeddings"}),"\xa0is the model used to generate embeddings from the user input."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Astra DB"})," retrieves the most relevant chunks from the Astra DB database (here, used for search, not ingestion)."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Parse Data"})," converts chunks coming from the ",(0,r.jsx)(t.strong,{children:"Astra DB"})," component into plain text to feed a prompt."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Prompt"})," takes in the user input and the retrieved chunks as text and builds a prompt for the model."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"OpenAI"})," takes in the prompt to generate a response."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Chat Output"}),"\xa0component displays the response in the Playground."]}),"\n"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To create an environment variable for the\xa0",(0,r.jsx)(t.strong,{children:"OpenAI"}),"\xa0component, in the\xa0",(0,r.jsx)(t.strong,{children:"OpenAI API Key"}),"\xa0field, click the\xa0",(0,r.jsx)(t.strong,{children:"Globe"}),"\xa0button, and then click\xa0",(0,r.jsx)(t.strong,{children:"Add New Variable"}),".","\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Variable Name"}),"\xa0field, enter\xa0",(0,r.jsx)(t.code,{children:"openai_api_key"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Value"}),"\xa0field, paste your OpenAI API Key (",(0,r.jsx)(t.code,{children:"sk-..."}),")."]}),"\n",(0,r.jsxs)(t.li,{children:["Click\xa0",(0,r.jsx)(t.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["To create environment variables for the\xa0",(0,r.jsx)(t.strong,{children:"Astra DB"}),"\xa0and\xa0",(0,r.jsx)(t.strong,{children:"Astra DB Search"}),"\xa0components:","\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Token"}),"\xa0field, click the\xa0",(0,r.jsx)(t.strong,{children:"Globe"}),"\xa0button, and then click\xa0",(0,r.jsx)(t.strong,{children:"Add New Variable"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Variable Name"}),"\xa0field, enter\xa0",(0,r.jsx)(t.code,{children:"astra_token"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Value"}),"\xa0field, paste your Astra application token (",(0,r.jsx)(t.code,{children:"AstraCS:WSnyFUhRxsrg\u2026"}),")."]}),"\n",(0,r.jsxs)(t.li,{children:["Click\xa0",(0,r.jsx)(t.strong,{children:"Save Variable"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Repeat the above steps for the\xa0",(0,r.jsx)(t.strong,{children:"API Endpoint"}),"\xa0field, pasting your Astra API Endpoint instead (",(0,r.jsx)(t.code,{children:"https://ASTRA_DB_ID-ASTRA_DB_REGION.apps.astra.datastax.com"}),")."]}),"\n",(0,r.jsxs)(t.li,{children:["Add the global variable to both the\xa0",(0,r.jsx)(t.strong,{children:"Astra DB"}),"\xa0and\xa0",(0,r.jsx)(t.strong,{children:"Astra DB Search"}),"\xa0components."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"run-the-vector-store-rag-flow",children:"Run the Vector Store RAG flow"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["Click the\xa0",(0,r.jsx)(t.strong,{children:"Playground"}),"\xa0button. Here you can chat with the AI that uses context from the database you created."]}),"\n",(0,r.jsx)(t.li,{children:'Type a message and press Enter. (Try something like "What topics do you know about?")'}),"\n",(0,r.jsx)(t.li,{children:"The bot will respond with a summary of the data you've embedded."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},85410:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/starter-flow-vector-rag-b7baccc099a7e08eca925d97ec24844b.png"},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var r=n(96540);const s={},o=r.createContext(s);function i(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a83bc7c0.7cfdd459.js b/assets/js/a83bc7c0.7cfdd459.js new file mode 100644 index 0000000000..0c79c6e580 --- /dev/null +++ b/assets/js/a83bc7c0.7cfdd459.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5628],{45449:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var r=n(74848),s=n(28453);const o={title:"Vector Store RAG",sidebar_position:4,slug:"/starter-projects-vector-store-rag"},i=void 0,a={id:"Starter-Projects/starter-projects-vector-store-rag",title:"Vector Store RAG",description:"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.",source:"@site/docs/Starter-Projects/starter-projects-vector-store-rag.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-vector-store-rag",permalink:"/starter-projects-vector-store-rag",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Vector Store RAG",sidebar_position:4,slug:"/starter-projects-vector-store-rag"},sidebar:"docs",previous:{title:"Simple agent",permalink:"/starter-projects-simple-agent"},next:{title:"Travel planning agent",permalink:"/starter-projects-travel-planning-agent"}},l={},c=[{value:"Prerequisites",id:"6aa2c6dff6894eccadc39d4903d79e66",level:2},{value:"Create the vector store RAG flow",id:"create-the-vector-store-rag-flow",level:2},{value:"Run the Vector Store RAG flow",id:"run-the-vector-store-rag-flow",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it."}),"\n",(0,r.jsxs)(t.p,{children:["RAG is backed by a\xa0",(0,r.jsx)(t.strong,{children:"vector store"}),", a vector database which stores embeddings of the ingested data."]}),"\n",(0,r.jsxs)(t.p,{children:["This enables\xa0",(0,r.jsx)(t.strong,{children:"vector search"}),", a more powerful and context-aware search."]}),"\n",(0,r.jsxs)(t.p,{children:["We've chosen\xa0",(0,r.jsx)(t.a,{href:"https://astra.datastax.com/signup?utm_source=langflow-pre-release&utm_medium=referral&utm_campaign=langflow-announcement&utm_content=create-a-free-astra-db-account",children:"Astra DB"}),"\xa0as the vector database for this starter flow, but you can follow along with any of Langflow's vector database options."]}),"\n",(0,r.jsx)(t.h2,{id:"6aa2c6dff6894eccadc39d4903d79e66",children:"Prerequisites"}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://docs.langflow.org/get-started-installation",children:"Langflow installed and running"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key"})}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://docs.datastax.com/en/astra-db-serverless/get-started/quickstart.html",children:"An Astra DB vector database created"}),"\xa0with:","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Application Token"}),"\n",(0,r.jsx)(t.li,{children:"API Endpoint"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"create-the-vector-store-rag-flow",children:"Create the vector store RAG flow"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,r.jsx)(t.strong,{children:"New Flow"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Select\xa0",(0,r.jsx)(t.strong,{children:"Vector Store RAG"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["The\xa0",(0,r.jsx)(t.strong,{children:"Vector Store RAG"}),"\xa0flowis created."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{src:n(85410).A+"",width:"2842",height:"1458"})}),"\n",(0,r.jsx)(t.p,{children:"The vector store RAG flow is built of two separate flows for ingestion and query."}),"\n",(0,r.jsxs)(t.p,{children:["The\xa0",(0,r.jsx)(t.strong,{children:"ingestion"}),"\xa0part (bottom of the screen) populates the vector store with data from a local file. It ingests data from a file (",(0,r.jsx)(t.strong,{children:"File"}),"), splits it into chunks (",(0,r.jsx)(t.strong,{children:"Split Text"}),"), indexes it in Astra DB (",(0,r.jsx)(t.strong,{children:"Astra DB"}),"), and computes embeddings for the chunks using an embedding model (",(0,r.jsx)(t.strong,{children:"OpenAI Embeddings"}),")."]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"Embeddings are numerical vectors that represent data meaningfully. They enable efficient similarity searches in vector stores by placing similar items close together in the vector space, enhancing search and recommendation tasks."})}),"\n",(0,r.jsx)(t.p,{children:"This part creates a searchable index to be queried for contextual similarity."}),"\n",(0,r.jsxs)(t.p,{children:["The\xa0",(0,r.jsx)(t.strong,{children:"query"}),"\xa0part (top of the screen) allows users to retrieve embedded vector store data. Components:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Chat Input"})," defines where to send the user input (coming from the Playground)."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"OpenAI Embeddings"}),"\xa0is the model used to generate embeddings from the user input."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Astra DB"})," retrieves the most relevant chunks from the Astra DB database (here, used for search, not ingestion)."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Parse Data"})," converts chunks coming from the ",(0,r.jsx)(t.strong,{children:"Astra DB"})," component into plain text to feed a prompt."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Prompt"})," takes in the user input and the retrieved chunks as text and builds a prompt for the model."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"OpenAI"})," takes in the prompt to generate a response."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Chat Output"}),"\xa0component displays the response in the Playground."]}),"\n"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To create an environment variable for the\xa0",(0,r.jsx)(t.strong,{children:"OpenAI"}),"\xa0component, in the\xa0",(0,r.jsx)(t.strong,{children:"OpenAI API Key"}),"\xa0field, click the\xa0",(0,r.jsx)(t.strong,{children:"Globe"}),"\xa0button, and then click\xa0",(0,r.jsx)(t.strong,{children:"Add New Variable"}),".","\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Variable Name"}),"\xa0field, enter\xa0",(0,r.jsx)(t.code,{children:"openai_api_key"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Value"}),"\xa0field, paste your OpenAI API Key (",(0,r.jsx)(t.code,{children:"sk-..."}),")."]}),"\n",(0,r.jsxs)(t.li,{children:["Click\xa0",(0,r.jsx)(t.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["To create environment variables for the\xa0",(0,r.jsx)(t.strong,{children:"Astra DB"}),"\xa0and\xa0",(0,r.jsx)(t.strong,{children:"Astra DB Search"}),"\xa0components:","\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Token"}),"\xa0field, click the\xa0",(0,r.jsx)(t.strong,{children:"Globe"}),"\xa0button, and then click\xa0",(0,r.jsx)(t.strong,{children:"Add New Variable"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Variable Name"}),"\xa0field, enter\xa0",(0,r.jsx)(t.code,{children:"astra_token"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Value"}),"\xa0field, paste your Astra application token (",(0,r.jsx)(t.code,{children:"AstraCS:WSnyFUhRxsrg\u2026"}),")."]}),"\n",(0,r.jsxs)(t.li,{children:["Click\xa0",(0,r.jsx)(t.strong,{children:"Save Variable"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Repeat the above steps for the\xa0",(0,r.jsx)(t.strong,{children:"API Endpoint"}),"\xa0field, pasting your Astra API Endpoint instead (",(0,r.jsx)(t.code,{children:"https://ASTRA_DB_ID-ASTRA_DB_REGION.apps.astra.datastax.com"}),")."]}),"\n",(0,r.jsxs)(t.li,{children:["Add the global variable to both the\xa0",(0,r.jsx)(t.strong,{children:"Astra DB"}),"\xa0and\xa0",(0,r.jsx)(t.strong,{children:"Astra DB Search"}),"\xa0components."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"run-the-vector-store-rag-flow",children:"Run the Vector Store RAG flow"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["Click the\xa0",(0,r.jsx)(t.strong,{children:"Playground"}),"\xa0button. Here you can chat with the AI that uses context from the database you created."]}),"\n",(0,r.jsx)(t.li,{children:'Type a message and press Enter. (Try something like "What topics do you know about?")'}),"\n",(0,r.jsx)(t.li,{children:"The bot will respond with a summary of the data you've embedded."}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},85410:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/starter-flow-vector-rag-b7baccc099a7e08eca925d97ec24844b.png"},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var r=n(96540);const s={},o=r.createContext(s);function i(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a9b4f8aa.2f05178f.js b/assets/js/a9b4f8aa.2f05178f.js new file mode 100644 index 0000000000..141d6a8dd8 --- /dev/null +++ b/assets/js/a9b4f8aa.2f05178f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4931],{94782:(e,t,r)=>{r.r(t),r.d(t,{CH:()=>l,assets:()=>a,chCodeConfig:()=>h,contentTitle:()=>c,default:()=>g,frontMatter:()=>s,metadata:()=>d,toc:()=>p});var n=r(74848),i=r(28453),o=r(24754);const s={title:"Quickstart",sidebar_position:2,slug:"/get-started-quickstart"},c=void 0,d={id:"Get-Started/get-started-quickstart",title:"Quickstart",description:"Prerequisites",source:"@site/docs/Get-Started/get-started-quickstart.md",sourceDirName:"Get-Started",slug:"/get-started-quickstart",permalink:"/get-started-quickstart",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Quickstart",sidebar_position:2,slug:"/get-started-quickstart"},sidebar:"docs",previous:{title:"Install Langflow",permalink:"/get-started-installation"},next:{title:"Basic Prompting",permalink:"/starter-projects-basic-prompting"}},a={},l={annotations:o.hk,Code:o.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},p=[{value:"Prerequisites",id:"b5f154a3a1d242c7bdf57acf0a552732",level:2},{value:"Create the basic prompting flow",id:"create-the-basic-prompting-flow",level:2},{value:"Run the Basic Prompting flow",id:"ef0e8283bfb646f99bbb825462d8cbab",level:2},{value:"Modify the prompt for a different result",id:"dcea9df0cd51434db76717c78b1e9a94",level:2},{value:"Next steps",id:"63b6db6cb571489c86b3ae89051f1a4f",level:2}];function u(e){const t={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return l||f("CH",!1),l.Code||f("CH.Code",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,n.jsx)(t.h2,{id:"b5f154a3a1d242c7bdf57acf0a552732",children:"Prerequisites"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://www.python.org/downloads/release/python-3100/",children:"Python 3.10 to 3.12"})," installed"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://pypi.org/project/pip/",children:"pip"}),"\xa0or\xa0",(0,n.jsx)(t.a,{href:"https://pipx.pypa.io/stable/installation/",children:"pipx"})," installed"]}),"\n",(0,n.jsxs)(t.li,{children:["Before installing Langflow, we recommend creating a virtual environment to isolate your Python dependencies with ",(0,n.jsx)(t.a,{href:"https://docs.python.org/3/library/venv.html",children:"venv"})," or ",(0,n.jsx)(t.a,{href:"https://anaconda.org/anaconda/conda",children:"conda"})]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"create-the-basic-prompting-flow",children:"Create the basic prompting flow"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["From the Langflow dashboard, click\xa0",(0,n.jsx)(t.strong,{children:"New Flow"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Select\xa0",(0,n.jsx)(t.strong,{children:"Basic Prompting"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["The\xa0",(0,n.jsx)(t.strong,{children:"Basic Prompting"}),"\xa0flow is created."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(90567).A+"",width:"2874",height:"966"})}),"\n",(0,n.jsxs)(t.p,{children:["This flow allows you to chat with the\xa0",(0,n.jsx)(t.strong,{children:"OpenAI"}),"\xa0component through the\xa0",(0,n.jsx)(t.strong,{children:"Prompt"}),"\xa0component."]}),"\n",(0,n.jsxs)(t.ol,{start:"4",children:["\n",(0,n.jsxs)(t.li,{children:["To examine the flow's ",(0,n.jsx)(t.strong,{children:"Prompt"}),"\xa0component, click on the ",(0,n.jsx)(t.strong,{children:"Template"}),"\xa0field of the ",(0,n.jsx)(t.strong,{children:"Prompt"})," component."]}),"\n"]}),"\n",(0,n.jsx)(l.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"Answer the user as if you were a pirate.",props:{}}]},{tokens:[{content:"",props:{}}]},{tokens:[{content:"User: {user_input}",props:{}}]},{tokens:[{content:"",props:{}}]},{tokens:[{content:"Answer:",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,n.jsxs)(t.p,{children:["The\xa0",(0,n.jsx)(t.strong,{children:"Template"}),"\xa0instructs the LLM to accept ",(0,n.jsx)(t.code,{children:"{user_input}"})," and\xa0",(0,n.jsx)(t.code,{children:"Answer the user as if you were a pirate."}),"."]}),"\n",(0,n.jsxs)(t.ol,{start:"5",children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["To create an environment variable for the\xa0",(0,n.jsx)(t.strong,{children:"OpenAI"}),"\xa0component, in the\xa0",(0,n.jsx)(t.strong,{children:"OpenAI API Key"}),"\xa0field, click the\xa0",(0,n.jsx)(t.strong,{children:"Globe"}),"\xa0button, and then click\xa0",(0,n.jsx)(t.strong,{children:"Add New Variable"}),"."]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["In the\xa0",(0,n.jsx)(t.strong,{children:"Variable Name"}),"\xa0field, enter\xa0",(0,n.jsx)(t.code,{children:"openai_api_key"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["In the\xa0",(0,n.jsx)(t.strong,{children:"Value"}),"\xa0field, paste your OpenAI API Key (",(0,n.jsx)(t.code,{children:"sk-..."}),")."]}),"\n",(0,n.jsxs)(t.li,{children:["Click\xa0",(0,n.jsx)(t.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"ef0e8283bfb646f99bbb825462d8cbab",children:"Run the Basic Prompting flow"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["To open the ",(0,n.jsx)(t.strong,{children:"Playground"})," pane, click ",(0,n.jsx)(t.strong,{children:"Playground"}),".\nThis is where you can interact with your AI."]}),"\n",(0,n.jsx)(t.li,{children:"Type a message and press Enter. The bot should respond in a markedly piratical manner!"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"dcea9df0cd51434db76717c78b1e9a94",children:"Modify the prompt for a different result"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["To modify your prompt results, in the\xa0",(0,n.jsx)(t.strong,{children:"Prompt"}),"\xa0template, click the\xa0",(0,n.jsx)(t.strong,{children:"Template"}),"\xa0field. The\xa0",(0,n.jsx)(t.strong,{children:"Edit Prompt"}),"\xa0window opens."]}),"\n",(0,n.jsxs)(t.li,{children:["Change\xa0",(0,n.jsx)(t.code,{children:"Answer the user as if you were a pirate"}),"\xa0to a different character, perhaps\xa0",(0,n.jsx)(t.code,{children:"Answer the user as if you were Hermione Granger."})]}),"\n",(0,n.jsx)(t.li,{children:"Run the workflow again. The response will be very different."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"63b6db6cb571489c86b3ae89051f1a4f",children:"Next steps"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.p,{children:"Well done! You've built your first prompt in Langflow. \ud83c\udf89"}),"\n",(0,n.jsx)(t.p,{children:"By dragging Langflow components to your workspace, you can create all sorts of interesting behaviors. Here are a couple of examples:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/starter-projects-memory-chatbot",children:"Memory Chatbot"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/starter-projects-blog-writer",children:"Blog Writer"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/starter-projects-document-qa",children:"Document QA"})}),"\n"]})]})}function g(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}function f(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},90567:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/starter-flow-basic-prompting-40917cdcd3e69dcb5ed1a611df982d06.png"}}]); \ No newline at end of file diff --git a/assets/js/a9b4f8aa.ea7c1055.js b/assets/js/a9b4f8aa.ea7c1055.js deleted file mode 100644 index ec07f06e97..0000000000 --- a/assets/js/a9b4f8aa.ea7c1055.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4931],{94782:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>l,assets:()=>a,chCodeConfig:()=>h,contentTitle:()=>c,default:()=>g,frontMatter:()=>s,metadata:()=>d,toc:()=>p});var r=n(74848),o=n(28453),i=n(24754);const s={title:"Quickstart",sidebar_position:2,slug:"/get-started-quickstart"},c=void 0,d={id:"Get-Started/get-started-quickstart",title:"Quickstart",description:"Prerequisites",source:"@site/docs/Get-Started/get-started-quickstart.md",sourceDirName:"Get-Started",slug:"/get-started-quickstart",permalink:"/get-started-quickstart",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Quickstart",sidebar_position:2,slug:"/get-started-quickstart"},sidebar:"docs",previous:{title:"Install Langflow",permalink:"/get-started-installation"},next:{title:"Welcome to Langflow",permalink:"/"}},a={},l={annotations:i.hk,Code:i.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},p=[{value:"Prerequisites",id:"b5f154a3a1d242c7bdf57acf0a552732",level:2},{value:"Create the basic prompting flow",id:"create-the-basic-prompting-flow",level:2},{value:"Run the Basic Prompting flow",id:"ef0e8283bfb646f99bbb825462d8cbab",level:2},{value:"Modify the prompt for a different result",id:"dcea9df0cd51434db76717c78b1e9a94",level:2},{value:"Next steps",id:"63b6db6cb571489c86b3ae89051f1a4f",level:2}];function u(e){const t={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return l||f("CH",!1),l.Code||f("CH.Code",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n",(0,r.jsx)(t.h2,{id:"b5f154a3a1d242c7bdf57acf0a552732",children:"Prerequisites"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://www.python.org/downloads/release/python-3100/",children:"Python 3.10 to 3.12"})," installed"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://pypi.org/project/pip/",children:"pip"}),"\xa0or\xa0",(0,r.jsx)(t.a,{href:"https://pipx.pypa.io/stable/installation/",children:"pipx"})," installed"]}),"\n",(0,r.jsxs)(t.li,{children:["Before installing Langflow, we recommend creating a virtual environment to isolate your Python dependencies with ",(0,r.jsx)(t.a,{href:"https://docs.python.org/3/library/venv.html",children:"venv"})," or ",(0,r.jsx)(t.a,{href:"https://anaconda.org/anaconda/conda",children:"conda"})]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"create-the-basic-prompting-flow",children:"Create the basic prompting flow"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["From the Langflow dashboard, click\xa0",(0,r.jsx)(t.strong,{children:"New Flow"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["Select\xa0",(0,r.jsx)(t.strong,{children:"Basic Prompting"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["The\xa0",(0,r.jsx)(t.strong,{children:"Basic Prompting"}),"\xa0flow is created."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{src:n(90567).A+"",width:"2874",height:"966"})}),"\n",(0,r.jsxs)(t.p,{children:["This flow allows you to chat with the\xa0",(0,r.jsx)(t.strong,{children:"OpenAI"}),"\xa0component through the\xa0",(0,r.jsx)(t.strong,{children:"Prompt"}),"\xa0component."]}),"\n",(0,r.jsxs)(t.ol,{start:"4",children:["\n",(0,r.jsxs)(t.li,{children:["To examine the flow's ",(0,r.jsx)(t.strong,{children:"Prompt"}),"\xa0component, click on the ",(0,r.jsx)(t.strong,{children:"Template"}),"\xa0field of the ",(0,r.jsx)(t.strong,{children:"Prompt"})," component."]}),"\n"]}),"\n",(0,r.jsx)(l.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"Answer the user as if you were a pirate.",props:{}}]},{tokens:[{content:"",props:{}}]},{tokens:[{content:"User: {user_input}",props:{}}]},{tokens:[{content:"",props:{}}]},{tokens:[{content:"Answer:",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.p,{children:["The\xa0",(0,r.jsx)(t.strong,{children:"Template"}),"\xa0instructs the LLM to accept ",(0,r.jsx)(t.code,{children:"{user_input}"})," and\xa0",(0,r.jsx)(t.code,{children:"Answer the user as if you were a pirate."}),"."]}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["To create an environment variable for the\xa0",(0,r.jsx)(t.strong,{children:"OpenAI"}),"\xa0component, in the\xa0",(0,r.jsx)(t.strong,{children:"OpenAI API Key"}),"\xa0field, click the\xa0",(0,r.jsx)(t.strong,{children:"Globe"}),"\xa0button, and then click\xa0",(0,r.jsx)(t.strong,{children:"Add New Variable"}),"."]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Variable Name"}),"\xa0field, enter\xa0",(0,r.jsx)(t.code,{children:"openai_api_key"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the\xa0",(0,r.jsx)(t.strong,{children:"Value"}),"\xa0field, paste your OpenAI API Key (",(0,r.jsx)(t.code,{children:"sk-..."}),")."]}),"\n",(0,r.jsxs)(t.li,{children:["Click\xa0",(0,r.jsx)(t.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"ef0e8283bfb646f99bbb825462d8cbab",children:"Run the Basic Prompting flow"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To open the ",(0,r.jsx)(t.strong,{children:"Playground"})," pane, click ",(0,r.jsx)(t.strong,{children:"Playground"}),".\nThis is where you can interact with your AI."]}),"\n",(0,r.jsx)(t.li,{children:"Type a message and press Enter. The bot should respond in a markedly piratical manner!"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"dcea9df0cd51434db76717c78b1e9a94",children:"Modify the prompt for a different result"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To modify your prompt results, in the\xa0",(0,r.jsx)(t.strong,{children:"Prompt"}),"\xa0template, click the\xa0",(0,r.jsx)(t.strong,{children:"Template"}),"\xa0field. The\xa0",(0,r.jsx)(t.strong,{children:"Edit Prompt"}),"\xa0window opens."]}),"\n",(0,r.jsxs)(t.li,{children:["Change\xa0",(0,r.jsx)(t.code,{children:"Answer the user as if you were a pirate"}),"\xa0to a different character, perhaps\xa0",(0,r.jsx)(t.code,{children:"Answer the user as if you were Hermione Granger."})]}),"\n",(0,r.jsx)(t.li,{children:"Run the workflow again. The response will be very different."}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"63b6db6cb571489c86b3ae89051f1a4f",children:"Next steps"}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.p,{children:"Well done! You've built your first prompt in Langflow. \ud83c\udf89"}),"\n",(0,r.jsx)(t.p,{children:"By dragging Langflow components to your workspace, you can create all sorts of interesting behaviors. Here are a couple of examples:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/starter-projects-memory-chatbot",children:"Memory Chatbot"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/starter-projects-blog-writer",children:"Blog Writer"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/starter-projects-document-qa",children:"Document QA"})}),"\n"]})]})}function g(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}function f(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},90567:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/starter-flow-basic-prompting-40917cdcd3e69dcb5ed1a611df982d06.png"}}]); \ No newline at end of file diff --git a/assets/js/b7251463.3fa09726.js b/assets/js/b7251463.3fa09726.js new file mode 100644 index 0000000000..cbec927fff --- /dev/null +++ b/assets/js/b7251463.3fa09726.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[51],{733:(e,n,r)=>{r.r(n),r.d(n,{CH:()=>x,assets:()=>h,chCodeConfig:()=>j,contentTitle:()=>c,default:()=>p,frontMatter:()=>d,metadata:()=>a,toc:()=>u});var s=r(74848),t=r(28453),i=r(24754),o=r(11470),l=r(19365);const d={title:"Environment variables",sidebar_position:7,slug:"/environment-variables"},c=void 0,a={id:"Configuration/environment-variables",title:"Environment variables",description:"Langflow lets you configure a number of settings using environment variables.",source:"@site/docs/Configuration/environment-variables.md",sourceDirName:"Configuration",slug:"/environment-variables",permalink:"/environment-variables",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:7,frontMatter:{title:"Environment variables",sidebar_position:7,slug:"/environment-variables"},sidebar:"docs",previous:{title:"Global variables",permalink:"/configuration-global-variables"},next:{title:"How to build flows with components",permalink:"/components-overview"}},h={},x={annotations:i.hk,Code:i.Cy},j={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},u=[{value:"Configure environment variables",id:"configure-environment-variables",level:2},{value:"Set environment variables in your terminal",id:"configure-variables-terminal",level:3},{value:"Import environment variables from a .env file",id:"configure-variables-env-file",level:3},{value:"Precedence",id:"precedence",level:2},{value:"Supported environment variables",id:"supported-variables",level:2}];function f(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return x||L("CH",!1),x.Code||L("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,s.jsx)(n.p,{children:"Langflow lets you configure a number of settings using environment variables."}),"\n",(0,s.jsx)(n.h2,{id:"configure-environment-variables",children:"Configure environment variables"}),"\n",(0,s.jsxs)(n.p,{children:["Langflow recognizes ",(0,s.jsx)(n.a,{href:"#supported-variables",children:"supported environment variables"})," from the following sources:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Environment variables that you've set in your terminal."}),"\n",(0,s.jsxs)(n.li,{children:["Environment variables that you've imported from a ",(0,s.jsx)(n.code,{children:".env"})," file using the ",(0,s.jsx)(n.code,{children:"--env-file"})," option in the Langflow CLI."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can choose to use one source exclusively, or use both sources together.\nIf you choose to use both sources together, be aware that environment variables imported from a ",(0,s.jsx)(n.code,{children:".env"})," file take ",(0,s.jsx)(n.a,{href:"#precedence",children:"precedence"})," over those set in your terminal."]}),"\n",(0,s.jsx)(n.h3,{id:"configure-variables-terminal",children:"Set environment variables in your terminal"}),"\n",(0,s.jsx)(n.p,{children:"Run the following commands to set environment variables for your current terminal session:"}),"\n",(0,s.jsxs)(o.A,{children:[(0,s.jsx)(l.A,{value:"linux-macos",label:"Linux or macOS",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"export",props:{style:{color:"#FF7B72"}}},{content:" VARIABLE_NAME",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"'VALUE'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})}),(0,s.jsx)(l.A,{value:"windows",label:"Windows",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"set VARIABLE_NAME='VALUE'",props:{}}]}],lang:"text"},annotations:[]}]})}),(0,s.jsx)(l.A,{value:"docker",label:"Docker",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-it --rm \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -e ",props:{style:{color:"#79C0FF"}}},{content:"VARIABLE_NAME='VALUE' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n",(0,s.jsxs)(n.p,{children:["When you start Langflow, it looks for environment variables that you've set in your terminal.\nIf it detects a supported environment variable, then it automatically adopts the specified value, subject to ",(0,s.jsx)(n.a,{href:"#precedence",children:"precedence rules"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"configure-variables-env-file",children:"Import environment variables from a .env file"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:".env"})," file and open it in your preferred editor."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Add your environment variables to the file:"}),"\n",(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'".env"',focus:"",code:{lines:[{tokens:[{content:"VARIABLE_NAME='VALUE'",props:{}}]},{tokens:[{content:"VARIABLE_NAME='VALUE'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["The Langflow project includes a ",(0,s.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/blob/main/.env.example",children:(0,s.jsx)(n.code,{children:".env.example"})})," file to help you get started.\nYou can copy the contents of this file into your own ",(0,s.jsx)(n.code,{children:".env"})," file and replace the example values with your own preferred settings."]})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Save and close the file."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Start Langflow using the ",(0,s.jsx)(n.code,{children:"--env-file"})," option to define the path to your ",(0,s.jsx)(n.code,{children:".env"})," file:"]}),"\n",(0,s.jsxs)(o.A,{children:[(0,s.jsx)(l.A,{value:"local",label:"Local",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow run ",props:{style:{color:"#A5D6FF"}}},{content:"--env-file ",props:{style:{color:"#79C0FF"}}},{content:".env",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})}),(0,s.jsx)(l.A,{value:"docker",label:"Docker",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-it --rm \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --env-file ",props:{style:{color:"#79C0FF"}}},{content:".env ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["On startup, Langflow imports the environment variables from your ",(0,s.jsx)(n.code,{children:".env"})," file, as well as any that you ",(0,s.jsx)(n.a,{href:"#configure-variables-terminal",children:"set in your terminal"}),", and adopts their specified values."]}),"\n",(0,s.jsx)(n.h2,{id:"precedence",children:"Precedence"}),"\n",(0,s.jsxs)(n.p,{children:["Environment variables ",(0,s.jsx)(n.a,{href:"#configure-variables-env-file",children:"defined in the .env file"})," take precedence over those ",(0,s.jsx)(n.a,{href:"#configure-variables-terminal",children:"set in your terminal"}),".\nThat means, if you happen to set the same environment variable in both your terminal and your ",(0,s.jsx)(n.code,{children:".env"})," file, Langflow adopts the value from the the ",(0,s.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,s.jsx)(n.admonition,{title:"CLI precedence",type:"info",children:(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/configuration-cli",children:"Langflow CLI options"})," override the value of corresponding environment variables defined in the ",(0,s.jsx)(n.code,{children:".env"})," file as well as any environment variables set in your terminal."]})}),"\n",(0,s.jsx)(n.h2,{id:"supported-variables",children:"Supported environment variables"}),"\n",(0,s.jsx)(n.p,{children:"The following table lists the environment variables supported by Langflow."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Variable"}),(0,s.jsx)(n.th,{children:"Format / Values"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"DO_NOT_TRACK"}),(0,s.jsx)(n.code,{children:"DO_NOT_TRACK"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"If enabled, Langflow will not track telemetry."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_AUTO_LOGIN"}),(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable automatic login for Langflow. Set to ",(0,s.jsx)(n.code,{children:"false"})," to disable automatic login and require the login form to log into the Langflow UI. Setting to ",(0,s.jsx)(n.code,{children:"false"})," requires ",(0,s.jsx)(n.a,{href:"#LANGFLOW_SUPERUSER",children:(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})})," and ",(0,s.jsx)(n.a,{href:"#LANGFLOW_SUPERUSER_PASSWORD",children:(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})})," to be set."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_AUTO_SAVING"}),(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_SAVING"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable flow auto-saving.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-auto-saving",children:[(0,s.jsx)(n.code,{children:"--auto-saving"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_AUTO_SAVING_INTERVAL"}),(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_SAVING_INTERVAL"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"1000"})}),(0,s.jsxs)(n.td,{children:["Set the interval for flow auto-saving in milliseconds.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-auto-saving-interval",children:[(0,s.jsx)(n.code,{children:"--auto-saving-interval"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_BACKEND_ONLY"}),(0,s.jsx)(n.code,{children:"LANGFLOW_BACKEND_ONLY"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Only run Langflow's backend server (no frontend).",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-backend-only",children:[(0,s.jsx)(n.code,{children:"--backend-only"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_CACHE_TYPE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"async"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"redis"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"memory"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"disk"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"critical"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"async"})}),(0,s.jsxs)(n.td,{children:["Set the cache type for Langflow.",(0,s.jsx)("br",{}),"If you set the type to ",(0,s.jsx)(n.code,{children:"redis"}),", then you must also set the following environment variables: ",(0,s.jsx)(n.a,{href:"#LANGFLOW_REDIS_HOST",children:(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_HOST"})}),", ",(0,s.jsx)(n.a,{href:"#LANGFLOW_REDIS_PORT",children:(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_PORT"})}),", ",(0,s.jsx)(n.a,{href:"#LANGFLOW_REDIS_DB",children:(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_DB"})}),", and ",(0,s.jsx)(n.a,{href:"#LANGFLOW_REDIS_CACHE_EXPIRE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_CACHE_EXPIRE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_COMPONENTS_PATH"}),(0,s.jsx)(n.code,{children:"LANGFLOW_COMPONENTS_PATH"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"langflow/components"})}),(0,s.jsxs)(n.td,{children:["Path to the directory containing custom components.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-components-path",children:[(0,s.jsx)(n.code,{children:"--components-path"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_CONFIG_DIR"}),(0,s.jsx)(n.code,{children:"LANGFLOW_CONFIG_DIR"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{}),(0,s.jsx)(n.td,{children:"Set the Langflow configuration directory where files, logs, and the Langflow database are stored."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_DATABASE_URL"}),(0,s.jsx)(n.code,{children:"LANGFLOW_DATABASE_URL"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{}),(0,s.jsx)(n.td,{children:"Set the database URL for Langflow. If you don't provide one, Langflow uses an SQLite database."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_DEV"}),(0,s.jsx)(n.code,{children:"LANGFLOW_DEV"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Run Langflow in development mode (may contain bugs).",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-dev",children:[(0,s.jsx)(n.code,{children:"--dev"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_FALLBACK_TO_ENV_VAR"}),(0,s.jsx)(n.code,{children:"LANGFLOW_FALLBACK_TO_ENV_VAR"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["If enabled, ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," set in the Langflow UI fall back to an environment variable with the same name when Langflow fails to retrieve the variable value."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_FRONTEND_PATH"}),(0,s.jsx)(n.code,{children:"LANGFLOW_FRONTEND_PATH"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"./frontend"})}),(0,s.jsxs)(n.td,{children:["Path to the frontend directory containing build files. This is for development purposes only.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-frontend-path",children:[(0,s.jsx)(n.code,{children:"--frontend-path"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES"}),(0,s.jsx)(n.code,{children:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"5"})}),(0,s.jsxs)(n.td,{children:["Set the maximum number of retries for the health check.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-health-check-max-retries",children:[(0,s.jsx)(n.code,{children:"--health-check-max-retries"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_HOST"}),(0,s.jsx)(n.code,{children:"LANGFLOW_HOST"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"127.0.0.1"})}),(0,s.jsxs)(n.td,{children:["The host on which the Langflow server will run.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-host",children:[(0,s.jsx)(n.code,{children:"--host"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_LANGCHAIN_CACHE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_LANGCHAIN_CACHE"})]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"InMemoryCache"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"SQLiteCache"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"InMemoryCache"})}),(0,s.jsxs)(n.td,{children:["Type of cache to use.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-cache",children:[(0,s.jsx)(n.code,{children:"--cache"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_LOG_FILE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_LOG_FILE"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"logs/langflow.log"})}),(0,s.jsxs)(n.td,{children:["Set the path to the log file for Langflow.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-log-file",children:[(0,s.jsx)(n.code,{children:"--log-file"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_LOG_LEVEL"}),(0,s.jsx)(n.code,{children:"LANGFLOW_LOG_LEVEL"})]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"debug"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"info"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"warning"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"error"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"critical"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"critical"})}),(0,s.jsxs)(n.td,{children:["Set the logging level.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-log-level",children:[(0,s.jsx)(n.code,{children:"--log-level"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"}),(0,s.jsx)(n.code,{children:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"100"})}),(0,s.jsxs)(n.td,{children:["Set the maximum file size for the upload in megabytes.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-max-file-size-upload",children:[(0,s.jsx)(n.code,{children:"--max-file-size-upload"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_OPEN_BROWSER"}),(0,s.jsx)(n.code,{children:"LANGFLOW_OPEN_BROWSER"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Open the system web browser on startup.",(0,s.jsx)("br",{})," See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-open-browser",children:[(0,s.jsx)(n.code,{children:"--open-browser"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_PORT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_PORT"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"7860"})}),(0,s.jsxs)(n.td,{children:["The port on which the Langflow server will run. The server automatically selects a free port if the specified port is in use.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-port",children:[(0,s.jsx)(n.code,{children:"--port"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_PROMETHEUS_ENABLED"}),(0,s.jsx)(n.code,{children:"LANGFLOW_PROMETHEUS_ENABLED"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Expose Prometheus metrics."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_PROMETHEUS_PORT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_PROMETHEUS_PORT"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"9090"})}),(0,s.jsx)(n.td,{children:"Set the port on which Langflow exposes Prometheus metrics."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REDIS_CACHE_EXPIRE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_CACHE_EXPIRE"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"3600"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CACHE_TYPE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REDIS_DB"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_DB"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"0"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CACHE_TYPE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REDIS_HOST"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_HOST"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"localhost"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CACHE_TYPE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REDIS_PORT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_PORT"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"6379"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CACHE_TYPE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REMOVE_API_KEYS"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REMOVE_API_KEYS"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Remove API keys from the projects saved in the database.",(0,s.jsx)("br",{})," See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-remove-api-keys",children:[(0,s.jsx)(n.code,{children:"--remove-api-keys"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR"}),(0,s.jsx)(n.code,{children:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Save the Langflow database in ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CONFIG_DIR",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CONFIG_DIR"})})," instead of in the Langflow package directory. Note, when this variable is set to default (",(0,s.jsx)(n.code,{children:"false"}),"), the database isn't shared between different virtual environments and the database is deleted when you uninstall Langflow."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_STORE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_STORE"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable the Langflow Store.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-store",children:[(0,s.jsx)(n.code,{children:"--store"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"}),(0,s.jsx)(n.code,{children:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Store environment variables as ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," in the database."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_SUPERUSER"}),(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Set the name for the superuser. Required if ",(0,s.jsx)(n.a,{href:"#LANGFLOW_AUTO_LOGIN",children:(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})})," is set to ",(0,s.jsx)(n.code,{children:"false"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#superuser-username",children:[(0,s.jsx)(n.code,{children:"superuser --username"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_SUPERUSER_PASSWORD"}),(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Set the password for the superuser. Required if ",(0,s.jsx)(n.a,{href:"#LANGFLOW_AUTO_LOGIN",children:(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})})," is set to ",(0,s.jsx)(n.code,{children:"false"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#superuser-password",children:[(0,s.jsx)(n.code,{children:"superuser --password"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Comma-separated list of environment variables to get from the environment and store as ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_WORKER_TIMEOUT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_WORKER_TIMEOUT"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"300"})}),(0,s.jsxs)(n.td,{children:["Worker timeout in seconds.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-worker-timeout",children:[(0,s.jsx)(n.code,{children:"--worker-timeout"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_WORKERS"}),(0,s.jsx)(n.code,{children:"LANGFLOW_WORKERS"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"1"})}),(0,s.jsxs)(n.td,{children:["Number of worker processes.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-workers",children:[(0,s.jsx)(n.code,{children:"--workers"})," option"]}),"."]})]})]})]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}function L(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},19365:(e,n,r)=>{r.d(n,{A:()=>o});r(96540);var s=r(18215);const t={tabItem:"tabItem_Ymn6"};var i=r(74848);function o(e){let{children:n,hidden:r,className:o}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.A)(t.tabItem,o),hidden:r,children:n})}},11470:(e,n,r)=>{r.d(n,{A:()=>_});var s=r(96540),t=r(18215),i=r(23104),o=r(56347),l=r(205),d=r(57485),c=r(31682),a=r(70679);function h(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function x(e){const{values:n,children:r}=e;return(0,s.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:r,attributes:s,default:t}}=e;return{value:n,label:r,attributes:s,default:t}}))}(r);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,r])}function j(e){let{value:n,tabValues:r}=e;return r.some((e=>e.value===n))}function u(e){let{queryString:n=!1,groupId:r}=e;const t=(0,o.W6)(),i=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r});return[(0,d.aZ)(i),(0,s.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(t.location.search);n.set(i,e),t.replace({...t.location,search:n.toString()})}),[i,t])]}function f(e){const{defaultValue:n,queryString:r=!1,groupId:t}=e,i=x(e),[o,d]=(0,s.useState)((()=>function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!j({value:n,tabValues:r}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const s=r.find((e=>e.default))??r[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:n,tabValues:i}))),[c,h]=u({queryString:r,groupId:t}),[f,p]=function(e){let{groupId:n}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,i]=(0,a.Dv)(r);return[t,(0,s.useCallback)((e=>{r&&i.set(e)}),[r,i])]}({groupId:t}),L=(()=>{const e=c??f;return j({value:e,tabValues:i})?e:null})();(0,l.A)((()=>{L&&d(L)}),[L]);return{selectedValue:o,selectValue:(0,s.useCallback)((e=>{if(!j({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);d(e),h(e),p(e)}),[h,p,i]),tabValues:i}}var p=r(92303);const L={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var b=r(74848);function g(e){let{className:n,block:r,selectedValue:s,selectValue:o,tabValues:l}=e;const d=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),a=e=>{const n=e.currentTarget,r=d.indexOf(n),t=l[r].value;t!==s&&(c(n),o(t))},h=e=>{let n=null;switch(e.key){case"Enter":a(e);break;case"ArrowRight":{const r=d.indexOf(e.currentTarget)+1;n=d[r]??d[0];break}case"ArrowLeft":{const r=d.indexOf(e.currentTarget)-1;n=d[r]??d[d.length-1];break}}n?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.A)("tabs",{"tabs--block":r},n),children:l.map((e=>{let{value:n,label:r,attributes:i}=e;return(0,b.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>d.push(e),onKeyDown:h,onClick:a,...i,className:(0,t.A)("tabs__item",L.tabItem,i?.className,{"tabs__item--active":s===n}),children:r??n},n)}))})}function v(e){let{lazy:n,children:r,selectedValue:i}=e;const o=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){const e=o.find((e=>e.props.value===i));return e?(0,s.cloneElement)(e,{className:(0,t.A)("margin-top--md",e.props.className)}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:o.map(((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==i})))})}function A(e){const n=f(e);return(0,b.jsxs)("div",{className:(0,t.A)("tabs-container",L.tabList),children:[(0,b.jsx)(g,{...n,...e}),(0,b.jsx)(v,{...n,...e})]})}function _(e){const n=(0,p.A)();return(0,b.jsx)(A,{...e,children:h(e.children)},String(n))}}}]); \ No newline at end of file diff --git a/assets/js/b7251463.3ff0e17f.js b/assets/js/b7251463.3ff0e17f.js deleted file mode 100644 index fc4b2ec375..0000000000 --- a/assets/js/b7251463.3ff0e17f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[51],{733:(e,n,r)=>{r.r(n),r.d(n,{CH:()=>x,assets:()=>h,chCodeConfig:()=>j,contentTitle:()=>c,default:()=>p,frontMatter:()=>d,metadata:()=>a,toc:()=>u});var s=r(74848),t=r(28453),i=r(24754),o=r(11470),l=r(19365);const d={title:"Environment variables",sidebar_position:7,slug:"/environment-variables"},c=void 0,a={id:"Configuration/environment-variables",title:"Environment variables",description:"Langflow lets you configure a number of settings using environment variables.",source:"@site/docs/Configuration/environment-variables.md",sourceDirName:"Configuration",slug:"/environment-variables",permalink:"/environment-variables",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:7,frontMatter:{title:"Environment variables",sidebar_position:7,slug:"/environment-variables"},sidebar:"docs",previous:{title:"Global variables",permalink:"/configuration-global-variables"},next:{title:"Chat Memory",permalink:"/guides-chat-memory"}},h={},x={annotations:i.hk,Code:i.Cy},j={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},u=[{value:"Configure environment variables",id:"configure-environment-variables",level:2},{value:"Set environment variables in your terminal",id:"configure-variables-terminal",level:3},{value:"Import environment variables from a .env file",id:"configure-variables-env-file",level:3},{value:"Precedence",id:"precedence",level:2},{value:"Supported environment variables",id:"supported-variables",level:2}];function f(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return x||L("CH",!1),x.Code||L("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,s.jsx)(n.p,{children:"Langflow lets you configure a number of settings using environment variables."}),"\n",(0,s.jsx)(n.h2,{id:"configure-environment-variables",children:"Configure environment variables"}),"\n",(0,s.jsxs)(n.p,{children:["Langflow recognizes ",(0,s.jsx)(n.a,{href:"#supported-variables",children:"supported environment variables"})," from the following sources:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Environment variables that you've set in your terminal."}),"\n",(0,s.jsxs)(n.li,{children:["Environment variables that you've imported from a ",(0,s.jsx)(n.code,{children:".env"})," file using the ",(0,s.jsx)(n.code,{children:"--env-file"})," option in the Langflow CLI."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can choose to use one source exclusively, or use both sources together.\nIf you choose to use both sources together, be aware that environment variables imported from a ",(0,s.jsx)(n.code,{children:".env"})," file take ",(0,s.jsx)(n.a,{href:"#precedence",children:"precedence"})," over those set in your terminal."]}),"\n",(0,s.jsx)(n.h3,{id:"configure-variables-terminal",children:"Set environment variables in your terminal"}),"\n",(0,s.jsx)(n.p,{children:"Run the following commands to set environment variables for your current terminal session:"}),"\n",(0,s.jsxs)(o.A,{children:[(0,s.jsx)(l.A,{value:"linux-macos",label:"Linux or macOS",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"export",props:{style:{color:"#FF7B72"}}},{content:" VARIABLE_NAME",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"'VALUE'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})}),(0,s.jsx)(l.A,{value:"windows",label:"Windows",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"set VARIABLE_NAME='VALUE'",props:{}}]}],lang:"text"},annotations:[]}]})}),(0,s.jsx)(l.A,{value:"docker",label:"Docker",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-it --rm \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -e ",props:{style:{color:"#79C0FF"}}},{content:"VARIABLE_NAME='VALUE' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n",(0,s.jsxs)(n.p,{children:["When you start Langflow, it looks for environment variables that you've set in your terminal.\nIf it detects a supported environment variable, then it automatically adopts the specified value, subject to ",(0,s.jsx)(n.a,{href:"#precedence",children:"precedence rules"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"configure-variables-env-file",children:"Import environment variables from a .env file"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:".env"})," file and open it in your preferred editor."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Add your environment variables to the file:"}),"\n",(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'".env"',focus:"",code:{lines:[{tokens:[{content:"VARIABLE_NAME='VALUE'",props:{}}]},{tokens:[{content:"VARIABLE_NAME='VALUE'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["The Langflow project includes a ",(0,s.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/blob/main/.env.example",children:(0,s.jsx)(n.code,{children:".env.example"})})," file to help you get started.\nYou can copy the contents of this file into your own ",(0,s.jsx)(n.code,{children:".env"})," file and replace the example values with your own preferred settings."]})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Save and close the file."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Start Langflow using the ",(0,s.jsx)(n.code,{children:"--env-file"})," option to define the path to your ",(0,s.jsx)(n.code,{children:".env"})," file:"]}),"\n",(0,s.jsxs)(o.A,{children:[(0,s.jsx)(l.A,{value:"local",label:"Local",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow run ",props:{style:{color:"#A5D6FF"}}},{content:"--env-file ",props:{style:{color:"#79C0FF"}}},{content:".env",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})}),(0,s.jsx)(l.A,{value:"docker",label:"Docker",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-it --rm \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --env-file ",props:{style:{color:"#79C0FF"}}},{content:".env ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["On startup, Langflow imports the environment variables from your ",(0,s.jsx)(n.code,{children:".env"})," file, as well as any that you ",(0,s.jsx)(n.a,{href:"#configure-variables-terminal",children:"set in your terminal"}),", and adopts their specified values."]}),"\n",(0,s.jsx)(n.h2,{id:"precedence",children:"Precedence"}),"\n",(0,s.jsxs)(n.p,{children:["Environment variables ",(0,s.jsx)(n.a,{href:"#configure-variables-env-file",children:"defined in the .env file"})," take precedence over those ",(0,s.jsx)(n.a,{href:"#configure-variables-terminal",children:"set in your terminal"}),".\nThat means, if you happen to set the same environment variable in both your terminal and your ",(0,s.jsx)(n.code,{children:".env"})," file, Langflow adopts the value from the the ",(0,s.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,s.jsx)(n.admonition,{title:"CLI precedence",type:"info",children:(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/configuration-cli",children:"Langflow CLI options"})," override the value of corresponding environment variables defined in the ",(0,s.jsx)(n.code,{children:".env"})," file as well as any environment variables set in your terminal."]})}),"\n",(0,s.jsx)(n.h2,{id:"supported-variables",children:"Supported environment variables"}),"\n",(0,s.jsx)(n.p,{children:"The following table lists the environment variables supported by Langflow."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Variable"}),(0,s.jsx)(n.th,{children:"Format / Values"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"DO_NOT_TRACK"}),(0,s.jsx)(n.code,{children:"DO_NOT_TRACK"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"If enabled, Langflow will not track telemetry."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_AUTO_LOGIN"}),(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable automatic login for Langflow. Set to ",(0,s.jsx)(n.code,{children:"false"})," to disable automatic login and require the login form to log into the Langflow UI. Setting to ",(0,s.jsx)(n.code,{children:"false"})," requires ",(0,s.jsx)(n.a,{href:"#LANGFLOW_SUPERUSER",children:(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})})," and ",(0,s.jsx)(n.a,{href:"#LANGFLOW_SUPERUSER_PASSWORD",children:(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})})," to be set."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_AUTO_SAVING"}),(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_SAVING"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable flow auto-saving.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-auto-saving",children:[(0,s.jsx)(n.code,{children:"--auto-saving"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_AUTO_SAVING_INTERVAL"}),(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_SAVING_INTERVAL"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"1000"})}),(0,s.jsxs)(n.td,{children:["Set the interval for flow auto-saving in milliseconds.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-auto-saving-interval",children:[(0,s.jsx)(n.code,{children:"--auto-saving-interval"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_BACKEND_ONLY"}),(0,s.jsx)(n.code,{children:"LANGFLOW_BACKEND_ONLY"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Only run Langflow's backend server (no frontend).",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-backend-only",children:[(0,s.jsx)(n.code,{children:"--backend-only"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_CACHE_TYPE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"async"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"redis"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"memory"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"disk"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"critical"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"async"})}),(0,s.jsxs)(n.td,{children:["Set the cache type for Langflow.",(0,s.jsx)("br",{}),"If you set the type to ",(0,s.jsx)(n.code,{children:"redis"}),", then you must also set the following environment variables: ",(0,s.jsx)(n.a,{href:"#LANGFLOW_REDIS_HOST",children:(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_HOST"})}),", ",(0,s.jsx)(n.a,{href:"#LANGFLOW_REDIS_PORT",children:(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_PORT"})}),", ",(0,s.jsx)(n.a,{href:"#LANGFLOW_REDIS_DB",children:(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_DB"})}),", and ",(0,s.jsx)(n.a,{href:"#LANGFLOW_REDIS_CACHE_EXPIRE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_CACHE_EXPIRE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_COMPONENTS_PATH"}),(0,s.jsx)(n.code,{children:"LANGFLOW_COMPONENTS_PATH"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"langflow/components"})}),(0,s.jsxs)(n.td,{children:["Path to the directory containing custom components.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-components-path",children:[(0,s.jsx)(n.code,{children:"--components-path"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_CONFIG_DIR"}),(0,s.jsx)(n.code,{children:"LANGFLOW_CONFIG_DIR"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{}),(0,s.jsx)(n.td,{children:"Set the Langflow configuration directory where files, logs, and the Langflow database are stored."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_DATABASE_URL"}),(0,s.jsx)(n.code,{children:"LANGFLOW_DATABASE_URL"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{}),(0,s.jsx)(n.td,{children:"Set the database URL for Langflow. If you don't provide one, Langflow uses an SQLite database."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_DEV"}),(0,s.jsx)(n.code,{children:"LANGFLOW_DEV"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Run Langflow in development mode (may contain bugs).",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-dev",children:[(0,s.jsx)(n.code,{children:"--dev"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_FALLBACK_TO_ENV_VAR"}),(0,s.jsx)(n.code,{children:"LANGFLOW_FALLBACK_TO_ENV_VAR"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["If enabled, ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," set in the Langflow UI fall back to an environment variable with the same name when Langflow fails to retrieve the variable value."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_FRONTEND_PATH"}),(0,s.jsx)(n.code,{children:"LANGFLOW_FRONTEND_PATH"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"./frontend"})}),(0,s.jsxs)(n.td,{children:["Path to the frontend directory containing build files. This is for development purposes only.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-frontend-path",children:[(0,s.jsx)(n.code,{children:"--frontend-path"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES"}),(0,s.jsx)(n.code,{children:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"5"})}),(0,s.jsxs)(n.td,{children:["Set the maximum number of retries for the health check.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-health-check-max-retries",children:[(0,s.jsx)(n.code,{children:"--health-check-max-retries"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_HOST"}),(0,s.jsx)(n.code,{children:"LANGFLOW_HOST"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"127.0.0.1"})}),(0,s.jsxs)(n.td,{children:["The host on which the Langflow server will run.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-host",children:[(0,s.jsx)(n.code,{children:"--host"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_LANGCHAIN_CACHE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_LANGCHAIN_CACHE"})]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"InMemoryCache"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"SQLiteCache"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"InMemoryCache"})}),(0,s.jsxs)(n.td,{children:["Type of cache to use.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-cache",children:[(0,s.jsx)(n.code,{children:"--cache"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_LOG_FILE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_LOG_FILE"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"logs/langflow.log"})}),(0,s.jsxs)(n.td,{children:["Set the path to the log file for Langflow.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-log-file",children:[(0,s.jsx)(n.code,{children:"--log-file"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_LOG_LEVEL"}),(0,s.jsx)(n.code,{children:"LANGFLOW_LOG_LEVEL"})]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"debug"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"info"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"warning"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"error"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"critical"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"critical"})}),(0,s.jsxs)(n.td,{children:["Set the logging level.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-log-level",children:[(0,s.jsx)(n.code,{children:"--log-level"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"}),(0,s.jsx)(n.code,{children:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"100"})}),(0,s.jsxs)(n.td,{children:["Set the maximum file size for the upload in megabytes.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-max-file-size-upload",children:[(0,s.jsx)(n.code,{children:"--max-file-size-upload"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_OPEN_BROWSER"}),(0,s.jsx)(n.code,{children:"LANGFLOW_OPEN_BROWSER"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Open the system web browser on startup.",(0,s.jsx)("br",{})," See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-open-browser",children:[(0,s.jsx)(n.code,{children:"--open-browser"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_PORT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_PORT"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"7860"})}),(0,s.jsxs)(n.td,{children:["The port on which the Langflow server will run. The server automatically selects a free port if the specified port is in use.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-port",children:[(0,s.jsx)(n.code,{children:"--port"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_PROMETHEUS_ENABLED"}),(0,s.jsx)(n.code,{children:"LANGFLOW_PROMETHEUS_ENABLED"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Expose Prometheus metrics."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_PROMETHEUS_PORT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_PROMETHEUS_PORT"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"9090"})}),(0,s.jsx)(n.td,{children:"Set the port on which Langflow exposes Prometheus metrics."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REDIS_CACHE_EXPIRE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_CACHE_EXPIRE"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"3600"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CACHE_TYPE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REDIS_DB"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_DB"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"0"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CACHE_TYPE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REDIS_HOST"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_HOST"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"localhost"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CACHE_TYPE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REDIS_PORT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REDIS_PORT"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"6379"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CACHE_TYPE",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_REMOVE_API_KEYS"}),(0,s.jsx)(n.code,{children:"LANGFLOW_REMOVE_API_KEYS"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Remove API keys from the projects saved in the database.",(0,s.jsx)("br",{})," See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-remove-api-keys",children:[(0,s.jsx)(n.code,{children:"--remove-api-keys"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR"}),(0,s.jsx)(n.code,{children:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Save the Langflow database in ",(0,s.jsx)(n.a,{href:"#LANGFLOW_CONFIG_DIR",children:(0,s.jsx)(n.code,{children:"LANGFLOW_CONFIG_DIR"})})," instead of in the Langflow package directory. Note, when this variable is set to default (",(0,s.jsx)(n.code,{children:"false"}),"), the database isn't shared between different virtual environments and the database is deleted when you uninstall Langflow."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_STORE"}),(0,s.jsx)(n.code,{children:"LANGFLOW_STORE"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable the Langflow Store.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-store",children:[(0,s.jsx)(n.code,{children:"--store"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"}),(0,s.jsx)(n.code,{children:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"})]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Store environment variables as ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," in the database."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_SUPERUSER"}),(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Set the name for the superuser. Required if ",(0,s.jsx)(n.a,{href:"#LANGFLOW_AUTO_LOGIN",children:(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})})," is set to ",(0,s.jsx)(n.code,{children:"false"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#superuser-username",children:[(0,s.jsx)(n.code,{children:"superuser --username"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_SUPERUSER_PASSWORD"}),(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Set the password for the superuser. Required if ",(0,s.jsx)(n.a,{href:"#LANGFLOW_AUTO_LOGIN",children:(0,s.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})})," is set to ",(0,s.jsx)(n.code,{children:"false"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#superuser-password",children:[(0,s.jsx)(n.code,{children:"superuser --password"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"})]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Comma-separated list of environment variables to get from the environment and store as ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_WORKER_TIMEOUT"}),(0,s.jsx)(n.code,{children:"LANGFLOW_WORKER_TIMEOUT"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"300"})}),(0,s.jsxs)(n.td,{children:["Worker timeout in seconds.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-worker-timeout",children:[(0,s.jsx)(n.code,{children:"--worker-timeout"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)("a",{id:"LANGFLOW_WORKERS"}),(0,s.jsx)(n.code,{children:"LANGFLOW_WORKERS"})]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"1"})}),(0,s.jsxs)(n.td,{children:["Number of worker processes.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-workers",children:[(0,s.jsx)(n.code,{children:"--workers"})," option"]}),"."]})]})]})]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}function L(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},19365:(e,n,r)=>{r.d(n,{A:()=>o});r(96540);var s=r(18215);const t={tabItem:"tabItem_Ymn6"};var i=r(74848);function o(e){let{children:n,hidden:r,className:o}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.A)(t.tabItem,o),hidden:r,children:n})}},11470:(e,n,r)=>{r.d(n,{A:()=>_});var s=r(96540),t=r(18215),i=r(23104),o=r(56347),l=r(205),d=r(57485),c=r(31682),a=r(70679);function h(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function x(e){const{values:n,children:r}=e;return(0,s.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:r,attributes:s,default:t}}=e;return{value:n,label:r,attributes:s,default:t}}))}(r);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,r])}function j(e){let{value:n,tabValues:r}=e;return r.some((e=>e.value===n))}function u(e){let{queryString:n=!1,groupId:r}=e;const t=(0,o.W6)(),i=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r});return[(0,d.aZ)(i),(0,s.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(t.location.search);n.set(i,e),t.replace({...t.location,search:n.toString()})}),[i,t])]}function f(e){const{defaultValue:n,queryString:r=!1,groupId:t}=e,i=x(e),[o,d]=(0,s.useState)((()=>function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!j({value:n,tabValues:r}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const s=r.find((e=>e.default))??r[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:n,tabValues:i}))),[c,h]=u({queryString:r,groupId:t}),[f,p]=function(e){let{groupId:n}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,i]=(0,a.Dv)(r);return[t,(0,s.useCallback)((e=>{r&&i.set(e)}),[r,i])]}({groupId:t}),L=(()=>{const e=c??f;return j({value:e,tabValues:i})?e:null})();(0,l.A)((()=>{L&&d(L)}),[L]);return{selectedValue:o,selectValue:(0,s.useCallback)((e=>{if(!j({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);d(e),h(e),p(e)}),[h,p,i]),tabValues:i}}var p=r(92303);const L={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var b=r(74848);function g(e){let{className:n,block:r,selectedValue:s,selectValue:o,tabValues:l}=e;const d=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),a=e=>{const n=e.currentTarget,r=d.indexOf(n),t=l[r].value;t!==s&&(c(n),o(t))},h=e=>{let n=null;switch(e.key){case"Enter":a(e);break;case"ArrowRight":{const r=d.indexOf(e.currentTarget)+1;n=d[r]??d[0];break}case"ArrowLeft":{const r=d.indexOf(e.currentTarget)-1;n=d[r]??d[d.length-1];break}}n?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.A)("tabs",{"tabs--block":r},n),children:l.map((e=>{let{value:n,label:r,attributes:i}=e;return(0,b.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>d.push(e),onKeyDown:h,onClick:a,...i,className:(0,t.A)("tabs__item",L.tabItem,i?.className,{"tabs__item--active":s===n}),children:r??n},n)}))})}function v(e){let{lazy:n,children:r,selectedValue:i}=e;const o=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){const e=o.find((e=>e.props.value===i));return e?(0,s.cloneElement)(e,{className:(0,t.A)("margin-top--md",e.props.className)}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:o.map(((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==i})))})}function A(e){const n=f(e);return(0,b.jsxs)("div",{className:(0,t.A)("tabs-container",L.tabList),children:[(0,b.jsx)(g,{...n,...e}),(0,b.jsx)(v,{...n,...e})]})}function _(e){const n=(0,p.A)();return(0,b.jsx)(A,{...e,children:h(e.children)},String(n))}}}]); \ No newline at end of file diff --git a/assets/js/c329cc2b.46ee1117.js b/assets/js/c329cc2b.46ee1117.js new file mode 100644 index 0000000000..74a258243f --- /dev/null +++ b/assets/js/c329cc2b.46ee1117.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9304],{24905:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var n=t(74848),o=t(28453);const a={title:"Chat Memory",sidebar_position:1,slug:"/guides-chat-memory"},r=void 0,i={id:"Guides/guides-chat-memory",title:"Chat Memory",description:"Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.",source:"@site/docs/Guides/guides-chat-memory.md",sourceDirName:"Guides",slug:"/guides-chat-memory",permalink:"/guides-chat-memory",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Chat Memory",sidebar_position:1,slug:"/guides-chat-memory"},sidebar:"docs",previous:{title:"Vector Stores",permalink:"/components-vector-stores"},next:{title:"Data & Message",permalink:"/guides-data-message"}},c={},d=[{value:"Session ID",id:"4ee86e27d1004e8288a72c633c323703",level:2}];function l(e){const s={a:"a",code:"code",em:"em",h2:"h2",hr:"hr",img:"img",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate ",(0,n.jsx)(s.em,{children:"memories"})," for agents to store and recall information as needed."]}),"\n",(0,n.jsxs)(s.p,{children:["In any project, as long as there are ",(0,n.jsx)(s.a,{href:"/components-io",children:(0,n.jsx)(s.strong,{children:"Chat"})})," being used, memories are always being stored by default. These are messages from a user to the AI or vice-versa."]}),"\n",(0,n.jsxs)(s.p,{children:["To see and access this history of messages, Langflow features a component called ",(0,n.jsx)(s.strong,{children:"Chat Memory"}),". It retrieves previous messages and outputs them in structured format or parsed."]}),"\n",(0,n.jsxs)(s.p,{children:["To learn the basics about memory in Langflow, check out the ",(0,n.jsx)(s.a,{href:"/starter-projects-memory-chatbot",children:"Memory Chatbot"})," starter example."]}),"\n",(0,n.jsxs)(s.p,{children:["Memories can be visualized and managed directly from the ",(0,n.jsx)(s.strong,{children:"Playground"}),". You can edit and remove previous messages to inspect and validate the AI\u2019s response behavior. You can remove or edit previous messages to get your models acting just right."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(75918).A+"",width:"3244",height:"1776"})}),"\n",(0,n.jsx)(s.p,{children:"Modifying these memories will influence the behavior of the chatbot responses, as long as an agent uses them. Here you have the ability to remove or edit previous messages, allowing them to manipulate and explore how these changes affect model responses."}),"\n",(0,n.jsxs)(s.p,{children:["To modify chat memories, from the playground, click the ",(0,n.jsx)(s.strong,{children:"Options"})," menu of any session, and then select ",(0,n.jsx)(s.strong,{children:"Message Logs"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(77232).A+"",width:"3278",height:"1884"})}),"\n",(0,n.jsx)(s.h2,{id:"4ee86e27d1004e8288a72c633c323703",children:"Session ID"}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsxs)(s.p,{children:["Chat conversations store messages categorized by a ",(0,n.jsx)(s.code,{children:"Session ID"}),". A a single flow can host multiple session IDs, and different flows can also share the same one."]}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.strong,{children:"Chat Memory"})," component also retrieves message histories by ",(0,n.jsx)(s.code,{children:"Session ID"}),", which users can change in the component's ",(0,n.jsx)(s.strong,{children:"Controls"})," pane."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(86190).A+"",width:"3246",height:"1772"})}),"\n",(0,n.jsxs)(s.p,{children:["By default, if the ",(0,n.jsx)(s.code,{children:"Session ID"})," value is empty, it is set to the same value as ",(0,n.jsx)(s.code,{children:"Flow ID"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["You can also display all messages stored across every flow and session by going to\xa0",(0,n.jsx)(s.strong,{children:"Settings"}),"\xa0>\xa0",(0,n.jsx)(s.strong,{children:"Messages"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(25381).A+"",width:"2910",height:"1686"})})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},86190:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/chat-input-controls-pane-b60b21c923aa47a2265ae1775e693cb0.png"},77232:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/logs-7deb7c1a822f826469d17856b9dcebb5.png"},75918:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/playground-b2c623fb6849024570bc9bd5285309f5.png"},25381:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/settings-messages-d0ad3a8e3bea5f8896565c041946a919.png"},28453:(e,s,t)=>{t.d(s,{R:()=>r,x:()=>i});var n=t(96540);const o={},a=n.createContext(o);function r(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c329cc2b.fb5b1e34.js b/assets/js/c329cc2b.fb5b1e34.js deleted file mode 100644 index 3b27aca0d9..0000000000 --- a/assets/js/c329cc2b.fb5b1e34.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9304],{24905:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var t=n(74848),o=n(28453);const a={title:"Chat Memory",sidebar_position:1,slug:"/guides-chat-memory"},r=void 0,i={id:"Guides/guides-chat-memory",title:"Chat Memory",description:"Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.",source:"@site/docs/Guides/guides-chat-memory.md",sourceDirName:"Guides",slug:"/guides-chat-memory",permalink:"/guides-chat-memory",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Chat Memory",sidebar_position:1,slug:"/guides-chat-memory"},sidebar:"docs",previous:{title:"Environment variables",permalink:"/environment-variables"},next:{title:"Data & Message",permalink:"/guides-data-message"}},c={},d=[{value:"Session ID",id:"4ee86e27d1004e8288a72c633c323703",level:2}];function l(e){const s={a:"a",code:"code",em:"em",h2:"h2",hr:"hr",img:"img",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:["Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate ",(0,t.jsx)(s.em,{children:"memories"})," for agents to store and recall information as needed."]}),"\n",(0,t.jsxs)(s.p,{children:["In any project, as long as there are ",(0,t.jsx)(s.a,{href:"/components-io",children:(0,t.jsx)(s.strong,{children:"Chat"})})," being used, memories are always being stored by default. These are messages from a user to the AI or vice-versa."]}),"\n",(0,t.jsxs)(s.p,{children:["To see and access this history of messages, Langflow features a component called ",(0,t.jsx)(s.strong,{children:"Chat Memory"}),". It retrieves previous messages and outputs them in structured format or parsed."]}),"\n",(0,t.jsxs)(s.p,{children:["To learn the basics about memory in Langflow, check out the ",(0,t.jsx)(s.a,{href:"/starter-projects-memory-chatbot",children:"Memory Chatbot"})," starter example."]}),"\n",(0,t.jsxs)(s.p,{children:["Memories can be visualized and managed directly from the ",(0,t.jsx)(s.strong,{children:"Playground"}),". You can edit and remove previous messages to inspect and validate the AI\u2019s response behavior. You can remove or edit previous messages to get your models acting just right."]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:n(75918).A+"",width:"3244",height:"1776"})}),"\n",(0,t.jsx)(s.p,{children:"Modifying these memories will influence the behavior of the chatbot responses, as long as an agent uses them. Here you have the ability to remove or edit previous messages, allowing them to manipulate and explore how these changes affect model responses."}),"\n",(0,t.jsxs)(s.p,{children:["To modify chat memories, from the playground, click the ",(0,t.jsx)(s.strong,{children:"Options"})," menu of any session, and then select ",(0,t.jsx)(s.strong,{children:"Message Logs"}),"."]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:n(77232).A+"",width:"3278",height:"1884"})}),"\n",(0,t.jsx)(s.h2,{id:"4ee86e27d1004e8288a72c633c323703",children:"Session ID"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.p,{children:["Chat conversations store messages categorized by a ",(0,t.jsx)(s.code,{children:"Session ID"}),". A a single flow can host multiple session IDs, and different flows can also share the same one."]}),"\n",(0,t.jsxs)(s.p,{children:["The ",(0,t.jsx)(s.strong,{children:"Chat Memory"})," component also retrieves message histories by ",(0,t.jsx)(s.code,{children:"Session ID"}),", which users can change in the component's ",(0,t.jsx)(s.strong,{children:"Controls"})," pane."]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:n(86190).A+"",width:"3246",height:"1772"})}),"\n",(0,t.jsxs)(s.p,{children:["By default, if the ",(0,t.jsx)(s.code,{children:"Session ID"})," value is empty, it is set to the same value as ",(0,t.jsx)(s.code,{children:"Flow ID"}),"."]}),"\n",(0,t.jsxs)(s.p,{children:["You can also display all messages stored across every flow and session by going to\xa0",(0,t.jsx)(s.strong,{children:"Settings"}),"\xa0>\xa0",(0,t.jsx)(s.strong,{children:"Messages"}),"."]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:n(25381).A+"",width:"2910",height:"1686"})})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},86190:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/chat-input-controls-pane-b60b21c923aa47a2265ae1775e693cb0.png"},77232:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/logs-7deb7c1a822f826469d17856b9dcebb5.png"},75918:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/playground-b2c623fb6849024570bc9bd5285309f5.png"},25381:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/settings-messages-d0ad3a8e3bea5f8896565c041946a919.png"},28453:(e,s,n)=>{n.d(s,{R:()=>r,x:()=>i});var t=n(96540);const o={},a=t.createContext(o);function r(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c3616f7f.8a8bf39e.js b/assets/js/c3616f7f.8a8bf39e.js deleted file mode 100644 index d1dcaa7cb5..0000000000 --- a/assets/js/c3616f7f.8a8bf39e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1917],{25542:(e,o,t)=>{t.r(o),t.d(o,{CH:()=>d,assets:()=>l,chCodeConfig:()=>p,contentTitle:()=>c,default:()=>g,frontMatter:()=>i,metadata:()=>a,toc:()=>h});var n=t(74848),s=t(28453),r=t(24754);const i={title:"Playground",sidebar_position:2,slug:"/workspace-playground"},c=void 0,a={id:"Workspace/workspace-playground",title:"Playground",description:"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.",source:"@site/docs/Workspace/workspace-playground.md",sourceDirName:"Workspace",slug:"/workspace-playground",permalink:"/workspace-playground",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Playground",sidebar_position:2,slug:"/workspace-playground"},sidebar:"docs",previous:{title:"Logs",permalink:"/workspace-logs"},next:{title:"Join the Langflow community",permalink:"/contributing-community"}},l={},d={annotations:r.hk,Code:r.Cy},p={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},h=[{value:"Memory Management",id:"821a5ee2a8a44d35b49943cba630511c",level:2},{value:"Use custom Session IDs for multiple user interactions",id:"use-custom-session-ids-for-multiple-user-interactions",level:2}];function u(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",hr:"hr",img:"img",p:"p",strong:"strong",...(0,s.R)(),...e.components};return d||m("CH",!1),d.Code||m("CH.Code",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,n.jsxs)(o.p,{children:["The\xa0",(0,n.jsx)(o.strong,{children:"Playground"}),"\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes."]}),"\n",(0,n.jsxs)(o.p,{children:["As long as you have an ",(0,n.jsx)(o.a,{href:"/components-io",children:"Input or Output"})," component working, you can open it up by clicking the\xa0",(0,n.jsx)(o.strong,{children:"Playground"}),"\xa0button."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{src:t(75918).A+"",width:"3244",height:"1776"})}),"\n",(0,n.jsx)(o.admonition,{type:"tip",children:(0,n.jsxs)(o.p,{children:["Notice how the ",(0,n.jsx)(o.strong,{children:"Playground's"})," window arrangement changes depending on what components are being used. Langflow can be used for applications that go beyond chat-based interfaces."]})}),"\n",(0,n.jsx)(o.h2,{id:"821a5ee2a8a44d35b49943cba630511c",children:"Memory Management"}),"\n",(0,n.jsx)(o.hr,{}),"\n",(0,n.jsxs)(o.p,{children:["When you send a message from the ",(0,n.jsx)(o.strong,{children:"Playground"})," interface, the interactions for that session are stored in the ",(0,n.jsx)(o.strong,{children:"Message Logs"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"Langflow allows every chat message to be stored, and a single flow can have multiple chat sessions."}),"\n",(0,n.jsx)(o.p,{children:"Chat conversations store messages categorized by a Session ID. A single flow can host multiple Session IDs, and different flows can share the same Session ID."}),"\n",(0,n.jsx)(o.p,{children:"To view messages by session ID, from the Playground, click the Options menu of any session, and then select Message Logs."}),"\n",(0,n.jsx)(o.p,{children:"Individual messages in chat memory can be edited or deleted. Modifying these memories will influence the behavior of the chatbot responses."}),"\n",(0,n.jsxs)(o.p,{children:["To learn more about memories in Langflow, see\xa0",(0,n.jsx)(o.a,{href:"/guides-chat-memory",children:"Chat Memory"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"use-custom-session-ids-for-multiple-user-interactions",children:"Use custom Session IDs for multiple user interactions"}),"\n",(0,n.jsx)(o.p,{children:"Session ID values are used to track user interactions in a flow. They can be configured in the Advanced Settings of the Chat Input and Chat Output components."}),"\n",(0,n.jsx)(o.p,{children:"By default, if the Session ID value is empty, it is set to the same value as the Flow ID. This means every API call will use the same Session ID, and you\u2019ll effectively have one session."}),"\n",(0,n.jsxs)(o.p,{children:["To have more than one session in a single flow, pass a specific Session ID to a flow with the ",(0,n.jsx)(o.code,{children:"session_id"})," parameter in the URL. All the components in the flow will automatically use this ",(0,n.jsx)(o.code,{children:"session_id"})," value."]}),"\n",(0,n.jsx)(o.p,{children:"Post a message to a flow with a specific Session ID with curl:"}),"\n",(0,n.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "http://127.0.0.1:7860/api/v1/run/4017e9f2-1fec-4643-bb05-165a8b50c4b3?stream=false" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'Content-Type: application/json' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:'\'{"input_value": "message",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "output_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "session_id": "YOUR_SESSION_ID"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,n.jsxs)(o.p,{children:["Check your flow's ",(0,n.jsx)(o.strong,{children:"Playground"}),". In addition to the messages stored for the Default Session, a new session is started with your new Session ID."]}),"\n",(0,n.jsxs)(o.p,{children:[(0,n.jsx)(o.strong,{children:"Chat Input"})," and ",(0,n.jsx)(o.strong,{children:"Chat Output"})," components can also store a ",(0,n.jsx)(o.code,{children:"session_id"})," parameter as a ",(0,n.jsx)(o.strong,{children:"Tweak"})," for specific sessions. The Playground will still display all available sessions, but the flow will use the value stored in the ",(0,n.jsx)(o.code,{children:"session_id"})," tweak."]}),"\n",(0,n.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "http://127.0.0.1:7860/api/v1/run/4017e9f2-1fec-4643-bb05-165a8b50c4b3?stream=false" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'Content-Type: application/json' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:'\'{"input_value": "message",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "output_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "tweaks": {',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "session_id": "YOUR_SESSION_ID"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})]})}function g(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}function m(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},75918:(e,o,t)=>{t.d(o,{A:()=>n});const n=t.p+"assets/images/playground-b2c623fb6849024570bc9bd5285309f5.png"}}]); \ No newline at end of file diff --git a/assets/js/c3616f7f.8eb62a8e.js b/assets/js/c3616f7f.8eb62a8e.js new file mode 100644 index 0000000000..2b1cce27cf --- /dev/null +++ b/assets/js/c3616f7f.8eb62a8e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1917],{25542:(e,o,t)=>{t.r(o),t.d(o,{CH:()=>d,assets:()=>l,chCodeConfig:()=>p,contentTitle:()=>a,default:()=>g,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var s=t(74848),n=t(28453),r=t(24754);const i={title:"Playground",sidebar_position:2,slug:"/workspace-playground"},a=void 0,c={id:"Workspace/workspace-playground",title:"Playground",description:"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.",source:"@site/docs/Workspace/workspace-playground.md",sourceDirName:"Workspace",slug:"/workspace-playground",permalink:"/workspace-playground",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Playground",sidebar_position:2,slug:"/workspace-playground"},sidebar:"docs",previous:{title:"Logs",permalink:"/workspace-logs"},next:{title:"Agents overview",permalink:"/agents-overview"}},l={},d={annotations:r.hk,Code:r.Cy},p={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},h=[{value:"Memory Management",id:"821a5ee2a8a44d35b49943cba630511c",level:2},{value:"Use custom Session IDs for multiple user interactions",id:"use-custom-session-ids-for-multiple-user-interactions",level:2}];function u(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",hr:"hr",img:"img",p:"p",strong:"strong",...(0,n.R)(),...e.components};return d||m("CH",!1),d.Code||m("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,s.jsxs)(o.p,{children:["The\xa0",(0,s.jsx)(o.strong,{children:"Playground"}),"\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes."]}),"\n",(0,s.jsxs)(o.p,{children:["As long as you have an ",(0,s.jsx)(o.a,{href:"/components-io",children:"Input or Output"})," component working, you can open it up by clicking the\xa0",(0,s.jsx)(o.strong,{children:"Playground"}),"\xa0button."]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{src:t(75918).A+"",width:"3244",height:"1776"})}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:["Notice how the ",(0,s.jsx)(o.strong,{children:"Playground's"})," window arrangement changes depending on what components are being used. Langflow can be used for applications that go beyond chat-based interfaces."]})}),"\n",(0,s.jsx)(o.h2,{id:"821a5ee2a8a44d35b49943cba630511c",children:"Memory Management"}),"\n",(0,s.jsx)(o.hr,{}),"\n",(0,s.jsxs)(o.p,{children:["When you send a message from the ",(0,s.jsx)(o.strong,{children:"Playground"})," interface, the interactions for that session are stored in the ",(0,s.jsx)(o.strong,{children:"Message Logs"}),"."]}),"\n",(0,s.jsx)(o.p,{children:"Langflow allows every chat message to be stored, and a single flow can have multiple chat sessions."}),"\n",(0,s.jsx)(o.p,{children:"Chat conversations store messages categorized by a Session ID. A single flow can host multiple Session IDs, and different flows can share the same Session ID."}),"\n",(0,s.jsx)(o.p,{children:"To view messages by session ID, from the Playground, click the Options menu of any session, and then select Message Logs."}),"\n",(0,s.jsx)(o.p,{children:"Individual messages in chat memory can be edited or deleted. Modifying these memories will influence the behavior of the chatbot responses."}),"\n",(0,s.jsxs)(o.p,{children:["To learn more about memories in Langflow, see\xa0",(0,s.jsx)(o.a,{href:"/guides-chat-memory",children:"Chat Memory"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"use-custom-session-ids-for-multiple-user-interactions",children:"Use custom Session IDs for multiple user interactions"}),"\n",(0,s.jsx)(o.p,{children:"Session ID values are used to track user interactions in a flow. They can be configured in the Advanced Settings of the Chat Input and Chat Output components."}),"\n",(0,s.jsx)(o.p,{children:"By default, if the Session ID value is empty, it is set to the same value as the Flow ID. This means every API call will use the same Session ID, and you\u2019ll effectively have one session."}),"\n",(0,s.jsxs)(o.p,{children:["To have more than one session in a single flow, pass a specific Session ID to a flow with the ",(0,s.jsx)(o.code,{children:"session_id"})," parameter in the URL. All the components in the flow will automatically use this ",(0,s.jsx)(o.code,{children:"session_id"})," value."]}),"\n",(0,s.jsx)(o.p,{children:"Post a message to a flow with a specific Session ID with curl:"}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "http://127.0.0.1:7860/api/v1/run/4017e9f2-1fec-4643-bb05-165a8b50c4b3?stream=false" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'Content-Type: application/json' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:'\'{"input_value": "message",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "output_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "session_id": "YOUR_SESSION_ID"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["Check your flow's ",(0,s.jsx)(o.strong,{children:"Playground"}),". In addition to the messages stored for the Default Session, a new session is started with your new Session ID."]}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.strong,{children:"Chat Input"})," and ",(0,s.jsx)(o.strong,{children:"Chat Output"})," components can also store a ",(0,s.jsx)(o.code,{children:"session_id"})," parameter as a ",(0,s.jsx)(o.strong,{children:"Tweak"})," for specific sessions. The Playground will still display all available sessions, but the flow will use the value stored in the ",(0,s.jsx)(o.code,{children:"session_id"})," tweak."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "http://127.0.0.1:7860/api/v1/run/4017e9f2-1fec-4643-bb05-165a8b50c4b3?stream=false" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'Content-Type: application/json' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:'\'{"input_value": "message",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "output_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "tweaks": {',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "session_id": "YOUR_SESSION_ID"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})]})}function g(e={}){const{wrapper:o}={...(0,n.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}function m(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},75918:(e,o,t)=>{t.d(o,{A:()=>s});const s=t.p+"assets/images/playground-b2c623fb6849024570bc9bd5285309f5.png"}}]); \ No newline at end of file diff --git a/assets/js/c563aec0.6fa1329f.js b/assets/js/c563aec0.6fa1329f.js new file mode 100644 index 0000000000..a0813443c6 --- /dev/null +++ b/assets/js/c563aec0.6fa1329f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4633],{45562:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var o=n(74848),s=n(28453);const a={title:"Agents overview",sidebar_position:1,slug:"/agents-overview"},r=void 0,i={id:"Agents/agents-overview",title:"Agents overview",description:"Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.",source:"@site/docs/Agents/agents-overview.md",sourceDirName:"Agents",slug:"/agents-overview",permalink:"/agents-overview",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Agents overview",sidebar_position:1,slug:"/agents-overview"},sidebar:"docs",previous:{title:"Playground",permalink:"/workspace-playground"},next:{title:"Create a problem-solving agent",permalink:"/agents-tool-calling-agent-component"}},l={},c=[];function g(e){const t={a:"a",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Agents"})," are AI systems that use LLMs as a brain to analyze problems and select external tools."]}),"\n",(0,o.jsx)(t.p,{children:"Instead of developers having to create logical statements to direct every possible path of a program, an agent can operate with autonomy. An agent can leverage external tools and APIs to gather information and take action, demonstrate chain-of-thought reasoning, and generate tailored text for specific purposes."}),"\n",(0,o.jsxs)(t.p,{children:["To simplify the development of agents, Langflow created a custom ",(0,o.jsx)(t.a,{href:"/components-agents#agent-component",children:"Tool calling agent"})," component that simplifies configuration and lets developers focus on solving problems with agents."]}),"\n",(0,o.jsx)("img",{src:"/img/tool-calling-agent-component.png",alt:"Prompt component",style:{display:"block",margin:"auto",width:300}}),"\n",(0,o.jsxs)(t.p,{children:["To get started, see ",(0,o.jsx)(t.a,{href:"/agents-tool-calling-agent-component",children:"Create a problem solving agent"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var o=n(96540);const s={},a=o.createContext(s);function r(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c563aec0.d56984d1.js b/assets/js/c563aec0.d56984d1.js deleted file mode 100644 index 3b80d66596..0000000000 --- a/assets/js/c563aec0.d56984d1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4633],{45562:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var o=n(74848),s=n(28453);const a={title:"Agents overview",sidebar_position:1,slug:"/agents-overview"},r=void 0,i={id:"Agents/agents-overview",title:"Agents overview",description:"Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.",source:"@site/docs/Agents/agents-overview.md",sourceDirName:"Agents",slug:"/agents-overview",permalink:"/agents-overview",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Agents overview",sidebar_position:1,slug:"/agents-overview"},sidebar:"docs",previous:{title:"Vector Stores",permalink:"/components-vector-stores"},next:{title:"Create a problem-solving agent",permalink:"/agents-tool-calling-agent-component"}},l={},c=[];function g(e){const t={a:"a",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Agents"})," are AI systems that use LLMs as a brain to analyze problems and select external tools."]}),"\n",(0,o.jsx)(t.p,{children:"Instead of developers having to create logical statements to direct every possible path of a program, an agent can operate with autonomy. An agent can leverage external tools and APIs to gather information and take action, demonstrate chain-of-thought reasoning, and generate tailored text for specific purposes."}),"\n",(0,o.jsxs)(t.p,{children:["To simplify the development of agents, Langflow created a custom ",(0,o.jsx)(t.a,{href:"/components-agents#agent-component",children:"Tool calling agent"})," component that simplifies configuration and lets developers focus on solving problems with agents."]}),"\n",(0,o.jsx)("img",{src:"/img/tool-calling-agent-component.png",alt:"Prompt component",style:{display:"block",margin:"auto",width:300}}),"\n",(0,o.jsxs)(t.p,{children:["To get started, see ",(0,o.jsx)(t.a,{href:"/agents-tool-calling-agent-component",children:"Create a problem solving agent"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var o=n(96540);const s={},a=o.createContext(s);function r(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dc7b1ef3.0ebce206.js b/assets/js/dc7b1ef3.0ebce206.js deleted file mode 100644 index 3e55dbc185..0000000000 --- a/assets/js/dc7b1ef3.0ebce206.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[868],{61427:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>t});var s=o(74848),l=o(28453);const c={title:"Docker",sidebar_position:2,slug:"/deployment-docker"},i=void 0,r={id:"Deployment/deployment-docker",title:"Docker",description:"This guide will help you get LangFlow up and running using Docker and Docker Compose.",source:"@site/docs/Deployment/deployment-docker.md",sourceDirName:"Deployment",slug:"/deployment-docker",permalink:"/deployment-docker",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Docker",sidebar_position:2,slug:"/deployment-docker"},sidebar:"docs",previous:{title:"Telemetry",permalink:"/contributing-telemetry"},next:{title:"GCP",permalink:"/deployment-gcp"}},d={},t=[{value:"Prerequisites",id:"856bb2d98156402bbd1980365b98110c",level:2},{value:"Docker",id:"55b5d304f2294e47b0dcd3e069cf5e67",level:2},{value:"Clone repo and build Docker container",id:"ba89773aa8b8425b985bfe7ba91c35cc",level:3},{value:"Docker Compose configuration",id:"02226209cad24185a6ec5b69bd820d0f",level:3},{value:"LangFlow service",id:"d749848451ea43bd86f6f096dc77e6e6",level:3},{value:"PostgreSQL service",id:"121140decbfe4997b12213bdd2c4da7e",level:3},{value:"Switch to a specific LangFlow version",id:"2b3e191ea48f4feab89242433cf012d5",level:3}];function a(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",ul:"ul",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"This guide will help you get LangFlow up and running using Docker and Docker Compose."}),"\n",(0,s.jsx)(n.h2,{id:"856bb2d98156402bbd1980365b98110c",children:"Prerequisites"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Docker"}),"\n",(0,s.jsx)(n.li,{children:"Docker Compose"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"55b5d304f2294e47b0dcd3e069cf5e67",children:"Docker"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"ba89773aa8b8425b985bfe7ba91c35cc",children:"Clone repo and build Docker container"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Clone the LangFlow repository:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"git clone https://github.com/langflow-ai/langflow.git"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Navigate to the\xa0",(0,s.jsx)(n.code,{children:"docker_example"}),"\xa0directory:"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"cd langflow/docker_example"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Run the Docker Compose file:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"docker compose up"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["LangFlow will now be accessible at\xa0",(0,s.jsx)(n.a,{href:"http://localhost:7860/",children:"http://localhost:7860/"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"02226209cad24185a6ec5b69bd820d0f",children:"Docker Compose configuration"}),"\n",(0,s.jsxs)(n.p,{children:["The Docker Compose configuration spins up two services:\xa0",(0,s.jsx)(n.code,{children:"langflow"}),"\xa0and\xa0",(0,s.jsx)(n.code,{children:"postgres"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"d749848451ea43bd86f6f096dc77e6e6",children:"LangFlow service"}),"\n",(0,s.jsxs)(n.p,{children:["The\xa0",(0,s.jsx)(n.code,{children:"langflow"}),"\xa0service uses the\xa0",(0,s.jsx)(n.code,{children:"langflowai/langflow:latest"}),"\xa0Docker image and exposes port 7860. It depends on the\xa0",(0,s.jsx)(n.code,{children:"postgres"}),"\xa0service."]}),"\n",(0,s.jsx)(n.p,{children:"Environment variables:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"LANGFLOW_DATABASE_URL"}),": The connection string for the PostgreSQL database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"LANGFLOW_CONFIG_DIR"}),": The directory where LangFlow stores logs, file storage, monitor data, and secret keys."]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Volumes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"langflow-data"}),": This volume is mapped to\xa0",(0,s.jsx)(n.code,{children:"/var/lib/langflow"}),"\xa0in the container."]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"121140decbfe4997b12213bdd2c4da7e",children:"PostgreSQL service"}),"\n",(0,s.jsxs)(n.p,{children:["The\xa0",(0,s.jsx)(n.code,{children:"postgres"}),"\xa0service uses the\xa0",(0,s.jsx)(n.code,{children:"postgres:16"}),"\xa0Docker image and exposes port 5432."]}),"\n",(0,s.jsx)(n.p,{children:"Environment variables:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"POSTGRES_USER"}),": The username for the PostgreSQL database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"POSTGRES_PASSWORD"}),": The password for the PostgreSQL database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"POSTGRES_DB"}),": The name of the PostgreSQL database."]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Volumes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"langflow-postgres"}),": This volume is mapped to\xa0",(0,s.jsx)(n.code,{children:"/var/lib/postgresql/data"}),"\xa0in the container."]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"2b3e191ea48f4feab89242433cf012d5",children:"Switch to a specific LangFlow version"}),"\n",(0,s.jsxs)(n.p,{children:["If you want to use a specific version of LangFlow, you can modify the\xa0",(0,s.jsx)(n.code,{children:"image"}),"\xa0field under the\xa0",(0,s.jsx)(n.code,{children:"langflow"}),"\xa0service in the Docker Compose file. For example, to use version 1.0-alpha, change\xa0",(0,s.jsx)(n.code,{children:"langflowai/langflow:latest"}),"\xa0to\xa0",(0,s.jsx)(n.code,{children:"langflowai/langflow:1.0-alpha"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},28453:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>r});var s=o(96540);const l={},c=s.createContext(l);function i(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dc7b1ef3.dcdd6bc3.js b/assets/js/dc7b1ef3.dcdd6bc3.js new file mode 100644 index 0000000000..ff58bf79a7 --- /dev/null +++ b/assets/js/dc7b1ef3.dcdd6bc3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[868],{61427:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>t});var s=o(74848),l=o(28453);const c={title:"Docker",sidebar_position:2,slug:"/deployment-docker"},i=void 0,r={id:"Deployment/deployment-docker",title:"Docker",description:"This guide will help you get LangFlow up and running using Docker and Docker Compose.",source:"@site/docs/Deployment/deployment-docker.md",sourceDirName:"Deployment",slug:"/deployment-docker",permalink:"/deployment-docker",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Docker",sidebar_position:2,slug:"/deployment-docker"},sidebar:"docs",previous:{title:"\ud83d\udcda New to LLMs?",permalink:"/guides-new-to-llms"},next:{title:"GCP",permalink:"/deployment-gcp"}},d={},t=[{value:"Prerequisites",id:"856bb2d98156402bbd1980365b98110c",level:2},{value:"Docker",id:"55b5d304f2294e47b0dcd3e069cf5e67",level:2},{value:"Clone repo and build Docker container",id:"ba89773aa8b8425b985bfe7ba91c35cc",level:3},{value:"Docker Compose configuration",id:"02226209cad24185a6ec5b69bd820d0f",level:3},{value:"LangFlow service",id:"d749848451ea43bd86f6f096dc77e6e6",level:3},{value:"PostgreSQL service",id:"121140decbfe4997b12213bdd2c4da7e",level:3},{value:"Switch to a specific LangFlow version",id:"2b3e191ea48f4feab89242433cf012d5",level:3}];function a(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",ul:"ul",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"This guide will help you get LangFlow up and running using Docker and Docker Compose."}),"\n",(0,s.jsx)(n.h2,{id:"856bb2d98156402bbd1980365b98110c",children:"Prerequisites"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Docker"}),"\n",(0,s.jsx)(n.li,{children:"Docker Compose"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"55b5d304f2294e47b0dcd3e069cf5e67",children:"Docker"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"ba89773aa8b8425b985bfe7ba91c35cc",children:"Clone repo and build Docker container"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Clone the LangFlow repository:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"git clone https://github.com/langflow-ai/langflow.git"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Navigate to the\xa0",(0,s.jsx)(n.code,{children:"docker_example"}),"\xa0directory:"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"cd langflow/docker_example"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Run the Docker Compose file:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"docker compose up"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["LangFlow will now be accessible at\xa0",(0,s.jsx)(n.a,{href:"http://localhost:7860/",children:"http://localhost:7860/"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"02226209cad24185a6ec5b69bd820d0f",children:"Docker Compose configuration"}),"\n",(0,s.jsxs)(n.p,{children:["The Docker Compose configuration spins up two services:\xa0",(0,s.jsx)(n.code,{children:"langflow"}),"\xa0and\xa0",(0,s.jsx)(n.code,{children:"postgres"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"d749848451ea43bd86f6f096dc77e6e6",children:"LangFlow service"}),"\n",(0,s.jsxs)(n.p,{children:["The\xa0",(0,s.jsx)(n.code,{children:"langflow"}),"\xa0service uses the\xa0",(0,s.jsx)(n.code,{children:"langflowai/langflow:latest"}),"\xa0Docker image and exposes port 7860. It depends on the\xa0",(0,s.jsx)(n.code,{children:"postgres"}),"\xa0service."]}),"\n",(0,s.jsx)(n.p,{children:"Environment variables:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"LANGFLOW_DATABASE_URL"}),": The connection string for the PostgreSQL database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"LANGFLOW_CONFIG_DIR"}),": The directory where LangFlow stores logs, file storage, monitor data, and secret keys."]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Volumes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"langflow-data"}),": This volume is mapped to\xa0",(0,s.jsx)(n.code,{children:"/var/lib/langflow"}),"\xa0in the container."]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"121140decbfe4997b12213bdd2c4da7e",children:"PostgreSQL service"}),"\n",(0,s.jsxs)(n.p,{children:["The\xa0",(0,s.jsx)(n.code,{children:"postgres"}),"\xa0service uses the\xa0",(0,s.jsx)(n.code,{children:"postgres:16"}),"\xa0Docker image and exposes port 5432."]}),"\n",(0,s.jsx)(n.p,{children:"Environment variables:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"POSTGRES_USER"}),": The username for the PostgreSQL database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"POSTGRES_PASSWORD"}),": The password for the PostgreSQL database."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"POSTGRES_DB"}),": The name of the PostgreSQL database."]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Volumes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"langflow-postgres"}),": This volume is mapped to\xa0",(0,s.jsx)(n.code,{children:"/var/lib/postgresql/data"}),"\xa0in the container."]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"2b3e191ea48f4feab89242433cf012d5",children:"Switch to a specific LangFlow version"}),"\n",(0,s.jsxs)(n.p,{children:["If you want to use a specific version of LangFlow, you can modify the\xa0",(0,s.jsx)(n.code,{children:"image"}),"\xa0field under the\xa0",(0,s.jsx)(n.code,{children:"langflow"}),"\xa0service in the Docker Compose file. For example, to use version 1.0-alpha, change\xa0",(0,s.jsx)(n.code,{children:"langflowai/langflow:latest"}),"\xa0to\xa0",(0,s.jsx)(n.code,{children:"langflowai/langflow:1.0-alpha"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},28453:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>r});var s=o(96540);const l={},c=s.createContext(l);function i(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f659caff.8b35f22c.js b/assets/js/f659caff.8b35f22c.js deleted file mode 100644 index 8cc82738c6..0000000000 --- a/assets/js/f659caff.8b35f22c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4417],{1280:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=t(74848),r=t(28453);const o={title:"Dynamic agent",sidebar_position:7,slug:"/starter-projects-dynamic-agent"},i=void 0,a={id:"Starter-Projects/starter-projects-dynamic-agent",title:"Dynamic agent",description:"Build a Dynamic Agent flow for an agentic application using the CrewAI.",source:"@site/docs/Starter-Projects/starter-projects-dynamic-agent.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-dynamic-agent",permalink:"/starter-projects-dynamic-agent",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:7,frontMatter:{title:"Dynamic agent",sidebar_position:7,slug:"/starter-projects-dynamic-agent"},sidebar:"docs",previous:{title:"Document QA",permalink:"/starter-projects-document-qa"},next:{title:"Memory Chatbot",permalink:"/starter-projects-memory-chatbot"}},c={},l=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Open Langflow and start a new flow",id:"open-langflow-and-start-a-new-flow",level:2},{value:"Run the Dynamic Agent flow",id:"run-the-dynamic-agent-flow",level:2}];function h(e){const n={a:"a",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["Build a ",(0,s.jsx)(n.strong,{children:"Dynamic Agent"})," flow for an agentic application using the CrewAI."]}),"\n",(0,s.jsxs)(n.p,{children:["An ",(0,s.jsx)(n.strong,{children:"agent"}),' uses an LLM as its "brain" to reason through tasks and select among the connected tools to complete them.']}),"\n",(0,s.jsxs)(n.p,{children:["This flow uses ",(0,s.jsx)(n.a,{href:"https://docs.crewai.com/",children:"CrewAI"})," to manage a ",(0,s.jsx)(n.a,{href:"https://docs.crewai.com/how-to/Hierarchical/",children:"Hierarchical crew"})," of ",(0,s.jsx)(n.strong,{children:"Agents"})," as they perform a sequence of ",(0,s.jsx)(n.strong,{children:"Tasks"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["CrewAI agents have ",(0,s.jsx)(n.strong,{children:"Roles"}),", ",(0,s.jsx)(n.strong,{children:"Goals"}),", and ",(0,s.jsx)(n.strong,{children:"Backstories"})," that define their behavior and interactions with other agents. Agents in a Hierarchical Crew are managed by a single agent with a ",(0,s.jsx)(n.strong,{children:"Manager"})," role, which is connected to an ",(0,s.jsx)(n.strong,{children:"Open AI"})," LLM component to reason through the tasks and select the appropriate tools to complete them."]}),"\n",(0,s.jsxs)(n.p,{children:['This flow is "dynamic" because it uses the ',(0,s.jsx)(n.strong,{children:"Chat input"})," component's text to define a CrewAI agent's Role, Goal, and Backstory. The created agent then uses the connected tools to research and complete the ",(0,s.jsx)(n.strong,{children:"Task"})," created from the ",(0,s.jsx)(n.strong,{children:"Chat input"})," component."]}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(n.p,{children:["To use this flow, you need an ",(0,s.jsx)(n.a,{href:"https://platform.openai.com/",children:"OpenAI API key"})," and a ",(0,s.jsx)(n.a,{href:"https://www.searchapi.io/",children:"Search API key"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"open-langflow-and-start-a-new-flow",children:"Open Langflow and start a new flow"}),"\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.strong,{children:"New Flow"}),", and then select the ",(0,s.jsx)(n.strong,{children:"Dynamic Agent"})," flow."]}),"\n",(0,s.jsx)(n.p,{children:"This opens a starter flow with the necessary components to run an agentic application using CrewAI."}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"Dynamic Agent"})," flow consists of these components:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Chat Input"})," component accepts user input to the chat."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Prompt"})," component combines the user input with a user-defined prompt."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"OpenAI"})," model component sends the user input and prompt to the OpenAI API and receives a response."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Chat Output"})," component prints the flow's output to the chat."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"CrewAI Agent"})," component is an autonomous unit programmed to perform tasks, make decisions, and communicate with other agents."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Crew AI Crew"})," component represents a collaborative group of agents working together to achieve a set of tasks. This Crew can manage work ",(0,s.jsx)(n.strong,{children:"sequentially"})," or ",(0,s.jsx)(n.strong,{children:"hierarchically"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Crew AI Task"})," component is a specific assignment to be completed by agents.\nThis task can be ",(0,s.jsx)(n.strong,{children:"sequential"})," or ",(0,s.jsx)(n.strong,{children:"hierarchical"})," depending on the Crew's configuration."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"SearchAPI"})," tool performs web searches using the ",(0,s.jsx)(n.strong,{children:"SearchAPI.io"})," API."]}),"\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.strong,{children:"Yahoo Finance News Tool"})," component creates a tool for retrieving news from Yahoo Finance."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"run-the-dynamic-agent-flow",children:"Run the Dynamic Agent flow"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Add your credentials to the OpenAI and SearchAPI components using Langflow's Global Variables:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:"Settings"}),", then ",(0,s.jsx)(n.strong,{children:"Global Variables"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:"Add New"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Name your variable and paste your API key in the ",(0,s.jsx)(n.strong,{children:"Value"})," field."]}),"\n",(0,s.jsxs)(n.li,{children:["In the ",(0,s.jsx)(n.strong,{children:"Apply To Fields"})," field, select the field to apply this variable to."]}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["In the ",(0,s.jsx)(n.strong,{children:"Chat output"})," component, click \u25b6\ufe0f Play to start the end-to-end application flow.\nA ",(0,s.jsx)(n.strong,{children:"Chat output built successfully"})," message and a \u2705 Check on all components indicate that the flow ran successfully."]}),"\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.strong,{children:"Playground"})," to start a chat session.\nYou should receive a detailed, helpful answer to the question defined in the ",(0,s.jsx)(n.strong,{children:"Chat input"})," component."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Now that your query has completed the journey from ",(0,s.jsx)(n.strong,{children:"Chat input"})," to ",(0,s.jsx)(n.strong,{children:"Chat output"}),", you have completed the ",(0,s.jsx)(n.strong,{children:"Dynamic Agent"})," flow."]})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>a});var s=t(96540);const r={},o=s.createContext(r);function i(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f66238ae.1a014221.js b/assets/js/f66238ae.1a014221.js deleted file mode 100644 index ccd7504e7b..0000000000 --- a/assets/js/f66238ae.1a014221.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[3391],{69481:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>o,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var s=r(74848),d=r(28453);const i={title:"Vector Stores",sidebar_position:7,slug:"/components-vector-stores"},n="Vector Stores",c={id:"Components/components-vector-stores",title:"Vector Stores",description:"Vector databases are used to store and search for vectors. They can be used to store embeddings, search for similar vectors, and perform other vector operations.",source:"@site/docs/Components/components-vector-stores.md",sourceDirName:"Components",slug:"/components-vector-stores",permalink:"/components-vector-stores",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:7,frontMatter:{title:"Vector Stores",sidebar_position:7,slug:"/components-vector-stores"},sidebar:"docs",previous:{title:"Tools",permalink:"/Components/components-tools"},next:{title:"Agents overview",permalink:"/agents-overview"}},l={},h=[{value:"Astra DB Vector Store",id:"astra-db-vector-store",level:2},{value:"Parameters",id:"parameters",level:3},{value:"Inputs",id:"inputs",level:4},{value:"Outputs",id:"outputs",level:4},{value:"Cassandra",id:"cassandra",level:2},{value:"Parameters",id:"parameters-1",level:3},{value:"Inputs",id:"inputs-1",level:4},{value:"Outputs",id:"outputs-1",level:4},{value:"Cassandra Graph Vector Store",id:"cassandra-graph-vector-store",level:2},{value:"Parameters",id:"parameters-2",level:3},{value:"Inputs",id:"inputs-2",level:4},{value:"Outputs",id:"outputs-2",level:4},{value:"Chroma DB",id:"chroma-db",level:2},{value:"Parameters",id:"parameters-3",level:3},{value:"Inputs",id:"inputs-3",level:4},{value:"Outputs",id:"outputs-3",level:4},{value:"Clickhouse",id:"clickhouse",level:2},{value:"Parameters",id:"parameters-4",level:3},{value:"Inputs",id:"inputs-4",level:4},{value:"Outputs",id:"outputs-4",level:4},{value:"Couchbase",id:"couchbase",level:2},{value:"Parameters",id:"parameters-5",level:3},{value:"Inputs",id:"inputs-5",level:4},{value:"Outputs",id:"outputs-5",level:4},{value:"FAISS",id:"faiss",level:2},{value:"Parameters",id:"parameters-6",level:3},{value:"Inputs",id:"inputs-6",level:4},{value:"Outputs",id:"outputs-6",level:4},{value:"Hyper-Converged Database (HCD) Vector Store",id:"hyper-converged-database-hcd-vector-store",level:2},{value:"Parameters",id:"parameters-7",level:3},{value:"Inputs",id:"inputs-7",level:4},{value:"Outputs",id:"outputs-7",level:4},{value:"Milvus",id:"milvus",level:2},{value:"Parameters",id:"parameters-8",level:3},{value:"Inputs",id:"inputs-8",level:4},{value:"Outputs",id:"outputs-8",level:4},{value:"MongoDB Atlas",id:"mongodb-atlas",level:2},{value:"Parameters",id:"parameters-9",level:3},{value:"Inputs",id:"inputs-9",level:4},{value:"Outputs",id:"outputs-9",level:4},{value:"PGVector",id:"pgvector",level:2},{value:"Parameters",id:"parameters-10",level:3},{value:"Inputs",id:"inputs-10",level:4},{value:"Outputs",id:"outputs-10",level:4},{value:"Pinecone",id:"pinecone",level:2},{value:"Parameters",id:"parameters-11",level:3},{value:"Inputs",id:"inputs-11",level:4},{value:"Outputs",id:"outputs-11",level:4},{value:"Qdrant",id:"qdrant",level:2},{value:"Parameters",id:"parameters-12",level:3},{value:"Inputs",id:"inputs-12",level:4},{value:"Outputs",id:"outputs-12",level:4},{value:"Redis",id:"redis",level:2},{value:"Parameters",id:"parameters-13",level:3},{value:"Inputs",id:"inputs-13",level:4},{value:"Outputs",id:"outputs-13",level:4},{value:"Supabase",id:"supabase",level:2},{value:"Parameters",id:"parameters-14",level:3},{value:"Inputs",id:"inputs-14",level:4},{value:"Outputs",id:"outputs-14",level:4},{value:"Upstash",id:"upstash",level:2},{value:"Parameters",id:"parameters-15",level:3},{value:"Inputs",id:"inputs-15",level:4},{value:"Outputs",id:"outputs-15",level:4},{value:"Vectara",id:"vectara",level:2},{value:"Parameters",id:"parameters-16",level:3},{value:"Inputs",id:"inputs-16",level:4},{value:"Outputs",id:"outputs-16",level:4},{value:"Vectara Search",id:"vectara-search",level:2},{value:"Parameters",id:"parameters-17",level:3},{value:"Inputs",id:"inputs-17",level:4},{value:"Outputs",id:"outputs-17",level:4},{value:"Weaviate",id:"weaviate",level:2},{value:"Parameters",id:"parameters-18",level:3},{value:"Inputs",id:"inputs-18",level:4},{value:"Outputs",id:"outputs-18",level:4},{value:"Weaviate Search",id:"weaviate-search",level:2},{value:"Parameters",id:"parameters-19",level:3},{value:"Inputs",id:"inputs-19",level:4},{value:"Outputs",id:"outputs-19",level:4}];function a(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"vector-stores",children:"Vector Stores"})}),"\n",(0,s.jsx)(t.p,{children:"Vector databases are used to store and search for vectors. They can be used to store embeddings, search for similar vectors, and perform other vector operations."}),"\n",(0,s.jsx)(t.h2,{id:"astra-db-vector-store",children:"Astra DB Vector Store"}),"\n",(0,s.jsx)(t.p,{children:"This component implements a Vector Store using Astra DB with search capabilities."}),"\n",(0,s.jsxs)(t.p,{children:["For more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.datastax.com/en/astra-db-serverless/databases/create-database.html",children:"DataStax documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"Collection Name"}),(0,s.jsx)(t.td,{children:"The name of the collection within Astra DB where the vectors will be stored (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"token"}),(0,s.jsx)(t.td,{children:"Astra DB Application Token"}),(0,s.jsx)(t.td,{children:"Authentication token for accessing Astra DB (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_endpoint"}),(0,s.jsx)(t.td,{children:"API Endpoint"}),(0,s.jsx)(t.td,{children:"API endpoint URL for the Astra DB service (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_input"}),(0,s.jsx)(t.td,{children:"Search Input"}),(0,s.jsx)(t.td,{children:"Query string for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Ingest Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"namespace"}),(0,s.jsx)(t.td,{children:"Namespace"}),(0,s.jsx)(t.td,{children:"Optional namespace within Astra DB to use for the collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding_choice"}),(0,s.jsx)(t.td,{children:"Embedding Model or Astra Vectorize"}),(0,s.jsx)(t.td,{children:"Determines whether to use an Embedding Model or Astra Vectorize for the collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embedding Model"}),(0,s.jsx)(t.td,{children:"Allows an embedding model configuration (when using Embedding Model)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"provider"}),(0,s.jsx)(t.td,{children:"Vectorize Provider"}),(0,s.jsx)(t.td,{children:"Provider for Astra Vectorize (when using Astra Vectorize)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metric"}),(0,s.jsx)(t.td,{children:"Metric"}),(0,s.jsx)(t.td,{children:"Optional distance metric for vector comparisons"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"batch_size"}),(0,s.jsx)(t.td,{children:"Batch Size"}),(0,s.jsx)(t.td,{children:"Optional number of data to process in a single batch"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"Setup Mode"}),(0,s.jsx)(t.td,{children:'Configuration mode for setting up the vector store (options: "Sync", "Async", "Off", default: "Sync")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pre_delete_collection"}),(0,s.jsx)(t.td,{children:"Pre Delete Collection"}),(0,s.jsx)(t.td,{children:"Boolean flag to determine whether to delete the collection before creating a new one"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Number of Results"}),(0,s.jsx)(t.td,{children:"Number of results to return in similarity search (default: 4)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"Search Type"}),(0,s.jsx)(t.td,{children:'Search type to use (options: "Similarity", "Similarity with score threshold", "MMR (Max Marginal Relevance)")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Search Score Threshold"}),(0,s.jsx)(t.td,{children:"Minimum similarity score threshold for search results"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Search Metadata Filter"}),(0,s.jsx)(t.td,{children:"Optional dictionary of filters to apply to the search query"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Vector Store"}),(0,s.jsx)(t.td,{children:"Built Astra DB vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"Search Results"}),(0,s.jsx)(t.td,{children:"Results of the similarity search as a list of Data objects"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"cassandra",children:"Cassandra"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Cassandra Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://cassandra.apache.org/doc/latest/cassandra/vector-search/overview.html",children:"Cassandra documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-1",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"database_ref"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Contact points for the database or AstraDB database ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Username for the database (leave empty for AstraDB)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"token"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"User password for the database or AstraDB token"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"keyspace"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Table Keyspace or AstraDB namespace"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"table_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the table or AstraDB collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ttl_seconds"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Time-to-live for added texts"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"batch_size"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of data to process in a single batch"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Configuration mode for setting up the Cassandra table"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cluster_kwargs"}),(0,s.jsx)(t.td,{children:"Dict"}),(0,s.jsx)(t.td,{children:"Additional keyword arguments for the Cassandra cluster"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Type of search to perform"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Float"}),(0,s.jsx)(t.td,{children:"Minimum similarity score for search results"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Dict"}),(0,s.jsx)(t.td,{children:"Metadata filters for search query"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"body_search"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Document textual search terms"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"enable_body_search"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Flag to enable body search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-1",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Cassandra"}),(0,s.jsx)(t.td,{children:"Cassandra vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"cassandra-graph-vector-store",children:"Cassandra Graph Vector Store"}),"\n",(0,s.jsx)(t.p,{children:"This component implements a Cassandra Graph Vector Store with search capabilities."}),"\n",(0,s.jsx)(t.h3,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-2",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"database_ref"}),(0,s.jsx)(t.td,{children:"Contact Points / Astra Database ID"}),(0,s.jsx)(t.td,{children:"Contact points for the database or AstraDB database ID (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"Username"}),(0,s.jsx)(t.td,{children:"Username for the database (leave empty for AstraDB)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"token"}),(0,s.jsx)(t.td,{children:"Password / AstraDB Token"}),(0,s.jsx)(t.td,{children:"User password for the database or AstraDB token (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"keyspace"}),(0,s.jsx)(t.td,{children:"Keyspace"}),(0,s.jsx)(t.td,{children:"Table Keyspace or AstraDB namespace (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"table_name"}),(0,s.jsx)(t.td,{children:"Table Name"}),(0,s.jsx)(t.td,{children:"The name of the table or AstraDB collection where vectors will be stored (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"Setup Mode"}),(0,s.jsx)(t.td,{children:'Configuration mode for setting up the Cassandra table (options: "Sync", "Off", default: "Sync")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cluster_kwargs"}),(0,s.jsx)(t.td,{children:"Cluster arguments"}),(0,s.jsx)(t.td,{children:"Optional dictionary of additional keyword arguments for the Cassandra cluster"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"Search Query"}),(0,s.jsx)(t.td,{children:"Query string for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Ingest Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store (list of Data objects)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embedding"}),(0,s.jsx)(t.td,{children:"Embedding model to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Number of Results"}),(0,s.jsx)(t.td,{children:"Number of results to return in similarity search (default: 4)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"Search Type"}),(0,s.jsx)(t.td,{children:'Search type to use (options: "Traversal", "MMR traversal", "Similarity", "Similarity with score threshold", "MMR (Max Marginal Relevance)", default: "Traversal")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"depth"}),(0,s.jsx)(t.td,{children:"Depth of traversal"}),(0,s.jsx)(t.td,{children:'The maximum depth of edges to traverse (for "Traversal" or "MMR traversal" search types, default: 1)'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Search Score Threshold"}),(0,s.jsx)(t.td,{children:'Minimum similarity score threshold for search results (for "Similarity with score threshold" search type)'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Search Metadata Filter"}),(0,s.jsx)(t.td,{children:"Optional dictionary of filters to apply to the search query"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-2",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Vector Store"}),(0,s.jsx)(t.td,{children:"Built Cassandra Graph vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"Search Results"}),(0,s.jsx)(t.td,{children:"Results of the similarity search as a list of Data objects"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"chroma-db",children:"Chroma DB"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Chroma Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.trychroma.com/",children:"Chroma documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-3",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'The name of the Chroma collection. Default: "langflow".'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"persist_directory"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The directory to persist the Chroma database."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The query to search for in the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"The data to ingest into the vector store (list of Data objects)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"The embedding function to use for the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_cors_allow_origins"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"CORS allow origins for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_host"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Host for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_http_port"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"HTTP port for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_grpc_port"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"gRPC port for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_ssl_enabled"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Enable SSL for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"allow_duplicates"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Allow duplicate documents in the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'Type of search to perform: "Similarity" or "MMR".'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return from the search. Default: 10."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"limit"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Limit the number of records to compare when Allow Duplicates is False."})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-3",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Chroma"}),(0,s.jsx)(t.td,{children:"Chroma vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"clickhouse",children:"Clickhouse"}),"\n",(0,s.jsxs)(t.p,{children:["This component implements a Clickhouse Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://clickhouse.com/docs/en/intro",children:"CLickhouse Documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-4",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"host"}),(0,s.jsx)(t.td,{children:"hostname"}),(0,s.jsx)(t.td,{children:'Clickhouse server hostname (required, default: "localhost")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"port"}),(0,s.jsx)(t.td,{children:"port"}),(0,s.jsx)(t.td,{children:"Clickhouse server port (required, default: 8123)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"database"}),(0,s.jsx)(t.td,{children:"database"}),(0,s.jsx)(t.td,{children:"Clickhouse database name (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"table"}),(0,s.jsx)(t.td,{children:"Table name"}),(0,s.jsx)(t.td,{children:"Clickhouse table name (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"The ClickHouse user name."}),(0,s.jsx)(t.td,{children:"Username for authentication (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"The password for username."}),(0,s.jsx)(t.td,{children:"Password for authentication (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_type"}),(0,s.jsx)(t.td,{children:"index_type"}),(0,s.jsx)(t.td,{children:'Type of the index (options: "annoy", "vector_similarity", default: "annoy")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metric"}),(0,s.jsx)(t.td,{children:"metric"}),(0,s.jsx)(t.td,{children:'Metric to compute distance (options: "angular", "euclidean", "manhattan", "hamming", "dot", default: "angular")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"secure"}),(0,s.jsx)(t.td,{children:"Use https/TLS"}),(0,s.jsx)(t.td,{children:"Overrides inferred values from the interface or port arguments (default: false)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_param"}),(0,s.jsx)(t.td,{children:"Param of the index"}),(0,s.jsx)(t.td,{children:"Index parameters (default: \"'L2Distance',100\")"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_query_params"}),(0,s.jsx)(t.td,{children:"index query params"}),(0,s.jsx)(t.td,{children:"Additional index query parameters"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"Search Query"}),(0,s.jsx)(t.td,{children:"Query string for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Ingest Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embedding"}),(0,s.jsx)(t.td,{children:"Embedding model to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Number of Results"}),(0,s.jsx)(t.td,{children:"Number of results to return in similarity search (default: 4)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"score_threshold"}),(0,s.jsx)(t.td,{children:"Score threshold"}),(0,s.jsx)(t.td,{children:"Threshold for similarity scores"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-4",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Vector Store"}),(0,s.jsx)(t.td,{children:"Built Clickhouse vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"Search Results"}),(0,s.jsx)(t.td,{children:"Results of the similarity search as a list of Data objects"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"couchbase",children:"Couchbase"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Couchbase Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.couchbase.com/home/index.html",children:"Couchbase documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-5",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"couchbase_connection_string"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Couchbase Cluster connection string (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"couchbase_username"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Couchbase username (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"couchbase_password"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Couchbase password (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucket_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Couchbase bucket (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"scope_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Couchbase scope (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Couchbase collection (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Couchbase index (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The query to search for in the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"The data to ingest into the vector store (list of Data objects)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"The embedding function to use for the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return from the search. Default: 4 (advanced)."})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-5",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"CouchbaseVectorStore"}),(0,s.jsx)(t.td,{children:"A Couchbase vector store instance configured with the specified parameters."})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"faiss",children:"FAISS"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a FAISS Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://faiss.ai/index.html",children:"FAISS documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-6",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-6",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'The name of the FAISS index. Default: "langflow_index".'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"persist_directory"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Path to save the FAISS index. It will be relative to where Langflow is running."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The query to search for in the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"The data to ingest into the vector store (list of Data objects or documents)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"allow_dangerous_deserialization"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Set to True to allow loading pickle files from untrusted sources. Default: True (advanced)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"The embedding function to use for the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return from the search. Default: 4 (advanced)."})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-6",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"FAISS"}),(0,s.jsx)(t.td,{children:"A FAISS vector store instance configured with the specified parameters."})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"hyper-converged-database-hcd-vector-store",children:"Hyper-Converged Database (HCD) Vector Store"}),"\n",(0,s.jsx)(t.p,{children:"This component implements a Vector Store using HCD."}),"\n",(0,s.jsx)(t.h3,{id:"parameters-7",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-7",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"Collection Name"}),(0,s.jsx)(t.td,{children:"The name of the collection within HCD where the vectors will be stored (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"HCD Username"}),(0,s.jsx)(t.td,{children:'Authentication username for accessing HCD (default: "hcd-superuser", required)'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"HCD Password"}),(0,s.jsx)(t.td,{children:"Authentication password for accessing HCD (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_endpoint"}),(0,s.jsx)(t.td,{children:"HCD API Endpoint"}),(0,s.jsx)(t.td,{children:"API endpoint URL for the HCD service (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_input"}),(0,s.jsx)(t.td,{children:"Search Input"}),(0,s.jsx)(t.td,{children:"Query string for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Ingest Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"namespace"}),(0,s.jsx)(t.td,{children:"Namespace"}),(0,s.jsx)(t.td,{children:'Optional namespace within HCD to use for the collection (default: "default_namespace")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ca_certificate"}),(0,s.jsx)(t.td,{children:"CA Certificate"}),(0,s.jsx)(t.td,{children:"Optional CA certificate for TLS connections to HCD"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metric"}),(0,s.jsx)(t.td,{children:"Metric"}),(0,s.jsx)(t.td,{children:'Optional distance metric for vector comparisons (options: "cosine", "dot_product", "euclidean")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"batch_size"}),(0,s.jsx)(t.td,{children:"Batch Size"}),(0,s.jsx)(t.td,{children:"Optional number of data to process in a single batch"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bulk_insert_batch_concurrency"}),(0,s.jsx)(t.td,{children:"Bulk Insert Batch Concurrency"}),(0,s.jsx)(t.td,{children:"Optional concurrency level for bulk insert operations"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bulk_insert_overwrite_concurrency"}),(0,s.jsx)(t.td,{children:"Bulk Insert Overwrite Concurrency"}),(0,s.jsx)(t.td,{children:"Optional concurrency level for bulk insert operations that overwrite existing data"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bulk_delete_concurrency"}),(0,s.jsx)(t.td,{children:"Bulk Delete Concurrency"}),(0,s.jsx)(t.td,{children:"Optional concurrency level for bulk delete operations"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"Setup Mode"}),(0,s.jsx)(t.td,{children:'Configuration mode for setting up the vector store (options: "Sync", "Async", "Off", default: "Sync")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pre_delete_collection"}),(0,s.jsx)(t.td,{children:"Pre Delete Collection"}),(0,s.jsx)(t.td,{children:"Boolean flag to determine whether to delete the collection before creating a new one"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metadata_indexing_include"}),(0,s.jsx)(t.td,{children:"Metadata Indexing Include"}),(0,s.jsx)(t.td,{children:"Optional list of metadata fields to include in the indexing"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embedding or Astra Vectorize"}),(0,s.jsx)(t.td,{children:"Allows either an embedding model or an Astra Vectorize configuration"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metadata_indexing_exclude"}),(0,s.jsx)(t.td,{children:"Metadata Indexing Exclude"}),(0,s.jsx)(t.td,{children:"Optional list of metadata fields to exclude from the indexing"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_indexing_policy"}),(0,s.jsx)(t.td,{children:"Collection Indexing Policy"}),(0,s.jsx)(t.td,{children:"Optional dictionary defining the indexing policy for the collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Number of Results"}),(0,s.jsx)(t.td,{children:"Number of results to return in similarity search (default: 4)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"Search Type"}),(0,s.jsx)(t.td,{children:'Search type to use (options: "Similarity", "Similarity with score threshold", "MMR (Max Marginal Relevance)", default: "Similarity")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Search Score Threshold"}),(0,s.jsx)(t.td,{children:"Minimum similarity score threshold for search results (default: 0)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Search Metadata Filter"}),(0,s.jsx)(t.td,{children:"Optional dictionary of filters to apply to the search query"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-7",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Vector Store"}),(0,s.jsx)(t.td,{children:"Built HCD vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"Search Results"}),(0,s.jsx)(t.td,{children:"Results of similarity search as a list of Data objects"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"milvus",children:"Milvus"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Milvus Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://milvus.io/docs",children:"Milvus documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-8",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-8",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Milvus collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_description"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Description of the Milvus collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"uri"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Connection URI for Milvus"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Password for Milvus"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Username for Milvus"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"batch_size"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of data to process in a single batch"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Type of search to perform"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Float"}),(0,s.jsx)(t.td,{children:"Minimum similarity score for search results"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Dict"}),(0,s.jsx)(t.td,{children:"Metadata filters for search query"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Configuration mode for setting up the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_dimensions"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of dimensions of the vectors"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pre_delete_collection"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Whether to delete the collection before creating a new one"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-8",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Milvus"}),(0,s.jsx)(t.td,{children:"A Milvus vector store instance configured with the specified parameters."})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"mongodb-atlas",children:"MongoDB Atlas"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a MongoDB Atlas Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://www.mongodb.com/docs/atlas/atlas-vector-search/tutorials/vector-search-quick-start/",children:"MongoDB Atlas documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-9",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-9",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"mongodb_atlas_cluster_uri"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"MongoDB Atlas Cluster URI"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"db_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Database name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Collection name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Index name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-9",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"MongoDBAtlasVectorSearch"}),(0,s.jsx)(t.td,{children:"MongoDB Atlas vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"pgvector",children:"PGVector"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a PGVector Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://github.com/pgvector/pgvector",children:"PGVector documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-10",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-10",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pg_server_url"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"PostgreSQL server connection string"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Table name for the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-10",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"PGVector"}),(0,s.jsx)(t.td,{children:"PGVector vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"pinecone",children:"Pinecone"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Pinecone Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.pinecone.io/home",children:"Pinecone documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-11",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-11",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Pinecone index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"namespace"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Namespace for the index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"distance_strategy"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Strategy for calculating distance between vectors"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pinecone_api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"API key for Pinecone"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"text_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Key in the record to use as text"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-11",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Pinecone"}),(0,s.jsx)(t.td,{children:"Pinecone vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"qdrant",children:"Qdrant"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Qdrant Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://qdrant.tech/documentation/",children:"Qdrant documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-12",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-12",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Qdrant collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"host"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Qdrant server host"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"port"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Qdrant server port"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"grpc_port"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Qdrant gRPC port"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"API key for Qdrant"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"prefix"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Prefix for Qdrant"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Timeout for Qdrant operations"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"path"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Path for Qdrant"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"URL for Qdrant"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"distance_func"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Distance function for vector similarity"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"content_payload_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Key for content payload"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metadata_payload_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Key for metadata payload"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-12",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Qdrant"}),(0,s.jsx)(t.td,{children:"Qdrant vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"redis",children:"Redis"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Redis Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/vectors/",children:"Redis documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-13",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-13",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"redis_server_url"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Redis server connection string"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"redis_index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Redis index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"code"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Custom code for Redis (advanced)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"schema"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Schema for Redis index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-13",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Redis"}),(0,s.jsx)(t.td,{children:"Redis vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"supabase",children:"Supabase"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a connection to a Supabase Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://supabase.com/docs/guides/ai",children:"Supabase documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-14",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-14",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"supabase_url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"URL of the Supabase instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"supabase_service_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Service key for Supabase authentication"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"table_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the table in Supabase"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"query_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the query to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-14",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"SupabaseVectorStore"}),(0,s.jsx)(t.td,{children:"Supabase vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"upstash",children:"Upstash"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates an Upstash Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://upstash.com/docs/introduction",children:"Upstash documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-15",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-15",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The URL of the Upstash index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_token"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"The token for the Upstash index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"text_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The key in the record to use as text"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"namespace"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Namespace for the index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metadata_filter"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Filters documents by metadata"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use (optional)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-15",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"UpstashVectorStore"}),(0,s.jsx)(t.td,{children:"Upstash vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"vectara",children:"Vectara"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Vectara Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.vectara.com/docs/",children:"Vectara documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-16",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-16",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_customer_id"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Vectara customer ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_corpus_id"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Vectara corpus ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Vectara API key"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use (optional)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"List[Document/Data]"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-16",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"VectaraVectorStore"}),(0,s.jsx)(t.td,{children:"Vectara vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"vectara-search",children:"Vectara Search"}),"\n",(0,s.jsxs)(t.p,{children:["This component searches a Vectara Vector Store for documents based on the provided input.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.vectara.com/docs/",children:"Vectara documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-17",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-17",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'Type of search, such as "Similarity" or "MMR"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"input_value"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Search query"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_customer_id"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Vectara customer ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_corpus_id"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Vectara corpus ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Vectara API key"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"files_url"}),(0,s.jsx)(t.td,{children:"List[String]"}),(0,s.jsx)(t.td,{children:"Optional URLs for file initialization"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-17",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"weaviate",children:"Weaviate"}),"\n",(0,s.jsxs)(t.p,{children:["This component facilitates a Weaviate Vector Store setup, optimizing text and document indexing and retrieval.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://weaviate.io/developers/weaviate",children:"Weaviate Documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-18",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-18",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"weaviate_url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Default instance URL"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_by_text"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Indicates whether to search by text"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Optional API key for authentication"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Optional index name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"text_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Default text extraction key"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"input"}),(0,s.jsx)(t.td,{children:"Document"}),(0,s.jsx)(t.td,{children:"Document or record"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Model used"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"attributes"}),(0,s.jsx)(t.td,{children:"List[String]"}),(0,s.jsx)(t.td,{children:"Optional additional attributes"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-18",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"WeaviateVectorStore"}),(0,s.jsx)(t.td,{children:"Weaviate vector store instance"})]})})]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Note:"})," Ensure Weaviate instance is running and accessible. Verify API key, index name, text key, and attributes are set correctly."]}),"\n",(0,s.jsx)(t.h2,{id:"weaviate-search",children:"Weaviate Search"}),"\n",(0,s.jsxs)(t.p,{children:["This component searches a Weaviate Vector Store for documents similar to the input.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://weaviate.io/developers/weaviate",children:"Weaviate Documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-19",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-19",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'Type of search, such as "Similarity" or "MMR"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"input_value"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Search query"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"weaviate_url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Default instance URL"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_by_text"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Indicates whether to search by text"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Optional API key for authentication"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Optional index name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"text_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Default text extraction key"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Model used"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"attributes"}),(0,s.jsx)(t.td,{children:"List[String]"}),(0,s.jsx)(t.td,{children:"Optional additional attributes"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-19",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})})]})]})}function o(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},28453:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>c});var s=r(96540);const d={},i=s.createContext(d);function n(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:n(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f66238ae.a423a13f.js b/assets/js/f66238ae.a423a13f.js new file mode 100644 index 0000000000..8988f592b9 --- /dev/null +++ b/assets/js/f66238ae.a423a13f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[3391],{69481:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>o,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var s=r(74848),d=r(28453);const i={title:"Vector Stores",sidebar_position:7,slug:"/components-vector-stores"},n="Vector Stores",c={id:"Components/components-vector-stores",title:"Vector Stores",description:"Vector databases are used to store and search for vectors. They can be used to store embeddings, search for similar vectors, and perform other vector operations.",source:"@site/docs/Components/components-vector-stores.md",sourceDirName:"Components",slug:"/components-vector-stores",permalink:"/components-vector-stores",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:7,frontMatter:{title:"Vector Stores",sidebar_position:7,slug:"/components-vector-stores"},sidebar:"docs",previous:{title:"Tools",permalink:"/Components/components-tools"},next:{title:"Chat Memory",permalink:"/guides-chat-memory"}},l={},h=[{value:"Astra DB Vector Store",id:"astra-db-vector-store",level:2},{value:"Parameters",id:"parameters",level:3},{value:"Inputs",id:"inputs",level:4},{value:"Outputs",id:"outputs",level:4},{value:"Cassandra",id:"cassandra",level:2},{value:"Parameters",id:"parameters-1",level:3},{value:"Inputs",id:"inputs-1",level:4},{value:"Outputs",id:"outputs-1",level:4},{value:"Cassandra Graph Vector Store",id:"cassandra-graph-vector-store",level:2},{value:"Parameters",id:"parameters-2",level:3},{value:"Inputs",id:"inputs-2",level:4},{value:"Outputs",id:"outputs-2",level:4},{value:"Chroma DB",id:"chroma-db",level:2},{value:"Parameters",id:"parameters-3",level:3},{value:"Inputs",id:"inputs-3",level:4},{value:"Outputs",id:"outputs-3",level:4},{value:"Clickhouse",id:"clickhouse",level:2},{value:"Parameters",id:"parameters-4",level:3},{value:"Inputs",id:"inputs-4",level:4},{value:"Outputs",id:"outputs-4",level:4},{value:"Couchbase",id:"couchbase",level:2},{value:"Parameters",id:"parameters-5",level:3},{value:"Inputs",id:"inputs-5",level:4},{value:"Outputs",id:"outputs-5",level:4},{value:"FAISS",id:"faiss",level:2},{value:"Parameters",id:"parameters-6",level:3},{value:"Inputs",id:"inputs-6",level:4},{value:"Outputs",id:"outputs-6",level:4},{value:"Hyper-Converged Database (HCD) Vector Store",id:"hyper-converged-database-hcd-vector-store",level:2},{value:"Parameters",id:"parameters-7",level:3},{value:"Inputs",id:"inputs-7",level:4},{value:"Outputs",id:"outputs-7",level:4},{value:"Milvus",id:"milvus",level:2},{value:"Parameters",id:"parameters-8",level:3},{value:"Inputs",id:"inputs-8",level:4},{value:"Outputs",id:"outputs-8",level:4},{value:"MongoDB Atlas",id:"mongodb-atlas",level:2},{value:"Parameters",id:"parameters-9",level:3},{value:"Inputs",id:"inputs-9",level:4},{value:"Outputs",id:"outputs-9",level:4},{value:"PGVector",id:"pgvector",level:2},{value:"Parameters",id:"parameters-10",level:3},{value:"Inputs",id:"inputs-10",level:4},{value:"Outputs",id:"outputs-10",level:4},{value:"Pinecone",id:"pinecone",level:2},{value:"Parameters",id:"parameters-11",level:3},{value:"Inputs",id:"inputs-11",level:4},{value:"Outputs",id:"outputs-11",level:4},{value:"Qdrant",id:"qdrant",level:2},{value:"Parameters",id:"parameters-12",level:3},{value:"Inputs",id:"inputs-12",level:4},{value:"Outputs",id:"outputs-12",level:4},{value:"Redis",id:"redis",level:2},{value:"Parameters",id:"parameters-13",level:3},{value:"Inputs",id:"inputs-13",level:4},{value:"Outputs",id:"outputs-13",level:4},{value:"Supabase",id:"supabase",level:2},{value:"Parameters",id:"parameters-14",level:3},{value:"Inputs",id:"inputs-14",level:4},{value:"Outputs",id:"outputs-14",level:4},{value:"Upstash",id:"upstash",level:2},{value:"Parameters",id:"parameters-15",level:3},{value:"Inputs",id:"inputs-15",level:4},{value:"Outputs",id:"outputs-15",level:4},{value:"Vectara",id:"vectara",level:2},{value:"Parameters",id:"parameters-16",level:3},{value:"Inputs",id:"inputs-16",level:4},{value:"Outputs",id:"outputs-16",level:4},{value:"Vectara Search",id:"vectara-search",level:2},{value:"Parameters",id:"parameters-17",level:3},{value:"Inputs",id:"inputs-17",level:4},{value:"Outputs",id:"outputs-17",level:4},{value:"Weaviate",id:"weaviate",level:2},{value:"Parameters",id:"parameters-18",level:3},{value:"Inputs",id:"inputs-18",level:4},{value:"Outputs",id:"outputs-18",level:4},{value:"Weaviate Search",id:"weaviate-search",level:2},{value:"Parameters",id:"parameters-19",level:3},{value:"Inputs",id:"inputs-19",level:4},{value:"Outputs",id:"outputs-19",level:4}];function a(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"vector-stores",children:"Vector Stores"})}),"\n",(0,s.jsx)(t.p,{children:"Vector databases are used to store and search for vectors. They can be used to store embeddings, search for similar vectors, and perform other vector operations."}),"\n",(0,s.jsx)(t.h2,{id:"astra-db-vector-store",children:"Astra DB Vector Store"}),"\n",(0,s.jsx)(t.p,{children:"This component implements a Vector Store using Astra DB with search capabilities."}),"\n",(0,s.jsxs)(t.p,{children:["For more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.datastax.com/en/astra-db-serverless/databases/create-database.html",children:"DataStax documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"Collection Name"}),(0,s.jsx)(t.td,{children:"The name of the collection within Astra DB where the vectors will be stored (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"token"}),(0,s.jsx)(t.td,{children:"Astra DB Application Token"}),(0,s.jsx)(t.td,{children:"Authentication token for accessing Astra DB (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_endpoint"}),(0,s.jsx)(t.td,{children:"API Endpoint"}),(0,s.jsx)(t.td,{children:"API endpoint URL for the Astra DB service (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_input"}),(0,s.jsx)(t.td,{children:"Search Input"}),(0,s.jsx)(t.td,{children:"Query string for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Ingest Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"namespace"}),(0,s.jsx)(t.td,{children:"Namespace"}),(0,s.jsx)(t.td,{children:"Optional namespace within Astra DB to use for the collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding_choice"}),(0,s.jsx)(t.td,{children:"Embedding Model or Astra Vectorize"}),(0,s.jsx)(t.td,{children:"Determines whether to use an Embedding Model or Astra Vectorize for the collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embedding Model"}),(0,s.jsx)(t.td,{children:"Allows an embedding model configuration (when using Embedding Model)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"provider"}),(0,s.jsx)(t.td,{children:"Vectorize Provider"}),(0,s.jsx)(t.td,{children:"Provider for Astra Vectorize (when using Astra Vectorize)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metric"}),(0,s.jsx)(t.td,{children:"Metric"}),(0,s.jsx)(t.td,{children:"Optional distance metric for vector comparisons"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"batch_size"}),(0,s.jsx)(t.td,{children:"Batch Size"}),(0,s.jsx)(t.td,{children:"Optional number of data to process in a single batch"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"Setup Mode"}),(0,s.jsx)(t.td,{children:'Configuration mode for setting up the vector store (options: "Sync", "Async", "Off", default: "Sync")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pre_delete_collection"}),(0,s.jsx)(t.td,{children:"Pre Delete Collection"}),(0,s.jsx)(t.td,{children:"Boolean flag to determine whether to delete the collection before creating a new one"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Number of Results"}),(0,s.jsx)(t.td,{children:"Number of results to return in similarity search (default: 4)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"Search Type"}),(0,s.jsx)(t.td,{children:'Search type to use (options: "Similarity", "Similarity with score threshold", "MMR (Max Marginal Relevance)")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Search Score Threshold"}),(0,s.jsx)(t.td,{children:"Minimum similarity score threshold for search results"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Search Metadata Filter"}),(0,s.jsx)(t.td,{children:"Optional dictionary of filters to apply to the search query"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Vector Store"}),(0,s.jsx)(t.td,{children:"Built Astra DB vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"Search Results"}),(0,s.jsx)(t.td,{children:"Results of the similarity search as a list of Data objects"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"cassandra",children:"Cassandra"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Cassandra Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://cassandra.apache.org/doc/latest/cassandra/vector-search/overview.html",children:"Cassandra documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-1",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"database_ref"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Contact points for the database or AstraDB database ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Username for the database (leave empty for AstraDB)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"token"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"User password for the database or AstraDB token"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"keyspace"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Table Keyspace or AstraDB namespace"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"table_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the table or AstraDB collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ttl_seconds"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Time-to-live for added texts"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"batch_size"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of data to process in a single batch"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Configuration mode for setting up the Cassandra table"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cluster_kwargs"}),(0,s.jsx)(t.td,{children:"Dict"}),(0,s.jsx)(t.td,{children:"Additional keyword arguments for the Cassandra cluster"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Type of search to perform"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Float"}),(0,s.jsx)(t.td,{children:"Minimum similarity score for search results"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Dict"}),(0,s.jsx)(t.td,{children:"Metadata filters for search query"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"body_search"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Document textual search terms"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"enable_body_search"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Flag to enable body search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-1",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Cassandra"}),(0,s.jsx)(t.td,{children:"Cassandra vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"cassandra-graph-vector-store",children:"Cassandra Graph Vector Store"}),"\n",(0,s.jsx)(t.p,{children:"This component implements a Cassandra Graph Vector Store with search capabilities."}),"\n",(0,s.jsx)(t.h3,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-2",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"database_ref"}),(0,s.jsx)(t.td,{children:"Contact Points / Astra Database ID"}),(0,s.jsx)(t.td,{children:"Contact points for the database or AstraDB database ID (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"Username"}),(0,s.jsx)(t.td,{children:"Username for the database (leave empty for AstraDB)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"token"}),(0,s.jsx)(t.td,{children:"Password / AstraDB Token"}),(0,s.jsx)(t.td,{children:"User password for the database or AstraDB token (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"keyspace"}),(0,s.jsx)(t.td,{children:"Keyspace"}),(0,s.jsx)(t.td,{children:"Table Keyspace or AstraDB namespace (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"table_name"}),(0,s.jsx)(t.td,{children:"Table Name"}),(0,s.jsx)(t.td,{children:"The name of the table or AstraDB collection where vectors will be stored (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"Setup Mode"}),(0,s.jsx)(t.td,{children:'Configuration mode for setting up the Cassandra table (options: "Sync", "Off", default: "Sync")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cluster_kwargs"}),(0,s.jsx)(t.td,{children:"Cluster arguments"}),(0,s.jsx)(t.td,{children:"Optional dictionary of additional keyword arguments for the Cassandra cluster"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"Search Query"}),(0,s.jsx)(t.td,{children:"Query string for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Ingest Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store (list of Data objects)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embedding"}),(0,s.jsx)(t.td,{children:"Embedding model to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Number of Results"}),(0,s.jsx)(t.td,{children:"Number of results to return in similarity search (default: 4)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"Search Type"}),(0,s.jsx)(t.td,{children:'Search type to use (options: "Traversal", "MMR traversal", "Similarity", "Similarity with score threshold", "MMR (Max Marginal Relevance)", default: "Traversal")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"depth"}),(0,s.jsx)(t.td,{children:"Depth of traversal"}),(0,s.jsx)(t.td,{children:'The maximum depth of edges to traverse (for "Traversal" or "MMR traversal" search types, default: 1)'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Search Score Threshold"}),(0,s.jsx)(t.td,{children:'Minimum similarity score threshold for search results (for "Similarity with score threshold" search type)'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Search Metadata Filter"}),(0,s.jsx)(t.td,{children:"Optional dictionary of filters to apply to the search query"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-2",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Vector Store"}),(0,s.jsx)(t.td,{children:"Built Cassandra Graph vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"Search Results"}),(0,s.jsx)(t.td,{children:"Results of the similarity search as a list of Data objects"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"chroma-db",children:"Chroma DB"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Chroma Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.trychroma.com/",children:"Chroma documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-3",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'The name of the Chroma collection. Default: "langflow".'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"persist_directory"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The directory to persist the Chroma database."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The query to search for in the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"The data to ingest into the vector store (list of Data objects)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"The embedding function to use for the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_cors_allow_origins"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"CORS allow origins for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_host"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Host for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_http_port"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"HTTP port for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_grpc_port"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"gRPC port for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chroma_server_ssl_enabled"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Enable SSL for the Chroma server."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"allow_duplicates"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Allow duplicate documents in the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'Type of search to perform: "Similarity" or "MMR".'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return from the search. Default: 10."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"limit"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Limit the number of records to compare when Allow Duplicates is False."})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-3",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Chroma"}),(0,s.jsx)(t.td,{children:"Chroma vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"clickhouse",children:"Clickhouse"}),"\n",(0,s.jsxs)(t.p,{children:["This component implements a Clickhouse Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://clickhouse.com/docs/en/intro",children:"CLickhouse Documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-4",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"host"}),(0,s.jsx)(t.td,{children:"hostname"}),(0,s.jsx)(t.td,{children:'Clickhouse server hostname (required, default: "localhost")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"port"}),(0,s.jsx)(t.td,{children:"port"}),(0,s.jsx)(t.td,{children:"Clickhouse server port (required, default: 8123)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"database"}),(0,s.jsx)(t.td,{children:"database"}),(0,s.jsx)(t.td,{children:"Clickhouse database name (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"table"}),(0,s.jsx)(t.td,{children:"Table name"}),(0,s.jsx)(t.td,{children:"Clickhouse table name (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"The ClickHouse user name."}),(0,s.jsx)(t.td,{children:"Username for authentication (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"The password for username."}),(0,s.jsx)(t.td,{children:"Password for authentication (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_type"}),(0,s.jsx)(t.td,{children:"index_type"}),(0,s.jsx)(t.td,{children:'Type of the index (options: "annoy", "vector_similarity", default: "annoy")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metric"}),(0,s.jsx)(t.td,{children:"metric"}),(0,s.jsx)(t.td,{children:'Metric to compute distance (options: "angular", "euclidean", "manhattan", "hamming", "dot", default: "angular")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"secure"}),(0,s.jsx)(t.td,{children:"Use https/TLS"}),(0,s.jsx)(t.td,{children:"Overrides inferred values from the interface or port arguments (default: false)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_param"}),(0,s.jsx)(t.td,{children:"Param of the index"}),(0,s.jsx)(t.td,{children:"Index parameters (default: \"'L2Distance',100\")"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_query_params"}),(0,s.jsx)(t.td,{children:"index query params"}),(0,s.jsx)(t.td,{children:"Additional index query parameters"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"Search Query"}),(0,s.jsx)(t.td,{children:"Query string for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Ingest Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embedding"}),(0,s.jsx)(t.td,{children:"Embedding model to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Number of Results"}),(0,s.jsx)(t.td,{children:"Number of results to return in similarity search (default: 4)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"score_threshold"}),(0,s.jsx)(t.td,{children:"Score threshold"}),(0,s.jsx)(t.td,{children:"Threshold for similarity scores"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-4",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Vector Store"}),(0,s.jsx)(t.td,{children:"Built Clickhouse vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"Search Results"}),(0,s.jsx)(t.td,{children:"Results of the similarity search as a list of Data objects"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"couchbase",children:"Couchbase"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Couchbase Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.couchbase.com/home/index.html",children:"Couchbase documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-5",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"couchbase_connection_string"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Couchbase Cluster connection string (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"couchbase_username"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Couchbase username (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"couchbase_password"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Couchbase password (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucket_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Couchbase bucket (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"scope_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Couchbase scope (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Couchbase collection (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Couchbase index (required)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The query to search for in the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"The data to ingest into the vector store (list of Data objects)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"The embedding function to use for the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return from the search. Default: 4 (advanced)."})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-5",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"CouchbaseVectorStore"}),(0,s.jsx)(t.td,{children:"A Couchbase vector store instance configured with the specified parameters."})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"faiss",children:"FAISS"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a FAISS Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://faiss.ai/index.html",children:"FAISS documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-6",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-6",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'The name of the FAISS index. Default: "langflow_index".'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"persist_directory"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Path to save the FAISS index. It will be relative to where Langflow is running."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The query to search for in the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"The data to ingest into the vector store (list of Data objects or documents)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"allow_dangerous_deserialization"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Set to True to allow loading pickle files from untrusted sources. Default: True (advanced)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"The embedding function to use for the vector store."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return from the search. Default: 4 (advanced)."})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-6",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"FAISS"}),(0,s.jsx)(t.td,{children:"A FAISS vector store instance configured with the specified parameters."})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"hyper-converged-database-hcd-vector-store",children:"Hyper-Converged Database (HCD) Vector Store"}),"\n",(0,s.jsx)(t.p,{children:"This component implements a Vector Store using HCD."}),"\n",(0,s.jsx)(t.h3,{id:"parameters-7",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-7",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"Collection Name"}),(0,s.jsx)(t.td,{children:"The name of the collection within HCD where the vectors will be stored (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"HCD Username"}),(0,s.jsx)(t.td,{children:'Authentication username for accessing HCD (default: "hcd-superuser", required)'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"HCD Password"}),(0,s.jsx)(t.td,{children:"Authentication password for accessing HCD (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_endpoint"}),(0,s.jsx)(t.td,{children:"HCD API Endpoint"}),(0,s.jsx)(t.td,{children:"API endpoint URL for the HCD service (required)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_input"}),(0,s.jsx)(t.td,{children:"Search Input"}),(0,s.jsx)(t.td,{children:"Query string for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Ingest Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"namespace"}),(0,s.jsx)(t.td,{children:"Namespace"}),(0,s.jsx)(t.td,{children:'Optional namespace within HCD to use for the collection (default: "default_namespace")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ca_certificate"}),(0,s.jsx)(t.td,{children:"CA Certificate"}),(0,s.jsx)(t.td,{children:"Optional CA certificate for TLS connections to HCD"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metric"}),(0,s.jsx)(t.td,{children:"Metric"}),(0,s.jsx)(t.td,{children:'Optional distance metric for vector comparisons (options: "cosine", "dot_product", "euclidean")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"batch_size"}),(0,s.jsx)(t.td,{children:"Batch Size"}),(0,s.jsx)(t.td,{children:"Optional number of data to process in a single batch"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bulk_insert_batch_concurrency"}),(0,s.jsx)(t.td,{children:"Bulk Insert Batch Concurrency"}),(0,s.jsx)(t.td,{children:"Optional concurrency level for bulk insert operations"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bulk_insert_overwrite_concurrency"}),(0,s.jsx)(t.td,{children:"Bulk Insert Overwrite Concurrency"}),(0,s.jsx)(t.td,{children:"Optional concurrency level for bulk insert operations that overwrite existing data"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bulk_delete_concurrency"}),(0,s.jsx)(t.td,{children:"Bulk Delete Concurrency"}),(0,s.jsx)(t.td,{children:"Optional concurrency level for bulk delete operations"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"Setup Mode"}),(0,s.jsx)(t.td,{children:'Configuration mode for setting up the vector store (options: "Sync", "Async", "Off", default: "Sync")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pre_delete_collection"}),(0,s.jsx)(t.td,{children:"Pre Delete Collection"}),(0,s.jsx)(t.td,{children:"Boolean flag to determine whether to delete the collection before creating a new one"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metadata_indexing_include"}),(0,s.jsx)(t.td,{children:"Metadata Indexing Include"}),(0,s.jsx)(t.td,{children:"Optional list of metadata fields to include in the indexing"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embedding or Astra Vectorize"}),(0,s.jsx)(t.td,{children:"Allows either an embedding model or an Astra Vectorize configuration"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metadata_indexing_exclude"}),(0,s.jsx)(t.td,{children:"Metadata Indexing Exclude"}),(0,s.jsx)(t.td,{children:"Optional list of metadata fields to exclude from the indexing"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_indexing_policy"}),(0,s.jsx)(t.td,{children:"Collection Indexing Policy"}),(0,s.jsx)(t.td,{children:"Optional dictionary defining the indexing policy for the collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Number of Results"}),(0,s.jsx)(t.td,{children:"Number of results to return in similarity search (default: 4)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"Search Type"}),(0,s.jsx)(t.td,{children:'Search type to use (options: "Similarity", "Similarity with score threshold", "MMR (Max Marginal Relevance)", default: "Similarity")'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Search Score Threshold"}),(0,s.jsx)(t.td,{children:"Minimum similarity score threshold for search results (default: 0)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Search Metadata Filter"}),(0,s.jsx)(t.td,{children:"Optional dictionary of filters to apply to the search query"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-7",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Display Name"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Vector Store"}),(0,s.jsx)(t.td,{children:"Built HCD vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"Search Results"}),(0,s.jsx)(t.td,{children:"Results of similarity search as a list of Data objects"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"milvus",children:"Milvus"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Milvus Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://milvus.io/docs",children:"Milvus documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-8",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-8",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Milvus collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_description"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Description of the Milvus collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"uri"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Connection URI for Milvus"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Password for Milvus"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"username"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Username for Milvus"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"batch_size"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of data to process in a single batch"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Type of search to perform"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_score_threshold"}),(0,s.jsx)(t.td,{children:"Float"}),(0,s.jsx)(t.td,{children:"Minimum similarity score for search results"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_filter"}),(0,s.jsx)(t.td,{children:"Dict"}),(0,s.jsx)(t.td,{children:"Metadata filters for search query"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"setup_mode"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Configuration mode for setting up the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_dimensions"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of dimensions of the vectors"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pre_delete_collection"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Whether to delete the collection before creating a new one"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-8",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Milvus"}),(0,s.jsx)(t.td,{children:"A Milvus vector store instance configured with the specified parameters."})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"mongodb-atlas",children:"MongoDB Atlas"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a MongoDB Atlas Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://www.mongodb.com/docs/atlas/atlas-vector-search/tutorials/vector-search-quick-start/",children:"MongoDB Atlas documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-9",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-9",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"mongodb_atlas_cluster_uri"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"MongoDB Atlas Cluster URI"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"db_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Database name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Collection name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Index name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-9",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"MongoDBAtlasVectorSearch"}),(0,s.jsx)(t.td,{children:"MongoDB Atlas vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"pgvector",children:"PGVector"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a PGVector Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://github.com/pgvector/pgvector",children:"PGVector documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-10",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-10",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pg_server_url"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"PostgreSQL server connection string"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Table name for the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-10",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"PGVector"}),(0,s.jsx)(t.td,{children:"PGVector vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"pinecone",children:"Pinecone"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Pinecone Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.pinecone.io/home",children:"Pinecone documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-11",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-11",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Pinecone index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"namespace"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Namespace for the index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"distance_strategy"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Strategy for calculating distance between vectors"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pinecone_api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"API key for Pinecone"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"text_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Key in the record to use as text"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-11",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Pinecone"}),(0,s.jsx)(t.td,{children:"Pinecone vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"qdrant",children:"Qdrant"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Qdrant Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://qdrant.tech/documentation/",children:"Qdrant documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-12",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-12",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"collection_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Qdrant collection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"host"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Qdrant server host"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"port"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Qdrant server port"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"grpc_port"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Qdrant gRPC port"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"API key for Qdrant"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"prefix"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Prefix for Qdrant"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Timeout for Qdrant operations"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"path"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Path for Qdrant"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"URL for Qdrant"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"distance_func"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Distance function for vector similarity"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"content_payload_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Key for content payload"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metadata_payload_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Key for metadata payload"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-12",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Qdrant"}),(0,s.jsx)(t.td,{children:"Qdrant vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"redis",children:"Redis"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Redis Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/vectors/",children:"Redis documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-13",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-13",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"redis_server_url"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Redis server connection string"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"redis_index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the Redis index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"code"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Custom code for Redis (advanced)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"schema"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Schema for Redis index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-13",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"Redis"}),(0,s.jsx)(t.td,{children:"Redis vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"supabase",children:"Supabase"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a connection to a Supabase Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://supabase.com/docs/guides/ai",children:"Supabase documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-14",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-14",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"supabase_url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"URL of the Supabase instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"supabase_service_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Service key for Supabase authentication"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"table_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the table in Supabase"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"query_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Name of the query to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-14",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"SupabaseVectorStore"}),(0,s.jsx)(t.td,{children:"Supabase vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"upstash",children:"Upstash"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates an Upstash Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://upstash.com/docs/introduction",children:"Upstash documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-15",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-15",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The URL of the Upstash index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_token"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"The token for the Upstash index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"text_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"The key in the record to use as text"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"namespace"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Namespace for the index"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"metadata_filter"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Filters documents by metadata"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use (optional)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-15",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"UpstashVectorStore"}),(0,s.jsx)(t.td,{children:"Upstash vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"vectara",children:"Vectara"}),"\n",(0,s.jsxs)(t.p,{children:["This component creates a Vectara Vector Store with search capabilities.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.vectara.com/docs/",children:"Vectara documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-16",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-16",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_customer_id"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Vectara customer ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_corpus_id"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Vectara corpus ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Vectara API key"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Embedding function to use (optional)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ingest_data"}),(0,s.jsx)(t.td,{children:"List[Document/Data]"}),(0,s.jsx)(t.td,{children:"Data to be ingested into the vector store"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_query"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Query for similarity search"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"number_of_results"}),(0,s.jsx)(t.td,{children:"Integer"}),(0,s.jsx)(t.td,{children:"Number of results to return in search"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-16",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"VectaraVectorStore"}),(0,s.jsx)(t.td,{children:"Vectara vector store instance"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"vectara-search",children:"Vectara Search"}),"\n",(0,s.jsxs)(t.p,{children:["This component searches a Vectara Vector Store for documents based on the provided input.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://docs.vectara.com/docs/",children:"Vectara documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-17",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-17",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'Type of search, such as "Similarity" or "MMR"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"input_value"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Search query"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_customer_id"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Vectara customer ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_corpus_id"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Vectara corpus ID"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vectara_api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Vectara API key"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"files_url"}),(0,s.jsx)(t.td,{children:"List[String]"}),(0,s.jsx)(t.td,{children:"Optional URLs for file initialization"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-17",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"weaviate",children:"Weaviate"}),"\n",(0,s.jsxs)(t.p,{children:["This component facilitates a Weaviate Vector Store setup, optimizing text and document indexing and retrieval.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://weaviate.io/developers/weaviate",children:"Weaviate Documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-18",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-18",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"weaviate_url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Default instance URL"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_by_text"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Indicates whether to search by text"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Optional API key for authentication"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Optional index name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"text_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Default text extraction key"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"input"}),(0,s.jsx)(t.td,{children:"Document"}),(0,s.jsx)(t.td,{children:"Document or record"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Model used"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"attributes"}),(0,s.jsx)(t.td,{children:"List[String]"}),(0,s.jsx)(t.td,{children:"Optional additional attributes"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-18",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vector_store"}),(0,s.jsx)(t.td,{children:"WeaviateVectorStore"}),(0,s.jsx)(t.td,{children:"Weaviate vector store instance"})]})})]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Note:"})," Ensure Weaviate instance is running and accessible. Verify API key, index name, text key, and attributes are set correctly."]}),"\n",(0,s.jsx)(t.h2,{id:"weaviate-search",children:"Weaviate Search"}),"\n",(0,s.jsxs)(t.p,{children:["This component searches a Weaviate Vector Store for documents similar to the input.\nFor more information, see the ",(0,s.jsx)(t.a,{href:"https://weaviate.io/developers/weaviate",children:"Weaviate Documentation"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"parameters-19",children:"Parameters"}),"\n",(0,s.jsx)(t.h4,{id:"inputs-19",children:"Inputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_type"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:'Type of search, such as "Similarity" or "MMR"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"input_value"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Search query"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"weaviate_url"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Default instance URL"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_by_text"}),(0,s.jsx)(t.td,{children:"Boolean"}),(0,s.jsx)(t.td,{children:"Indicates whether to search by text"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"api_key"}),(0,s.jsx)(t.td,{children:"SecretString"}),(0,s.jsx)(t.td,{children:"Optional API key for authentication"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index_name"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Optional index name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"text_key"}),(0,s.jsx)(t.td,{children:"String"}),(0,s.jsx)(t.td,{children:"Default text extraction key"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"embedding"}),(0,s.jsx)(t.td,{children:"Embeddings"}),(0,s.jsx)(t.td,{children:"Model used"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"attributes"}),(0,s.jsx)(t.td,{children:"List[String]"}),(0,s.jsx)(t.td,{children:"Optional additional attributes"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"outputs-19",children:"Outputs"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"search_results"}),(0,s.jsx)(t.td,{children:"List[Data]"}),(0,s.jsx)(t.td,{children:"Results of similarity search"})]})})]})]})}function o(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},28453:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>c});var s=r(96540);const d={},i=s.createContext(d);function n(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:n(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f81a91eb.535c2181.js b/assets/js/f81a91eb.535c2181.js deleted file mode 100644 index b981d5fca3..0000000000 --- a/assets/js/f81a91eb.535c2181.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9580],{8228:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var s=n(74848),o=n(28453);const i={title:"\ud83d\udcda New to LLMs?",sidebar_position:0,slug:"/guides-new-to-llms"},r=void 0,a={id:"Guides/guides-new-to-llms",title:"\ud83d\udcda New to LLMs?",description:"Large Language Models, or LLMs, are part of an exciting new world in computing.",source:"@site/docs/Guides/guides-new-to-llms.md",sourceDirName:"Guides",slug:"/guides-new-to-llms",permalink:"/guides-new-to-llms",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"\ud83d\udcda New to LLMs?",sidebar_position:0,slug:"/guides-new-to-llms"},sidebar:"docs",previous:{title:"Data & Message",permalink:"/guides-data-message"},next:{title:"AssemblyAI",permalink:"/integrations-assemblyai"}},l={},d=[];function c(e){const t={a:"a",p:"p",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Large Language Models, or LLMs, are part of an exciting new world in computing."}),"\n",(0,s.jsxs)(t.p,{children:["We made Langflow for anyone to create with LLMs, and hope you'll feel comfortable installing Langflow and\xa0",(0,s.jsx)(t.a,{href:"/get-started-quickstart",children:"getting started"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["If you want to learn the basics of LLMs, prompt engineering, and AI models, Langflow recommends\xa0",(0,s.jsx)(t.a,{href:"https://promptingguide.ai/",children:"promptingguide.ai"}),", an open-source repository of prompt engineering content maintained by AI experts. PromptingGuide offers content for\xa0",(0,s.jsx)(t.a,{href:"https://www.promptingguide.ai/introduction/basics",children:"beginners"}),"\xa0and\xa0",(0,s.jsx)(t.a,{href:"https://www.promptingguide.ai/techniques/cot",children:"experts"}),", as well as the latest\xa0",(0,s.jsx)(t.a,{href:"https://www.promptingguide.ai/papers",children:"research papers"}),"\xa0and\xa0",(0,s.jsx)(t.a,{href:"https://www.promptingguide.ai/research",children:"test results"}),"\xa0fueling AI's progress."]}),"\n",(0,s.jsxs)(t.p,{children:["For in depth readings, we recommend\xa0",(0,s.jsx)(t.a,{href:"https://github.com/Hannibal046/Awesome-LLM?tab=readme-ov-file#llm-books",children:"Awesome LLM Books"}),", a curated list of resources for learning about LLMs and their applications."]})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var s=n(96540);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f81a91eb.e76bfa8b.js b/assets/js/f81a91eb.e76bfa8b.js new file mode 100644 index 0000000000..ee8c94f03d --- /dev/null +++ b/assets/js/f81a91eb.e76bfa8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9580],{8228:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var s=n(74848),o=n(28453);const r={title:"\ud83d\udcda New to LLMs?",sidebar_position:0,slug:"/guides-new-to-llms"},i=void 0,a={id:"Guides/guides-new-to-llms",title:"\ud83d\udcda New to LLMs?",description:"Large Language Models, or LLMs, are part of an exciting new world in computing.",source:"@site/docs/Guides/guides-new-to-llms.md",sourceDirName:"Guides",slug:"/guides-new-to-llms",permalink:"/guides-new-to-llms",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"\ud83d\udcda New to LLMs?",sidebar_position:0,slug:"/guides-new-to-llms"},sidebar:"docs",previous:{title:"Data & Message",permalink:"/guides-data-message"},next:{title:"Docker",permalink:"/deployment-docker"}},l={},d=[];function c(e){const t={a:"a",p:"p",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Large Language Models, or LLMs, are part of an exciting new world in computing."}),"\n",(0,s.jsxs)(t.p,{children:["We made Langflow for anyone to create with LLMs, and hope you'll feel comfortable installing Langflow and\xa0",(0,s.jsx)(t.a,{href:"/get-started-quickstart",children:"getting started"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["If you want to learn the basics of LLMs, prompt engineering, and AI models, Langflow recommends\xa0",(0,s.jsx)(t.a,{href:"https://promptingguide.ai/",children:"promptingguide.ai"}),", an open-source repository of prompt engineering content maintained by AI experts. PromptingGuide offers content for\xa0",(0,s.jsx)(t.a,{href:"https://www.promptingguide.ai/introduction/basics",children:"beginners"}),"\xa0and\xa0",(0,s.jsx)(t.a,{href:"https://www.promptingguide.ai/techniques/cot",children:"experts"}),", as well as the latest\xa0",(0,s.jsx)(t.a,{href:"https://www.promptingguide.ai/papers",children:"research papers"}),"\xa0and\xa0",(0,s.jsx)(t.a,{href:"https://www.promptingguide.ai/research",children:"test results"}),"\xa0fueling AI's progress."]}),"\n",(0,s.jsxs)(t.p,{children:["For in depth readings, we recommend\xa0",(0,s.jsx)(t.a,{href:"https://github.com/Hannibal046/Awesome-LLM?tab=readme-ov-file#llm-books",children:"Awesome LLM Books"}),", a curated list of resources for learning about LLMs and their applications."]})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(96540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fe965b62.abf1ffcf.js b/assets/js/fe965b62.abf1ffcf.js deleted file mode 100644 index e313118d27..0000000000 --- a/assets/js/fe965b62.abf1ffcf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[784],{82095:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(74848),s=n(28453);const r={title:"Document QA",sidebar_position:2,slug:"/starter-projects-document-qa"},c=void 0,i={id:"Starter-Projects/starter-projects-document-qa",title:"Document QA",description:"Build a question-and-answer chatbot with a document loaded from local memory.",source:"@site/docs/Starter-Projects/starter-projects-document-qa.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-document-qa",permalink:"/starter-projects-document-qa",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Document QA",sidebar_position:2,slug:"/starter-projects-document-qa"},sidebar:"docs",previous:{title:"Blog Writer",permalink:"/starter-projects-blog-writer"},next:{title:"Dynamic agent",permalink:"/starter-projects-dynamic-agent"}},a={},l=[{value:"Prerequisites",id:"6555c100a30e4a21954af25e2e05403a",level:2},{value:"Create the document QA flow",id:"204500104f024553aab2b633bb99f603",level:2},{value:"Run the document QA flow",id:"f58fcc2b9e594156a829b1772b6a7191",level:3}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Build a question-and-answer chatbot with a document loaded from local memory."}),"\n",(0,o.jsx)(t.h2,{id:"6555c100a30e4a21954af25e2e05403a",children:"Prerequisites"}),"\n",(0,o.jsx)(t.hr,{}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"/get-started-installation",children:"Langflow installed and running"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"204500104f024553aab2b633bb99f603",children:"Create the document QA flow"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,o.jsx)(t.strong,{children:"New Flow"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["Select\xa0",(0,o.jsx)(t.strong,{children:"Document QA"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"Document QA"}),"\xa0flow is created."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(25838).A+"",width:"2932",height:"1068"})}),"\n",(0,o.jsxs)(t.p,{children:["This flow is composed of a standard chatbot with the\xa0",(0,o.jsx)(t.strong,{children:"Chat Input"}),",\xa0",(0,o.jsx)(t.strong,{children:"Prompt"}),",\xa0",(0,o.jsx)(t.strong,{children:"OpenAI"}),", and\xa0",(0,o.jsx)(t.strong,{children:"Chat Output"}),"\xa0components, but it also incorporates a ",(0,o.jsx)(t.strong,{children:"File"})," component, which loads a file from your local machine. ",(0,o.jsx)(t.strong,{children:"Parse Data"})," is used to convert the data from ",(0,o.jsx)(t.strong,{children:"File"})," into the\xa0",(0,o.jsx)(t.strong,{children:"Prompt"}),"\xa0component as\xa0",(0,o.jsx)(t.code,{children:"{Document}"}),". The\xa0",(0,o.jsx)(t.strong,{children:"Prompt"}),"\xa0component is instructed to answer questions based on the contents of\xa0",(0,o.jsx)(t.code,{children:"{Document}"}),". This gives the\xa0",(0,o.jsx)(t.strong,{children:"OpenAI"}),"\xa0component context it would not otherwise have access to."]}),"\n",(0,o.jsx)(t.h3,{id:"f58fcc2b9e594156a829b1772b6a7191",children:"Run the document QA flow"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:["To select a document to load, in the\xa0",(0,o.jsx)(t.strong,{children:"File"}),"\xa0component, click the\xa0",(0,o.jsx)(t.strong,{children:"Path"}),"\xa0field. Select a local file, and then click\xa0",(0,o.jsx)(t.strong,{children:"Open"}),". The file name appears in the field."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:["Click the\xa0",(0,o.jsx)(t.strong,{children:"Playground"}),"\xa0button. Here you can chat with the AI that has access to your document's content."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsx)(t.p,{children:"Type in a question about the document content and press Enter. You should see a contextual response."}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},25838:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/starter-flow-document-qa-25bb93e67df21a31a874531a957eb747.png"},28453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var o=n(96540);const s={},r=o.createContext(s);function c(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fe965b62.b6a35b07.js b/assets/js/fe965b62.b6a35b07.js new file mode 100644 index 0000000000..d8e4e49655 --- /dev/null +++ b/assets/js/fe965b62.b6a35b07.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[784],{82095:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(74848),s=n(28453);const r={title:"Document QA",sidebar_position:2,slug:"/starter-projects-document-qa"},c=void 0,i={id:"Starter-Projects/starter-projects-document-qa",title:"Document QA",description:"Build a question-and-answer chatbot with a document loaded from local memory.",source:"@site/docs/Starter-Projects/starter-projects-document-qa.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-document-qa",permalink:"/starter-projects-document-qa",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Document QA",sidebar_position:2,slug:"/starter-projects-document-qa"},sidebar:"docs",previous:{title:"Blog Writer",permalink:"/starter-projects-blog-writer"},next:{title:"Memory Chatbot",permalink:"/starter-projects-memory-chatbot"}},a={},l=[{value:"Prerequisites",id:"6555c100a30e4a21954af25e2e05403a",level:2},{value:"Create the document QA flow",id:"204500104f024553aab2b633bb99f603",level:2},{value:"Run the document QA flow",id:"f58fcc2b9e594156a829b1772b6a7191",level:3}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Build a question-and-answer chatbot with a document loaded from local memory."}),"\n",(0,o.jsx)(t.h2,{id:"6555c100a30e4a21954af25e2e05403a",children:"Prerequisites"}),"\n",(0,o.jsx)(t.hr,{}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"/get-started-installation",children:"Langflow installed and running"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"204500104f024553aab2b633bb99f603",children:"Create the document QA flow"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,o.jsx)(t.strong,{children:"New Flow"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["Select\xa0",(0,o.jsx)(t.strong,{children:"Document QA"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"Document QA"}),"\xa0flow is created."]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(25838).A+"",width:"2932",height:"1068"})}),"\n",(0,o.jsxs)(t.p,{children:["This flow is composed of a standard chatbot with the\xa0",(0,o.jsx)(t.strong,{children:"Chat Input"}),",\xa0",(0,o.jsx)(t.strong,{children:"Prompt"}),",\xa0",(0,o.jsx)(t.strong,{children:"OpenAI"}),", and\xa0",(0,o.jsx)(t.strong,{children:"Chat Output"}),"\xa0components, but it also incorporates a ",(0,o.jsx)(t.strong,{children:"File"})," component, which loads a file from your local machine. ",(0,o.jsx)(t.strong,{children:"Parse Data"})," is used to convert the data from ",(0,o.jsx)(t.strong,{children:"File"})," into the\xa0",(0,o.jsx)(t.strong,{children:"Prompt"}),"\xa0component as\xa0",(0,o.jsx)(t.code,{children:"{Document}"}),". The\xa0",(0,o.jsx)(t.strong,{children:"Prompt"}),"\xa0component is instructed to answer questions based on the contents of\xa0",(0,o.jsx)(t.code,{children:"{Document}"}),". This gives the\xa0",(0,o.jsx)(t.strong,{children:"OpenAI"}),"\xa0component context it would not otherwise have access to."]}),"\n",(0,o.jsx)(t.h3,{id:"f58fcc2b9e594156a829b1772b6a7191",children:"Run the document QA flow"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:["To select a document to load, in the\xa0",(0,o.jsx)(t.strong,{children:"File"}),"\xa0component, click the\xa0",(0,o.jsx)(t.strong,{children:"Path"}),"\xa0field. Select a local file, and then click\xa0",(0,o.jsx)(t.strong,{children:"Open"}),". The file name appears in the field."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:["Click the\xa0",(0,o.jsx)(t.strong,{children:"Playground"}),"\xa0button. Here you can chat with the AI that has access to your document's content."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsx)(t.p,{children:"Type in a question about the document content and press Enter. You should see a contextual response."}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},25838:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/starter-flow-document-qa-25bb93e67df21a31a874531a957eb747.png"},28453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var o=n(96540);const s={},r=o.createContext(s);function c(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.03649db7.js b/assets/js/main.03649db7.js new file mode 100644 index 0000000000..23b6503f6c --- /dev/null +++ b/assets/js/main.03649db7.js @@ -0,0 +1,2 @@ +/*! For license information please see main.03649db7.js.LICENSE.txt */ +(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8792],{94148:(e,t,n)=>{"use strict";var r=n(65606),o=n(96763);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function i(e,t){for(var n=0;n1?n-1:0),o=1;o1?n-1:0),o=1;o1?n-1:0),o=1;o1?n-1:0),o=1;o{"use strict";var r=n(65606);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;te.length)&&(n=e.length),e.substring(n-t.length,n)===t}var w="",k="",x="",S="",_={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function E(e){var t=Object.keys(e),n=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){n[t]=e[t]})),Object.defineProperty(n,"message",{value:e.message}),n}function C(e){return y(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function A(e,t,n){var o="",a="",i=0,s="",l=!1,c=C(e),u=c.split("\n"),p=C(t).split("\n"),d=0,f="";if("strictEqual"===n&&"object"===g(e)&&"object"===g(t)&&null!==e&&null!==t&&(n="strictEqualObject"),1===u.length&&1===p.length&&u[0]!==p[0]){var m=u[0].length+p[0].length;if(m<=10){if(!("object"===g(e)&&null!==e||"object"===g(t)&&null!==t||0===e&&0===t))return"".concat(_[n],"\n\n")+"".concat(u[0]," !== ").concat(p[0],"\n")}else if("strictEqualObject"!==n){if(m<(r.stderr&&r.stderr.isTTY?r.stderr.columns:80)){for(;u[0][d]===p[0][d];)d++;d>2&&(f="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var n=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,n-e.length)}(" ",d),"^"),d=0)}}}for(var h=u[u.length-1],y=p[p.length-1];h===y&&(d++<2?s="\n ".concat(h).concat(s):o=h,u.pop(),p.pop(),0!==u.length&&0!==p.length);)h=u[u.length-1],y=p[p.length-1];var b=Math.max(u.length,p.length);if(0===b){var E=c.split("\n");if(E.length>30)for(E[26]="".concat(w,"...").concat(S);E.length>27;)E.pop();return"".concat(_.notIdentical,"\n\n").concat(E.join("\n"),"\n")}d>3&&(s="\n".concat(w,"...").concat(S).concat(s),l=!0),""!==o&&(s="\n ".concat(o).concat(s),o="");var A=0,O=_[n]+"\n".concat(k,"+ actual").concat(S," ").concat(x,"- expected").concat(S),T=" ".concat(w,"...").concat(S," Lines skipped");for(d=0;d1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),l=!0):P>3&&(a+="\n ".concat(p[d-2]),A++),a+="\n ".concat(p[d-1]),A++),i=d,o+="\n".concat(x,"-").concat(S," ").concat(p[d]),A++;else if(p.length1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),l=!0):P>3&&(a+="\n ".concat(u[d-2]),A++),a+="\n ".concat(u[d-1]),A++),i=d,a+="\n".concat(k,"+").concat(S," ").concat(u[d]),A++;else{var j=p[d],N=u[d],R=N!==j&&(!v(N,",")||N.slice(0,-1)!==j);R&&v(j,",")&&j.slice(0,-1)===N&&(R=!1,N+=","),R?(P>1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),l=!0):P>3&&(a+="\n ".concat(u[d-2]),A++),a+="\n ".concat(u[d-1]),A++),i=d,a+="\n".concat(k,"+").concat(S," ").concat(N),o+="\n".concat(x,"-").concat(S," ").concat(j),A+=2):(a+=o,o="",1!==P&&0!==d||(a+="\n ".concat(N),A++))}if(A>20&&d30)for(f[26]="".concat(w,"...").concat(S);f.length>27;)f.pop();t=1===f.length?d.call(this,"".concat(p," ").concat(f[0])):d.call(this,"".concat(p,"\n\n").concat(f.join("\n"),"\n"))}else{var m=C(i),h="",y=_[o];"notDeepEqual"===o||"notEqual"===o?(m="".concat(_[o],"\n\n").concat(m)).length>1024&&(m="".concat(m.slice(0,1021),"...")):(h="".concat(C(s)),m.length>512&&(m="".concat(m.slice(0,509),"...")),h.length>512&&(h="".concat(h.slice(0,509),"...")),"deepEqual"===o||"equal"===o?m="".concat(y,"\n\n").concat(m,"\n\nshould equal\n\n"):h=" ".concat(o," ").concat(h)),t=d.call(this,"".concat(m).concat(h))}return Error.stackTraceLimit=l,t.generatedMessage=!n,Object.defineProperty(u(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=i,t.expected=s,t.operator=o,Error.captureStackTrace&&Error.captureStackTrace(u(t),a),t.stack,t.name="AssertionError",c(t)}return i=v,(l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return y(this,a(a({},t),{},{customInspect:!1,depth:0}))}}])&&s(i.prototype,l),p&&s(i,p),Object.defineProperty(i,"prototype",{writable:!1}),v}(p(Error),y.custom);e.exports=O},69597:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var n=0;n2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}p("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),p("ERR_INVALID_ARG_TYPE",(function(e,t,o){var a,i,s,c;if(void 0===l&&(l=n(94148)),l("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i)?(a="must not be",t=t.replace(/^not /,"")):a="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))c="The ".concat(e," ").concat(a," ").concat(d(t,"type"));else{var u=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument";c='The "'.concat(e,'" ').concat(u," ").concat(a," ").concat(d(t,"type"))}return c+=". Received type ".concat(r(o))}),TypeError),p("ERR_INVALID_ARG_VALUE",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===c&&(c=n(40537));var o=c.inspect(t);return o.length>128&&(o="".concat(o.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(o)}),TypeError,RangeError),p("ERR_INVALID_RETURN_VALUE",(function(e,t,n){var o;return o=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(o,".")}),TypeError),p("ERR_MISSING_ARGS",(function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var o="The ",a=t.length;switch(t=t.map((function(e){return'"'.concat(e,'"')})),a){case 1:o+="".concat(t[0]," argument");break;case 2:o+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:o+=t.slice(0,a-1).join(", "),o+=", and ".concat(t[a-1]," arguments")}return"".concat(o," must be specified")}),TypeError),e.exports.codes=u},82299:(e,t,n)=>{"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function R(e){return Object.keys(e).filter(N).concat(u(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function L(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,o=0,a=Math.min(n,r);o{"use strict";n.d(t,{A:()=>d});n(96540);var r=n(53259),o=n.n(r),a=n(84054);const i={"019dbd1f":[()=>n.e(8102).then(n.bind(n,57847)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-read-all-users-298-content.mdx",57847],"02955c09":[()=>n.e(5514).then(n.bind(n,6305)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-api-key-route-f84-content.mdx",6305],"05d835b4":[()=>n.e(964).then(n.bind(n,96991)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-download-multiple-file-53d-content.mdx",96991],"0be1d5fe":[()=>n.e(145).then(n.bind(n,75)),"@site/docs/Components/components-models.md",75],"0f44198a":[()=>n.e(7894).then(n.bind(n,93640)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-logs-ecb-content.mdx",93640],"11478de3":[()=>n.e(7258).then(n.bind(n,67431)),"@site/docs/Components/components-rag.md",67431],"16d61ab3":[()=>n.e(1039).then(n.bind(n,98724)),"@site/docs/Starter-Projects/starter-projects-memory-chatbot.md",98724],"172b3cfb":[()=>n.e(8929).then(n.bind(n,29411)),"@site/docs/Deployment/deployment-render.md",29411],17896441:[()=>Promise.all([n.e(1869),n.e(4848),n.e(8401)]).then(n.bind(n,34616)),"@theme/DocItem",34616],"188ee668":[()=>n.e(6350).then(n.bind(n,90315)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-process-f6e-content.mdx",90315],"18f3809a":[()=>n.e(5475).then(n.bind(n,66662)),"@site/docs/Integrations/Notion/notion-agent-meeting-notes.md",66662],19136925:[()=>n.e(9141).then(n.bind(n,9813)),"@site/docs/Contributing/contributing-components.md",9813],"1b523369":[()=>Promise.all([n.e(900),n.e(1246)]).then(n.bind(n,33509)),"@site/docs/Starter-Projects/starter-projects-blog-writer.md",33509],"1e9025f7":[()=>n.e(1500).then(n.bind(n,14118)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-read-variables-412-content.mdx",14118],"20d49d07":[()=>n.e(5513).then(n.bind(n,27893)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-vertex-builds-32b-content.mdx",27893],"20e9af62":[()=>n.e(5562).then(n.bind(n,68096)),"@site/docs/Contributing/contributing-community.md",68096],"2148ae42":[()=>n.e(3040).then(n.bind(n,365)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-folder-e50-content.mdx",365],"216e3ed7":[()=>n.e(8208).then(n.bind(n,12992)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-upload-file-627-content.mdx",12992],"22dd74f7":[()=>n.e(1567).then(n.t.bind(n,55226,19)),"@generated/docusaurus-plugin-content-docs/default/p/index-466.json",55226],"23d0e682":[()=>Promise.all([n.e(900),n.e(9461)]).then(n.bind(n,56459)),"@site/docs/Workspace/workspace-api.md",56459],"24d32e91":[()=>n.e(1035).then(n.bind(n,33401)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-save-store-api-key-8a3-content.mdx",33401],"25bf2d67":[()=>n.e(8031).then(n.bind(n,43956)),"@site/docs/Starter-Projects/starter-projects-basic-prompting.md",43956],"274fd934":[()=>n.e(8064).then(n.bind(n,37835)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-read-flow-b5f-content.mdx",37835],"29b8e27a":[()=>n.e(9619).then(n.bind(n,49531)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-patch-user-d51-content.mdx",49531],"2ab0d4f5":[()=>n.e(1845).then(n.bind(n,4516)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-simplified-run-flow-de5-content.mdx",4516],"2d2c4fcb":[()=>Promise.all([n.e(900),n.e(4973)]).then(n.bind(n,80671)),"@site/docs/Get-Started/get-started-installation.md",80671],"2efb9d3a":[()=>Promise.all([n.e(900),n.e(2691)]).then(n.bind(n,4441)),"@site/docs/Guides/guides-data-message.md",4441],"309383dc":[()=>n.e(5138).then(n.bind(n,53019)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-file-15d-content.mdx",53019],"32cedcea":[()=>n.e(4429).then(n.bind(n,83966)),"@site/docs/Components/components-overview.md",83966],"338a6f8e":[()=>Promise.all([n.e(900),n.e(2097)]).then(n.bind(n,86140)),"@site/docs/Configuration/configuration-custom-database.md",86140],"3705a9c0":[()=>n.e(8679).then(n.bind(n,3345)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-update-flow-d2f-content.mdx",3345],"3a82b27e":[()=>n.e(7713).then(n.bind(n,43405)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-download-file-542-content.mdx",43405],"3ae94ad4":[()=>Promise.all([n.e(900),n.e(7408)]).then(n.bind(n,92553)),"@site/docs/Components/components-io.md",92553],"3b577cbb":[()=>n.e(5866).then(n.bind(n,45369)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-auto-login-4a0-content.mdx",45369],"3ef76b56":[()=>Promise.all([n.e(900),n.e(1563)]).then(n.bind(n,60568)),"@site/docs/Integrations/integrations-langwatch.md",60568],"40d13080":[()=>n.e(5467).then(n.bind(n,42441)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-stream-logs-d6f-content.mdx",42441],"41a97a99":[()=>n.e(1690).then(n.bind(n,51553)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-webhook-run-flow-eb9-content.mdx",51553],"41e3c105":[()=>n.e(5179).then(n.bind(n,84569)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-custom-component-32d-content.mdx",84569],"438e4337":[()=>n.e(4784).then(n.bind(n,26150)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-share-component-761-content.mdx",26150],"43df3697":[()=>n.e(9905).then(n.bind(n,86539)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-upload-file-2-c8b-content.mdx",86539],"445668ec":[()=>Promise.all([n.e(900),n.e(6008)]).then(n.bind(n,68553)),"@site/docs/Contributing/contributing-how-to-contribute.md",68553],"44dfcf75":[()=>n.e(8598).then(n.bind(n,92840)),"@site/docs/Deployment/deployment-railway.md",92840],"45476a69":[()=>n.e(8921).then(n.bind(n,49767)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-create-folder-155-content.mdx",49767],"474d53cd":[()=>n.e(8261).then(n.bind(n,79452)),"@site/docs/Workspace/workspace-logs.md",79452],"4c5e977b":[()=>Promise.all([n.e(1869),n.e(3477),n.e(6473)]).then(n.bind(n,23477)),"@theme/ApiItem",23477],"4ce9199e":[()=>Promise.all([n.e(1869),n.e(900),n.e(7118)]).then(n.bind(n,69716)),"@site/docs/Configuration/configuration-global-variables.md",69716],"4d15791b":[()=>n.e(6080).then(n.bind(n,11693)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-messages-session-2e4-content.mdx",11693],"4d983c8e":[()=>n.e(6003).then(n.bind(n,55045)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-vertex-builds-e41-content.mdx",55045],"4e038a6a":[()=>n.e(9479).then(n.bind(n,41154)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-download-file-1-a3b-content.mdx",41154],"4e7126f8":[()=>n.e(5772).then(n.bind(n,16322)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-messages-afc-content.mdx",16322],"54175a6c":[()=>n.e(9455).then(n.bind(n,64989)),"@site/docs/Deployment/deployment-gcp.md",64989],"547df4a1":[()=>n.e(7165).then(n.bind(n,79109)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-read-basic-examples-70d-content.mdx",79109],"57c9a2b8":[()=>n.e(9476).then(n.bind(n,85211)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-retrieve-vertices-order-d0a-content.mdx",85211],"5a6d6120":[()=>n.e(6682).then(n.bind(n,12732)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-download-profile-picture-7f7-content.mdx",12732],"5ccf4833":[()=>n.e(5718).then(n.bind(n,71071)),"@site/docs/Get-Started/welcome-to-langflow.md",71071],"5cf11f26":[()=>n.e(4133).then(n.bind(n,43902)),"@site/docs/Deployment/deployment-hugging-face-spaces.md",43902],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"61cfab8e":[()=>n.e(5883).then(n.bind(n,82204)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-flow-555-content.mdx",82204],64045095:[()=>n.e(3576).then(n.bind(n,53163)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-health-235-content.mdx",53163],"647965d5":[()=>n.e(1227).then(n.bind(n,3250)),"@site/docs/Components/components-prompts.md",3250],"64ca91f1":[()=>n.e(5284).then(n.bind(n,33563)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-create-variable-eb4-content.mdx",33563],"667d0790":[()=>n.e(9306).then(n.bind(n,15174)),"@site/docs/Contributing/contributing-github-discussion-board.md",15174],"672a0eba":[()=>n.e(787).then(n.bind(n,43603)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-all-d71-content.mdx",43603],"688feaef":[()=>n.e(7108).then(n.bind(n,81966)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-create-upload-file-64f-content.mdx",81966],"6a2beaac":[()=>Promise.all([n.e(900),n.e(3110)]).then(n.bind(n,601)),"@site/docs/Integrations/Notion/notion-agent-conversational.md",601],"6aa941bb":[()=>n.e(3327).then(n.bind(n,5063)),"@site/docs/Components/components-logic.md",5063],"6d684b63":[()=>n.e(768).then(n.bind(n,52783)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-download-image-e78-content.mdx",52783],"6f13807a":[()=>n.e(6559).then(n.bind(n,36474)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-check-if-store-has-api-key-a99-content.mdx",36474],"73af8c33":[()=>n.e(5673).then(n.bind(n,90040)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-list-of-components-liked-by-user-366-content.mdx",90040],"73d1a090":[()=>n.e(8304).then(n.bind(n,89283)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-like-component-b2c-content.mdx",89283],"744aaf8b":[()=>n.e(7472).then(n.bind(n,79119)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-user-7db-content.mdx",79119],"75a9e1e0":[()=>n.e(8196).then(n.bind(n,95291)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-build-vertex-0be-content.mdx",95291],"7679ca6e":[()=>n.e(3859).then(n.bind(n,50837)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-create-api-key-route-fb7-content.mdx",50837],"7823fa72":[()=>n.e(9483).then(n.bind(n,59913)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-process-1-76d-content.mdx",59913],"790349b7":[()=>n.e(7892).then(n.bind(n,18556)),"@site/docs/Workspace/workspace-overview.md",18556],"7b7db446":[()=>n.e(2073).then(n.bind(n,10458)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-refresh-token-477-content.mdx",10458],"7da17ff3":[()=>n.e(1258).then(n.bind(n,80115)),"@site/docs/Starter-Projects/starter-projects-travel-planning-agent.md",80115],"8054effa":[()=>Promise.all([n.e(900),n.e(1394)]).then(n.bind(n,38515)),"@site/docs/Agents/agent-tool-calling-agent-component.md",38515],"8298c1cb":[()=>n.e(4841).then(n.bind(n,4251)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-read-current-user-12a-content.mdx",4251],"829ff4d2":[()=>n.e(3964).then(n.bind(n,44745)),"@site/docs/Integrations/integrations-assemblyai.md",44745],"85112c90":[()=>n.e(8054).then(n.bind(n,57711)),"@site/docs/Contributing/contributing-github-issues.md",57711],"873508e7":[()=>n.e(6332).then(n.bind(n,57120)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-list-profile-pictures-14d-content.mdx",57120],"873ebc27":[()=>Promise.all([n.e(900),n.e(5572)]).then(n.bind(n,82511)),"@site/docs/Components/components-custom-components.md",82511],"8a61012d":[()=>n.e(1022).then(n.bind(n,13402)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-api-keys-route-1e7-content.mdx",13402],"8f774222":[()=>n.e(8661).then(n.bind(n,31126)),"@site/docs/Components/components-memories.md",31126],"8ff68e6f":[()=>n.e(2624).then(n.bind(n,85646)),"@site/docs/Components/components-tools.md",85646],"921b5fc1":[()=>n.e(7462).then(n.bind(n,36875)),"@site/docs/Components/components-embedding-models.md",36875],"92852ade":[()=>n.e(1625).then(n.t.bind(n,54248,19)),"@generated/docusaurus-plugin-openapi/default/__plugin.json",54248],"93e16042":[()=>n.e(417).then(n.bind(n,43271)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-build-vertex-stream-183-content.mdx",43271],"9447891f":[()=>n.e(5339).then(n.bind(n,18109)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-build-flow-d0c-content.mdx",18109],"946d1cee":[()=>n.e(5716).then(n.bind(n,87341)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-login-to-get-access-token-999-content.mdx",87341],"96eb0e67":[()=>n.e(6419).then(n.bind(n,72224)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-read-flows-aea-content.mdx",72224],"9822a706":[()=>Promise.all([n.e(900),n.e(5634)]).then(n.bind(n,16763)),"@site/docs/Starter-Projects/starter-projects-simple-agent.md",16763],"991799c5":[()=>n.e(9371).then(n.bind(n,39570)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-transactions-5fd-content.mdx",39570],"9ac856ad":[()=>Promise.all([n.e(900),n.e(4046)]).then(n.bind(n,30197)),"@site/docs/Configuration/configuration-cli.md",30197],"9fb9a766":[()=>n.e(6445).then(n.bind(n,9631)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-update-shared-component-5d2-content.mdx",9631],a0511a5b:[()=>n.e(5281).then(n.bind(n,42680)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-starter-projects-ab9-content.mdx",42680],a3a1efc2:[()=>n.e(5979).then(n.bind(n,30976)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-read-folder-d35-content.mdx",30976],a3ab51d1:[()=>n.e(2657).then(n.bind(n,4606)),"@site/docs/Contributing/contributing-telemetry.md",4606],a4c0ff01:[()=>n.e(800).then(n.bind(n,36920)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-multiple-flows-b23-content.mdx",36920],a71efd4a:[()=>n.e(4954).then(n.bind(n,68446)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-update-message-1d9-content.mdx",68446],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,31723)),"@theme/DocVersionRoot",31723],a83bc7c0:[()=>n.e(5628).then(n.bind(n,45449)),"@site/docs/Starter-Projects/starter-projects-vector-store-rag.md",45449],a94703ab:[()=>Promise.all([n.e(1869),n.e(9495),n.e(9048)]).then(n.bind(n,57353)),"@theme/DocRoot",57353],a963b3cb:[()=>n.e(3758).then(n.bind(n,42305)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-read-folders-271-content.mdx",42305],a9b4f8aa:[()=>Promise.all([n.e(900),n.e(4931)]).then(n.bind(n,94782)),"@site/docs/Get-Started/get-started-quickstart.md",94782],a9b73094:[()=>n.e(2818).then(n.bind(n,82609)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-download-component-83e-content.mdx",82609],ab17fe15:[()=>n.e(6147).then(n.bind(n,28820)),"@site/docs/Integrations/integrations-langsmith.md",28820],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,27093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",27093],ac3cc3f5:[()=>Promise.all([n.e(1869),n.e(4848),n.e(9495),n.e(1488)]).then(n.bind(n,38417)),"@theme/ApiPage",38417],adef6868:[()=>n.e(8953).then(n.bind(n,29)),"@site/docs/Components/components-loaders.md",29],ae68aa8b:[()=>n.e(8927).then(n.bind(n,62007)),"@site/docs/Components/components-agents.md",62007],b36bb719:[()=>n.e(6949).then(n.bind(n,48308)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-update-variable-126-content.mdx",48308],b3ba68b4:[()=>n.e(2777).then(n.bind(n,3929)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-health-check-6a6-content.mdx",3929],b5257597:[()=>n.e(3347).then(n.t.bind(n,38313,19)),"~api/default/api-metadata-prop-ebb.json",38313],b7251463:[()=>Promise.all([n.e(1869),n.e(900),n.e(51)]).then(n.bind(n,733)),"@site/docs/Configuration/environment-variables.md",733],bc63ae25:[()=>n.e(230).then(n.bind(n,80825)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-task-status-95c-content.mdx",80825],bd7ab245:[()=>n.e(3247).then(n.bind(n,25350)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-variable-efb-content.mdx",25350],be76515e:[()=>n.e(7507).then(n.bind(n,25083)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-post-validate-code-e53-content.mdx",25083],c0d3c6ab:[()=>Promise.all([n.e(900),n.e(2431)]).then(n.bind(n,82746)),"@site/docs/Configuration/configuration-backend-only.md",82746],c2b1730c:[()=>n.e(3694).then(n.bind(n,94780)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-logout-e2f-content.mdx",94780],c2de64b8:[()=>n.e(1185).then(n.bind(n,59844)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-create-flow-d57-content.mdx",59844],c2ebd62a:[()=>Promise.all([n.e(900),n.e(4028)]).then(n.bind(n,87319)),"@site/docs/Deployment/deployment-kubernetes.md",87319],c329cc2b:[()=>n.e(9304).then(n.bind(n,24905)),"@site/docs/Guides/guides-chat-memory.md",24905],c3616f7f:[()=>Promise.all([n.e(900),n.e(1917)]).then(n.bind(n,25542)),"@site/docs/Workspace/workspace-playground.md",25542],c39b795e:[()=>n.e(7338).then(n.bind(n,75056)),"@site/docs/Components/components-helpers.md",75056],c563aec0:[()=>n.e(4633).then(n.bind(n,45562)),"@site/docs/Agents/agents-overview.md",45562],c643a6d5:[()=>n.e(191).then(n.bind(n,3058)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-check-if-store-is-enabled-550-content.mdx",3058],c6a5eaec:[()=>Promise.all([n.e(1869),n.e(900),n.e(8356)]).then(n.bind(n,66082)),"@site/docs/Integrations/integrations-langfuse.md",66082],c817e236:[()=>n.e(6920).then(n.bind(n,14671)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-list-files-cd1-content.mdx",14671],c8dad5f1:[()=>n.e(3917).then(n.bind(n,72572)),"@site/docs/Integrations/Notion/integrations-notion.md",72572],c96ce3ed:[()=>n.e(6281).then(n.bind(n,8572)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-upload-file-1-052-content.mdx",8572],ca67d85f:[()=>n.e(4891).then(n.bind(n,35990)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-components-f46-content.mdx",35990],cacdc615:[()=>Promise.all([n.e(900),n.e(7211)]).then(n.bind(n,5100)),"@site/docs/Configuration/configuration-api-keys.md",5100],cc44357e:[()=>n.e(8085).then(n.bind(n,22765)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-config-1dd-content.mdx",22765],d175aa8b:[()=>n.e(5474).then(n.bind(n,46119)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-delete-messages-c1d-content.mdx",46119],d2ad385b:[()=>Promise.all([n.e(1869),n.e(4930)]).then(n.bind(n,5193)),"@site/docs/Integrations/Google/integrations-setup-google-oauth-langflow.md",5193],dc7b1ef3:[()=>n.e(868).then(n.bind(n,61427)),"@site/docs/Deployment/deployment-docker.md",61427],dedd5914:[()=>n.e(9555).then(n.bind(n,25554)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-update-session-id-298-content.mdx",25554],dfc50084:[()=>n.e(6053).then(n.bind(n,71204)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-tags-e79-content.mdx",71204],e1766139:[()=>n.e(5865).then(n.bind(n,9698)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-reset-password-ea2-content.mdx",9698],e189eece:[()=>n.e(4778).then(n.bind(n,22589)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-add-user-b3b-content.mdx",22589],e6c6a4d2:[()=>n.e(8504).then(n.bind(n,45833)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-experimental-run-flow-7f2-content.mdx",45833],e756fa26:[()=>n.e(2273).then(n.bind(n,39016)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-get-version-990-content.mdx",39016],ea3c040a:[()=>Promise.all([n.e(900),n.e(9126)]).then(n.bind(n,54104)),"@site/docs/Configuration/configuration-auto-saving.md",54104],eae80ce0:[()=>Promise.all([n.e(900),n.e(9642)]).then(n.bind(n,78267)),"@site/docs/Configuration/configuration-authentication.md",78267],ecd67556:[()=>n.e(8188).then(n.bind(n,79082)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-custom-component-update-981-content.mdx",79082],ee32130c:[()=>n.e(5425).then(n.bind(n,7586)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-update-folder-793-content.mdx",7586],f66238ae:[()=>n.e(3391).then(n.bind(n,69481)),"@site/docs/Components/components-vector-stores.md",69481],f81a91eb:[()=>n.e(9580).then(n.bind(n,8228)),"@site/docs/Guides/guides-new-to-llms.md",8228],fdefa9a8:[()=>n.e(7453).then(n.bind(n,48917)),"@site/docs/Components/components-data.md",48917],fe6f9601:[()=>n.e(1956).then(n.bind(n,5619)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-create-flows-660-content.mdx",5619],fe965b62:[()=>n.e(784).then(n.bind(n,82095)),"@site/docs/Starter-Projects/starter-projects-document-qa.md",82095],fef056e9:[()=>n.e(4645).then(n.bind(n,91791)),"/home/runner/work/langflow/langflow/docs/.docusaurus/docusaurus-plugin-openapi/default/site-api-post-validate-prompt-2ee-content.mdx",91791]};var s=n(74848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(86921),u=n(53102);function p(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(2237).then(n.bind(n,82237)),modules:["@theme/NotFound"],webpack:()=>[82237],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],p={},d=[],f=[],m=(0,c.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(p[t]=r[0],d.push(r[1]),f.push(r[2]))})),o().Map({loading:l,loader:p,modules:d,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(u.W,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const d=[{path:"/api",component:p("/api","0b4"),routes:[{path:"/api",component:p("/api","a54"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/add-user",component:p("/api/add-user","53b"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/auto-login",component:p("/api/auto-login","f1e"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/build-flow",component:p("/api/build-flow","cd8"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/build-vertex",component:p("/api/build-vertex","4df"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/build-vertex-stream",component:p("/api/build-vertex-stream","195"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/check-if-store-has-api-key",component:p("/api/check-if-store-has-api-key","3aa"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/check-if-store-is-enabled",component:p("/api/check-if-store-is-enabled","849"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/create-api-key-route",component:p("/api/create-api-key-route","e4f"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/create-flow",component:p("/api/create-flow","fae"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/create-flows",component:p("/api/create-flows","3d6"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/create-folder",component:p("/api/create-folder","43f"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/create-upload-file",component:p("/api/create-upload-file","34c"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/create-variable",component:p("/api/create-variable","fed"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/custom-component",component:p("/api/custom-component","85c"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/custom-component-update",component:p("/api/custom-component-update","9a4"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-api-key-route",component:p("/api/delete-api-key-route","41f"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-file",component:p("/api/delete-file","37c"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-flow",component:p("/api/delete-flow","51a"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-folder",component:p("/api/delete-folder","212"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-messages",component:p("/api/delete-messages","498"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-messages-session",component:p("/api/delete-messages-session","fe1"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-multiple-flows",component:p("/api/delete-multiple-flows","761"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-user",component:p("/api/delete-user","d4b"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-variable",component:p("/api/delete-variable","0ed"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/delete-vertex-builds",component:p("/api/delete-vertex-builds","7c9"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/download-component",component:p("/api/download-component","37c"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/download-file",component:p("/api/download-file","c1c"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/download-file-1",component:p("/api/download-file-1","c01"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/download-image",component:p("/api/download-image","856"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/download-multiple-file",component:p("/api/download-multiple-file","a0f"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/download-profile-picture",component:p("/api/download-profile-picture","6c8"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/experimental-run-flow",component:p("/api/experimental-run-flow","0a7"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-all",component:p("/api/get-all","62d"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-api-keys-route",component:p("/api/get-api-keys-route","4cf"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-components",component:p("/api/get-components","296"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-config",component:p("/api/get-config","c07"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-list-of-components-liked-by-user",component:p("/api/get-list-of-components-liked-by-user","541"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-messages",component:p("/api/get-messages","2b1"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-starter-projects",component:p("/api/get-starter-projects","472"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-tags",component:p("/api/get-tags","dd9"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-task-status",component:p("/api/get-task-status","061"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-transactions",component:p("/api/get-transactions","21d"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-version",component:p("/api/get-version","a30"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/get-vertex-builds",component:p("/api/get-vertex-builds","e4b"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/health",component:p("/api/health","ce5"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/health-check",component:p("/api/health-check","06b"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/like-component",component:p("/api/like-component","4fc"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/list-files",component:p("/api/list-files","33c"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/list-profile-pictures",component:p("/api/list-profile-pictures","27f"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/login-to-get-access-token",component:p("/api/login-to-get-access-token","95b"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/logout",component:p("/api/logout","5c7"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/logs",component:p("/api/logs","c61"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/patch-user",component:p("/api/patch-user","8e9"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/post-validate-code",component:p("/api/post-validate-code","ec0"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/post-validate-prompt",component:p("/api/post-validate-prompt","9cb"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/process",component:p("/api/process","481"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/process-1",component:p("/api/process-1","023"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/read-all-users",component:p("/api/read-all-users","7a9"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/read-basic-examples",component:p("/api/read-basic-examples","6ef"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/read-current-user",component:p("/api/read-current-user","a83"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/read-flow",component:p("/api/read-flow","b6f"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/read-flows",component:p("/api/read-flows","e56"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/read-folder",component:p("/api/read-folder","0df"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/read-folders",component:p("/api/read-folders","6e2"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/read-variables",component:p("/api/read-variables","e07"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/refresh-token",component:p("/api/refresh-token","58e"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/reset-password",component:p("/api/reset-password","4e0"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/retrieve-vertices-order",component:p("/api/retrieve-vertices-order","78a"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/save-store-api-key",component:p("/api/save-store-api-key","7e7"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/share-component",component:p("/api/share-component","5dc"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/simplified-run-flow",component:p("/api/simplified-run-flow","55b"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/stream-logs",component:p("/api/stream-logs","180"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/update-flow",component:p("/api/update-flow","27e"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/update-folder",component:p("/api/update-folder","343"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/update-message",component:p("/api/update-message","261"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/update-session-id",component:p("/api/update-session-id","575"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/update-shared-component",component:p("/api/update-shared-component","c67"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/update-variable",component:p("/api/update-variable","5db"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/upload-file",component:p("/api/upload-file","018"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/upload-file-1",component:p("/api/upload-file-1","f59"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/upload-file-2",component:p("/api/upload-file-2","58e"),exact:!0,sidebar:"openapi-sidebar-default"},{path:"/api/webhook-run-flow",component:p("/api/webhook-run-flow","c67"),exact:!0,sidebar:"openapi-sidebar-default"}]},{path:"/",component:p("/","875"),routes:[{path:"/",component:p("/","b4a"),routes:[{path:"/",component:p("/","ccd"),routes:[{path:"/agents-overview",component:p("/agents-overview","b12"),exact:!0,sidebar:"docs"},{path:"/agents-tool-calling-agent-component",component:p("/agents-tool-calling-agent-component","a49"),exact:!0,sidebar:"docs"},{path:"/components-agents",component:p("/components-agents","db6"),exact:!0,sidebar:"docs"},{path:"/components-custom-components",component:p("/components-custom-components","2d7"),exact:!0,sidebar:"docs"},{path:"/components-data",component:p("/components-data","1a9"),exact:!0,sidebar:"docs"},{path:"/components-embedding-models",component:p("/components-embedding-models","0ad"),exact:!0,sidebar:"docs"},{path:"/components-helpers",component:p("/components-helpers","01d"),exact:!0,sidebar:"docs"},{path:"/components-io",component:p("/components-io","4d0"),exact:!0,sidebar:"docs"},{path:"/components-loaders",component:p("/components-loaders","6da"),exact:!0,sidebar:"docs"},{path:"/components-logic",component:p("/components-logic","529"),exact:!0,sidebar:"docs"},{path:"/components-models",component:p("/components-models","9a9"),exact:!0,sidebar:"docs"},{path:"/components-overview",component:p("/components-overview","ee3"),exact:!0,sidebar:"docs"},{path:"/components-prompts",component:p("/components-prompts","d25"),exact:!0,sidebar:"docs"},{path:"/components-rag",component:p("/components-rag","2be"),exact:!0,sidebar:"docs"},{path:"/components-vector-stores",component:p("/components-vector-stores","f7e"),exact:!0,sidebar:"docs"},{path:"/Components/components-memories",component:p("/Components/components-memories","1ed"),exact:!0,sidebar:"docs"},{path:"/Components/components-tools",component:p("/Components/components-tools","cc7"),exact:!0,sidebar:"docs"},{path:"/configuration-api-keys",component:p("/configuration-api-keys","d13"),exact:!0,sidebar:"docs"},{path:"/configuration-authentication",component:p("/configuration-authentication","cf0"),exact:!0,sidebar:"docs"},{path:"/configuration-auto-save",component:p("/configuration-auto-save","329"),exact:!0,sidebar:"docs"},{path:"/configuration-backend-only",component:p("/configuration-backend-only","d96"),exact:!0,sidebar:"docs"},{path:"/configuration-cli",component:p("/configuration-cli","953"),exact:!0,sidebar:"docs"},{path:"/configuration-global-variables",component:p("/configuration-global-variables","e91"),exact:!0,sidebar:"docs"},{path:"/Configuration/configuration-custom-database",component:p("/Configuration/configuration-custom-database","9e6"),exact:!0},{path:"/contributing-community",component:p("/contributing-community","d7c"),exact:!0,sidebar:"docs"},{path:"/contributing-components",component:p("/contributing-components","a18"),exact:!0,sidebar:"docs"},{path:"/contributing-github-discussions",component:p("/contributing-github-discussions","232"),exact:!0,sidebar:"docs"},{path:"/contributing-github-issues",component:p("/contributing-github-issues","192"),exact:!0,sidebar:"docs"},{path:"/contributing-how-to-contribute",component:p("/contributing-how-to-contribute","78b"),exact:!0,sidebar:"docs"},{path:"/contributing-telemetry",component:p("/contributing-telemetry","3c6"),exact:!0,sidebar:"docs"},{path:"/deployment-docker",component:p("/deployment-docker","43a"),exact:!0,sidebar:"docs"},{path:"/deployment-gcp",component:p("/deployment-gcp","8df"),exact:!0,sidebar:"docs"},{path:"/deployment-hugging-face-spaces",component:p("/deployment-hugging-face-spaces","49e"),exact:!0,sidebar:"docs"},{path:"/deployment-kubernetes",component:p("/deployment-kubernetes","ada"),exact:!0,sidebar:"docs"},{path:"/deployment-railway",component:p("/deployment-railway","bfa"),exact:!0,sidebar:"docs"},{path:"/deployment-render",component:p("/deployment-render","101"),exact:!0,sidebar:"docs"},{path:"/environment-variables",component:p("/environment-variables","46d"),exact:!0,sidebar:"docs"},{path:"/get-started-installation",component:p("/get-started-installation","cf6"),exact:!0,sidebar:"docs"},{path:"/get-started-quickstart",component:p("/get-started-quickstart","9a9"),exact:!0,sidebar:"docs"},{path:"/guides-chat-memory",component:p("/guides-chat-memory","e45"),exact:!0,sidebar:"docs"},{path:"/guides-data-message",component:p("/guides-data-message","a3d"),exact:!0,sidebar:"docs"},{path:"/guides-new-to-llms",component:p("/guides-new-to-llms","ad1"),exact:!0,sidebar:"docs"},{path:"/integrations-assemblyai",component:p("/integrations-assemblyai","e5c"),exact:!0,sidebar:"docs"},{path:"/integrations-langfuse",component:p("/integrations-langfuse","3ae"),exact:!0,sidebar:"docs"},{path:"/integrations-langsmith",component:p("/integrations-langsmith","6ca"),exact:!0,sidebar:"docs"},{path:"/integrations-langwatch",component:p("/integrations-langwatch","960"),exact:!0,sidebar:"docs"},{path:"/integrations-setup-google-oauth-langflow",component:p("/integrations-setup-google-oauth-langflow","28c"),exact:!0,sidebar:"docs"},{path:"/integrations/notion/notion-agent-conversational",component:p("/integrations/notion/notion-agent-conversational","f27"),exact:!0,sidebar:"docs"},{path:"/integrations/notion/notion-agent-meeting-notes",component:p("/integrations/notion/notion-agent-meeting-notes","4a7"),exact:!0,sidebar:"docs"},{path:"/integrations/notion/setup",component:p("/integrations/notion/setup","959"),exact:!0,sidebar:"docs"},{path:"/starter-projects-basic-prompting",component:p("/starter-projects-basic-prompting","5a3"),exact:!0,sidebar:"docs"},{path:"/starter-projects-blog-writer",component:p("/starter-projects-blog-writer","3ac"),exact:!0,sidebar:"docs"},{path:"/starter-projects-document-qa",component:p("/starter-projects-document-qa","c91"),exact:!0,sidebar:"docs"},{path:"/starter-projects-memory-chatbot",component:p("/starter-projects-memory-chatbot","138"),exact:!0,sidebar:"docs"},{path:"/starter-projects-simple-agent",component:p("/starter-projects-simple-agent","7ad"),exact:!0,sidebar:"docs"},{path:"/starter-projects-travel-planning-agent",component:p("/starter-projects-travel-planning-agent","9a2"),exact:!0,sidebar:"docs"},{path:"/starter-projects-vector-store-rag",component:p("/starter-projects-vector-store-rag","59c"),exact:!0,sidebar:"docs"},{path:"/workspace-api",component:p("/workspace-api","429"),exact:!0,sidebar:"docs"},{path:"/workspace-logs",component:p("/workspace-logs","e2b"),exact:!0,sidebar:"docs"},{path:"/workspace-overview",component:p("/workspace-overview","e06"),exact:!0,sidebar:"docs"},{path:"/workspace-playground",component:p("/workspace-playground","be9"),exact:!0,sidebar:"docs"},{path:"/",component:p("/","a6c"),exact:!0,sidebar:"docs"}]}]}]},{path:"*",component:p("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(96540),o=n(74848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},77815:(e,t,n)=>{"use strict";var r=n(96540),o=n(5338),a=n(80545),i=n(54625),s=n(4784),l=n(38193);const c=[n(31911),n(10119),n(26134),n(76294),n(641),n(21798),n(68665),n(11818),n(73796)];var u=n(35947),p=n(56347),d=n(22831),f=n(74848);function m(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var h=n(5260),g=n(44586),y=n(86025),b=n(6342),v=n(1003),w=n(32131),k=n(14090);var x=n(70440),S=n(41463);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,w.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(h.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,p.zy)();return e+(0,x.Ks)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(h.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function C(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,b.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(h.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:k.w})]}),n&&(0,f.jsx)(v.be,{image:n}),(0,f.jsx)(E,{}),(0,f.jsx)(_,{}),(0,f.jsx)(S.A,{tag:"default",locale:e}),(0,f.jsx)(h.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const A=new Map;var O=n(6125),T=n(26988),P=n(205);function j(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,P.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),j("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}var L=n(96763);class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?j("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=j("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),R(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{L.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(p.qh,{location:t,render:()=>e})})}}const F=I,D="__docusaurus-base-url-issue-banner-suggestion-container";function M(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,p.zy)());return(0,f.jsx)(F,{location:e,children:V})}function W(){return(0,f.jsx)(q.A,{children:(0,f.jsx)(T.l,{children:(0,f.jsxs)(O.x,{children:[(0,f.jsxs)(m,{children:[(0,f.jsx)($,{}),(0,f.jsx)(C,{}),(0,f.jsx)(z,{}),(0,f.jsx)(G,{})]}),(0,f.jsx)(H,{})]})})})}var K=n(84054);const Y=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Q=n(86921);const X=new Set,Z=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch:e=>{if(!(e=>!J()&&!Z.has(e)&&!X.has(e))(e))return!1;X.add(e);const t=(0,d.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(K).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Q.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!Z.has(e))(e)&&(Z.add(e),R(e))},te=Object.freeze(ee);var ne=n(96763);function re(e){let{children:t}=e;return"hash"===s.A.future.experimental_router?(0,f.jsx)(i.I9,{children:t}):(0,f.jsx)(i.Kd,{children:t})}const oe=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(a.vd,{children:(0,f.jsx)(re,{children:(0,f.jsx)(W,{})})}),n=(e,t)=>{ne.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(oe)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};R(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},26988:(e,t,n)=>{"use strict";n.d(t,{o:()=>p,l:()=>d});var r=n(96540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"Get-Started/welcome-to-langflow","docs":[{"id":"Agents/agent-tool-calling-agent-component","path":"/agents-tool-calling-agent-component","sidebar":"docs"},{"id":"Agents/agents-overview","path":"/agents-overview","sidebar":"docs"},{"id":"Components/components-agents","path":"/components-agents","sidebar":"docs"},{"id":"Components/components-custom-components","path":"/components-custom-components","sidebar":"docs"},{"id":"Components/components-data","path":"/components-data","sidebar":"docs"},{"id":"Components/components-embedding-models","path":"/components-embedding-models","sidebar":"docs"},{"id":"Components/components-helpers","path":"/components-helpers","sidebar":"docs"},{"id":"Components/components-io","path":"/components-io","sidebar":"docs"},{"id":"Components/components-loaders","path":"/components-loaders","sidebar":"docs"},{"id":"Components/components-logic","path":"/components-logic","sidebar":"docs"},{"id":"Components/components-memories","path":"/Components/components-memories","sidebar":"docs"},{"id":"Components/components-models","path":"/components-models","sidebar":"docs"},{"id":"Components/components-overview","path":"/components-overview","sidebar":"docs"},{"id":"Components/components-prompts","path":"/components-prompts","sidebar":"docs"},{"id":"Components/components-rag","path":"/components-rag","sidebar":"docs"},{"id":"Components/components-tools","path":"/Components/components-tools","sidebar":"docs"},{"id":"Components/components-vector-stores","path":"/components-vector-stores","sidebar":"docs"},{"id":"Configuration/configuration-api-keys","path":"/configuration-api-keys","sidebar":"docs"},{"id":"Configuration/configuration-authentication","path":"/configuration-authentication","sidebar":"docs"},{"id":"Configuration/configuration-auto-saving","path":"/configuration-auto-save","sidebar":"docs"},{"id":"Configuration/configuration-backend-only","path":"/configuration-backend-only","sidebar":"docs"},{"id":"Configuration/configuration-cli","path":"/configuration-cli","sidebar":"docs"},{"id":"Configuration/configuration-custom-database","path":"/Configuration/configuration-custom-database"},{"id":"Configuration/configuration-global-variables","path":"/configuration-global-variables","sidebar":"docs"},{"id":"Configuration/environment-variables","path":"/environment-variables","sidebar":"docs"},{"id":"Contributing/contributing-community","path":"/contributing-community","sidebar":"docs"},{"id":"Contributing/contributing-components","path":"/contributing-components","sidebar":"docs"},{"id":"Contributing/contributing-github-discussion-board","path":"/contributing-github-discussions","sidebar":"docs"},{"id":"Contributing/contributing-github-issues","path":"/contributing-github-issues","sidebar":"docs"},{"id":"Contributing/contributing-how-to-contribute","path":"/contributing-how-to-contribute","sidebar":"docs"},{"id":"Contributing/contributing-telemetry","path":"/contributing-telemetry","sidebar":"docs"},{"id":"Deployment/deployment-docker","path":"/deployment-docker","sidebar":"docs"},{"id":"Deployment/deployment-gcp","path":"/deployment-gcp","sidebar":"docs"},{"id":"Deployment/deployment-hugging-face-spaces","path":"/deployment-hugging-face-spaces","sidebar":"docs"},{"id":"Deployment/deployment-kubernetes","path":"/deployment-kubernetes","sidebar":"docs"},{"id":"Deployment/deployment-railway","path":"/deployment-railway","sidebar":"docs"},{"id":"Deployment/deployment-render","path":"/deployment-render","sidebar":"docs"},{"id":"Get-Started/get-started-installation","path":"/get-started-installation","sidebar":"docs"},{"id":"Get-Started/get-started-quickstart","path":"/get-started-quickstart","sidebar":"docs"},{"id":"Get-Started/welcome-to-langflow","path":"/","sidebar":"docs"},{"id":"Guides/guides-chat-memory","path":"/guides-chat-memory","sidebar":"docs"},{"id":"Guides/guides-data-message","path":"/guides-data-message","sidebar":"docs"},{"id":"Guides/guides-new-to-llms","path":"/guides-new-to-llms","sidebar":"docs"},{"id":"Integrations/Google/integrations-setup-google-oauth-langflow","path":"/integrations-setup-google-oauth-langflow","sidebar":"docs"},{"id":"Integrations/integrations-assemblyai","path":"/integrations-assemblyai","sidebar":"docs"},{"id":"Integrations/integrations-langfuse","path":"/integrations-langfuse","sidebar":"docs"},{"id":"Integrations/integrations-langsmith","path":"/integrations-langsmith","sidebar":"docs"},{"id":"Integrations/integrations-langwatch","path":"/integrations-langwatch","sidebar":"docs"},{"id":"Integrations/Notion/integrations-notion","path":"/integrations/notion/setup","sidebar":"docs"},{"id":"Integrations/Notion/notion-agent-conversational","path":"/integrations/notion/notion-agent-conversational","sidebar":"docs"},{"id":"Integrations/Notion/notion-agent-meeting-notes","path":"/integrations/notion/notion-agent-meeting-notes","sidebar":"docs"},{"id":"Starter-Projects/starter-projects-basic-prompting","path":"/starter-projects-basic-prompting","sidebar":"docs"},{"id":"Starter-Projects/starter-projects-blog-writer","path":"/starter-projects-blog-writer","sidebar":"docs"},{"id":"Starter-Projects/starter-projects-document-qa","path":"/starter-projects-document-qa","sidebar":"docs"},{"id":"Starter-Projects/starter-projects-memory-chatbot","path":"/starter-projects-memory-chatbot","sidebar":"docs"},{"id":"Starter-Projects/starter-projects-simple-agent","path":"/starter-projects-simple-agent","sidebar":"docs"},{"id":"Starter-Projects/starter-projects-travel-planning-agent","path":"/starter-projects-travel-planning-agent","sidebar":"docs"},{"id":"Starter-Projects/starter-projects-vector-store-rag","path":"/starter-projects-vector-store-rag","sidebar":"docs"},{"id":"Workspace/workspace-api","path":"/workspace-api","sidebar":"docs"},{"id":"Workspace/workspace-logs","path":"/workspace-logs","sidebar":"docs"},{"id":"Workspace/workspace-overview","path":"/workspace-overview","sidebar":"docs"},{"id":"Workspace/workspace-playground","path":"/workspace-playground","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/","label":"Get-Started/welcome-to-langflow"}}}}],"breadcrumbs":true}},"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-XHC7G628ZP"],"anonymizeIP":true,"id":"default"}},"docusaurus-plugin-google-tag-manager":{"default":{"containerId":"GTM-NK5M4ZT8","id":"default"}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(22654);const l=JSON.parse('{"docusaurusVersion":"3.5.2","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.5.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.5.2"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.5.2"},"docusaurus-plugin-google-tag-manager":{"type":"package","name":"@docusaurus/plugin-google-tag-manager","version":"3.5.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.5.2"},"docusaurus-plugin-openapi":{"type":"package","name":"docusaurus-plugin-openapi","version":"0.7.5"},"docusaurus-plugin-proxy":{"type":"package","name":"docusaurus-plugin-proxy","version":"0.7.5"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.5.2"},"docusaurus-theme-openapi":{"type":"package","name":"docusaurus-theme-openapi","version":"0.7.5"},"docusaurus-node-polyfills":{"type":"package","name":"docusaurus-node-polyfills","version":"1.0.0"},"docusaurus-plugin-image-zoom":{"type":"package","name":"docusaurus-plugin-image-zoom","version":"2.0.0"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.5.2"},"docusaurus-tailwindcss":{"type":"local"}}}');var c=n(74848);const u={siteConfig:o.A,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},p=r.createContext(u);function d(e){let{children:t}=e;return(0,c.jsx)(p.Provider,{value:u,children:t})}},67489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(96540),o=n(38193),a=n(5260),i=n(70440),s=n(71539),l=n(53102),c=n(74848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(p,{error:t})]})}function p(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{children:t}=e;return(0,c.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(d,{children:(0,c.jsxs)(h,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(f,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},38193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(80545),o=n(74848);function a(e){return(0,o.jsx)(r.mg,{...e})}},28774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(96540),o=n(54625),a=n(70440),i=n(44586),s=n(16654),l=n(38193),c=n(63427),u=n(86025),p=n(74848);function d(e,t){let{isNavLink:n,to:d,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,u.hH)(),_=(0,c.A)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>E.current));const C=d||f;const A=(0,s.A)(C),O=C?.replace("pathname://","");let T=void 0!==O?(P=O,y&&(e=>e.startsWith("/"))(P)?S(P):P):void 0;var P;"hash"===x&&T?.startsWith("./")&&(T=T?.slice(1)),T&&A&&(T=(0,a.Ks)(T,{trailingSlash:w,baseUrl:k}));const j=(0,r.useRef)(!1),N=n?o.k2:o.N_,R=l.A.canUseIntersectionObserver,L=(0,r.useRef)(),I=()=>{j.current||null==T||(window.docusaurus.preload(T),j.current=!0)};(0,r.useEffect)((()=>(!R&&A&&l.A.canUseDOM&&null!=T&&window.docusaurus.prefetch(T),()=>{R&&L.current&&L.current.disconnect()})),[L,T,R,A]);const F=T?.startsWith("#")??!1,D=!b.target||"_self"===b.target,M=!T||!A||!D||F&&"hash"!==x;g||!F&&M||_.collectLink(T),b.id&&_.collectAnchor(b.id);const B={};return M?(0,p.jsx)("a",{ref:E,href:T,...C&&!A&&{target:"_blank",rel:"noopener noreferrer"},...b,...B}):(0,p.jsx)(N,{...b,onMouseEnter:I,onTouchStart:I,innerRef:e=>{E.current=e,R&&e&&A&&(L.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(L.current.unobserve(e),L.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),L.current.observe(e))},to:T,...n&&{isActive:h,activeClassName:m},...B})}const f=r.forwardRef(d)},21312:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>c});var r=n(96540),o=n(74848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(22654),s=n(96763);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function c(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw s.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},17065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},16654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},86025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(96540),o=n(44586),a=n(16654);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},63427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(96540);n(74848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},44586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(26988);function a(){return(0,r.useContext)(o.o)}},92303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(6125);function a(){return(0,r.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(96540);const o=n(38193).A.canUseDOM?r.useLayoutEffect:r.useEffect},86921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},53102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(96540),o=n(74848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},53886:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,g1:()=>b});var r=n(96540),o=n(44070),a=n(17065),i=n(6342),s=n(70679),l=n(89532),c=n(74848);const u=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,s.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(u(e),{persistence:t}).del()}},d=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function m(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>d(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,c.jsx)(f.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return(0,c.jsx)(h,{children:t})}function y(){const e=(0,r.useContext)(f);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function b(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},60609:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>c});var r=n(96540),o=n(89532),a=n(74848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},26972:(e,t,n)=>{"use strict";n.d(t,{B5:()=>S,Nr:()=>d,OF:()=>v,QB:()=>x,Vd:()=>w,Y:()=>y,fW:()=>k,w8:()=>h});var r=n(96540),o=n(56347),a=n(22831),i=n(44070),s=n(99169),l=n(31682),c=n(53886),u=n(23025),p=n(60609);function d(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=d(t);if(e)return e}}(e):void 0:e.href}const f=(e,t)=>void 0!==e&&(0,s.ys)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?f(e.href,t):"category"===e.type&&(f(e.href,t)||m(e.items,t))}function g(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>g(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function y(e,t){return(0,r.useMemo)((()=>e.filter((e=>g(e,t)))),[e,t])}function b(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,s.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,s.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function v(){const e=(0,p.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?b({sidebarItems:e.items,pathname:t}):null}function w(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,c.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>(0,l.sb)([t,n,o].filter(Boolean))),[t,n,o])}function k(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function x(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,l.sb)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function S(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,u.r)(),i=t.routes,s=i.find((e=>(0,o.B6)(n.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.v)(i),sidebarName:l,sidebarItems:c}}},23025:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},44070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>h,vT:()=>d,Gy:()=>u,HW:()=>g,ht:()=>p,r7:()=>m,jh:()=>f});var r=n(56347),o=n(44586),a=n(17065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=function(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const c={},u=()=>i("docusaurus-plugin-content-docs")??c,p=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function d(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function f(e){return p(e).versions}function m(e){const t=p(e);return s(t)}function h(e){const t=p(e),{pathname:n}=(0,r.zy)();return l(t,n)}function g(e){const t=p(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},31911:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},76294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},26134:(e,t,n)=>{"use strict";var r=n(84876),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.A,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(19700),n(18692)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},51107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(18215),o=n(21312),a=n(6342),i=n(28774),s=n(63427);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(74848);function u(e){let{as:t,id:n,...u}=e;const p=(0,s.A)(),{navbar:{hideOnScroll:d}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});p.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",d?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},43186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(74848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},71539:(e,t,n)=>{"use strict";n.d(t,{A:()=>Vx});var r=n(96540),o=n.t(r,2),a=n(18215),i=n(67489),s=n(1003),l=n(56347),c=n(21312),u=n(75062),p=n(74848);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function m(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const h=(0,c.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??h,{containerRef:n,onClick:r}=m();return(0,p.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,p.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var y=n(17559),b=n(14090);const v={skipToContent:"skipToContent_fXgn"};function w(){return(0,p.jsx)(g,{className:v.skipToContent})}var k=n(6342),x=n(65041);function S(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,p.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,p.jsx)("g",{stroke:r,strokeWidth:o,children:(0,p.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const _={closeButton:"closeButton_CVFx"};function E(e){return(0,p.jsx)("button",{type:"button","aria-label":(0,c.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",_.closeButton,e.className),children:(0,p.jsx)(S,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function A(e){const{announcementBar:t}=(0,k.p)(),{content:n}=t;return(0,p.jsx)("div",{...e,className:(0,a.A)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const O={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,k.p)(),{isActive:t,close:n}=(0,x.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,p.jsxs)("div",{className:O.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,p.jsx)("div",{className:O.announcementBarPlaceholder}),(0,p.jsx)(A,{className:O.announcementBarContent}),a&&(0,p.jsx)(E,{onClick:n,className:O.announcementBarClose})]})}var P=n(22069),j=n(23104);var N=n(89532),R=n(75600);const L=r.createContext(null);function I(e){let{children:t}=e;const n=function(){const e=(0,P.M)(),t=(0,R.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,N.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,p.jsx)(L.Provider,{value:n,children:t})}function F(e){if(e.component){const t=e.component;return(0,p.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(L);if(!e)throw new N.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,R.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:F(a)})),[o,a,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=D();return(0,p.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,p.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,p.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,p.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var B=n(95293),z=n(92303);function $(e){return(0,p.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,p.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function q(e){return(0,p.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,p.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),s=(0,c.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,c.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,p.jsx)("div",{className:(0,a.A)(U.toggle,t),children:(0,p.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,p.jsx)($,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,p.jsx)(q,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const V=r.memo(H),G={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function W(e){let{className:t}=e;const n=(0,k.p)().navbar.style,r=(0,k.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,B.G)();return r?null:(0,p.jsx)(V,{className:t,buttonClassName:"dark"===n?G.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var K=n(23465);function Y(){return(0,p.jsx)(K.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,P.M)();return(0,p.jsx)("button",{type:"button","aria-label":(0,c.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,p.jsx)(S,{color:"var(--ifm-color-emphasis-600)"})})}function X(){return(0,p.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,p.jsx)(Y,{}),(0,p.jsx)(W,{className:"margin-right--md"}),(0,p.jsx)(Q,{})]})}var Z=n(28774),J=n(86025),ee=n(16654);function te(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var ne=n(43186);function re(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const u=(0,J.Ay)(r),d=(0,J.Ay)(t),f=(0,J.Ay)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,ee.A)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,p.jsxs)(p.Fragment,{children:[a,m&&(0,p.jsx)(ne.A,{...s&&{width:12,height:12}})]})};return o?(0,p.jsx)(Z.A,{href:l?f:o,...c,...h}):(0,p.jsx)(Z.A,{to:u,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?te(n,t.pathname):t.pathname.startsWith(d)},...c,...h})}function oe(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,p.jsx)(re,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,p.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,p.jsx)("li",{className:"menu__list-item",children:(0,p.jsx)(re,{className:(0,a.A)("menu__link",t),...r})})}function ie(e){let{mobile:t=!1,position:n,...r}=e;const o=t?ae:oe;return(0,p.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var se=n(41422),le=n(99169),ce=n(44586);const ue="dropdownNavbarItemMobile_S0Fm";function pe(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!te(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,u]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,p.jsxs)("div",{ref:l,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,p.jsx)(re,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.A)("navbar__link",o),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!c))},children:s.children??s.label}),(0,p.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(nx,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,ce.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),u=pe(t,c),{collapsed:d,toggleCollapsed:f,setCollapsed:m}=(0,se.u)({initialState:()=>!u});return(0,r.useEffect)((()=>{u&&m(!u)}),[c,u,m]),(0,p.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":d}),children:[(0,p.jsx)(re,{role:"button",className:(0,a.A)(ue,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,p.jsx)(se.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:d,children:t.map(((e,t)=>(0,r.createElement)(nx,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function me(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,p.jsx)(r,{...n})}var he=n(32131);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,p.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,p.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ye="iconLanguage_nlXk";var be=n(40961),ve=n(96763),we=function(){return we=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1](((e,t,n)=>{t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n),n);let Ae=new class{constructor(){Ce(this,"current",this.detect()),Ce(this,"handoffState","pending"),Ce(this,"currentId",0)}set(e){this.current!==e&&(this.handoffState="pending",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}},Oe=(e,t)=>{Ae.isServer?(0,r.useEffect)(e,t):(0,r.useLayoutEffect)(e,t)};function Te(e){let t=(0,r.useRef)(e);return Oe((()=>{t.current=e}),[e]),t}function Pe(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((e=>setTimeout((()=>{throw e}))))}function je(){let e=[],t=[],n={enqueue(e){t.push(e)},addEventListener:(e,t,r,o)=>(e.addEventListener(t,r,o),n.add((()=>e.removeEventListener(t,r,o)))),requestAnimationFrame(...e){let t=requestAnimationFrame(...e);return n.add((()=>cancelAnimationFrame(t)))},nextFrame:(...e)=>n.requestAnimationFrame((()=>n.requestAnimationFrame(...e))),setTimeout(...e){let t=setTimeout(...e);return n.add((()=>clearTimeout(t)))},microTask(...e){let t={current:!0};return Pe((()=>{t.current&&e[0]()})),n.add((()=>{t.current=!1}))},add:t=>(e.push(t),()=>{let n=e.indexOf(t);if(n>=0){let[t]=e.splice(n,1);t()}}),dispose(){for(let t of e.splice(0))t()},async workQueue(){for(let e of t.splice(0))await e()},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add((()=>{Object.assign(e.style,{[t]:r})}))}};return n}function Ne(){let[e]=(0,r.useState)(je);return(0,r.useEffect)((()=>()=>e.dispose()),[e]),e}let Re=function(e){let t=Te(e);return r.useCallback(((...e)=>t.current(...e)),[t])};function Le(){let[e,t]=(0,r.useState)(Ae.isHandoffComplete);return e&&!1===Ae.isHandoffComplete&&t(!1),(0,r.useEffect)((()=>{!0!==e&&t(!0)}),[e]),(0,r.useEffect)((()=>Ae.handoff()),[]),e}var Ie;let Fe=null!=(Ie=r.useId)?Ie:function(){let e=Le(),[t,n]=r.useState(e?()=>Ae.nextId():null);return Oe((()=>{null===t&&n(Ae.nextId())}),[t]),null!=t?""+t:void 0};function De(e,t,...n){if(e in t){let r=t[e];return"function"==typeof r?r(...n):r}let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((e=>`"${e}"`)).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,De),r}function Me(e){return Ae.isServer?null:e instanceof Node?e.ownerDocument:null!=e&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let Be=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map((e=>`${e}:not([tabindex='-1'])`)).join(",");var ze,$e=((ze=$e||{})[ze.First=1]="First",ze[ze.Previous=2]="Previous",ze[ze.Next=4]="Next",ze[ze.Last=8]="Last",ze[ze.WrapAround=16]="WrapAround",ze[ze.NoScroll=32]="NoScroll",ze),qe=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(qe||{}),Ue=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(Ue||{}),He=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(He||{});function Ve(e){null==e||e.focus({preventScroll:!0})}let Ge=["textarea","input"].join(",");function We(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:o=[]}={}){let a=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,i=Array.isArray(e)?n?function(e,t=e=>e){return e.slice().sort(((e,n)=>{let r=t(e),o=t(n);if(null===r||null===o)return 0;let a=r.compareDocumentPosition(o);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0}))}(e):e:function(e=document.body){return null==e?[]:Array.from(e.querySelectorAll(Be)).sort(((e,t)=>Math.sign((e.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER))))}(e);o.length>0&&i.length>1&&(i=i.filter((e=>!o.includes(e)))),r=null!=r?r:a.activeElement;let s,l=(()=>{if(5&t)return 1;if(10&t)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),c=(()=>{if(1&t)return 0;if(2&t)return Math.max(0,i.indexOf(r))-1;if(4&t)return Math.max(0,i.indexOf(r))+1;if(8&t)return i.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=32&t?{preventScroll:!0}:{},p=0,d=i.length;do{if(p>=d||p+d<=0)return 0;let e=c+p;if(16&t)e=(e+d)%d;else{if(e<0)return 3;if(e>=d)return 1}s=i[e],null==s||s.focus(u),p+=l}while(s!==a.activeElement);return 6&t&&function(e){var t,n;return null!=(n=null==(t=null==e?void 0:e.matches)?void 0:t.call(e,Ge))&&n}(s)&&s.select(),s.hasAttribute("tabindex")||s.setAttribute("tabindex","0"),2}function Ke(e,t,n){let o=Te(t);(0,r.useEffect)((()=>{function t(e){o.current(e)}return document.addEventListener(e,t,n),()=>document.removeEventListener(e,t,n)}),[e,n])}function Ye(e,t,n=!0){let o=(0,r.useRef)(!1);function a(n,r){if(!o.current||n.defaultPrevented)return;let a=function e(t){return"function"==typeof t?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e),i=r(n);if(null!==i&&i.getRootNode().contains(i)){for(let e of a){if(null===e)continue;let t=e instanceof HTMLElement?e:e.current;if(null!=t&&t.contains(i)||n.composed&&n.composedPath().includes(t))return}return!function(e,t=0){var n;return e!==(null==(n=Me(e))?void 0:n.body)&&De(t,{0:()=>e.matches(Be),1(){let t=e;for(;null!==t;){if(t.matches(Be))return!0;t=t.parentElement}return!1}})}(i,He.Loose)&&-1!==i.tabIndex&&n.preventDefault(),t(n,i)}}(0,r.useEffect)((()=>{requestAnimationFrame((()=>{o.current=n}))}),[n]);let i=(0,r.useRef)(null);Ke("mousedown",(e=>{var t,n;o.current&&(i.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)}),!0),Ke("click",(e=>{!i.current||(a(e,(()=>i.current)),i.current=null)}),!0),Ke("blur",(e=>a(e,(()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null))),!0)}let Qe=Symbol();function Xe(...e){let t=(0,r.useRef)(e);(0,r.useEffect)((()=>{t.current=e}),[e]);let n=Re((e=>{for(let n of t.current)null!=n&&("function"==typeof n?n(e):n.current=e)}));return e.every((e=>null==e||(null==e?void 0:e[Qe])))?void 0:n}function Ze(...e){return e.filter(Boolean).join(" ")}var Je=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(Je||{}),et=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(et||{});function tt({ourProps:e,theirProps:t,slot:n,defaultTag:r,features:o,visible:a=!0,name:i}){let s=rt(t,e);if(a)return nt(s,n,r,i);let l=null!=o?o:0;if(2&l){let{static:e=!1,...t}=s;if(e)return nt(t,n,r,i)}if(1&l){let{unmount:e=!0,...t}=s;return De(e?0:1,{0:()=>null,1:()=>nt({...t,hidden:!0,style:{display:"none"}},n,r,i)})}return nt(s,n,r,i)}function nt(e,t={},n,o){var a;let{as:i=n,children:s,refName:l="ref",...c}=it(e,["unmount","static"]),u=void 0!==e.ref?{[l]:e.ref}:{},p="function"==typeof s?s(t):s;c.className&&"function"==typeof c.className&&(c.className=c.className(t));let d={};if(t){let e=!1,n=[];for(let[r,o]of Object.entries(t))"boolean"==typeof o&&(e=!0),!0===o&&n.push(r);e&&(d["data-headlessui-state"]=n.join(" "))}if(i===r.Fragment&&Object.keys(at(c)).length>0){if(!(0,r.isValidElement)(p)||Array.isArray(p)&&p.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${o} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(c).map((e=>` - ${e}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map((e=>` - ${e}`)).join("\n")].join("\n"));let e=Ze(null==(a=p.props)?void 0:a.className,c.className),t=e?{className:e}:{};return(0,r.cloneElement)(p,Object.assign({},rt(p.props,at(it(c,["ref"]))),d,u,function(...e){return{ref:e.every((e=>null==e))?void 0:t=>{for(let n of e)null!=n&&("function"==typeof n?n(t):n.current=t)}}}(p.ref,u.ref),t))}return(0,r.createElement)(i,Object.assign({},it(c,["ref"]),i!==r.Fragment&&u,i!==r.Fragment&&d),p)}function rt(...e){if(0===e.length)return{};if(1===e.length)return e[0];let t={},n={};for(let r of e)for(let e in r)e.startsWith("on")&&"function"==typeof r[e]?(null!=n[e]||(n[e]=[]),n[e].push(r[e])):t[e]=r[e];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map((e=>[e,void 0]))));for(let r in n)Object.assign(t,{[r](e,...t){let o=n[r];for(let n of o){if((e instanceof Event||(null==e?void 0:e.nativeEvent)instanceof Event)&&e.defaultPrevented)return;n(e,...t)}}});return t}function ot(e){var t;return Object.assign((0,r.forwardRef)(e),{displayName:null!=(t=e.displayName)?t:e.name})}function at(e){let t=Object.assign({},e);for(let n in t)void 0===t[n]&&delete t[n];return t}function it(e,t=[]){let n=Object.assign({},e);for(let r of t)r in n&&delete n[r];return n}var st=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(st||{});let lt=ot((function(e,t){let{features:n=1,...r}=e;return tt({ourProps:{ref:t,"aria-hidden":!(2&~n)||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...!(4&~n)&&!!(2&~n)&&{display:"none"}}},theirProps:r,slot:{},defaultTag:"div",name:"Hidden"})})),ct=(0,r.createContext)(null);ct.displayName="OpenClosedContext";var ut=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(ut||{});function pt(){return(0,r.useContext)(ct)}function dt({value:e,children:t}){return r.createElement(ct.Provider,{value:e},t)}var ft=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(ft||{});function mt(e,t){let n=(0,r.useRef)([]),o=Re(e);(0,r.useEffect)((()=>{let e=[...n.current];for(let[r,a]of t.entries())if(n.current[r]!==a){let r=o(t,e);return n.current=t,r}}),[o,...t])}var ht=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(ht||{});function gt(){let e=(0,r.useRef)(!1);return Oe((()=>(e.current=!0,()=>{e.current=!1})),[]),e}function yt(...e){return(0,r.useMemo)((()=>Me(...e)),[...e])}function bt(e,t,n,o){let a=Te(n);(0,r.useEffect)((()=>{function n(e){a.current(e)}return(e=null!=e?e:window).addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)}),[e,t,o])}var vt=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All",e))(vt||{});let wt=Object.assign(ot((function(e,t){let n=(0,r.useRef)(null),o=Xe(n,t),{initialFocus:a,containers:i,features:s=30,...l}=e;Le()||(s=1);let c=yt(n);!function({ownerDocument:e},t){let n=(0,r.useRef)(null);bt(null==e?void 0:e.defaultView,"focusout",(e=>{!t||n.current||(n.current=e.target)}),!0),mt((()=>{t||((null==e?void 0:e.activeElement)===(null==e?void 0:e.body)&&Ve(n.current),n.current=null)}),[t]);let o=(0,r.useRef)(!1);(0,r.useEffect)((()=>(o.current=!1,()=>{o.current=!0,Pe((()=>{!o.current||(Ve(n.current),n.current=null)}))})),[])}({ownerDocument:c},Boolean(16&s));let u=function({ownerDocument:e,container:t,initialFocus:n},o){let a=(0,r.useRef)(null),i=gt();return mt((()=>{if(!o)return;let r=t.current;!r||Pe((()=>{if(!i.current)return;let t=null==e?void 0:e.activeElement;if(null!=n&&n.current){if((null==n?void 0:n.current)===t)return void(a.current=t)}else if(r.contains(t))return void(a.current=t);null!=n&&n.current?Ve(n.current):We(r,$e.First)===qe.Error&&ve.warn("There are no focusable elements inside the "),a.current=null==e?void 0:e.activeElement}))}),[o]),a}({ownerDocument:c,container:n,initialFocus:a},Boolean(2&s));!function({ownerDocument:e,container:t,containers:n,previousActiveElement:r},o){let a=gt();bt(null==e?void 0:e.defaultView,"focus",(e=>{if(!o||!a.current)return;let i=new Set(null==n?void 0:n.current);i.add(t);let s=r.current;if(!s)return;let l=e.target;l&&l instanceof HTMLElement?kt(i,l)?(r.current=l,Ve(l)):(e.preventDefault(),e.stopPropagation(),Ve(s)):Ve(r.current)}),!0)}({ownerDocument:c,container:n,containers:i,previousActiveElement:u},Boolean(8&s));let p=function(){let e=(0,r.useRef)(0);return function(e,t,n){let o=Te(t);(0,r.useEffect)((()=>{function t(e){o.current(e)}return window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)}),[e,n])}("keydown",(t=>{"Tab"===t.key&&(e.current=t.shiftKey?1:0)}),!0),e}(),d=Re((e=>{let t=n.current;t&&De(p.current,{[ht.Forwards]:()=>{We(t,$e.First,{skipElements:[e.relatedTarget]})},[ht.Backwards]:()=>{We(t,$e.Last,{skipElements:[e.relatedTarget]})}})})),f=Ne(),m=(0,r.useRef)(!1),h={ref:o,onKeyDown(e){"Tab"==e.key&&(m.current=!0,f.requestAnimationFrame((()=>{m.current=!1})))},onBlur(e){let t=new Set(null==i?void 0:i.current);t.add(n);let r=e.relatedTarget;r instanceof HTMLElement&&"true"!==r.dataset.headlessuiFocusGuard&&(kt(t,r)||(m.current?We(n.current,De(p.current,{[ht.Forwards]:()=>$e.Next,[ht.Backwards]:()=>$e.Previous})|$e.WrapAround,{relativeTo:e.target}):e.target instanceof HTMLElement&&Ve(e.target)))}};return r.createElement(r.Fragment,null,Boolean(4&s)&&r.createElement(lt,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:d,features:st.Focusable}),tt({ourProps:h,theirProps:l,defaultTag:"div",name:"FocusTrap"}),Boolean(4&s)&&r.createElement(lt,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:d,features:st.Focusable}))})),{features:vt});function kt(e,t){var n;for(let r of e)if(null!=(n=r.current)&&n.contains(t))return!0;return!1}let xt=new Set,St=new Map;function _t(e){e.setAttribute("aria-hidden","true"),e.inert=!0}function Et(e){let t=St.get(e);!t||(null===t["aria-hidden"]?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",t["aria-hidden"]),e.inert=t.inert)}let Ct=(0,r.createContext)(!1);function At(e){return r.createElement(Ct.Provider,{value:e.force},e.children)}let Ot=r.Fragment,Tt=ot((function(e,t){let n=e,o=(0,r.useRef)(null),a=Xe(function(e,t=!0){return Object.assign(e,{[Qe]:t})}((e=>{o.current=e})),t),i=yt(o),s=function(e){let t=(0,r.useContext)(Ct),n=(0,r.useContext)(jt),o=yt(e),[a,i]=(0,r.useState)((()=>{if(!t&&null!==n||Ae.isServer)return null;let e=null==o?void 0:o.getElementById("headlessui-portal-root");if(e)return e;if(null===o)return null;let r=o.createElement("div");return r.setAttribute("id","headlessui-portal-root"),o.body.appendChild(r)}));return(0,r.useEffect)((()=>{null!==a&&(null!=o&&o.body.contains(a)||null==o||o.body.appendChild(a))}),[a,o]),(0,r.useEffect)((()=>{t||null!==n&&i(n.current)}),[n,i,t]),a}(o),[l]=(0,r.useState)((()=>{var e;return Ae.isServer?null:null!=(e=null==i?void 0:i.createElement("div"))?e:null})),c=Le(),u=(0,r.useRef)(!1);return Oe((()=>{if(u.current=!1,s&&l)return s.contains(l)||(l.setAttribute("data-headlessui-portal",""),s.appendChild(l)),()=>{u.current=!0,Pe((()=>{var e;!u.current||!s||!l||(l instanceof Node&&s.contains(l)&&s.removeChild(l),s.childNodes.length<=0&&(null==(e=s.parentElement)||e.removeChild(s)))}))}}),[s,l]),c&&s&&l?(0,be.createPortal)(tt({ourProps:{ref:a},theirProps:n,defaultTag:Ot,name:"Portal"}),l):null})),Pt=r.Fragment,jt=(0,r.createContext)(null),Nt=ot((function(e,t){let{target:n,...o}=e,a={ref:Xe(t)};return r.createElement(jt.Provider,{value:n},tt({ourProps:a,theirProps:o,defaultTag:Pt,name:"Popover.Group"}))})),Rt=Object.assign(Tt,{Group:Nt}),Lt=(0,r.createContext)(null);function It(){let e=(0,r.useContext)(Lt);if(null===e){let e=new Error("You used a component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(e,It),e}return e}let Ft=ot((function(e,t){let n=Fe(),{id:r=`headlessui-description-${n}`,...o}=e,a=It(),i=Xe(t);return Oe((()=>a.register(r)),[r,a.register]),tt({ourProps:{ref:i,...a.props,id:r},theirProps:o,slot:a.slot||{},defaultTag:"p",name:a.name||"Description"})})),Dt=(0,r.createContext)((()=>{}));Dt.displayName="StackContext";var Mt=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(Mt||{});function Bt({children:e,onUpdate:t,type:n,element:o,enabled:a}){let i=(0,r.useContext)(Dt),s=Re(((...e)=>{null==t||t(...e),i(...e)}));return Oe((()=>{let e=void 0===a||!0===a;return e&&s(0,n,o),()=>{e&&s(1,n,o)}}),[s,n,o,a]),r.createElement(Dt.Provider,{value:s},e)}const zt="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},{useState:$t,useEffect:qt,useLayoutEffect:Ut,useDebugValue:Ht}=o;function Vt(e){const t=e.getSnapshot,n=e.value;try{const e=t();return!zt(n,e)}catch{return!0}}"undefined"==typeof window||void 0===window.document||window.document.createElement;const Gt=r.useSyncExternalStore;function Wt(){let e;return{before({doc:t}){var n;let r=t.documentElement;e=(null!=(n=t.defaultView)?n:window).innerWidth-r.clientWidth},after({doc:t,d:n}){let r=t.documentElement,o=r.clientWidth-r.offsetWidth,a=e-o;n.style(r,"paddingRight",`${a}px`)}}}function Kt(){if(!(/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0))return{};let e;return{before(){e=window.pageYOffset},after({doc:t,d:n,meta:r}){function o(e){return r.containers.flatMap((e=>e())).some((t=>t.contains(e)))}n.style(t.body,"marginTop",`-${e}px`),window.scrollTo(0,0);let a=null;n.addEventListener(t,"click",(e=>{if(e.target instanceof HTMLElement)try{let n=e.target.closest("a");if(!n)return;let{hash:r}=new URL(n.href),i=t.querySelector(r);i&&!o(i)&&(a=i)}catch{}}),!0),n.addEventListener(t,"touchmove",(e=>{e.target instanceof HTMLElement&&!o(e.target)&&e.preventDefault()}),{passive:!1}),n.add((()=>{window.scrollTo(0,window.pageYOffset+e),a&&a.isConnected&&(a.scrollIntoView({block:"nearest"}),a=null)}))}}}function Yt(e){let t={};for(let n of e)Object.assign(t,n(t));return t}let Qt=function(e,t){let n=new Map,r=new Set;return{getSnapshot:()=>n,subscribe:e=>(r.add(e),()=>r.delete(e)),dispatch(e,...o){let a=t[e].call(n,...o);a&&(n=a,r.forEach((e=>e())))}}}(0,{PUSH(e,t){var n;let r=null!=(n=this.get(e))?n:{doc:e,count:0,d:je(),meta:new Set};return r.count++,r.meta.add(t),this.set(e,r),this},POP(e,t){let n=this.get(e);return n&&(n.count--,n.meta.delete(t)),this},SCROLL_PREVENT({doc:e,d:t,meta:n}){let r={doc:e,d:t,meta:Yt(n)},o=[Kt(),Wt(),{before({doc:e,d:t}){t.style(e.documentElement,"overflow","hidden")}}];o.forEach((({before:e})=>null==e?void 0:e(r))),o.forEach((({after:e})=>null==e?void 0:e(r)))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});Qt.subscribe((()=>{let e=Qt.getSnapshot(),t=new Map;for(let[n]of e)t.set(n,n.documentElement.style.overflow);for(let n of e.values()){let e="hidden"===t.get(n.doc),r=0!==n.count;(r&&!e||!r&&e)&&Qt.dispatch(n.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",n),0===n.count&&Qt.dispatch("TEARDOWN",n)}}));var Xt=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Xt||{}),Zt=(e=>(e[e.SetTitleId=0]="SetTitleId",e))(Zt||{});let Jt={0:(e,t)=>e.titleId===t.id?e:{...e,titleId:t.id}},en=(0,r.createContext)(null);function tn(e){let t=(0,r.useContext)(en);if(null===t){let t=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,tn),t}return t}function nn(e,t){return De(t.type,Jt,e,t)}en.displayName="DialogContext";let rn=Je.RenderStrategy|Je.Static,on=ot((function(e,t){let n=Fe(),{id:o=`headlessui-dialog-${n}`,open:a,onClose:i,initialFocus:s,__demoMode:l=!1,...c}=e,[u,p]=(0,r.useState)(0),d=pt();void 0===a&&null!==d&&(a=(d&ut.Open)===ut.Open);let f=(0,r.useRef)(new Set),m=(0,r.useRef)(null),h=Xe(m,t),g=(0,r.useRef)(null),y=yt(m),b=e.hasOwnProperty("open")||null!==d,v=e.hasOwnProperty("onClose");if(!b&&!v)throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!b)throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!v)throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if("boolean"!=typeof a)throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${a}`);if("function"!=typeof i)throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${i}`);let w=a?0:1,[k,x]=(0,r.useReducer)(nn,{titleId:null,descriptionId:null,panelRef:(0,r.createRef)()}),S=Re((()=>i(!1))),_=Re((e=>x({type:0,id:e}))),E=!!Le()&&!l&&0===w,C=u>1,A=null!==(0,r.useContext)(en),O=C?"parent":"leaf",T=null!==d&&(d&ut.Closing)===ut.Closing;!function(e,t=!0){Oe((()=>{if(!t||!e.current)return;let n=e.current,r=Me(n);if(r){xt.add(n);for(let e of St.keys())e.contains(n)&&(Et(e),St.delete(e));return r.querySelectorAll("body > *").forEach((e=>{if(e instanceof HTMLElement){for(let t of xt)if(e.contains(t))return;1===xt.size&&(St.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),_t(e))}})),()=>{if(xt.delete(n),xt.size>0)r.querySelectorAll("body > *").forEach((e=>{if(e instanceof HTMLElement&&!St.has(e)){for(let t of xt)if(e.contains(t))return;St.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),_t(e)}}));else for(let e of St.keys())Et(e),St.delete(e)}}}),[t])}(m,!(!C||T)&&E);let P=Re((()=>{var e,t;return[...Array.from(null!=(e=null==y?void 0:y.querySelectorAll("html > *, body > *, [data-headlessui-portal]"))?e:[]).filter((e=>!(e===document.body||e===document.head||!(e instanceof HTMLElement)||e.contains(g.current)||k.panelRef.current&&e.contains(k.panelRef.current)))),null!=(t=k.panelRef.current)?t:m.current]}));Ye((()=>P()),S,!(!E||C));let j=!(C||0!==w);bt(null==y?void 0:y.defaultView,"keydown",(e=>{!j||e.defaultPrevented||e.key===ft.Escape&&(e.preventDefault(),e.stopPropagation(),S())})),function(e,t,n=()=>[document.body]){!function(e,t,n){let r=function(e){return Gt(e.subscribe,e.getSnapshot,e.getSnapshot)}(Qt),o=e?r.get(e):void 0,a=!!o&&o.count>0;Oe((()=>{if(e&&t)return Qt.dispatch("PUSH",e,n),()=>Qt.dispatch("POP",e,n)}),[t,e])}(e,t,(e=>{var t;return{containers:[...null!=(t=e.containers)?t:[],n]}}))}(y,!(T||0!==w||A),P),(0,r.useEffect)((()=>{if(0!==w||!m.current)return;let e=new IntersectionObserver((e=>{for(let t of e)0===t.boundingClientRect.x&&0===t.boundingClientRect.y&&0===t.boundingClientRect.width&&0===t.boundingClientRect.height&&S()}));return e.observe(m.current),()=>e.disconnect()}),[w,m,S]);let[N,R]=function(){let[e,t]=(0,r.useState)([]);return[e.length>0?e.join(" "):void 0,(0,r.useMemo)((()=>function(e){let n=Re((e=>(t((t=>[...t,e])),()=>t((t=>{let n=t.slice(),r=n.indexOf(e);return-1!==r&&n.splice(r,1),n}))))),o=(0,r.useMemo)((()=>({register:n,slot:e.slot,name:e.name,props:e.props})),[n,e.slot,e.name,e.props]);return r.createElement(Lt.Provider,{value:o},e.children)}),[t])]}(),L=(0,r.useMemo)((()=>[{dialogState:w,close:S,setTitleId:_},k]),[w,k,S,_]),I=(0,r.useMemo)((()=>({open:0===w})),[w]),F={ref:h,id:o,role:"dialog","aria-modal":0===w||void 0,"aria-labelledby":k.titleId,"aria-describedby":N};return r.createElement(Bt,{type:"Dialog",enabled:0===w,element:m,onUpdate:Re(((e,t,n)=>{"Dialog"===t&&De(e,{[Mt.Add](){f.current.add(n),p((e=>e+1))},[Mt.Remove](){f.current.add(n),p((e=>e-1))}})}))},r.createElement(At,{force:!0},r.createElement(Rt,null,r.createElement(en.Provider,{value:L},r.createElement(Rt.Group,{target:m},r.createElement(At,{force:!1},r.createElement(R,{slot:I,name:"Dialog.Description"},r.createElement(wt,{initialFocus:s,containers:f,features:E?De(O,{parent:wt.features.RestoreFocus,leaf:wt.features.All&~wt.features.FocusLock}):wt.features.None},tt({ourProps:F,theirProps:c,slot:I,defaultTag:"div",features:rn,visible:0===w,name:"Dialog"})))))))),r.createElement(lt,{features:st.Hidden,ref:g}))})),an=ot((function(e,t){let n=Fe(),{id:o=`headlessui-dialog-overlay-${n}`,...a}=e,[{dialogState:i,close:s}]=tn("Dialog.Overlay"),l=Xe(t),c=Re((e=>{if(e.target===e.currentTarget){if(function(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let r=""===(null==t?void 0:t.getAttribute("disabled"));return(!r||!function(e){if(!e)return!1;let t=e.previousElementSibling;for(;null!==t;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}(n))&&r}(e.currentTarget))return e.preventDefault();e.preventDefault(),e.stopPropagation(),s()}}));return tt({ourProps:{ref:l,id:o,"aria-hidden":!0,onClick:c},theirProps:a,slot:(0,r.useMemo)((()=>({open:0===i})),[i]),defaultTag:"div",name:"Dialog.Overlay"})})),sn=ot((function(e,t){let n=Fe(),{id:o=`headlessui-dialog-backdrop-${n}`,...a}=e,[{dialogState:i},s]=tn("Dialog.Backdrop"),l=Xe(t);(0,r.useEffect)((()=>{if(null===s.panelRef.current)throw new Error("A component is being used, but a component is missing.")}),[s.panelRef]);let c=(0,r.useMemo)((()=>({open:0===i})),[i]);return r.createElement(At,{force:!0},r.createElement(Rt,null,tt({ourProps:{ref:l,id:o,"aria-hidden":!0},theirProps:a,slot:c,defaultTag:"div",name:"Dialog.Backdrop"})))})),ln=ot((function(e,t){let n=Fe(),{id:o=`headlessui-dialog-panel-${n}`,...a}=e,[{dialogState:i},s]=tn("Dialog.Panel"),l=Xe(t,s.panelRef),c=(0,r.useMemo)((()=>({open:0===i})),[i]),u=Re((e=>{e.stopPropagation()}));return tt({ourProps:{ref:l,id:o,onClick:u},theirProps:a,slot:c,defaultTag:"div",name:"Dialog.Panel"})})),cn=ot((function(e,t){let n=Fe(),{id:o=`headlessui-dialog-title-${n}`,...a}=e,[{dialogState:i,setTitleId:s}]=tn("Dialog.Title"),l=Xe(t);(0,r.useEffect)((()=>(s(o),()=>s(null))),[o,s]);let c=(0,r.useMemo)((()=>({open:0===i})),[i]);return tt({ourProps:{ref:l,id:o},theirProps:a,slot:c,defaultTag:"h2",name:"Dialog.Title"})})),un=Object.assign(on,{Backdrop:sn,Panel:ln,Overlay:an,Title:cn,Description:Ft});function pn(e,...t){e&&t.length>0&&e.classList.add(...t)}function dn(e,...t){e&&t.length>0&&e.classList.remove(...t)}function fn(e=""){return e.split(" ").filter((e=>e.trim().length>1))}let mn=(0,r.createContext)(null);mn.displayName="TransitionContext";var hn=(e=>(e.Visible="visible",e.Hidden="hidden",e))(hn||{});let gn=(0,r.createContext)(null);function yn(e){return"children"in e?yn(e.children):e.current.filter((({el:e})=>null!==e.current)).filter((({state:e})=>"visible"===e)).length>0}function bn(e,t){let n=Te(e),o=(0,r.useRef)([]),a=gt(),i=Ne(),s=Re(((e,t=et.Hidden)=>{let r=o.current.findIndex((({el:t})=>t===e));-1!==r&&(De(t,{[et.Unmount](){o.current.splice(r,1)},[et.Hidden](){o.current[r].state="hidden"}}),i.microTask((()=>{var e;!yn(o)&&a.current&&(null==(e=n.current)||e.call(n))})))})),l=Re((e=>{let t=o.current.find((({el:t})=>t===e));return t?"visible"!==t.state&&(t.state="visible"):o.current.push({el:e,state:"visible"}),()=>s(e,et.Unmount)})),c=(0,r.useRef)([]),u=(0,r.useRef)(Promise.resolve()),p=(0,r.useRef)({enter:[],leave:[],idle:[]}),d=Re(((e,n,r)=>{c.current.splice(0),t&&(t.chains.current[n]=t.chains.current[n].filter((([t])=>t!==e))),null==t||t.chains.current[n].push([e,new Promise((e=>{c.current.push(e)}))]),null==t||t.chains.current[n].push([e,new Promise((e=>{Promise.all(p.current[n].map((([e,t])=>t))).then((()=>e()))}))]),"enter"===n?u.current=u.current.then((()=>null==t?void 0:t.wait.current)).then((()=>r(n))):r(n)})),f=Re(((e,t,n)=>{Promise.all(p.current[t].splice(0).map((([e,t])=>t))).then((()=>{var e;null==(e=c.current.shift())||e()})).then((()=>n(t)))}));return(0,r.useMemo)((()=>({children:o,register:l,unregister:s,onStart:d,onStop:f,wait:u,chains:p})),[l,s,o,d,f,p,u])}function vn(){}gn.displayName="NestingContext";let wn=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function kn(e){var t;let n={};for(let r of wn)n[r]=null!=(t=e[r])?t:vn;return n}let xn=Je.RenderStrategy,Sn=ot((function(e,t){let{beforeEnter:n,afterEnter:o,beforeLeave:a,afterLeave:i,enter:s,enterFrom:l,enterTo:c,entered:u,leave:p,leaveFrom:d,leaveTo:f,...m}=e,h=(0,r.useRef)(null),g=Xe(h,t),y=m.unmount?et.Unmount:et.Hidden,{show:b,appear:v,initial:w}=function(){let e=(0,r.useContext)(mn);if(null===e)throw new Error("A is used but it is missing a parent or .");return e}(),[k,x]=(0,r.useState)(b?"visible":"hidden"),S=function(){let e=(0,r.useContext)(gn);if(null===e)throw new Error("A is used but it is missing a parent or .");return e}(),{register:_,unregister:E}=S,C=(0,r.useRef)(null);(0,r.useEffect)((()=>_(h)),[_,h]),(0,r.useEffect)((()=>{if(y===et.Hidden&&h.current)return b&&"visible"!==k?void x("visible"):De(k,{hidden:()=>E(h),visible:()=>_(h)})}),[k,h,_,E,b,y]);let A=Te({enter:fn(s),enterFrom:fn(l),enterTo:fn(c),entered:fn(u),leave:fn(p),leaveFrom:fn(d),leaveTo:fn(f)}),O=function(e){let t=(0,r.useRef)(kn(e));return(0,r.useEffect)((()=>{t.current=kn(e)}),[e]),t}({beforeEnter:n,afterEnter:o,beforeLeave:a,afterLeave:i}),T=Le();(0,r.useEffect)((()=>{if(T&&"visible"===k&&null===h.current)throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}),[h,k,T]);let P=w&&!v,j=!T||P||C.current===b?"idle":b?"enter":"leave",N=function(e=0){let[t,n]=(0,r.useState)(e),o=(0,r.useCallback)((e=>n((t=>t|e))),[t]),a=(0,r.useCallback)((e=>Boolean(t&e)),[t]),i=(0,r.useCallback)((e=>n((t=>t&~e))),[n]),s=(0,r.useCallback)((e=>n((t=>t^e))),[n]);return{flags:t,addFlag:o,hasFlag:a,removeFlag:i,toggleFlag:s}}(0),R=Re((e=>De(e,{enter:()=>{N.addFlag(ut.Opening),O.current.beforeEnter()},leave:()=>{N.addFlag(ut.Closing),O.current.beforeLeave()},idle:()=>{}}))),L=Re((e=>De(e,{enter:()=>{N.removeFlag(ut.Opening),O.current.afterEnter()},leave:()=>{N.removeFlag(ut.Closing),O.current.afterLeave()},idle:()=>{}}))),I=bn((()=>{x("hidden"),E(h)}),S);(function({container:e,direction:t,classes:n,onStart:r,onStop:o}){let a=gt(),i=Ne(),s=Te(t);Oe((()=>{let t=je();i.add(t.dispose);let l=e.current;if(l&&"idle"!==s.current&&a.current)return t.dispose(),r.current(s.current),t.add(function(e,t,n,r){let o=n?"enter":"leave",a=je(),i=void 0!==r?function(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}(r):()=>{};"enter"===o&&(e.removeAttribute("hidden"),e.style.display="");let s=De(o,{enter:()=>t.enter,leave:()=>t.leave}),l=De(o,{enter:()=>t.enterTo,leave:()=>t.leaveTo}),c=De(o,{enter:()=>t.enterFrom,leave:()=>t.leaveFrom});return dn(e,...t.enter,...t.enterTo,...t.enterFrom,...t.leave,...t.leaveFrom,...t.leaveTo,...t.entered),pn(e,...s,...c),a.nextFrame((()=>{dn(e,...c),pn(e,...l),function(e,t){let n=je();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:o}=getComputedStyle(e),[a,i]=[r,o].map((e=>{let[t=0]=e.split(",").filter(Boolean).map((e=>e.includes("ms")?parseFloat(e):1e3*parseFloat(e))).sort(((e,t)=>t-e));return t}));if(a+i!==0){let r=n.addEventListener(e,"transitionend",(e=>{e.target===e.currentTarget&&(t(),r())}))}else t();n.add((()=>t())),n.dispose}(e,(()=>(dn(e,...s),pn(e,...t.entered),i())))})),a.dispose}(l,n.current,"enter"===s.current,(()=>{t.dispose(),o.current(s.current)}))),t.dispose}),[t])})({container:h,classes:A,direction:j,onStart:Te((e=>{I.onStart(h,e,R)})),onStop:Te((e=>{I.onStop(h,e,L),"leave"===e&&!yn(I)&&(x("hidden"),E(h))}))}),(0,r.useEffect)((()=>{!P||(y===et.Hidden?C.current=null:C.current=b)}),[b,P,k]);let F=m,D={ref:g};return v&&b&&Ae.isServer&&(F={...F,className:Ze(m.className,...A.current.enter,...A.current.enterFrom)}),r.createElement(gn.Provider,{value:I},r.createElement(dt,{value:De(k,{visible:ut.Open,hidden:ut.Closed})|N.flags},tt({ourProps:D,theirProps:F,defaultTag:"div",features:xn,visible:"visible"===k,name:"Transition.Child"})))})),_n=ot((function(e,t){let{show:n,appear:o=!1,unmount:a,...i}=e,s=(0,r.useRef)(null),l=Xe(s,t);Le();let c=pt();if(void 0===n&&null!==c&&(n=(c&ut.Open)===ut.Open),![!0,!1].includes(n))throw new Error("A is used but it is missing a `show={true | false}` prop.");let[u,p]=(0,r.useState)(n?"visible":"hidden"),d=bn((()=>{p("hidden")})),[f,m]=(0,r.useState)(!0),h=(0,r.useRef)([n]);Oe((()=>{!1!==f&&h.current[h.current.length-1]!==n&&(h.current.push(n),m(!1))}),[h,n]);let g=(0,r.useMemo)((()=>({show:n,appear:o,initial:f})),[n,o,f]);(0,r.useEffect)((()=>{if(n)p("visible");else if(yn(d)){let e=s.current;if(!e)return;let t=e.getBoundingClientRect();0===t.x&&0===t.y&&0===t.width&&0===t.height&&p("hidden")}else p("hidden")}),[n,d]);let y={unmount:a};return r.createElement(gn.Provider,{value:d},r.createElement(mn.Provider,{value:g},tt({ourProps:{...y,as:r.Fragment,children:r.createElement(Sn,{ref:l,...y,...i})},theirProps:{},defaultTag:r.Fragment,features:xn,visible:"visible"===u,name:"Transition"})))})),En=ot((function(e,t){let n=null!==(0,r.useContext)(mn),o=null!==pt();return r.createElement(r.Fragment,null,!n&&o?r.createElement(_n,{ref:t,...e}):r.createElement(Sn,{ref:t,...e}))})),Cn=Object.assign(_n,{Child:En,Root:_n});var An,On={darkMode:!0,accentColor:"#8559F4"},Tn={backgroundColor:"#1a1a1a",borderColor:"#6B728033",color:"#e1e3e7",shadow:!1,showShortcut:!0},Pn={backgroundColor:"#fff",borderColor:"#6B728033",color:"#9ca3af",shadow:!1,showShortcut:!0},jn={color:"#ffffff",backgroundColor:"#8559F4"},Nn={openSourcesInNewTab:!1,prettySources:!1,persistMessagesBetweenSessions:!1,scrollToView:!0,sourcesFirst:!1,sourcesDisplay:"short"},Rn={showStopGeneratingButton:!0};!function(e){e.NoDocs="noDocs",e.FullDocs="fullDocs",e.None="none",e.Error="error"}(An||(An={}));var Ln="https://api.mendable.ai/v1",In="0.0.206",Fn="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{};var Dn,Mn={},Bn={get exports(){return Mn},set exports(e){Mn=e}},zn={},$n={get exports(){return zn},set exports(e){zn=e}},qn=function(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var n=function e(){if(this instanceof e){var n=[null];return n.push.apply(n,arguments),new(Function.bind.apply(t,n))}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}(Object.freeze({__proto__:null,default:{}}));function Un(){return Dn||(Dn=1,$n.exports=function(){var e=e||function(e){var t;if("undefined"!=typeof window&&window.crypto&&(t=window.crypto),"undefined"!=typeof self&&self.crypto&&(t=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(t=globalThis.crypto),!t&&"undefined"!=typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&void 0!==Fn&&Fn.crypto&&(t=Fn.crypto),!t)try{t=qn}catch(e){}var n=function(){if(t){if("function"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},r=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),o={},a=o.lib={},i=a.Base={extend:function(e){var t=r(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},s=a.WordArray=i.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,o=e.sigBytes;if(this.clamp(),r%4)for(var a=0;a>>2]>>>24-a%4*8&255;t[r+a>>>2]|=i<<24-(r+a)%4*8}else for(var s=0;s>>2]=n[s>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-o%4*8&255;r.push((a>>>4).toString(16)),r.push((15&a).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new s.init(n,t/2)}},u=l.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;o>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(a))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new s.init(n,t)}},p=l.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},d=a.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n,r=this._data,o=r.words,a=r.sigBytes,i=this.blockSize,l=a/(4*i),c=(l=t?e.ceil(l):e.max((0|l)-this._minBufferSize,0))*i,u=e.min(4*c,a);if(c){for(var p=0;p>>6-i%4*2;o[a>>>2]|=s<<24-a%4*8,a++}return n.create(o,a)}t.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var o=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,s=0;s<4&&a+.75*s>>6*(3-s)&63));var l=r.charAt(64);if(l)for(;o.length%4;)o.push(l);return o.join("")},parse:function(e){var t=e.length,n=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var a=0;a>>24)|4278255360&(o<<24|o>>>8)}var a=this._hash.words,i=e[t+0],l=e[t+1],f=e[t+2],m=e[t+3],h=e[t+4],g=e[t+5],y=e[t+6],b=e[t+7],v=e[t+8],w=e[t+9],k=e[t+10],x=e[t+11],S=e[t+12],_=e[t+13],E=e[t+14],C=e[t+15],A=a[0],O=a[1],T=a[2],P=a[3];A=c(A,O,T,P,i,7,s[0]),P=c(P,A,O,T,l,12,s[1]),T=c(T,P,A,O,f,17,s[2]),O=c(O,T,P,A,m,22,s[3]),A=c(A,O,T,P,h,7,s[4]),P=c(P,A,O,T,g,12,s[5]),T=c(T,P,A,O,y,17,s[6]),O=c(O,T,P,A,b,22,s[7]),A=c(A,O,T,P,v,7,s[8]),P=c(P,A,O,T,w,12,s[9]),T=c(T,P,A,O,k,17,s[10]),O=c(O,T,P,A,x,22,s[11]),A=c(A,O,T,P,S,7,s[12]),P=c(P,A,O,T,_,12,s[13]),T=c(T,P,A,O,E,17,s[14]),A=u(A,O=c(O,T,P,A,C,22,s[15]),T,P,l,5,s[16]),P=u(P,A,O,T,y,9,s[17]),T=u(T,P,A,O,x,14,s[18]),O=u(O,T,P,A,i,20,s[19]),A=u(A,O,T,P,g,5,s[20]),P=u(P,A,O,T,k,9,s[21]),T=u(T,P,A,O,C,14,s[22]),O=u(O,T,P,A,h,20,s[23]),A=u(A,O,T,P,w,5,s[24]),P=u(P,A,O,T,E,9,s[25]),T=u(T,P,A,O,m,14,s[26]),O=u(O,T,P,A,v,20,s[27]),A=u(A,O,T,P,_,5,s[28]),P=u(P,A,O,T,f,9,s[29]),T=u(T,P,A,O,b,14,s[30]),A=p(A,O=u(O,T,P,A,S,20,s[31]),T,P,g,4,s[32]),P=p(P,A,O,T,v,11,s[33]),T=p(T,P,A,O,x,16,s[34]),O=p(O,T,P,A,E,23,s[35]),A=p(A,O,T,P,l,4,s[36]),P=p(P,A,O,T,h,11,s[37]),T=p(T,P,A,O,b,16,s[38]),O=p(O,T,P,A,k,23,s[39]),A=p(A,O,T,P,_,4,s[40]),P=p(P,A,O,T,i,11,s[41]),T=p(T,P,A,O,m,16,s[42]),O=p(O,T,P,A,y,23,s[43]),A=p(A,O,T,P,w,4,s[44]),P=p(P,A,O,T,S,11,s[45]),T=p(T,P,A,O,C,16,s[46]),A=d(A,O=p(O,T,P,A,f,23,s[47]),T,P,i,6,s[48]),P=d(P,A,O,T,b,10,s[49]),T=d(T,P,A,O,E,15,s[50]),O=d(O,T,P,A,g,21,s[51]),A=d(A,O,T,P,S,6,s[52]),P=d(P,A,O,T,m,10,s[53]),T=d(T,P,A,O,k,15,s[54]),O=d(O,T,P,A,l,21,s[55]),A=d(A,O,T,P,v,6,s[56]),P=d(P,A,O,T,C,10,s[57]),T=d(T,P,A,O,y,15,s[58]),O=d(O,T,P,A,_,21,s[59]),A=d(A,O,T,P,h,6,s[60]),P=d(P,A,O,T,x,10,s[61]),T=d(T,P,A,O,f,15,s[62]),O=d(O,T,P,A,w,21,s[63]),a[0]=a[0]+A|0,a[1]=a[1]+O|0,a[2]=a[2]+T|0,a[3]=a[3]+P|0},_doFinalize:function(){var e=this._data,n=e.words,r=8*this._nDataBytes,o=8*e.sigBytes;n[o>>>5]|=128<<24-o%32;var a=t.floor(r/4294967296),i=r;n[15+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),n[14+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(n.length+1),this._process();for(var s=this._hash,l=s.words,c=0;c<4;c++){var u=l[c];l[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return s},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function c(e,t,n,r,o,a,i){var s=e+(t&n|~t&r)+o+i;return(s<>>32-a)+t}function u(e,t,n,r,o,a,i){var s=e+(t&r|n&~r)+o+i;return(s<>>32-a)+t}function p(e,t,n,r,o,a,i){var s=e+(t^n^r)+o+i;return(s<>>32-a)+t}function d(e,t,n,r,o,a,i){var s=e+(n^(t|~r))+o+i;return(s<>>32-a)+t}n.MD5=a._createHelper(l),n.HmacMD5=a._createHmacHelper(l)}(Math),e.MD5}(Un())),lr}var pr,dr={},fr={get exports(){return dr},set exports(e){dr=e}};function mr(){return pr||(pr=1,fr.exports=function(e){return function(){var t=e,n=t.lib,r=n.WordArray,o=n.Hasher,a=t.algo,i=[],s=a.SHA1=o.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],o=n[1],a=n[2],s=n[3],l=n[4],c=0;c<80;c++){if(c<16)i[c]=0|e[t+c];else{var u=i[c-3]^i[c-8]^i[c-14]^i[c-16];i[c]=u<<1|u>>>31}var p=(r<<5|r>>>27)+l+i[c];p+=c<20?1518500249+(o&a|~o&s):c<40?1859775393+(o^a^s):c<60?(o&a|o&s|a&s)-1894007588:(o^a^s)-899497514,l=s,s=a,a=o<<30|o>>>2,o=r,r=p}n[0]=n[0]+r|0,n[1]=n[1]+o|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+l|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA1=o._createHelper(s),t.HmacSHA1=o._createHmacHelper(s)}(),e.SHA1}(Un())),dr}var hr,gr={},yr={get exports(){return gr},set exports(e){gr=e}};function br(){return hr||(hr=1,yr.exports=function(e){return function(t){var n=e,r=n.lib,o=r.WordArray,a=r.Hasher,i=n.algo,s=[],l=[];!function(){function e(e){for(var n=t.sqrt(e),r=2;r<=n;r++)if(!(e%r))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var r=2,o=0;o<64;)e(r)&&(o<8&&(s[o]=n(t.pow(r,.5))),l[o]=n(t.pow(r,1/3)),o++),r++}();var c=[],u=i.SHA256=a.extend({_doReset:function(){this._hash=new o.init(s.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],o=n[1],a=n[2],i=n[3],s=n[4],u=n[5],p=n[6],d=n[7],f=0;f<64;f++){if(f<16)c[f]=0|e[t+f];else{var m=c[f-15],h=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,g=c[f-2],y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;c[f]=h+c[f-7]+y+c[f-16]}var b=r&o^r&a^o&a,v=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),w=d+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&u^~s&p)+l[f]+c[f];d=p,p=u,u=s,s=i+w|0,i=a,a=o,o=r,r=w+(v+b)|0}n[0]=n[0]+r|0,n[1]=n[1]+o|0,n[2]=n[2]+a|0,n[3]=n[3]+i|0,n[4]=n[4]+s|0,n[5]=n[5]+u|0,n[6]=n[6]+p|0,n[7]=n[7]+d|0},_doFinalize:function(){var e=this._data,n=e.words,r=8*this._nDataBytes,o=8*e.sigBytes;return n[o>>>5]|=128<<24-o%32,n[14+(o+64>>>9<<4)]=t.floor(r/4294967296),n[15+(o+64>>>9<<4)]=r,e.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});n.SHA256=a._createHelper(u),n.HmacSHA256=a._createHmacHelper(u)}(Math),e.SHA256}(Un())),gr}var vr,wr,kr={},xr={get exports(){return kr},set exports(e){kr=e}},Sr={},_r={get exports(){return Sr},set exports(e){Sr=e}};function Er(){return wr||(wr=1,_r.exports=function(e){return function(){var t=e,n=t.lib.Hasher,r=t.x64,o=r.Word,a=r.WordArray,i=t.algo;function s(){return o.create.apply(o,arguments)}var l=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],c=[];!function(){for(var e=0;e<80;e++)c[e]=s()}();var u=i.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new o.init(1779033703,4089235720),new o.init(3144134277,2227873595),new o.init(1013904242,4271175723),new o.init(2773480762,1595750129),new o.init(1359893119,2917565137),new o.init(2600822924,725511199),new o.init(528734635,4215389547),new o.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],o=n[1],a=n[2],i=n[3],s=n[4],u=n[5],p=n[6],d=n[7],f=r.high,m=r.low,h=o.high,g=o.low,y=a.high,b=a.low,v=i.high,w=i.low,k=s.high,x=s.low,S=u.high,_=u.low,E=p.high,C=p.low,A=d.high,O=d.low,T=f,P=m,j=h,N=g,R=y,L=b,I=v,F=w,D=k,M=x,B=S,z=_,$=E,q=C,U=A,H=O,V=0;V<80;V++){var G,W,K=c[V];if(V<16)W=K.high=0|e[t+2*V],G=K.low=0|e[t+2*V+1];else{var Y=c[V-15],Q=Y.high,X=Y.low,Z=(Q>>>1|X<<31)^(Q>>>8|X<<24)^Q>>>7,J=(X>>>1|Q<<31)^(X>>>8|Q<<24)^(X>>>7|Q<<25),ee=c[V-2],te=ee.high,ne=ee.low,re=(te>>>19|ne<<13)^(te<<3|ne>>>29)^te>>>6,oe=(ne>>>19|te<<13)^(ne<<3|te>>>29)^(ne>>>6|te<<26),ae=c[V-7],ie=ae.high,se=ae.low,le=c[V-16],ce=le.high,ue=le.low;W=(W=(W=Z+ie+((G=J+se)>>>0>>0?1:0))+re+((G+=oe)>>>0>>0?1:0))+ce+((G+=ue)>>>0>>0?1:0),K.high=W,K.low=G}var pe,de=D&B^~D&$,fe=M&z^~M&q,me=T&j^T&R^j&R,he=P&N^P&L^N&L,ge=(T>>>28|P<<4)^(T<<30|P>>>2)^(T<<25|P>>>7),ye=(P>>>28|T<<4)^(P<<30|T>>>2)^(P<<25|T>>>7),be=(D>>>14|M<<18)^(D>>>18|M<<14)^(D<<23|M>>>9),ve=(M>>>14|D<<18)^(M>>>18|D<<14)^(M<<23|D>>>9),we=l[V],ke=we.high,xe=we.low,Se=U+be+((pe=H+ve)>>>0>>0?1:0),_e=ye+he;U=$,H=q,$=B,q=z,B=D,z=M,D=I+(Se=(Se=(Se=Se+de+((pe+=fe)>>>0>>0?1:0))+ke+((pe+=xe)>>>0>>0?1:0))+W+((pe+=G)>>>0>>0?1:0))+((M=F+pe|0)>>>0>>0?1:0)|0,I=R,F=L,R=j,L=N,j=T,N=P,T=Se+(ge+me+(_e>>>0>>0?1:0))+((P=pe+_e|0)>>>0>>0?1:0)|0}m=r.low=m+P,r.high=f+T+(m>>>0

>>0?1:0),g=o.low=g+N,o.high=h+j+(g>>>0>>0?1:0),b=a.low=b+L,a.high=y+R+(b>>>0>>0?1:0),w=i.low=w+F,i.high=v+I+(w>>>0>>0?1:0),x=s.low=x+M,s.high=k+D+(x>>>0>>0?1:0),_=u.low=_+z,u.high=S+B+(_>>>0>>0?1:0),C=p.low=C+q,p.high=E+$+(C>>>0>>0?1:0),O=d.low=O+H,d.high=A+U+(O>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});t.SHA512=n._createHelper(u),t.HmacSHA512=n._createHmacHelper(u)}(),e.SHA512}(Un(),Wn())),Sr}var Cr,Ar,Or={},Tr={get exports(){return Or},set exports(e){Or=e}},Pr={},jr={get exports(){return Pr},set exports(e){Pr=e}};var Nr,Rr,Lr={},Ir={get exports(){return Lr},set exports(e){Lr=e}},Fr={},Dr={get exports(){return Fr},set exports(e){Fr=e}};function Mr(){return Rr||(Rr=1,Dr.exports=function(e){!function(){var t=e,n=t.lib.Base,r=t.enc.Utf8;t.algo.HMAC=n.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=r.parse(t));var n=e.blockSize,o=4*n;t.sigBytes>o&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),i=this._iKey=t.clone(),s=a.words,l=i.words,c=0;c>>2];e.sigBytes-=t}};n.BlockCipher=c.extend({cfg:c.cfg.extend({mode:d,padding:f}),reset:function(){var e;c.reset.call(this);var t=this.cfg,n=t.iv,r=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=r.createEncryptor:(e=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,n&&n.words):(this._mode=e.call(r,this,n&&n.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=n.CipherParams=r.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),h=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,n=e.salt;return(n?o.create([1398893684,1701076831]).concat(n).concat(t):t).toString(s)},parse:function(e){var t,n=s.parse(e),r=n.words;return 1398893684==r[0]&&1701076831==r[1]&&(t=o.create(r.slice(2,4)),r.splice(0,4),n.sigBytes-=16),m.create({ciphertext:n,salt:t})}},g=n.SerializableCipher=r.extend({cfg:r.extend({format:h}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var o=e.createEncryptor(n,r),a=o.finalize(t),i=o.cfg;return m.create({ciphertext:a,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,n,r,a){if(r||(r=o.random(8)),a)i=l.create({keySize:t+n,hasher:a}).compute(e,r);else var i=l.create({keySize:t+n}).compute(e,r);var s=o.create(i.words.slice(t),4*n);return i.sigBytes=4*t,m.create({key:i,iv:s,salt:r})}},b=n.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,n,r){var o=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize,r.salt,r.hasher);r.iv=o.iv;var a=g.encrypt.call(this,e,t,o.key,r);return a.mixIn(o),a},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var o=r.kdf.execute(n,e.keySize,e.ivSize,t.salt,r.hasher);return r.iv=o.iv,g.decrypt.call(this,e,t,o.key,r)}})}()}(Un(),Vr())),Wr}var Qr,Xr={},Zr={get exports(){return Xr},set exports(e){Xr=e}};var Jr,eo={},to={get exports(){return eo},set exports(e){eo=e}};var no,ro={},oo={get exports(){return ro},set exports(e){ro=e}};var ao,io={},so={get exports(){return io},set exports(e){io=e}};var lo,co,uo,po,fo,mo,ho,go,yo,bo={},vo={get exports(){return bo},set exports(e){bo=e}},wo={},ko={get exports(){return wo},set exports(e){wo=e}},xo={},So={get exports(){return xo},set exports(e){xo=e}},_o={},Eo={get exports(){return _o},set exports(e){_o=e}},Co={},Ao={get exports(){return Co},set exports(e){Co=e}},Oo={},To={get exports(){return Oo},set exports(e){Oo=e}},Po={},jo={get exports(){return Po},set exports(e){Po=e}},No={},Ro={get exports(){return No},set exports(e){No=e}},Lo={},Io={get exports(){return Lo},set exports(e){Lo=e}};var Fo,Do,Mo,Bo,zo={},$o={get exports(){return zo},set exports(e){zo=e}},qo={},Uo={get exports(){return qo},set exports(e){qo=e}},Ho={},Vo={get exports(){return Ho},set exports(e){Ho=e}},Go={},Wo={get exports(){return Go},set exports(e){Go=e}};Bn.exports=function(e){return e}(Un(),Wn(),Kn||(Kn=1,Qn.exports=function(e){return function(){if("function"==typeof ArrayBuffer){var t=e.lib.WordArray,n=t.init,r=t.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,r=[],o=0;o>>2]|=e[o]<<24-o%4*8;n.call(this,r,t)}else n.apply(this,arguments)};r.prototype=t}}(),e.lib.WordArray}(Un())),Xn||(Xn=1,Jn.exports=function(e){return function(){var t=e,n=t.lib.WordArray,r=t.enc;function o(e){return e<<8&4278255360|e>>>8&16711935}r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;o>>2]>>>16-o%4*8&65535;r.push(String.fromCharCode(a))}return r.join("")},parse:function(e){for(var t=e.length,r=[],o=0;o>>1]|=e.charCodeAt(o)<<16-o%2*16;return n.create(r,2*t)}},r.Utf16LE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],a=0;a>>2]>>>16-a%4*8&65535);r.push(String.fromCharCode(i))}return r.join("")},parse:function(e){for(var t=e.length,r=[],a=0;a>>1]|=o(e.charCodeAt(a)<<16-a%2*16);return n.create(r,2*t)}}}(),e.enc.Utf16}(Un())),rr(),or||(or=1,ir.exports=function(e){return function(){var t=e,n=t.lib.WordArray;function r(e,t,r){for(var o=[],a=0,i=0;i>>6-i%4*2;o[a>>>2]|=s<<24-a%4*8,a++}return n.create(o,a)}t.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var n=e.words,r=e.sigBytes,o=t?this._safe_map:this._map;e.clamp();for(var a=[],i=0;i>>2]>>>24-i%4*8&255)<<16|(n[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|n[i+2>>>2]>>>24-(i+2)%4*8&255,l=0;l<4&&i+.75*l>>6*(3-l)&63));var c=o.charAt(64);if(c)for(;a.length%4;)a.push(c);return a.join("")},parse:function(e,t){void 0===t&&(t=!0);var n=e.length,o=t?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var i=0;i>>24)|4278255360&(a<<24|a>>>8),i=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),(O=n[o]).high^=i,O.low^=a}for(var s=0;s<24;s++){for(var d=0;d<5;d++){for(var f=0,m=0,h=0;h<5;h++)f^=(O=n[d+5*h]).high,m^=O.low;var g=p[d];g.high=f,g.low=m}for(d=0;d<5;d++){var y=p[(d+4)%5],b=p[(d+1)%5],v=b.high,w=b.low;for(f=y.high^(v<<1|w>>>31),m=y.low^(w<<1|v>>>31),h=0;h<5;h++)(O=n[d+5*h]).high^=f,O.low^=m}for(var k=1;k<25;k++){var x=(O=n[k]).high,S=O.low,_=l[k];_<32?(f=x<<_|S>>>32-_,m=S<<_|x>>>32-_):(f=S<<_-32|x>>>64-_,m=x<<_-32|S>>>64-_);var E=p[c[k]];E.high=f,E.low=m}var C=p[0],A=n[0];for(C.high=A.high,C.low=A.low,d=0;d<5;d++)for(h=0;h<5;h++){var O=n[k=d+5*h],T=p[k],P=p[(d+1)%5+5*h],j=p[(d+2)%5+5*h];O.high=T.high^~P.high&j.high,O.low=T.low^~P.low&j.low}O=n[0];var N=u[s];O.high^=N.high,O.low^=N.low}},_doFinalize:function(){var e=this._data,n=e.words;this._nDataBytes;var r=8*e.sigBytes,a=32*this.blockSize;n[r>>>5]|=1<<24-r%32,n[(t.ceil((r+1)/a)*a>>>5)-1]|=128,e.sigBytes=4*n.length,this._process();for(var i=this._state,s=this.cfg.outputLength/8,l=s/8,c=[],u=0;u>>24)|4278255360&(d<<24|d>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),c.push(f),c.push(d)}return new o.init(c,s)},clone:function(){for(var e=a.clone.call(this),t=e._state=this._state.slice(0),n=0;n<25;n++)t[n]=t[n].clone();return e}});n.SHA3=a._createHelper(d),n.HmacSHA3=a._createHmacHelper(d)}(Math),e.SHA3}(Un(),Wn())),Nr||(Nr=1,Ir.exports=function(e){return function(){var t=e,n=t.lib,r=n.WordArray,o=n.Hasher,a=t.algo,i=r.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),s=r.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=r.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=r.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=r.create([0,1518500249,1859775393,2400959708,2840853838]),p=r.create([1352829926,1548603684,1836072691,2053994217,0]),d=a.RIPEMD160=o.extend({_doReset:function(){this._hash=r.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,o=e[r];e[r]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a,d,v,w,k,x,S,_,E,C,A,O=this._hash.words,T=u.words,P=p.words,j=i.words,N=s.words,R=l.words,L=c.words;for(x=a=O[0],S=d=O[1],_=v=O[2],E=w=O[3],C=k=O[4],n=0;n<80;n+=1)A=a+e[t+j[n]]|0,A+=n<16?f(d,v,w)+T[0]:n<32?m(d,v,w)+T[1]:n<48?h(d,v,w)+T[2]:n<64?g(d,v,w)+T[3]:y(d,v,w)+T[4],A=(A=b(A|=0,R[n]))+k|0,a=k,k=w,w=b(v,10),v=d,d=A,A=x+e[t+N[n]]|0,A+=n<16?y(S,_,E)+P[0]:n<32?g(S,_,E)+P[1]:n<48?h(S,_,E)+P[2]:n<64?m(S,_,E)+P[3]:f(S,_,E)+P[4],A=(A=b(A|=0,L[n]))+C|0,x=C,C=E,E=b(_,10),_=S,S=A;A=O[1]+v+E|0,O[1]=O[2]+w+C|0,O[2]=O[3]+k+x|0,O[3]=O[4]+a+S|0,O[4]=O[0]+d+_|0,O[0]=A},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process();for(var o=this._hash,a=o.words,i=0;i<5;i++){var s=a[i];a[i]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return o},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function f(e,t,n){return e^t^n}function m(e,t,n){return e&t|~e&n}function h(e,t,n){return(e|~t)^n}function g(e,t,n){return e&n|t&~n}function y(e,t,n){return e^(t|~n)}function b(e,t){return e<>>32-t}t.RIPEMD160=o._createHelper(d),t.HmacRIPEMD160=o._createHmacHelper(d)}(),e.RIPEMD160}(Un())),Mr(),Br||(Br=1,qr.exports=function(e){return function(){var t=e,n=t.lib,r=n.Base,o=n.WordArray,a=t.algo,i=a.SHA256,s=a.HMAC,l=a.PBKDF2=r.extend({cfg:r.extend({keySize:4,hasher:i,iterations:25e4}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=s.create(n.hasher,e),a=o.create(),i=o.create([1]),l=a.words,c=i.words,u=n.keySize,p=n.iterations;l.length>24))e+=1<<24;else{var t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}function r(e){return 0===(e[0]=n(e[0]))&&(e[1]=n(e[1])),e}var o=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,o=n.blockSize,a=this._iv,i=this._counter;a&&(i=this._counter=a.slice(0),this._iv=void 0),r(i);var s=i.slice(0);n.encryptBlock(s,0);for(var l=0;l>>2]|=o<<24-a%4*8,e.sigBytes+=o},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},e.pad.Ansix923}(Un(),Yr())),uo||(uo=1,So.exports=function(e){return e.pad.Iso10126={pad:function(t,n){var r=4*n,o=r-t.sigBytes%r;t.concat(e.lib.WordArray.random(o-1)).concat(e.lib.WordArray.create([o<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},e.pad.Iso10126}(Un(),Yr())),po||(po=1,Eo.exports=function(e){return e.pad.Iso97971={pad:function(t,n){t.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(t,n)},unpad:function(t){e.pad.ZeroPadding.unpad(t),t.sigBytes--}},e.pad.Iso97971}(Un(),Yr())),fo||(fo=1,Ao.exports=function(e){return e.pad.ZeroPadding={pad:function(e,t){var n=4*t;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){var t=e.words,n=e.sigBytes-1;for(n=e.sigBytes-1;n>=0;n--)if(t[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},e.pad.ZeroPadding}(Un(),Yr())),mo||(mo=1,To.exports=function(e){return e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding}(Un(),Yr())),ho||(ho=1,jo.exports=function(e){return function(){var t=e,n=t.lib.CipherParams,r=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(r)},parse:function(e){var t=r.parse(e);return n.create({ciphertext:t})}}}(),e.format.Hex}(Un(),Yr())),go||(go=1,Ro.exports=function(e){return function(){var t=e,n=t.lib.BlockCipher,r=t.algo,o=[],a=[],i=[],s=[],l=[],c=[],u=[],p=[],d=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var n=0,r=0;for(t=0;t<256;t++){var m=r^r<<1^r<<2^r<<3^r<<4;m=m>>>8^255&m^99,o[n]=m,a[m]=n;var h=e[n],g=e[h],y=e[g],b=257*e[m]^16843008*m;i[n]=b<<24|b>>>8,s[n]=b<<16|b>>>16,l[n]=b<<8|b>>>24,c[n]=b,b=16843009*y^65537*g^257*h^16843008*n,u[m]=b<<24|b>>>8,p[m]=b<<16|b>>>16,d[m]=b<<8|b>>>24,f[m]=b,n?(n=h^e[e[e[y^h]]],r^=e[e[r]]):n=r=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],h=r.AES=n.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,n=e.sigBytes/4,r=4*((this._nRounds=n+6)+1),a=this._keySchedule=[],i=0;i6&&i%n==4&&(c=o[c>>>24]<<24|o[c>>>16&255]<<16|o[c>>>8&255]<<8|o[255&c]):(c=o[(c=c<<8|c>>>24)>>>24]<<24|o[c>>>16&255]<<16|o[c>>>8&255]<<8|o[255&c],c^=m[i/n|0]<<24),a[i]=a[i-n]^c);for(var s=this._invKeySchedule=[],l=0;l>>24]]^p[o[c>>>16&255]]^d[o[c>>>8&255]]^f[o[255&c]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,i,s,l,c,o)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,u,p,d,f,a),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,o,a,i,s){for(var l=this._nRounds,c=e[t]^n[0],u=e[t+1]^n[1],p=e[t+2]^n[2],d=e[t+3]^n[3],f=4,m=1;m>>24]^o[u>>>16&255]^a[p>>>8&255]^i[255&d]^n[f++],g=r[u>>>24]^o[p>>>16&255]^a[d>>>8&255]^i[255&c]^n[f++],y=r[p>>>24]^o[d>>>16&255]^a[c>>>8&255]^i[255&u]^n[f++],b=r[d>>>24]^o[c>>>16&255]^a[u>>>8&255]^i[255&p]^n[f++];c=h,u=g,p=y,d=b}h=(s[c>>>24]<<24|s[u>>>16&255]<<16|s[p>>>8&255]<<8|s[255&d])^n[f++],g=(s[u>>>24]<<24|s[p>>>16&255]<<16|s[d>>>8&255]<<8|s[255&c])^n[f++],y=(s[p>>>24]<<24|s[d>>>16&255]<<16|s[c>>>8&255]<<8|s[255&u])^n[f++],b=(s[d>>>24]<<24|s[c>>>16&255]<<16|s[u>>>8&255]<<8|s[255&p])^n[f++],e[t]=h,e[t+1]=g,e[t+2]=y,e[t+3]=b},keySize:8});t.AES=n._createHelper(h)}(),e.AES}(Un(),rr(),ur(),Vr(),Yr())),yo||(yo=1,Io.exports=function(e){return function(){var t=e,n=t.lib,r=n.WordArray,o=n.BlockCipher,a=t.algo,i=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],l=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],p=a.DES=o.extend({_doReset:function(){for(var e=this._key.words,t=[],n=0;n<56;n++){var r=i[n]-1;t[n]=e[r>>>5]>>>31-r%32&1}for(var o=this._subKeys=[],a=0;a<16;a++){var c=o[a]=[],u=l[a];for(n=0;n<24;n++)c[n/6|0]|=t[(s[n]-1+u)%28]<<31-n%6,c[4+(n/6|0)]|=t[28+(s[n+24]-1+u)%28]<<31-n%6;for(c[0]=c[0]<<1|c[0]>>>31,n=1;n<7;n++)c[n]=c[n]>>>4*(n-1)+3;c[7]=c[7]<<5|c[7]>>>27}var p=this._invSubKeys=[];for(n=0;n<16;n++)p[n]=o[15-n]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,n){this._lBlock=e[t],this._rBlock=e[t+1],d.call(this,4,252645135),d.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),d.call(this,1,1431655765);for(var r=0;r<16;r++){for(var o=n[r],a=this._lBlock,i=this._rBlock,s=0,l=0;l<8;l++)s|=c[l][((i^o[l])&u[l])>>>0];this._lBlock=i,this._rBlock=a^s}var p=this._lBlock;this._lBlock=this._rBlock,this._rBlock=p,d.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),d.call(this,16,65535),d.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function d(e,t){var n=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=n,this._lBlock^=n<>>e^this._lBlock)&t;this._lBlock^=n,this._rBlock^=n<192.");var t=e.slice(0,2),n=e.length<4?e.slice(0,2):e.slice(2,4),o=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=p.createEncryptor(r.create(t)),this._des2=p.createEncryptor(r.create(n)),this._des3=p.createEncryptor(r.create(o))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});t.TripleDES=o._createHelper(m)}(),e.TripleDES}(Un(),rr(),ur(),Vr(),Yr())),Fo||(Fo=1,$o.exports=function(e){return function(){var t=e,n=t.lib.StreamCipher,r=t.algo,o=r.RC4=n.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes,r=this._S=[],o=0;o<256;o++)r[o]=o;o=0;for(var a=0;o<256;o++){var i=o%n,s=t[i>>>2]>>>24-i%4*8&255;a=(a+r[o]+s)%256;var l=r[o];r[o]=r[a],r[a]=l}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:8,ivSize:0});function a(){for(var e=this._S,t=this._i,n=this._j,r=0,o=0;o<4;o++){n=(n+e[t=(t+1)%256])%256;var a=e[t];e[t]=e[n],e[n]=a,r|=e[(e[t]+e[n])%256]<<24-8*o}return this._i=t,this._j=n,r}t.RC4=n._createHelper(o);var i=r.RC4Drop=o.extend({cfg:o.cfg.extend({drop:192}),_doReset:function(){o._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)a.call(this)}});t.RC4Drop=n._createHelper(i)}(),e.RC4}(Un(),rr(),ur(),Vr(),Yr())),Do||(Do=1,Uo.exports=function(e){return function(){var t=e,n=t.lib.StreamCipher,r=t.algo,o=[],a=[],i=[],s=r.Rabbit=n.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,n=0;n<4;n++)e[n]=16711935&(e[n]<<8|e[n]>>>24)|4278255360&(e[n]<<24|e[n]>>>8);var r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],o=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,n=0;n<4;n++)l.call(this);for(n=0;n<8;n++)o[n]^=r[n+4&7];if(t){var a=t.words,i=a[0],s=a[1],c=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),p=c>>>16|4294901760&u,d=u<<16|65535&c;for(o[0]^=c,o[1]^=p,o[2]^=u,o[3]^=d,o[4]^=c,o[5]^=p,o[6]^=u,o[7]^=d,n=0;n<4;n++)l.call(this)}},_doProcessBlock:function(e,t){var n=this._X;l.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[t+r]^=o[r]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,n=0;n<8;n++){var r=e[n]+t[n],o=65535&r,s=r>>>16,l=((o*o>>>17)+o*s>>>15)+s*s,c=((4294901760&r)*r|0)+((65535&r)*r|0);i[n]=l^c}e[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,e[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,e[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,e[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,e[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,e[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,e[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,e[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}t.Rabbit=n._createHelper(s)}(),e.Rabbit}(Un(),rr(),ur(),Vr(),Yr())),Mo||(Mo=1,Vo.exports=function(e){return function(){var t=e,n=t.lib.StreamCipher,r=t.algo,o=[],a=[],i=[],s=r.RabbitLegacy=n.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var o=0;o<4;o++)l.call(this);for(o=0;o<8;o++)r[o]^=n[o+4&7];if(t){var a=t.words,i=a[0],s=a[1],c=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),p=c>>>16|4294901760&u,d=u<<16|65535&c;for(r[0]^=c,r[1]^=p,r[2]^=u,r[3]^=d,r[4]^=c,r[5]^=p,r[6]^=u,r[7]^=d,o=0;o<4;o++)l.call(this)}},_doProcessBlock:function(e,t){var n=this._X;l.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[t+r]^=o[r]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,n=0;n<8;n++){var r=e[n]+t[n],o=65535&r,s=r>>>16,l=((o*o>>>17)+o*s>>>15)+s*s,c=((4294901760&r)*r|0)+((65535&r)*r|0);i[n]=l^c}e[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,e[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,e[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,e[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,e[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,e[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,e[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,e[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}t.RabbitLegacy=n._createHelper(s)}(),e.RabbitLegacy}(Un(),rr(),ur(),Vr(),Yr())),Bo||(Bo=1,Wo.exports=function(e){return function(){var t=e,n=t.lib.BlockCipher,r=t.algo;const o=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],i=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var s={pbox:[],sbox:[]};function l(e,t){let n=t>>24&255,r=t>>16&255,o=t>>8&255,a=255&t,i=e.sbox[0][n]+e.sbox[1][r];return i^=e.sbox[2][o],i+=e.sbox[3][a],i}function c(e,t,n){let r,a=t,i=n;for(let s=0;s=n&&(r=0);let o=0,s=0,l=0;for(let a=0;a<18;a+=2)l=c(e,o,s),o=l.left,s=l.right,e.pbox[a]=o,e.pbox[a+1]=s;for(let a=0;a<4;a++)for(let t=0;t<256;t+=2)l=c(e,o,s),o=l.left,s=l.right,e.sbox[a][t]=o,e.sbox[a][t+1]=s}(s,t,n)}},encryptBlock:function(e,t){var n=c(s,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},decryptBlock:function(e,t){var n=function(e,t,n){let r,o=t,a=n;for(let i=17;i>1;--i)o^=e.pbox[i],a=l(e,o)^a,r=o,o=a,a=r;return r=o,o=a,a=r,a^=e.pbox[1],o^=e.pbox[0],{left:o,right:a}}(s,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},blockSize:2,keySize:4,ivSize:2});t.Blowfish=n._createHelper(u)}(),e.Blowfish}(Un(),rr(),ur(),Vr(),Yr())));var Ko=Mn;function Yo(e){return xe(this,void 0,void 0,(function(){var t,n;return Se(this,(function(r){switch(r.label){case 0:return t="".concat(Ln,"/initializeMendable"),n=JSON.stringify({anon_key:e}),[4,fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:n})];case 1:return[4,r.sent().json()];case 2:return[2,r.sent()]}}))}))}function Qo(){return xe(this,void 0,void 0,(function(){var e;return Se(this,(function(t){switch(t.label){case 0:return e="".concat(Ln,"/getHiddenField"),[4,fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})];case 1:return[4,t.sent().json()];case 2:return[2,t.sent()]}}))}))}function Xo(e,t,n){return xe(this,void 0,void 0,(function(){var r,o,a;return Se(this,(function(i){switch(i.label){case 0:return r=Ko.AES.encrypt(t.toString(),"this-is-not-that-secret-so-congrats-if-u-find-out-#123321123#").toString(),[4,fetch("".concat(Ln,"/eRateMessage"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({anon_key:e,e_message_id:r,rating_value:n})})];case 1:return(o=i.sent()).ok?[3,3]:[4,o.text()];case 2:throw a=i.sent(),new Error("Error updating message rating: ".concat(a));case 3:return[2]}}))}))}function Zo(e,t,n,r){return xe(this,void 0,void 0,(function(){var o,a,i,s,l;return Se(this,(function(c){switch(c.label){case 0:return o=r||{},a="".concat(Ln,"/keywordSearchFuzz"),i=JSON.stringify({question:e,company:t,project_id:n,metadata:o}),[4,fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:i})];case 1:if(!(s=c.sent()).ok)return ve.error("Error occurred during keywordSearchFuzz operation"),[2,[]];c.label=2;case 2:return c.trys.push([2,4,,5]),[4,s.json()];case 3:return[2,c.sent()];case 4:return l=c.sent(),ve.error("Error parsing JSON response:",l),[2,[]];case 5:return[2]}}))}))}function Jo(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}function ea(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ta(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw a}}}}Jo('* {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n}\n\n* ::before {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n}\n\n* ::after {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.ms-prose {\n color: var(--tw-prose-body);\n max-width: 65ch;\n}\n\n.ms-prose :where(p):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 1.25em;\n margin-bottom: 1.25em;\n}\n\n.ms-prose :where([class~="lead"]):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-lead);\n font-size: 1.25em;\n line-height: 1.6;\n margin-top: 1.2em;\n margin-bottom: 1.2em;\n}\n\n.ms-prose :where(a):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-links);\n text-decoration: underline;\n font-weight: 500;\n}\n\n.ms-prose :where(strong):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-bold);\n font-weight: 600;\n}\n\n.ms-prose :where(a strong):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n}\n\n.ms-prose :where(blockquote strong):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n}\n\n.ms-prose :where(thead th strong):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n}\n\n.ms-prose :where(ol):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: decimal;\n margin-top: 1.25em;\n margin-bottom: 1.25em;\n padding-left: 1.625em;\n}\n\n.ms-prose :where(ol[type="A"]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: upper-alpha;\n}\n\n.ms-prose :where(ol[type="a"]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: lower-alpha;\n}\n\n.ms-prose :where(ol[type="A" s]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: upper-alpha;\n}\n\n.ms-prose :where(ol[type="a" s]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: lower-alpha;\n}\n\n.ms-prose :where(ol[type="I"]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: upper-roman;\n}\n\n.ms-prose :where(ol[type="i"]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: lower-roman;\n}\n\n.ms-prose :where(ol[type="I" s]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: upper-roman;\n}\n\n.ms-prose :where(ol[type="i" s]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: lower-roman;\n}\n\n.ms-prose :where(ol[type="1"]):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: decimal;\n}\n\n.ms-prose :where(ul):not(:where([class~="ms-not-prose"] *)) {\n list-style-type: disc;\n margin-top: 1.25em;\n margin-bottom: 1.25em;\n padding-left: 1.625em;\n}\n\n.ms-prose :where(ol > li):not(:where([class~="ms-not-prose"] *))::marker {\n font-weight: 400;\n color: var(--tw-prose-counters);\n}\n\n.ms-prose :where(ul > li):not(:where([class~="ms-not-prose"] *))::marker {\n color: var(--tw-prose-bullets);\n}\n\n.ms-prose :where(hr):not(:where([class~="ms-not-prose"] *)) {\n border-color: var(--tw-prose-hr);\n border-top-width: 1px;\n margin-top: 3em;\n margin-bottom: 3em;\n}\n\n.ms-prose :where(blockquote):not(:where([class~="ms-not-prose"] *)) {\n font-weight: 500;\n font-style: italic;\n color: var(--tw-prose-quotes);\n border-left-width: 0.25rem;\n border-left-color: var(--tw-prose-quote-borders);\n quotes: "\\201C""\\201D""\\2018""\\2019";\n margin-top: 1.6em;\n margin-bottom: 1.6em;\n padding-left: 1em;\n}\n\n.ms-prose :where(blockquote p:first-of-type):not(:where([class~="ms-not-prose"] *))::before {\n content: open-quote;\n}\n\n.ms-prose :where(blockquote p:last-of-type):not(:where([class~="ms-not-prose"] *))::after {\n content: close-quote;\n}\n\n.ms-prose :where(h1):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-headings);\n font-weight: 800;\n font-size: 2.25em;\n margin-top: 0;\n margin-bottom: 0.8888889em;\n line-height: 1.1111111;\n}\n\n.ms-prose :where(h1 strong):not(:where([class~="ms-not-prose"] *)) {\n font-weight: 900;\n color: inherit;\n}\n\n.ms-prose :where(h2):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-headings);\n font-weight: 700;\n font-size: 1.5em;\n margin-top: 2em;\n margin-bottom: 1em;\n line-height: 1.3333333;\n}\n\n.ms-prose :where(h2 strong):not(:where([class~="ms-not-prose"] *)) {\n font-weight: 800;\n color: inherit;\n}\n\n.ms-prose :where(h3):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-headings);\n font-weight: 600;\n font-size: 1.25em;\n margin-top: 1.6em;\n margin-bottom: 0.6em;\n line-height: 1.6;\n}\n\n.ms-prose :where(h3 strong):not(:where([class~="ms-not-prose"] *)) {\n font-weight: 700;\n color: inherit;\n}\n\n.ms-prose :where(h4):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-headings);\n font-weight: 600;\n margin-top: 1.5em;\n margin-bottom: 0.5em;\n line-height: 1.5;\n}\n\n.ms-prose :where(h4 strong):not(:where([class~="ms-not-prose"] *)) {\n font-weight: 700;\n color: inherit;\n}\n\n.ms-prose :where(img):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 2em;\n margin-bottom: 2em;\n}\n\n.ms-prose :where(figure > *):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.ms-prose :where(figcaption):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-captions);\n font-size: 0.875em;\n line-height: 1.4285714;\n margin-top: 0.8571429em;\n}\n\n.ms-prose :where(code):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-code);\n font-weight: 600;\n font-size: 0.875em;\n}\n\n.ms-prose :where(code):not(:where([class~="ms-not-prose"] *))::before {\n content: "`";\n}\n\n.ms-prose :where(code):not(:where([class~="ms-not-prose"] *))::after {\n content: "`";\n}\n\n.ms-prose :where(a code):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n}\n\n.ms-prose :where(h1 code):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n}\n\n.ms-prose :where(h2 code):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n font-size: 0.875em;\n}\n\n.ms-prose :where(h3 code):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n font-size: 0.9em;\n}\n\n.ms-prose :where(h4 code):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n}\n\n.ms-prose :where(blockquote code):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n}\n\n.ms-prose :where(thead th code):not(:where([class~="ms-not-prose"] *)) {\n color: inherit;\n}\n\n.ms-prose :where(pre):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-pre-code);\n background-color: var(--tw-prose-pre-bg);\n overflow-x: auto;\n font-weight: 400;\n font-size: 0.875em;\n line-height: 1.7142857;\n margin-top: 1.7142857em;\n margin-bottom: 1.7142857em;\n border-radius: 0.375rem;\n padding-top: 0.8571429em;\n padding-right: 1.1428571em;\n padding-bottom: 0.8571429em;\n padding-left: 1.1428571em;\n}\n\n.ms-prose :where(pre code):not(:where([class~="ms-not-prose"] *)) {\n background-color: transparent;\n border-width: 0;\n border-radius: 0;\n padding: 0;\n font-weight: inherit;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n}\n\n.ms-prose :where(pre code):not(:where([class~="ms-not-prose"] *))::before {\n content: none;\n}\n\n.ms-prose :where(pre code):not(:where([class~="ms-not-prose"] *))::after {\n content: none;\n}\n\n.ms-prose :where(table):not(:where([class~="ms-not-prose"] *)) {\n width: 100%;\n table-layout: auto;\n text-align: left;\n margin-top: 2em;\n margin-bottom: 2em;\n font-size: 0.875em;\n line-height: 1.7142857;\n}\n\n.ms-prose :where(thead):not(:where([class~="ms-not-prose"] *)) {\n border-bottom-width: 1px;\n border-bottom-color: var(--tw-prose-th-borders);\n}\n\n.ms-prose :where(thead th):not(:where([class~="ms-not-prose"] *)) {\n color: var(--tw-prose-headings);\n font-weight: 600;\n vertical-align: bottom;\n padding-right: 0.5714286em;\n padding-bottom: 0.5714286em;\n padding-left: 0.5714286em;\n}\n\n.ms-prose :where(tbody tr):not(:where([class~="ms-not-prose"] *)) {\n border-bottom-width: 1px;\n border-bottom-color: var(--tw-prose-td-borders);\n}\n\n.ms-prose :where(tbody tr:last-child):not(:where([class~="ms-not-prose"] *)) {\n border-bottom-width: 0;\n}\n\n.ms-prose :where(tbody td):not(:where([class~="ms-not-prose"] *)) {\n vertical-align: baseline;\n}\n\n.ms-prose :where(tfoot):not(:where([class~="ms-not-prose"] *)) {\n border-top-width: 1px;\n border-top-color: var(--tw-prose-th-borders);\n}\n\n.ms-prose :where(tfoot td):not(:where([class~="ms-not-prose"] *)) {\n vertical-align: top;\n}\n\n.ms-prose {\n --tw-prose-body: #374151;\n --tw-prose-headings: #111827;\n --tw-prose-lead: #4b5563;\n --tw-prose-links: #111827;\n --tw-prose-bold: #111827;\n --tw-prose-counters: #6b7280;\n --tw-prose-bullets: #d1d5db;\n --tw-prose-hr: #e5e7eb;\n --tw-prose-quotes: #111827;\n --tw-prose-quote-borders: #e5e7eb;\n --tw-prose-captions: #6b7280;\n --tw-prose-code: #111827;\n --tw-prose-pre-code: #e5e7eb;\n --tw-prose-pre-bg: #1f2937;\n --tw-prose-th-borders: #d1d5db;\n --tw-prose-td-borders: #e5e7eb;\n --tw-prose-invert-body: #d1d5db;\n --tw-prose-invert-headings: #fff;\n --tw-prose-invert-lead: #9ca3af;\n --tw-prose-invert-links: #fff;\n --tw-prose-invert-bold: #fff;\n --tw-prose-invert-counters: #9ca3af;\n --tw-prose-invert-bullets: #4b5563;\n --tw-prose-invert-hr: #374151;\n --tw-prose-invert-quotes: #f3f4f6;\n --tw-prose-invert-quote-borders: #374151;\n --tw-prose-invert-captions: #9ca3af;\n --tw-prose-invert-code: #fff;\n --tw-prose-invert-pre-code: #d1d5db;\n --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);\n --tw-prose-invert-th-borders: #4b5563;\n --tw-prose-invert-td-borders: #374151;\n font-size: 1rem;\n line-height: 1.75;\n}\n\n.ms-prose :where(video):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 2em;\n margin-bottom: 2em;\n}\n\n.ms-prose :where(figure):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 2em;\n margin-bottom: 2em;\n}\n\n.ms-prose :where(li):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n.ms-prose :where(ol > li):not(:where([class~="ms-not-prose"] *)) {\n padding-left: 0.375em;\n}\n\n.ms-prose :where(ul > li):not(:where([class~="ms-not-prose"] *)) {\n padding-left: 0.375em;\n}\n\n.ms-prose :where(.ms-prose > ul > li p):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0.75em;\n margin-bottom: 0.75em;\n}\n\n.ms-prose :where(.ms-prose > ul > li > *:first-child):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 1.25em;\n}\n\n.ms-prose :where(.ms-prose > ul > li > *:last-child):not(:where([class~="ms-not-prose"] *)) {\n margin-bottom: 1.25em;\n}\n\n.ms-prose :where(.ms-prose > ol > li > *:first-child):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 1.25em;\n}\n\n.ms-prose :where(.ms-prose > ol > li > *:last-child):not(:where([class~="ms-not-prose"] *)) {\n margin-bottom: 1.25em;\n}\n\n.ms-prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0.75em;\n margin-bottom: 0.75em;\n}\n\n.ms-prose :where(hr + *):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0;\n}\n\n.ms-prose :where(h2 + *):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0;\n}\n\n.ms-prose :where(h3 + *):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0;\n}\n\n.ms-prose :where(h4 + *):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0;\n}\n\n.ms-prose :where(thead th:first-child):not(:where([class~="ms-not-prose"] *)) {\n padding-left: 0;\n}\n\n.ms-prose :where(thead th:last-child):not(:where([class~="ms-not-prose"] *)) {\n padding-right: 0;\n}\n\n.ms-prose :where(tbody td, tfoot td):not(:where([class~="ms-not-prose"] *)) {\n padding-top: 0.5714286em;\n padding-right: 0.5714286em;\n padding-bottom: 0.5714286em;\n padding-left: 0.5714286em;\n}\n\n.ms-prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="ms-not-prose"] *)) {\n padding-left: 0;\n}\n\n.ms-prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="ms-not-prose"] *)) {\n padding-right: 0;\n}\n\n.ms-prose :where(.ms-prose > :first-child):not(:where([class~="ms-not-prose"] *)) {\n margin-top: 0;\n}\n\n.ms-prose :where(.ms-prose > :last-child):not(:where([class~="ms-not-prose"] *)) {\n margin-bottom: 0;\n}\n\n.ms-prose-invert {\n --tw-prose-body: var(--tw-prose-invert-body);\n --tw-prose-headings: var(--tw-prose-invert-headings);\n --tw-prose-lead: var(--tw-prose-invert-lead);\n --tw-prose-links: var(--tw-prose-invert-links);\n --tw-prose-bold: var(--tw-prose-invert-bold);\n --tw-prose-counters: var(--tw-prose-invert-counters);\n --tw-prose-bullets: var(--tw-prose-invert-bullets);\n --tw-prose-hr: var(--tw-prose-invert-hr);\n --tw-prose-quotes: var(--tw-prose-invert-quotes);\n --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);\n --tw-prose-captions: var(--tw-prose-invert-captions);\n --tw-prose-code: var(--tw-prose-invert-code);\n --tw-prose-pre-code: var(--tw-prose-invert-pre-code);\n --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);\n --tw-prose-th-borders: var(--tw-prose-invert-th-borders);\n --tw-prose-td-borders: var(--tw-prose-invert-td-borders);\n}\n\n.ms-visible {\n visibility: visible;\n}\n\n.ms-fixed {\n position: fixed;\n}\n\n.ms-absolute {\n position: absolute;\n}\n\n.ms-relative {\n position: relative;\n}\n\n.ms-inset-0 {\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n\n.ms-inset-x-0 {\n left: 0px;\n right: 0px;\n}\n\n.-ms-bottom-1 {\n bottom: -0.25rem;\n}\n\n.ms-bottom-0 {\n bottom: 0px;\n}\n\n.ms-bottom-4 {\n bottom: 1rem;\n}\n\n.ms-left-1 {\n left: 0.25rem;\n}\n\n.ms-left-1\\/2 {\n left: 50%;\n}\n\n.ms-left-3 {\n left: 0.75rem;\n}\n\n.ms-right-2 {\n right: 0.5rem;\n}\n\n.ms-right-3 {\n right: 0.75rem;\n}\n\n.ms-right-4 {\n right: 1rem;\n}\n\n.ms-right-6 {\n right: 1.5rem;\n}\n\n.ms-right-8 {\n right: 2rem;\n}\n\n.ms-top-2 {\n top: 0.5rem;\n}\n\n.ms-top-full {\n top: 100%;\n}\n\n.\\!ms-z-\\[10001\\] {\n z-index: 10001 !important;\n}\n\n.-ms-z-10 {\n z-index: -10;\n}\n\n.ms-z-10 {\n z-index: 10;\n}\n\n.ms-z-\\[1000\\] {\n z-index: 1000;\n}\n\n.ms-z-\\[100\\] {\n z-index: 100;\n}\n\n.ms-float-right {\n float: right;\n}\n\n.ms-float-left {\n float: left;\n}\n\n.\\!ms-m-0 {\n margin: 0px !important;\n}\n\n.ms-m-0 {\n margin: 0px;\n}\n\n.ms-m-1 {\n margin: 0.25rem;\n}\n\n.\\!ms-my-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.ms-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.ms-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.\\!ms-mb-0 {\n margin-bottom: 0px !important;\n}\n\n.\\!ms-ml-3 {\n margin-left: 0.75rem !important;\n}\n\n.\\!ms-mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.\\!ms-mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.ms-mb-0 {\n margin-bottom: 0px;\n}\n\n.ms-mb-1 {\n margin-bottom: 0.25rem;\n}\n\n.ms-mb-2 {\n margin-bottom: 0.5rem;\n}\n\n.ms-mb-4 {\n margin-bottom: 1rem;\n}\n\n.ms-ml-0 {\n margin-left: 0px;\n}\n\n.ms-ml-1 {\n margin-left: 0.25rem;\n}\n\n.ms-ml-4 {\n margin-left: 1rem;\n}\n\n.ms-mr-1 {\n margin-right: 0.25rem;\n}\n\n.ms-mr-2 {\n margin-right: 0.5rem;\n}\n\n.ms-mr-4 {\n margin-right: 1rem;\n}\n\n.ms-mr-\\[6px\\] {\n margin-right: 6px;\n}\n\n.ms-mt-0 {\n margin-top: 0px;\n}\n\n.ms-mt-1 {\n margin-top: 0.25rem;\n}\n\n.ms-mt-2 {\n margin-top: 0.5rem;\n}\n\n.ms-mt-20 {\n margin-top: 5rem;\n}\n\n.ms-mt-4 {\n margin-top: 1rem;\n}\n\n.ms-mt-6 {\n margin-top: 1.5rem;\n}\n\n.ms-block {\n display: block;\n}\n\n.ms-inline-block {\n display: inline-block;\n}\n\n.ms-flex {\n display: flex;\n}\n\n.ms-grid {\n display: grid;\n}\n\n.ms-hidden {\n display: none;\n}\n\n.ms-h-0 {\n height: 0px;\n}\n\n.ms-h-0\\.5 {\n height: 0.125rem;\n}\n\n.ms-h-1 {\n height: 0.25rem;\n}\n\n.ms-h-10 {\n height: 2.5rem;\n}\n\n.ms-h-12 {\n height: 3rem;\n}\n\n.ms-h-16 {\n height: 4rem;\n}\n\n.ms-h-4 {\n height: 1rem;\n}\n\n.ms-h-5 {\n height: 1.25rem;\n}\n\n.ms-h-6 {\n height: 1.5rem;\n}\n\n.ms-h-64 {\n height: 16rem;\n}\n\n.ms-h-8 {\n height: 2rem;\n}\n\n.ms-h-\\[95\\%\\] {\n height: 95%;\n}\n\n.ms-h-fit {\n height: -moz-fit-content;\n height: fit-content;\n}\n\n.ms-h-full {\n height: 100%;\n}\n\n.ms-h-screen {\n height: 100vh;\n}\n\n.ms-max-h-5 {\n max-height: 1.25rem;\n}\n\n.ms-max-h-\\[200px\\] {\n max-height: 200px;\n}\n\n.ms-max-h-\\[275px\\] {\n max-height: 275px;\n}\n\n.ms-max-h-\\[340px\\] {\n max-height: 340px;\n}\n\n.ms-max-h-\\[550px\\] {\n max-height: 550px;\n}\n\n.ms-max-h-full {\n max-height: 100%;\n}\n\n.ms-min-h-\\[100px\\] {\n min-height: 100px;\n}\n\n.ms-min-h-\\[40px\\] {\n min-height: 40px;\n}\n\n.ms-min-h-full {\n min-height: 100%;\n}\n\n.ms-w-12 {\n width: 3rem;\n}\n\n.ms-w-16 {\n width: 4rem;\n}\n\n.ms-w-28 {\n width: 7rem;\n}\n\n.ms-w-4 {\n width: 1rem;\n}\n\n.ms-w-5 {\n width: 1.25rem;\n}\n\n.ms-w-6 {\n width: 1.5rem;\n}\n\n.ms-w-8 {\n width: 2rem;\n}\n\n.ms-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n\n.ms-w-full {\n width: 100%;\n}\n\n.ms-min-w-0 {\n min-width: 0px;\n}\n\n.ms-min-w-\\[32px\\] {\n min-width: 32px;\n}\n\n.ms-min-w-\\[64px\\] {\n min-width: 64px;\n}\n\n.ms-max-w-full {\n max-width: 100%;\n}\n\n.ms-max-w-xs {\n max-width: 20rem;\n}\n\n.ms-flex-1 {\n flex: 1 1 0%;\n}\n\n.ms-flex-grow {\n flex-grow: 1;\n}\n\n.\\!-ms-translate-x-1 {\n --tw-translate-x: -0.25rem !important;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;\n}\n\n.\\!-ms-translate-x-1\\/2 {\n --tw-translate-x: -50% !important;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;\n}\n\n.-ms-rotate-45 {\n --tw-rotate: -45deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-ms-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.ms-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.ms-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.ms-rotate-45 {\n --tw-rotate: 45deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.ms-rotate-90 {\n --tw-rotate: 90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.ms-scale-100 {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.ms-scale-105 {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.ms-scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.ms-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes ms-fade-in-up {\n\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.ms-animate-fade-in-up {\n animation: ms-fade-in-up 0.4s ease-out;\n}\n\n@keyframes ms-fade-in-up {\n\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.ms-animate-fade-in-up-fast {\n animation: ms-fade-in-up 0.15s ease-out;\n}\n\n@keyframes ms-pulse {\n\n 50% {\n opacity: .5;\n }\n}\n\n.ms-animate-pulse {\n animation: ms-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n@keyframes ms-spin {\n\n to {\n transform: rotate(360deg);\n }\n}\n\n.ms-animate-spin {\n animation: ms-spin 1s linear infinite;\n}\n\n.ms-cursor-pointer {\n cursor: pointer;\n}\n\n.ms-resize-none {\n resize: none;\n}\n\n.ms-list-inside {\n list-style-position: inside;\n}\n\n.ms-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.ms-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.ms-flex-row {\n flex-direction: row;\n}\n\n.ms-flex-col {\n flex-direction: column;\n}\n\n.ms-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.ms-flex-wrap {\n flex-wrap: wrap;\n}\n\n.ms-items-start {\n align-items: flex-start;\n}\n\n.ms-items-end {\n align-items: flex-end;\n}\n\n.ms-items-center {\n align-items: center;\n}\n\n.ms-justify-start {\n justify-content: flex-start;\n}\n\n.ms-justify-center {\n justify-content: center;\n}\n\n.ms-justify-between {\n justify-content: space-between;\n}\n\n.ms-gap-0 {\n gap: 0px;\n}\n\n.ms-gap-1 {\n gap: 0.25rem;\n}\n\n.ms-gap-2 {\n gap: 0.5rem;\n}\n\n.ms-gap-4 {\n gap: 1rem;\n}\n\n.ms-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n\n.ms-self-end {\n align-self: flex-end;\n}\n\n.ms-overflow-auto {\n overflow: auto;\n}\n\n.ms-overflow-hidden {\n overflow: hidden;\n}\n\n.ms-overflow-y-auto {\n overflow-y: auto;\n}\n\n.ms-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ms-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.ms-break-all {\n word-break: break-all;\n}\n\n.ms-rounded {\n border-radius: 0.25rem;\n}\n\n.ms-rounded-2xl {\n border-radius: 1rem;\n}\n\n.ms-rounded-full {\n border-radius: 9999px;\n}\n\n.ms-rounded-lg {\n border-radius: 0.5rem;\n}\n\n.ms-rounded-md {\n border-radius: 0.375rem;\n}\n\n.ms-rounded-xl {\n border-radius: 0.75rem;\n}\n\n.ms-rounded-b-md {\n border-bottom-right-radius: 0.375rem;\n border-bottom-left-radius: 0.375rem;\n}\n\n.ms-rounded-t-md {\n border-top-left-radius: 0.375rem;\n border-top-right-radius: 0.375rem;\n}\n\n.ms-rounded-t-xl {\n border-top-left-radius: 0.75rem;\n border-top-right-radius: 0.75rem;\n}\n\n.\\!ms-border-0 {\n border-width: 0px !important;\n}\n\n.ms-border {\n border-width: 1px;\n}\n\n.ms-border-0 {\n border-width: 0px;\n}\n\n.\\!ms-border-b {\n border-bottom-width: 1px !important;\n}\n\n.ms-border-b {\n border-bottom-width: 1px;\n}\n\n.\\!ms-border-transparent {\n border-color: transparent !important;\n}\n\n.ms-border-gray-500 {\n --tw-border-opacity: 1;\n border-color: rgb(107 114 128 / var(--tw-border-opacity));\n}\n\n.ms-border-orange-500 {\n --tw-border-opacity: 1;\n border-color: rgb(249 115 22 / var(--tw-border-opacity));\n}\n\n.ms-border-primary {\n --tw-border-opacity: 1;\n border-color: rgb(133 89 244 / var(--tw-border-opacity));\n}\n\n.ms-border-red-300 {\n --tw-border-opacity: 1;\n border-color: rgb(252 165 165 / var(--tw-border-opacity));\n}\n\n.ms-border-yellow-300 {\n --tw-border-opacity: 1;\n border-color: rgb(253 224 71 / var(--tw-border-opacity));\n}\n\n.ms-border-yellow-400 {\n --tw-border-opacity: 1;\n border-color: rgb(250 204 21 / var(--tw-border-opacity));\n}\n\n.ms-border-opacity-20 {\n --tw-border-opacity: 0.2;\n}\n\n.ms-border-opacity-50 {\n --tw-border-opacity: 0.5;\n}\n\n.ms-bg-\\[\\#1a1a1a\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(26 26 26 / var(--tw-bg-opacity));\n}\n\n.ms-bg-\\[\\#3C3C3C\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(60 60 60 / var(--tw-bg-opacity));\n}\n\n.ms-bg-\\[\\#ffffff\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.ms-bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n\n.ms-bg-gray-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\n}\n\n.ms-bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\n}\n\n.ms-bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\n}\n\n.ms-bg-orange-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 115 22 / var(--tw-bg-opacity));\n}\n\n.ms-bg-orange-500\\/25 {\n background-color: rgb(249 115 22 / 0.25);\n}\n\n.ms-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(133 89 244 / var(--tw-bg-opacity));\n}\n\n.ms-bg-primary\\/25 {\n background-color: rgb(133 89 244 / 0.25);\n}\n\n.ms-bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity));\n}\n\n.ms-bg-transparent {\n background-color: transparent;\n}\n\n.ms-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.ms-bg-yellow-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity));\n}\n\n.ms-bg-yellow-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(250 204 21 / var(--tw-bg-opacity));\n}\n\n.ms-bg-yellow-400\\/25 {\n background-color: rgb(250 204 21 / 0.25);\n}\n\n.\\!ms-bg-opacity-50 {\n --tw-bg-opacity: 0.5 !important;\n}\n\n.\\!ms-bg-opacity-75 {\n --tw-bg-opacity: 0.75 !important;\n}\n\n.ms-bg-opacity-0 {\n --tw-bg-opacity: 0;\n}\n\n.ms-bg-opacity-10 {\n --tw-bg-opacity: 0.1;\n}\n\n.ms-bg-opacity-100 {\n --tw-bg-opacity: 1;\n}\n\n.ms-bg-opacity-25 {\n --tw-bg-opacity: 0.25;\n}\n\n.ms-bg-opacity-5 {\n --tw-bg-opacity: 0.05;\n}\n\n.ms-bg-opacity-50 {\n --tw-bg-opacity: 0.5;\n}\n\n.ms-bg-opacity-80 {\n --tw-bg-opacity: 0.8;\n}\n\n.\\!ms-fill-inherit {\n fill: inherit !important;\n}\n\n.ms-fill-gray-400 {\n fill: #9ca3af;\n}\n\n.ms-fill-gray-500 {\n fill: #6b7280;\n}\n\n.ms-fill-gray-800 {\n fill: #1f2937;\n}\n\n.ms-fill-white {\n fill: #fff;\n}\n\n.ms-fill-yellow-400 {\n fill: #facc15;\n}\n\n.ms-fill-yellow-500 {\n fill: #eab308;\n}\n\n.ms-stroke-inherit {\n stroke: inherit;\n}\n\n.ms-stroke-white {\n stroke: #fff;\n}\n\n.\\!ms-p-0 {\n padding: 0px !important;\n}\n\n.ms-p-0 {\n padding: 0px;\n}\n\n.ms-p-0\\.5 {\n padding: 0.125rem;\n}\n\n.ms-p-1 {\n padding: 0.25rem;\n}\n\n.ms-p-2 {\n padding: 0.5rem;\n}\n\n.ms-p-20 {\n padding: 5rem;\n}\n\n.ms-p-4 {\n padding: 1rem;\n}\n\n.ms-p-\\[0\\.5px\\] {\n padding: 0.5px;\n}\n\n.ms-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n\n.ms-px-1\\.5 {\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n}\n\n.ms-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.ms-px-20 {\n padding-left: 5rem;\n padding-right: 5rem;\n}\n\n.ms-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.ms-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.ms-px-\\[7px\\] {\n padding-left: 7px;\n padding-right: 7px;\n}\n\n.ms-px-\\[8px\\] {\n padding-left: 8px;\n padding-right: 8px;\n}\n\n.ms-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.ms-py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n\n.ms-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.ms-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n\n.ms-py-\\[1px\\] {\n padding-top: 1px;\n padding-bottom: 1px;\n}\n\n.ms-py-\\[2px\\] {\n padding-top: 2px;\n padding-bottom: 2px;\n}\n\n.ms-py-\\[5px\\] {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.ms-pb-2 {\n padding-bottom: 0.5rem;\n}\n\n.ms-pb-4 {\n padding-bottom: 1rem;\n}\n\n.ms-pl-0 {\n padding-left: 0px;\n}\n\n.ms-pl-1 {\n padding-left: 0.25rem;\n}\n\n.ms-pl-4 {\n padding-left: 1rem;\n}\n\n.ms-pl-8 {\n padding-left: 2rem;\n}\n\n.ms-pr-2 {\n padding-right: 0.5rem;\n}\n\n.ms-pr-4 {\n padding-right: 1rem;\n}\n\n.ms-pt-2 {\n padding-top: 0.5rem;\n}\n\n.ms-text-left {\n text-align: left;\n}\n\n.ms-text-center {\n text-align: center;\n}\n\n.ms-text-right {\n text-align: right;\n}\n\n.ms-align-middle {\n vertical-align: middle;\n}\n\n.ms-font-sans {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n}\n\n.ms-text-\\[10px\\] {\n font-size: 10px;\n}\n\n.ms-text-\\[8px\\] {\n font-size: 8px;\n}\n\n.ms-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.ms-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n\n.ms-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.ms-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.ms-font-bold {\n font-weight: 700;\n}\n\n.ms-font-medium {\n font-weight: 500;\n}\n\n.ms-font-normal {\n font-weight: 400;\n}\n\n.ms-font-semibold {\n font-weight: 600;\n}\n\n.ms-font-thin {\n font-weight: 100;\n}\n\n.ms-leading-3 {\n line-height: .75rem;\n}\n\n.\\!ms-text-white {\n --tw-text-opacity: 1 !important;\n color: rgb(255 255 255 / var(--tw-text-opacity)) !important;\n}\n\n.ms-text-\\[\\#020202\\] {\n --tw-text-opacity: 1;\n color: rgb(2 2 2 / var(--tw-text-opacity));\n}\n\n.ms-text-\\[\\#e1e1e1\\] {\n --tw-text-opacity: 1;\n color: rgb(225 225 225 / var(--tw-text-opacity));\n}\n\n.ms-text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n\n.ms-text-gray-100 {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity));\n}\n\n.ms-text-gray-200 {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity));\n}\n\n.ms-text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity));\n}\n\n.ms-text-gray-50 {\n --tw-text-opacity: 1;\n color: rgb(249 250 251 / var(--tw-text-opacity));\n}\n\n.ms-text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity));\n}\n\n.ms-text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(31 41 55 / var(--tw-text-opacity));\n}\n\n.ms-text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n\n.ms-text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(34 197 94 / var(--tw-text-opacity));\n}\n\n.ms-text-orange-500 {\n --tw-text-opacity: 1;\n color: rgb(249 115 22 / var(--tw-text-opacity));\n}\n\n.ms-text-primary {\n --tw-text-opacity: 1;\n color: rgb(133 89 244 / var(--tw-text-opacity));\n}\n\n.ms-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n\n.ms-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.ms-text-yellow-400 {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / var(--tw-text-opacity));\n}\n\n.ms-text-opacity-100 {\n --tw-text-opacity: 1;\n}\n\n.ms-text-opacity-50 {\n --tw-text-opacity: 0.5;\n}\n\n.ms-underline {\n text-decoration-line: underline;\n}\n\n.ms-no-underline {\n text-decoration-line: none;\n}\n\n.ms-opacity-0 {\n opacity: 0;\n}\n\n.ms-opacity-10 {\n opacity: 0.1;\n}\n\n.ms-opacity-100 {\n opacity: 1;\n}\n\n.ms-opacity-60 {\n opacity: 0.6;\n}\n\n.ms-opacity-75 {\n opacity: 0.75;\n}\n\n.ms-shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.ms-shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.ms-shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.ms-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.ms-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.ms-ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.ms-ring-transparent {\n --tw-ring-color: transparent;\n}\n\n.ms-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.ms-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.ms-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.ms-delay-75 {\n transition-delay: 75ms;\n}\n\n.ms-duration-100 {\n transition-duration: 100ms;\n}\n\n.ms-duration-200 {\n transition-duration: 200ms;\n}\n\n.ms-duration-300 {\n transition-duration: 300ms;\n}\n\n.ms-ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n\n.ms-ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.ms-ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.ms-content-none {\n --tw-content: none;\n content: var(--tw-content);\n}\n\n*,\n::before,\n::after {\n border-width: 0;\n border-style: solid;\n border-color: #ffffff00;\n}\n\n::before,\n::after {\n --tw-content: "";\n}\n\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,\n "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n}\n\n.messageIconContainer img {\n max-width: 100%;\n height: auto;\n object-fit: contain;\n overflow: hidden;\n}\n\n.ms-mendable-highlight pre[class*="language-"] {\n color: #f8fafc !important;\n}\n\n.ms-mendable-highlight .token.tag,\n.ms-mendable-highlight .token.class-name,\n.ms-mendable-highlight .token.selector,\n.ms-mendable-highlight .token.selector .class,\n.ms-mendable-highlight .token.selector.class,\n.ms-mendable-highlight .token.function {\n color: #f472b6 !important;\n}\n\n.ms-mendable-highlight .token.attr-name,\n.ms-mendable-highlight .token.keyword,\n.ms-mendable-highlight .token.rule,\n.ms-mendable-highlight .token.pseudo-class,\n.ms-mendable-highlight .token.important {\n color: #cbd5e1 !important;\n}\n\n.ms-mendable-highlight .token.module {\n color: #f472b6 !important;\n}\n\n.ms-mendable-highlight .token.attr-value,\n.ms-mendable-highlight .token.class,\n.ms-mendable-highlight .token.string,\n.ms-mendable-highlight .token.property {\n color: #7dd3fc !important;\n}\n\n.ms-mendable-highlight .token.punctuation,\n.ms-mendable-highlight .token.attr-equals {\n color: #64748b !important;\n}\n\n.ms-mendable-highlight .token.unit,\n.ms-mendable-highlight .language-css .token.function {\n color: #99f6e4 !important;\n}\n\n.ms-mendable-highlight .token.comment,\n.ms-mendable-highlight .token.operator,\n.ms-mendable-highlight .token.combinator {\n color: #94a3b8 !important;\n}\n.ms-mendable-highlight .token.plain {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.variable {\n color: #ffffff;\n}\n\n.ms-mendable-highlight .token.boolean {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.number {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.constant {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.symbol {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.deleted {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.inserted {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.operator {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.prolog {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.doctype {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.entity {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.url {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.variable {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.regex {\n color: #ffffff;\n}\n\n.ms-mendable-highlight .token.atrule {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.keyword {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.function {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.hexcode {\n color: #ffffff;\n}\n.ms-mendable-highlight .token.entity {\n color: #ffffff;\n}\n\n.ms-mendable-highlight .token.bold {\n font-weight: bold;\n}\n\n\n\n\n.ms-mendable-highlight-light code[class*="language-"],\n.ms-mendable-highlight-light pre[class*="language-"] {\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n color: #90a4ae !important;;\n background: #fafafa !important;;\n font-family: Roboto Mono, monospace;\n font-size: 1em;\n line-height: 1.5em;\n tab-size: 4;\n\n -webkit-hyphens: none;\n hyphens: none;\n}\n.ms-mendable-highlight-light code[class*="language-"]::selection,\n.ms-mendable-highlight-light pre[class*="language-"]::selection,\n.ms-mendable-highlight-light code[class*="language-"] ::selection,\n.ms-mendable-highlight-light pre[class*="language-"] ::selection {\n background: #cceae7;\n color: #263238;\n}\n.ms-mendable-highlight-light :not(pre) > code[class*="language-"] {\n white-space: normal;\n border-radius: 0.2em;\n padding: 0.1em;\n}\n.ms-mendable-highlight-light pre[class*="language-"] {\n overflow: auto;\n position: relative;\n margin: 0.5em 0;\n padding: 1.25em 1em;\n}\n\n.ms-mendable-highlight-light .language-css > code,\n.ms-mendable-highlight-light .language-sass > code,\n.ms-mendable-highlight-light .language-scss > code {\n color: #f76d47;\n}\n.ms-mendable-highlight-light [class*="language-"] .namespace {\n opacity: 0.7;\n}\n.ms-mendable-highlight-light .token.atrule {\n color: #7c4dff;\n}\n.ms-mendable-highlight-light .token.attr-name {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.attr-value {\n color: #f6a434;\n}\n.ms-mendable-highlight-light .token.attribute {\n color: #f6a434;\n}\n.ms-mendable-highlight-light .token.boolean {\n color: #7c4dff;\n}\n.ms-mendable-highlight-light .token.builtin {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.cdata {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.char {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.class {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.class-name {\n color: #6182b8;\n}\n.ms-mendable-highlight-light .token.comment {\n color: #78878f;\n}\n.ms-mendable-highlight-light .token.property-access {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.parameter {\n color: #f6a434;\n}\n.ms-mendable-highlight-light .token.constant {\n color: #7c4dff;\n}\n.ms-mendable-highlight-light .token.deleted {\n color: #e53935;\n}\n.ms-mendable-highlight-light .token.doctype {\n color: #aabfc9;\n}\n.ms-mendable-highlight-light .token.entity {\n color: #e53935;\n}\n.ms-mendable-highlight-light .token.function {\n color: rgb(71, 49, 128);\n}\n.ms-mendable-highlight-light .token.hexcode {\n color: #f76d47;\n}\n.ms-mendable-highlight-light .token.imports {\n color: rgb(26, 25, 25);\n}\n.ms-mendable-highlight-light .token.id {\n color: #7c4dff;\n font-weight: bold;\n}\n.ms-mendable-highlight-light .token.maybe-class-name {\n color: #7c4dff;\n}\n\n.ms-mendable-highlight-light .token.important {\n color: #7c4dff;\n font-weight: bold;\n}\n.ms-mendable-highlight-light .token.inserted {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.keyword {\n color: #7c4dff;\n}\n.ms-mendable-highlight-light .token.number {\n color: #f76d47;\n}\n.ms-mendable-highlight-light .token.operator {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.prolog {\n color: #313335;\n}\n\n.ms-mendable-highlight-light .token.plain {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.property {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.pseudo-class {\n color: #f6a434;\n}\n.ms-mendable-highlight-light .token.pseudo-element {\n color: #f6a434;\n}\n.ms-mendable-highlight-light .token.punctuation {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.regex {\n color: #6182b8;\n}\n.ms-mendable-highlight-light .token.selector {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.string {\n color: #f6a434;\n}\n.ms-mendable-highlight-light .token.symbol {\n color: #7c4dff;\n}\n.ms-mendable-highlight-light .token.tag {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.unit {\n color: #f76d47;\n}\n.ms-mendable-highlight-light .token.url {\n color: #313335;\n}\n.ms-mendable-highlight-light .token.variable {\n color: #5e6164;\n}\n\n\n\n.ms-qs-sug::-webkit-scrollbar {\n width: 3px;\n height: 3px; /* Add height for horizontal scrollbar */\n}\n\n.ms-qs-sug::-webkit-scrollbar-track {\n background-color: transparent;\n}\n\n.ms-qs-sug::-webkit-scrollbar-thumb {\n background-color: #d1d5db80;\n border-radius: 1px;\n}\n\n/* Add styles for horizontal scrollbar */\n.ms-qs-sug::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n\n.highlightedText {\n line-height: 1.2em;\n max-height: 2.4em; /* Twice the line-height */\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.before\\:ms-content-none::before {\n --tw-content: none;\n content: var(--tw-content);\n}\n\n.after\\:ms-content-none::after {\n --tw-content: none;\n content: var(--tw-content);\n}\n\n.hover\\:\\!ms-cursor-pointer:hover {\n cursor: pointer !important;\n}\n\n.hover\\:ms-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:ms-border-gray-100:hover {\n --tw-border-opacity: 1;\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\n}\n\n.hover\\:ms-border-gray-800:hover {\n --tw-border-opacity: 1;\n border-color: rgb(31 41 55 / var(--tw-border-opacity));\n}\n\n.hover\\:ms-bg-black:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n\n.hover\\:ms-bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\n}\n\n.hover\\:ms-bg-white:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.hover\\:\\!ms-bg-opacity-75:hover {\n --tw-bg-opacity: 0.75 !important;\n}\n\n.hover\\:ms-bg-opacity-10:hover {\n --tw-bg-opacity: 0.1;\n}\n\n.hover\\:ms-bg-opacity-25:hover {\n --tw-bg-opacity: 0.25;\n}\n\n.hover\\:ms-bg-opacity-5:hover {\n --tw-bg-opacity: 0.05;\n}\n\n.hover\\:ms-bg-opacity-75:hover {\n --tw-bg-opacity: 0.75;\n}\n\n.hover\\:ms-bg-opacity-80:hover {\n --tw-bg-opacity: 0.8;\n}\n\n.hover\\:\\!ms-text-white:hover {\n --tw-text-opacity: 1 !important;\n color: rgb(255 255 255 / var(--tw-text-opacity)) !important;\n}\n\n.hover\\:ms-text-white:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.hover\\:ms-shadow-md:hover {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.focus\\:ms-z-10:focus {\n z-index: 10;\n}\n\n.focus\\:ms-bg-gray-800:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\n}\n\n.focus\\:ms-bg-opacity-75:focus {\n --tw-bg-opacity: 0.75;\n}\n\n.focus\\:ms-fill-white:focus {\n fill: #fff;\n}\n\n.focus\\:ms-text-white:focus {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.focus\\:ms-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.focus\\:ms-ring-0:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:ms-ring-transparent:focus {\n --tw-ring-color: transparent;\n}\n\n.disabled\\:ms-bg-opacity-10:disabled {\n --tw-bg-opacity: 0.1;\n}\n\n.prose-headings\\:ms-text-gray-900 :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n\n.prose-headings\\:ms-text-white :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.prose-p\\:ms-text-gray-900 :is(:where(p):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n\n.prose-p\\:ms-text-white :is(:where(p):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.prose-a\\:ms-text-gray-900 :is(:where(a):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n\n.prose-a\\:ms-text-white :is(:where(a):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.prose-blockquote\\:ms-text-gray-900 :is(:where(blockquote):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n\n.prose-blockquote\\:ms-text-white :is(:where(blockquote):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.prose-strong\\:ms-text-gray-900 :is(:where(strong):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n\n.prose-strong\\:ms-text-white :is(:where(strong):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.prose-code\\:ms-text-gray-100 :is(:where(code):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity));\n}\n\n.prose-code\\:ms-text-white :is(:where(code):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.prose-pre\\:ms-bg-\\[\\#1f2937\\] :is(:where(pre):not(:where([class~="ms-not-prose"] *))) {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\n}\n\n.prose-pre\\:ms-bg-\\[\\#f4f4f4\\] :is(:where(pre):not(:where([class~="ms-not-prose"] *))) {\n --tw-bg-opacity: 1;\n background-color: rgb(244 244 244 / var(--tw-bg-opacity));\n}\n\n.prose-li\\:ms-text-gray-900 :is(:where(li):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n\n.prose-li\\:ms-text-white :is(:where(li):not(:where([class~="ms-not-prose"] *))) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n@media (min-width: 640px) {\n\n .sm\\:ms-mb-2 {\n margin-bottom: 0.5rem;\n }\n\n .sm\\:ms-mt-0 {\n margin-top: 0px;\n }\n\n .sm\\:ms-mt-2 {\n margin-top: 0.5rem;\n }\n\n .sm\\:ms-mt-4 {\n margin-top: 1rem;\n }\n\n .sm\\:ms-flex {\n display: flex;\n }\n\n .sm\\:ms-hidden {\n display: none;\n }\n\n .sm\\:ms-h-6 {\n height: 1.5rem;\n }\n\n .sm\\:ms-h-8 {\n height: 2rem;\n }\n\n .sm\\:ms-w-6 {\n width: 1.5rem;\n }\n\n .sm\\:ms-w-8 {\n width: 2rem;\n }\n\n .sm\\:ms-w-\\[480px\\] {\n width: 480px;\n }\n\n .sm\\:ms-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n\n .sm\\:ms-min-w-0 {\n min-width: 0px;\n }\n\n .sm\\:ms-min-w-\\[32px\\] {\n min-width: 32px;\n }\n\n .sm\\:ms-max-w-\\[225px\\] {\n max-width: 225px;\n }\n\n .sm\\:ms-max-w-\\[400px\\] {\n max-width: 400px;\n }\n\n .sm\\:ms-max-w-\\[800px\\] {\n max-width: 800px;\n }\n\n .sm\\:ms-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n\n .sm\\:ms-flex-row {\n flex-direction: row;\n }\n\n .sm\\:ms-flex-wrap {\n flex-wrap: wrap;\n }\n\n .sm\\:ms-gap-1 {\n gap: 0.25rem;\n }\n\n .sm\\:ms-overflow-hidden {\n overflow: hidden;\n }\n\n .sm\\:ms-p-0 {\n padding: 0px;\n }\n\n .sm\\:ms-p-2 {\n padding: 0.5rem;\n }\n\n .sm\\:ms-p-4 {\n padding: 1rem;\n }\n\n .sm\\:ms-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .sm\\:ms-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n\n .sm\\:ms-pb-4 {\n padding-bottom: 1rem;\n }\n\n .sm\\:ms-pl-4 {\n padding-left: 1rem;\n }\n\n .sm\\:ms-pr-4 {\n padding-right: 1rem;\n }\n\n .sm\\:ms-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n\n .sm\\:ms-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n\n .sm\\:ms-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n }\n}\n');var ga=String.fromCharCode,ya="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ba="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",va={};function wa(e,t){if(!va[e]){va[e]={};for(var n=0;n>>8,n[2*r+1]=a%256}return n},decompressFromUint8Array:function(e){if(null==e)return ka.decompress(e);for(var t=new Array(e.length/2),n=0,r=t.length;n>=1}else{for(o=1,r=0;r>=1}0==--c&&(c=Math.pow(2,p),p++),delete h[l]}else for(o=m[l],r=0;r>=1;0==--c&&(c=Math.pow(2,p),p++),m[s]=u++,l=String(i)}if(""!==l){if(Object.prototype.hasOwnProperty.call(h,l)){if(l.charCodeAt(0)<256){for(r=0;r>=1}else{for(o=1,r=0;r>=1}0==--c&&(c=Math.pow(2,p),p++),delete h[l]}else for(o=m[l],r=0;r>=1;0==--c&&(c=Math.pow(2,p),p++)}for(o=2,r=0;r>=1;for(;;){if(d<<=1,f==t-1){g.push(n(d));break}f++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:ka._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(e,t,n){var r,o,a,i,s,l,c,u=[],p=[],d={val:n(0),position:t,index:1},f=4,m=4,h=3,g="";for(r=0;r<3;r+=1)u[r]=r;for(a=0,s=Math.pow(2,2),l=1;l!=s;)i=d.val&d.position,d.position>>=1,0==d.position&&(d.position=t,d.val=n(d.index++)),a|=(i>0?1:0)*l,l<<=1;switch(a){case 0:for(a=0,s=Math.pow(2,8),l=1;l!=s;)i=d.val&d.position,d.position>>=1,0==d.position&&(d.position=t,d.val=n(d.index++)),a|=(i>0?1:0)*l,l<<=1;c=ga(a);break;case 1:for(a=0,s=Math.pow(2,16),l=1;l!=s;)i=d.val&d.position,d.position>>=1,0==d.position&&(d.position=t,d.val=n(d.index++)),a|=(i>0?1:0)*l,l<<=1;c=ga(a);break;case 2:return""}for(u[3]=c,o=c,p.push(c);;){if(d.index>e)return"";for(a=0,s=Math.pow(2,h),l=1;l!=s;)i=d.val&d.position,d.position>>=1,0==d.position&&(d.position=t,d.val=n(d.index++)),a|=(i>0?1:0)*l,l<<=1;switch(c=a){case 0:for(a=0,s=Math.pow(2,8),l=1;l!=s;)i=d.val&d.position,d.position>>=1,0==d.position&&(d.position=t,d.val=n(d.index++)),a|=(i>0?1:0)*l,l<<=1;u[m++]=ga(a),c=m-1,f--;break;case 1:for(a=0,s=Math.pow(2,16),l=1;l!=s;)i=d.val&d.position,d.position>>=1,0==d.position&&(d.position=t,d.val=n(d.index++)),a|=(i>0?1:0)*l,l<<=1;u[m++]=ga(a),c=m-1,f--;break;case 2:return p.join("")}if(0==f&&(f=Math.pow(2,h),h++),u[c])g=u[c];else{if(c!==m)return null;g=o+o.charAt(0)}p.push(g),u[m++]=o+g.charAt(0),o=g,0==--f&&(f=Math.pow(2,h),h++)}}},xa={DEBUG:!1,LIB_VERSION:"1.46.2"},Sa=Array.prototype,_a=Object.prototype,Ea=_a.toString,Ca=_a.hasOwnProperty,Aa="undefined"!=typeof window?window:{},Oa=Aa.navigator||{userAgent:""},Ta=Aa.document||{},Pa=Oa.userAgent,ja=Sa.forEach,Na=Sa.indexOf,Ra=Array.isArray,La={},Ia=function(){if(xa.DEBUG&&!Ga(window.console)&&window.console){for(var e=("__rrweb_original__"in window.console.log?window.console.log.__rrweb_original__:window.console.log),t=arguments.length,n=new Array(t),r=0;r1?t-1:0),r=1;r0&&(t[n]=e)})),t},Za=["$performance_raw"];function Ja(e,t){return n=e,r=function(e,n){return n&&Za.indexOf(n)>-1?e:"string"==typeof e&&null!==t?e.slice(0,t):e},o=new Set,function e(t,n){return t!==Object(t)?r?r(t,n):t:o.has(t)?void 0:(o.add(t),qa(t)?(a=[],za(t,(function(t){a.push(e(t))}))):(a={},Ba(t,(function(t,n){o.has(t)||(a[n]=e(t,n))}))),a);var a}(n);var n,r,o}function ei(e){var t,n,r,o,a,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s=0,l=0,c="",u=[];if(!e)return e;e=ti(e);do{t=(a=e.charCodeAt(s++)<<16|e.charCodeAt(s++)<<8|e.charCodeAt(s++))>>18&63,n=a>>12&63,r=a>>6&63,o=63&a,u[l++]=i.charAt(t)+i.charAt(n)+i.charAt(r)+i.charAt(o)}while(s127&&i<2048?String.fromCharCode(i>>6|192,63&i|128):String.fromCharCode(i>>12|224,i>>6&63|128,63&i|128),null!==s&&(n>t&&(a+=e.substring(t,n)),a+=s,t=n=o+1)}return n>t&&(a+=e.substring(t,e.length)),a},ni=function(){var e=function(){for(var e=(new Date).valueOf(),t=0;e==(new Date).valueOf();)t++;return e.toString(16)+t.toString(16)};return function(){var t="undefined"!=typeof window?(window.screen.height*window.screen.width).toString(16):"0";return e()+"-"+Math.random().toString(16).replace(".","")+"-"+function(){var e,t,n=Pa,r=0,o=[];function a(e,t){var n,r=0;for(n=0;n=4&&(r=a(r,o),o=[]);return o.length>0&&(r=a(r,o)),r.toString(16)}()+"-"+t+"-"+e()}}(),ri=function(e,t){var n=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]"),r=new RegExp("[\\?&]"+n+"=([^&#]*)").exec(e);if(null===r||r&&"string"!=typeof r[1]&&r[1].length)return"";var o=r[1];try{o=decodeURIComponent(o)}catch(e){Fa("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},oi=function(e,t){var n=e.match(new RegExp(t+"=([^&]*)"));return n?n[1]:null},ai=function(){function e(t){return t&&(t.preventDefault=e.preventDefault,t.stopPropagation=e.stopPropagation),t}return e.preventDefault=function(){this.returnValue=!1},e.stopPropagation=function(){this.cancelBubble=!0},function(t,n,r,o,a){if(t)if(t.addEventListener&&!o)t.addEventListener(n,r,!!a);else{var i="on"+n,s=t[i];t[i]=function(t,n,r){return function(o){if(o=o||e(window.event)){var a,i=!0;Ua(r)&&(a=r(o));var s=n.call(t,o);return!1!==a&&!1!==s||(i=!1),i}}}(t,r,s)}else Fa("No valid element provided to register_event")}}(),ii={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term gclid fbclid msclkid".split(" "),t={};return Ba(e,(function(e){var n=ri(Ta.URL,e);n.length&&(t[e]=n)})),t},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var t=ii.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=ri(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||Ha(e," OPR/")?Ha(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":Ha(e,"IEMobile")||Ha(e,"WPDesktop")?"Internet Explorer Mobile":Ha(e,"SamsungBrowser/")?"Samsung Internet":Ha(e,"Edge")||Ha(e,"Edg/")?"Microsoft Edge":Ha(e,"FBIOS")?"Facebook Mobile":Ha(e,"Chrome")?"Chrome":Ha(e,"CriOS")?"Chrome iOS":Ha(e,"UCWEB")||Ha(e,"UCBrowser")?"UC Browser":Ha(e,"FxiOS")?"Firefox iOS":Ha(t,"Apple")?Ha(e,"Mobile")?"Mobile Safari":"Safari":Ha(e,"Android")?"Android Mobile":Ha(e,"Konqueror")?"Konqueror":Ha(e,"Firefox")?"Firefox":Ha(e,"MSIE")||Ha(e,"Trident/")?"Internet Explorer":Ha(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){var r={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[ii.browser(e,t,n)];if(void 0===r)return null;var o=e.match(r);return o?parseFloat(o[o.length-2]):null},browserLanguage:function(){return Oa.language||Oa.userLanguage},os:function(){var e=Pa;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)&&!/Mobile/.test(e)?"Android Tablet":/Android/.test(e)?"Android":""},deviceType:function(e){var t=this.device(e);return"iPad"===t||"Android Tablet"===t?"Tablet":t?"Mobile":"Desktop"},referringDomain:function(e){var t=e.split("/");return t.length>=3?t[2]:""},properties:function(){return $a(Xa({$os:ii.os(),$browser:ii.browser(Pa,Oa.vendor,Aa.opera),$device:ii.device(Pa),$device_type:ii.deviceType(Pa)}),{$current_url:null==Aa?void 0:Aa.location.href,$host:null==Aa?void 0:Aa.location.host,$pathname:null==Aa?void 0:Aa.location.pathname,$browser_version:ii.browserVersion(Pa,Oa.vendor,Aa.opera),$browser_language:ii.browserLanguage(),$screen_height:null==Aa?void 0:Aa.screen.height,$screen_width:null==Aa?void 0:Aa.screen.width,$viewport_height:null==Aa?void 0:Aa.innerHeight,$viewport_width:null==Aa?void 0:Aa.innerWidth,$lib:"web",$lib_version:xa.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:(Date.now=Date.now||function(){return+new Date},Date.now()/1e3)})},people_properties:function(){return $a(Xa({$os:ii.os(),$browser:ii.browser(Pa,Oa.vendor,Aa.opera)}),{$browser_version:ii.browserVersion(Pa,Oa.vendor,Aa.opera)})}};function si(e){switch(na(e.className)){case"string":return e.className;case"object":return("baseVal"in e.className?e.className.baseVal:null)||e.getAttribute("class")||"";default:return""}}function li(e){var t="";return mi(e)&&!hi(e)&&e.childNodes&&e.childNodes.length&&Ba(e.childNodes,(function(e){pi(e)&&e.textContent&&(t+=Ma(e.textContent).split(/(\s+)/).filter(gi).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))})),Ma(t)}function ci(e){return!!e&&1===e.nodeType}function ui(e,t){return!!e&&!!e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function pi(e){return!!e&&3===e.nodeType}function di(e){return!!e&&11===e.nodeType}var fi=["a","button","form","input","select","textarea","label"];function mi(e){for(var t=e;t.parentNode&&!ui(t,"body");t=t.parentNode){var n=si(t).split(" ");if(Ha(n,"ph-sensitive")||Ha(n,"ph-no-capture"))return!1}if(Ha(si(e).split(" "),"ph-include"))return!0;var r=e.type||"";if("string"==typeof r)switch(r.toLowerCase()){case"hidden":case"password":return!1}var o=e.name||e.id||"";return"string"!=typeof o||!/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(o.replace(/[^a-zA-Z0-9]/g,""))}function hi(e){return!!(ui(e,"input")&&!["button","checkbox","submit","reset"].includes(e.type)||ui(e,"select")||ui(e,"textarea")||"true"===e.getAttribute("contenteditable"))}function gi(e){if(null===e||Ga(e))return!1;if("string"==typeof e){if(e=Ma(e),/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/.test((e||"").replace(/[- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(e))return!1}return!0}function yi(e,t){var n=document.createElement("script");n.type="text/javascript",n.src=e,n.onload=t;var r,o=document.querySelectorAll("body > script");o.length>0?null===(r=o[0].parentNode)||void 0===r||r.insertBefore(n,o[0]):document.body.appendChild(n)}var bi=function(){function e(t){ra(this,e),this.clicks=[],this.enabled=t}return aa(e,[{key:"isRageClick",value:function(e,t,n){if(!this.enabled)return!1;var r=this.clicks[this.clicks.length-1];if(r&&Math.abs(e-r.x)+Math.abs(t-r.y)<30&&n-r.timestamp<1e3){if(this.clicks.push({x:e,y:t,timestamp:n}),3===this.clicks.length)return!0}else this.clicks=[{x:e,y:t,timestamp:n}];return!1}}]),e}(),vi={_initializedTokens:[],_previousElementSibling:function(e){if(e.previousElementSibling)return e.previousElementSibling;var t=e;do{t=t.previousSibling}while(t&&!ci(t));return t},_getPropertiesFromElement:function(e,t,n){var r=e.tagName.toLowerCase(),o={tag_name:r};fi.indexOf(r)>-1&&!n&&(o.$el_text=li(e));var a=si(e);a.length>0&&(o.classes=a.split(" ").filter((function(e){return""!==e}))),Ba(e.attributes,(function(n){var r;hi(e)&&-1===["name","id","class"].indexOf(n.name)||!t&&gi(n.value)&&("string"!=typeof(r=n.name)||"_ngcontent"!==r.substring(0,10)&&"_nghost"!==r.substring(0,7))&&(o["attr__"+n.name]=n.value)}));for(var i=1,s=1,l=e;l=this._previousElementSibling(l);)i++,l.tagName===e.tagName&&s++;return o.nth_child=i,o.nth_of_type=s,o},_getDefaultProperties:function(e){return{$event_type:e,$ce_version:1}},_extractCustomPropertyValue:function(e){var t=[];return Ba(document.querySelectorAll(e.css_selector),(function(e){var n;["input","select"].indexOf(e.tagName.toLowerCase())>-1?n=e.value:e.textContent&&(n=e.textContent),gi(n)&&t.push(n)})),t.join(", ")},_getCustomProperties:function(e){var t=this,n={};return Ba(this._customProperties,(function(r){Ba(r.event_selectors,(function(o){Ba(document.querySelectorAll(o),(function(o){Ha(e,o)&&mi(o)&&(n[r.name]=t._extractCustomPropertyValue(r))}))}))})),n},_getEventTarget:function(e){return void 0===e.target?e.srcElement||null:null!==(t=e.target)&&void 0!==t&&t.shadowRoot?e.composedPath()[0]||null:e.target||null;var t},_captureEvent:function(e,t){var n,r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"$autocapture",a=this._getEventTarget(e);if(pi(a)&&(a=a.parentNode||null),"$autocapture"===o&&"click"===e.type&&e instanceof MouseEvent&&null!==(n=this.rageclicks)&&void 0!==n&&n.isRageClick(e.clientX,e.clientY,(new Date).getTime())&&this._captureEvent(e,t,"$rageclick"),a&&function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(!e||ui(e,"html")||!ci(e))return!1;if(null!=n&&n.url_allowlist){var r=window.location.href,o=n.url_allowlist;if(o&&!o.some((function(e){return r.match(e)})))return!1}if(null!=n&&n.dom_event_allowlist){var a=n.dom_event_allowlist;if(a&&!a.some((function(e){return t.type===e})))return!1}if(null!=n&&n.element_allowlist){var i=n.element_allowlist;if(i&&!i.some((function(t){return e.tagName.toLowerCase()===t})))return!1}if(null!=n&&n.css_selector_allowlist){var s=n.css_selector_allowlist;if(s&&!s.some((function(t){return e.matches(t)})))return!1}for(var l=!1,c=[e],u=!0,p=e;p.parentNode&&!ui(p,"body");)if(di(p.parentNode))c.push(p.parentNode.host),p=p.parentNode.host;else{if(!(u=p.parentNode||!1))break;if(fi.indexOf(u.tagName.toLowerCase())>-1)l=!0;else{var d=window.getComputedStyle(u);d&&"pointer"===d.getPropertyValue("cursor")&&(l=!0)}c.push(u),p=u}var f=window.getComputedStyle(e);if(f&&"pointer"===f.getPropertyValue("cursor")&&"click"===t.type)return!0;var m=e.tagName.toLowerCase();switch(m){case"html":return!1;case"form":return"submit"===t.type;case"input":case"select":case"textarea":return"change"===t.type||"click"===t.type;default:return l?"click"===t.type:"click"===t.type&&(fi.indexOf(m)>-1||"true"===e.getAttribute("contenteditable"))}}(a,e,this.config)){for(var i=[a],s=a;s.parentNode&&!ui(s,"body");)di(s.parentNode)?(i.push(s.parentNode.host),s=s.parentNode.host):(i.push(s.parentNode),s=s.parentNode);var l,c=[],u=!1;if(Ba(i,(function(e){var n=mi(e);"a"===e.tagName.toLowerCase()&&(l=e.getAttribute("href"),l=n&&gi(l)&&l),Ha(si(e).split(" "),"ph-no-capture")&&(u=!0),c.push(r._getPropertiesFromElement(e,t.get_config("mask_all_element_attributes"),t.get_config("mask_all_text")))})),t.get_config("mask_all_text")||(c[0].$el_text=li(a)),l&&(c[0].attr__href=l),u)return!1;var p=$a(this._getDefaultProperties(e.type),{$elements:c},this._getCustomProperties(i));return t.capture(o,p),!0}},_navigate:function(e){window.location.href=e},_addDomEventHandlers:function(e){var t=this,n=function(n){n=n||window.event,t._captureEvent(n,e)};ai(document,"submit",n,!1,!0),ai(document,"change",n,!1,!0),ai(document,"click",n,!1,!0)},_customProperties:[],rageclicks:null,config:void 0,init:function(e){var t;"boolean"!=typeof e.__autocapture&&(this.config=e.__autocapture),null!==(t=this.config)&&void 0!==t&&t.url_allowlist&&(this.config.url_allowlist=this.config.url_allowlist.map((function(e){return new RegExp(e)}))),this.rageclicks=new bi(e.get_config("rageclick"))},afterDecideResponse:function(e,t){var n=t.get_config("token");this._initializedTokens.indexOf(n)>-1?Ia('autocapture already initialized for token "'+n+'"'):(this._initializedTokens.push(n),e&&e.config&&e.config.enable_collect_everything&&t.get_config("autocapture")?(e.custom_properties&&(this._customProperties=e.custom_properties),this._addDomEventHandlers(t)):t.__autocapture=!1)},enabledForProject:function(e,t,n){if(!e)return!0;t=Ga(t)?10:t,n=Ga(n)?10:n;for(var r=0,o=0;o1&&void 0!==arguments[1]?arguments[1]:{};if(!this.getFlags())return ve.warn('getFeatureFlag for key "'+e+"\" failed. Feature flags didn't load in time."),!1;var n=this.getFlagVariants()[e];return!t.send_event&&"send_event"in t||this.flagCallReported[e]||(this.flagCallReported[e]=!0,this.instance.capture("$feature_flag_called",{$feature_flag:e,$feature_flag_response:n})),n}},{key:"getFeatureFlagPayload",value:function(e){return this.getFlagPayloads()[e]}},{key:"isFeatureEnabled",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getFlags()?!!this.getFeatureFlag(e,t):(ve.warn('isFeatureEnabled for key "'+e+"\" failed. Feature flags didn't load in time."),!1)}},{key:"addFeatureFlagsHandler",value:function(e){this.featureFlagEventHandlers.push(e)}},{key:"receivedFeatureFlags",value:function(e){this.instance.decideEndpointWasHit=!0;var t=this.getFlagVariants(),n=this.getFlagPayloads();!function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.featureFlags,a=e.featureFlagPayloads;if(o)if(Array.isArray(o)){var i,s={};if(o)for(var l=0;l10&&(e.data.payload.payload=e.data.payload.payload.slice(0,10),e.data.payload.payload.push("...[truncated]"));for(var t=[],n=0;n2e3?t.push(e.data.payload.payload[n].slice(0,2e3)+"...[truncated]"):t.push(e.data.payload.payload[n]);return e.data.payload.payload=t,e}return e}(function(e){if(e&&"object"===na(e)){var t=JSON.stringify(e);if(t.length>5e6){var n,r=ha(t.matchAll(/data:([\w\/\-\.]+);(\w+),([^)"]*)/gim));try{for(r.s();!(n=r.n()).done;){var o=n.value;t="image/"===o[1].toLocaleLowerCase().slice(0,6)?t.replace(o[0],"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNOCAwSDE2TDAgMTZWOEw4IDBaIiBmaWxsPSIjMkQyRDJEIi8+CjxwYXRoIGQ9Ik0xNiA4VjE2SDhMMTYgOFoiIGZpbGw9IiMyRDJEMkQiLz4KPC9zdmc+Cg=="):t.replace(o[0],"")}}catch(e){r.e(e)}finally{r.f()}}return JSON.parse(t)}return e}(e)),t._updateWindowAndSessionIds(e);var n={$snapshot_data:e,$session_id:t.sessionId,$window_id:t.windowId};t.instance._captureMetrics.incr("rrweb-record"),t.instance._captureMetrics.incr("rrweb-record-".concat(e.type)),t.emit?t._captureSnapshot(n):t.snapshots.push(n)},plugins:window.rrwebConsoleRecord&&this.isConsoleLogCaptureEnabled()?[window.rrwebConsoleRecord.getRecordConsolePlugin()]:[]},n)),this.instance._addCaptureHook((function(e){var n;"$pageview"===e&&(null===(n=t.rrwebRecord)||void 0===n||n.addCustomEvent("$pageview",{href:window.location.href}))}))}},{key:"_captureSnapshot",value:function(e){this.instance.capture("$snapshot",e,{transport:"XHR",method:"POST",endpoint:this.endpoint,_noTruncate:!0,_batchKey:"sessionRecording",_metrics:{rrweb_full_snapshot:e.$snapshot_data.type===rs}})}}]),e}(),is={entryType:0,timeOrigin:1,name:2,startTime:3,redirectStart:4,redirectEnd:5,workerStart:6,fetchStart:7,domainLookupStart:8,domainLookupEnd:9,connectStart:10,secureConnectionStart:11,connectEnd:12,requestStart:13,responseStart:14,responseEnd:15,decodedBodySize:16,encodedBodySize:17,initiatorType:18,nextHopProtocol:19,renderBlockingStatus:20,responseStatus:21,transferSize:22,element:23,renderTime:24,loadTime:25,size:26,id:27,url:28,domComplete:29,domContentLoadedEvent:30,domInteractive:31,loadEventEnd:32,loadEventStart:33,redirectCount:34,navigationType:35,unloadEventEnd:36,unloadEventStart:37,duration:39,timestamp:40},ss=["first-input","navigation","paint","resource"],ls=["/s/","/e/"],cs=function(){function e(t){ra(this,e),this.instance=t}return aa(e,[{key:"startObservingIfEnabled",value:function(){this.isEnabled()?this.startObserving():this.stopObserving()}},{key:"startObserving",value:function(){var e=this;if(!this.observer)try{this.observer=new PerformanceObserver((function(t){t.getEntries().forEach((function(t){e._capturePerformanceEvent(t)}))}));var t=PerformanceObserver.supportedEntryTypes.filter((function(e){return ss.includes(e)}));t.forEach((function(t){var n;null===(n=e.observer)||void 0===n||n.observe({type:t,buffered:!0})}))}catch(e){ve.error("PostHog failed to start performance observer",e),this.stopObserving()}}},{key:"stopObserving",value:function(){this.observer&&(this.observer.disconnect(),this.observer=void 0)}},{key:"isObserving",value:function(){return!!this.observer}},{key:"isEnabled",value:function(){var e,t;return null!==(e=null!==(t=this.instance.get_config("capture_performance"))&&void 0!==t?t:this.remoteEnabled)&&void 0!==e&&e}},{key:"afterDecideResponse",value:function(e){this.remoteEnabled=e.capturePerformance||!1,this.isEnabled()&&this.startObserving()}},{key:"_capturePerformanceEvent",value:function(e){if(e.name.startsWith(this.instance.get_config("api_host"))){var t=e.name.replace(this.instance.get_config("api_host"),"");if(ls.find((function(e){return t.startsWith(e)})))return}var n=e.toJSON(),r={},o=Math.floor(Date.now()-performance.now());for(var a in r[is.timeOrigin]=o,r[is.timestamp]=Math.floor(o+e.startTime),is)void 0!==n[a]&&(r[is[a]]=n[a]);if(this.capturePerformanceEvent(r),us(e)){var i,s=ha(e.serverTiming);try{for(s.s();!(i=s.n()).done;){var l,c=i.value;this.capturePerformanceEvent((ia(l={},is.timeOrigin,o),ia(l,is.timestamp,Math.floor(o+e.startTime)),ia(l,is.name,c.name),ia(l,is.duration,c.duration),ia(l,is.entryType,"serverTiming"),l))}}catch(e){s.e(e)}finally{s.f()}}}},{key:"capturePerformanceEvent",value:function(e){this.instance.capture("$performance_event",e,{transport:"XHR",method:"POST",endpoint:"/e/",_noTruncate:!0,_batchKey:"performanceEvent"})}}]),e}(),us=function(e){return"navigation"===e.entryType||"resource"===e.entryType},ps=function(){function e(t){ra(this,e),this.instance=t,this.instance.decideEndpointWasHit=this.instance._hasBootstrappedFeatureFlags()}return aa(e,[{key:"call",value:function(){var e=this,t=ei(JSON.stringify({token:this.instance.get_config("token"),distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups()}));this.instance._send_request("".concat(this.instance.get_config("api_host"),"/decide/?v=3"),{data:t,verbose:!0},{method:"POST"},(function(t){return e.parseDecideResponse(t)}))}},{key:"parseDecideResponse",value:function(e){var t,n,r=this;if(0!==(null==e?void 0:e.status)){if(this.instance.decideEndpointWasHit=!0,!document||!document.body)return ve.log("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((function(){r.parseDecideResponse(e)}),500);if(this.instance.toolbar.afterDecideResponse(e),null===(t=this.instance.sessionRecording)||void 0===t||t.afterDecideResponse(e),vi.afterDecideResponse(e,this.instance),null===(n=this.instance.webPerformance)||void 0===n||n.afterDecideResponse(e),this.instance.featureFlags.receivedFeatureFlags(e),this.instance.compression={},e.supportedCompression&&!this.instance.get_config("disable_compression")){var o,a={},i=ha(e.supportedCompression);try{for(i.s();!(o=i.n()).done;)a[o.value]=!0}catch(e){i.e(e)}finally{i.f()}this.instance.compression=a}if(e.siteApps)if(this.instance.get_config("opt_in_site_apps")){var s,l=this.instance.get_config("api_host"),c=ha(e.siteApps);try{var u=function(){var e=s.value,t=e.id,n=e.url,o=document.createElement("script");o.src=[l,"/"===l[l.length-1]&&"/"===n[0]?n.substring(1):n].join(""),o.onerror=function(e){ve.error("Error while initializing PostHog app with config id ".concat(t),e)},window["__$$ph_site_app_".concat(t)]=r.instance,document.body.appendChild(o)};for(c.s();!(s=c.n()).done;)u()}catch(e){c.e(e)}finally{c.f()}}else e.siteApps.length>0&&ve.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}else ve.error("Failed to fetch feature flags from PostHog.")}}]),e}(),ds=["https://app.posthog.com","https://eu.posthog.com"],fs=["source"],ms=function(){function e(t){ra(this,e),this.instance=t}return aa(e,[{key:"afterDecideResponse",value:function(e){var t=e.toolbarParams||e.editorParams||(e.toolbarVersion?{toolbarVersion:e.toolbarVersion}:{});e.isAuthenticated&&t.toolbarVersion&&0===t.toolbarVersion.indexOf("toolbar")&&this.loadToolbar(ta(ta({},t),{},{apiURL:this.instance.get_config("api_host")}))}},{key:"maybeLoadToolbar",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.history;try{if(!t){try{window.localStorage.setItem("test","test"),window.localStorage.removeItem("test")}catch(e){return!1}t=window.localStorage}var r,o=oi(e.hash,"__posthog")||oi(e.hash,"state"),a=o?JSON.parse(decodeURIComponent(o)):null;return a&&"ph_authorize"===a.action?((r=a).source="url",r&&Object.keys(r).length>0&&(a.desiredHash?e.hash=a.desiredHash:n?n.replaceState("",document.title,e.pathname+e.search):e.hash="")):((r=JSON.parse(t.getItem("_postHogToolbarParams")||"{}")).source="localstorage",delete r.userIntent),r.apiURL||(r.apiURL=this.instance.get_config("api_host")),!(!r.token||this.instance.get_config("token")!==r.token||(this.loadToolbar(r),0))}catch(e){return!1}}},{key:"loadToolbar",value:function(e){var t=this;if(window._postHogToolbarLoaded)return!1;window._postHogToolbarLoaded=!0;var n=(null==e?void 0:e.apiURL)||this.instance.get_config("api_host"),r=3e4*Math.floor(Date.now()/3e4),o="".concat(n).concat(n.endsWith("/")?"":"/","static/toolbar.js?_ts=").concat(r),a=!ds.includes(this.instance.get_config("api_host"))&&this.instance.get_config("advanced_disable_toolbar_metrics"),i=ta(ta({apiURL:n,jsURL:n,token:this.instance.get_config("token")},e),a?{instrument:!1}:{});i.source;var s=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(i,fs);return window.localStorage.setItem("_postHogToolbarParams",JSON.stringify(s)),yi(o,(function(){(window.ph_load_toolbar||window.ph_load_editor)(i,t.instance)})),ai(window,"turbolinks:load",(function(){window._postHogToolbarLoaded=!1,t.loadToolbar(i)})),!0}},{key:"_loadEditor",value:function(e){return this.loadToolbar(e)}},{key:"maybeLoadEditor",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.history;return this.maybeLoadToolbar(e,t,n)}}]),e}(),hs=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3;ra(this,e),this.isPolling=!0,this._event_queue=[],this._empty_queue_count=0,this._poller=void 0,this._pollInterval=t}return aa(e,[{key:"setPollInterval",value:function(e){this._pollInterval=e,this.isPolling&&this.poll()}},{key:"poll",value:function(){}},{key:"unload",value:function(){}},{key:"getTime",value:function(){return(new Date).getTime()}}]),e}(),gs=function(){sa(t,hs);var e=ua(t);function t(n,r){var o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3e3;return ra(this,t),(o=e.call(this,a)).handlePollRequest=r,o.captureMetrics=n,o}return aa(t,[{key:"enqueue",value:function(e,t,n){this.captureMetrics.incr("batch-enqueue"),this._event_queue.push({url:e,data:t,options:n}),this.isPolling||(this.isPolling=!0,this.poll())}},{key:"poll",value:function(){var e=this;clearTimeout(this._poller),this._poller=setTimeout((function(){if(e._event_queue.length>0){var t=e.formatQueue(),n=function(n){var r=t[n],o=r.url,a=r.data,i=r.options;Ba(a,(function(t,n){a[n].offset=Math.abs(a[n].timestamp-e.getTime()),delete a[n].timestamp})),e.handlePollRequest(o,a,i),e.captureMetrics.incr("batch-requests"),e.captureMetrics.incr("batch-requests-".concat(o.slice(o.length-2))),e.captureMetrics.incr("batch-handle",a.length),e.captureMetrics.incr("batch-handle-".concat(o.slice(o.length-2)),a.length)};for(var r in t)n(r);e._event_queue.length=0,e._empty_queue_count=0}else e._empty_queue_count++;e._empty_queue_count>4&&(e.isPolling=!1,e._empty_queue_count=0),e.isPolling&&e.poll()}),this._pollInterval)}},{key:"updateUnloadMetrics",value:function(){var e=this.formatQueue();for(var t in e){var n=e[t],r=n.url,o=n.data;this.captureMetrics.incr("batch-unload-requests"),this.captureMetrics.incr("batch-unload-requests-".concat(r.slice(r.length-2))),this.captureMetrics.incr("batch-unload",o.length),this.captureMetrics.incr("batch-unload-".concat(r.slice(r.length-2)),o.length)}}},{key:"unload",value:function(){var e=this;clearTimeout(this._poller);var t=this._event_queue.length>0?this.formatQueue():{};this._event_queue.length=0;var n=Object.values(t),r=[].concat(da(n.filter((function(e){return 0===e.url.indexOf("/e")}))),da(n.filter((function(e){return 0!==e.url.indexOf("/e")}))));r.map((function(t){var n=t.url,r=t.data,o=t.options;e.handlePollRequest(n,r,ta(ta({},o),{},{transport:"sendBeacon"}))}))}},{key:"formatQueue",value:function(){var e={};return Ba(this._event_queue,(function(t){var n=t.url,r=t.data,o=t.options,a=(o?o._batchKey:null)||n;void 0===e[a]&&(e[a]={data:[],url:n,options:o}),o&&e[a].options&&e[a].options._metrics&&!e[a].options._metrics.rrweb_full_snapshot&&(e[a].options._metrics.rrweb_full_snapshot=o._metrics.rrweb_full_snapshot),e[a].data.push(r)})),e}}]),t}(),ys=function(){function e(t){ra(this,e),this.enabled=t,this.metrics={}}return aa(e,[{key:"incr",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.enabled&&(e="phjs-".concat(e),this.metrics[e]=(this.metrics[e]||0)+t)}},{key:"decr",value:function(e){this.enabled&&(e="phjs-".concat(e),this.metrics[e]=(this.metrics[e]||0)-1)}}]),e}(),bs=Uint8Array,vs=Uint16Array,ws=Uint32Array,ks=new bs([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),xs=new bs([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ss=new bs([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),_s=function(e,t){for(var n=new vs(31),r=0;r<31;++r)n[r]=t+=1<>>1|(21845&Ps)<<1;js=(61680&(js=(52428&js)>>>2|(13107&js)<<2))>>>4|(3855&js)<<4,Ts[Ps]=((65280&js)>>>8|(255&js)<<8)>>>1}var Ns=function(e,t,n){for(var r=e.length,o=0,a=new vs(t);o>>l]=c}else for(i=new vs(r),o=0;o>>15-e[o];return i},Rs=new bs(288);for(Ps=0;Ps<144;++Ps)Rs[Ps]=8;for(Ps=144;Ps<256;++Ps)Rs[Ps]=9;for(Ps=256;Ps<280;++Ps)Rs[Ps]=7;for(Ps=280;Ps<288;++Ps)Rs[Ps]=8;var Ls=new bs(32);for(Ps=0;Ps<32;++Ps)Ls[Ps]=5;var Is,Fs=Ns(Rs,9,0),Ds=Ns(Ls,5,0),Ms=function(e){return(e/8|0)+(7&e&&1)},Bs=function(e,t,n){(null==t||t<0)&&(t=0),(null==n||n>e.length)&&(n=e.length);var r=new(e instanceof vs?vs:e instanceof ws?ws:bs)(n-t);return r.set(e.subarray(t,n)),r},zs=function(e,t,n){n<<=7&t;var r=t/8|0;e[r]|=n,e[r+1]|=n>>>8},$s=function(e,t,n){n<<=7&t;var r=t/8|0;e[r]|=n,e[r+1]|=n>>>8,e[r+2]|=n>>>16},qs=function(e,t){for(var n=[],r=0;rd&&(d=a[r].s);var f=new vs(d+1),m=Us(n[u-1],f,0);if(m>t){r=0;var h=0,g=m-t,y=1<t))break;h+=y-(1<>>=g;h>0;){var v=a[r].s;f[v]=0&&h;--r){var w=a[r].s;f[w]==t&&(--f[w],++h)}m=t}return[new bs(f),m]},Us=function e(t,n,r){return-1==t.s?Math.max(e(t.l,n,r+1),e(t.r,n,r+1)):n[t.s]=r},Hs=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new vs(++t),r=0,o=e[0],a=1,i=function(e){n[r++]=e},s=1;s<=t;++s)if(e[s]==o&&s!=t)++a;else{if(!o&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(o),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(o);a=1,o=e[s]}return[n.subarray(0,r),t]},Vs=function(e,t){for(var n=0,r=0;r>>8,e[o+2]=255^e[o],e[o+3]=255^e[o+1];for(var a=0;a4&&!C[Ss[O-1]];--O);var T,P,j,N,R=c+5<<3,L=Vs(o,Rs)+Vs(a,Ls)+i,I=Vs(o,d)+Vs(a,h)+i+14+3*O+Vs(S,C)+(2*S[16]+3*S[17]+7*S[18]);if(R<=L&&R<=I)return Gs(t,u,e.subarray(l,l+c));if(zs(t,u,1+(I15&&(zs(t,u,B[_]>>>5&127),u+=B[_]>>>12)}}}else T=Fs,P=Rs,j=Ds,N=Ls;for(_=0;_255){z=r[_]>>>18&31,$s(t,u,T[z+257]),u+=P[z+257],z>7&&(zs(t,u,r[_]>>>23&31),u+=ks[z]);var $=31&r[_];$s(t,u,j[$]),u+=N[$],$>3&&($s(t,u,r[_]>>>5&8191),u+=xs[$])}else $s(t,u,T[r[_]]),u+=P[r[_]];return $s(t,u,T[256]),u+P[256]},Ks=new ws([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ys=new bs(0),Qs=function(){for(var e=new ws(256),t=0;t<256;++t){for(var n=t,r=9;--r;)n=(1&n&&3988292384)^n>>>1;e[t]=n}return e}(),Xs=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8};function Zs(e,t){void 0===t&&(t={});var n=function(){var e=4294967295;return{p:function(t){for(var n=e,r=0;r>>8;e=n},d:function(){return 4294967295^e}}}(),r=e.length;n.p(e);var o=function(e,t,n,r,o){return function(e,t,n,r,o,a){var i=e.length,s=new bs(r+i+5*(1+Math.floor(i/7e3))+o),l=s.subarray(r,s.length-o),c=0;if(!t||i<8)for(var u=0;u<=i;u+=65535){var p=u+65535;p>>13,m=8191&d,h=(1<7e3||C>24576)&&N>423){c=Ws(e,l,0,k,x,S,E,C,O,u-O,c),C=_=E=0,O=u;for(var R=0;R<286;++R)x[R]=0;for(R=0;R<30;++R)S[R]=0}var L=2,I=0,F=m,D=P-j&32767;if(N>2&&T==w(u-D))for(var M=Math.min(f,N)-1,B=Math.min(32767,u),z=Math.min(258,N);D<=B&&--F&&P!=j;){if(e[u+L]==e[u+L-D]){for(var $=0;$L){if(L=$,I=D,$>M)break;var q=Math.min(D,$-2),U=0;for(R=0;RU&&(U=V,j=H)}}}D+=(P=j)-(j=g[P])+32768&32767}if(I){k[C++]=268435456|As[L]<<18|Os[I];var G=31&As[L],W=31&Os[I];E+=ks[G]+xs[W],++x[257+G],++S[W],A=u+L,++_}else k[C++]=e[u],++x[e[u]]}}c=Ws(e,l,a,k,x,S,E,C,O,u-O,c),a||(c=Gs(l,c,Ys))}return Bs(s,0,r+Ms(c)+o)}(e,null==t.level?6:t.level,null==t.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):12+t.mem,n,r,!o)}(e,t,function(e){return 10+(e.filename&&e.filename.length+1||0)}(t),8),a=o.length;return function(e,t){var n=t.filename;if(e[0]=31,e[1]=139,e[2]=8,e[8]=t.level<2?4:9==t.level?2:0,e[9]=3,0!=t.mtime&&Xs(e,4,Math.floor(new Date(t.mtime||Date.now())/1e3)),n){e[3]=8;for(var r=0;r<=n.length;++r)e[r+10]=n.charCodeAt(r)}}(o,t),Xs(o,a-8,n.d()),Xs(o,a-4,r),o}function Js(e,t){var n=e.length;if(!t&&"undefined"!=typeof TextEncoder)return(new TextEncoder).encode(e);for(var r=new bs(e.length+(e.length>>>1)),o=0,a=function(e){r[o++]=e},i=0;ir.length){var s=new bs(o+8+(n-i<<1));s.set(r),r=s}var l=e.charCodeAt(i);l<128||t?a(l):l<2048?(a(192|l>>>6),a(128|63&l)):l>55295&&l<57344?(a(240|(l=65536+(1047552&l)|1023&e.charCodeAt(++i))>>>18),a(128|l>>>12&63),a(128|l>>>6&63),a(128|63&l)):(a(224|l>>>12),a(128|l>>>6&63),a(128|63&l))}return Bs(r,0,o)}!function(e){e.GZipJS="gzip-js",e.LZ64="lz64",e.Base64="base64"}(Is||(Is={}));var el,tl,nl,rl=function e(t,n){if(n.blob&&t.buffer)return new Blob([t.buffer],{type:"text/plain"});if(n.sendBeacon||n.blob){var r=e(t,{method:"POST"});return new Blob([r],{type:"application/x-www-form-urlencoded"})}return"POST"!==n.method?null:(o=Array.isArray(t)||function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)}(t)?"data="+encodeURIComponent(t):"data="+encodeURIComponent(t.data),"compression"in t&&t.compression&&(o+="&compression="+t.compression),o);var o},ol=function(e){var t=e.url,n=e.data,r=e.headers,o=e.options,a=e.captureMetrics,i=e.callback,s=e.retriesPerformedSoFar,l=e.retryQueue,c=e.onXHRError,u=e.timeout,p=void 0===u?1e4:u,d=new XMLHttpRequest;d.open(o.method||"GET",t,!0);var f=rl(n,o);a.incr("_send_request"),a.incr("_send_request_inflight"),Ba(r,(function(e,t){d.setRequestHeader(t,e)})),"POST"!==o.method||o.blob||d.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),d.timeout=p,d.withCredentials=!0,d.onreadystatechange=function(){if(4===d.readyState)if(a.incr("xhr-response"),a.incr("xhr-response-".concat(d.status)),a.decr("_send_request_inflight"),200===d.status){if(i){var e;try{e=JSON.parse(d.responseText)}catch(e){return void Fa(e)}i(e)}}else"function"==typeof c&&c(d),[401,403,404,500].indexOf(d.status)<0&&l.enqueue({url:t,data:n,options:o,headers:r,retriesPerformedSoFar:(s||0)+1,callback:i}),i&&i({status:0})},d.send(f)},al=function(){sa(t,hs);var e=ua(t);function t(n,r){var o;return ra(this,t),(o=e.call(this)).captureMetrics=n,o.isPolling=!1,o.queue=[],o.areWeOnline=!0,o.onXHRError=r,"undefined"!=typeof window&&"onLine"in window.navigator&&(o.areWeOnline=window.navigator.onLine,window.addEventListener("online",(function(){o._handleWeAreNowOnline()})),window.addEventListener("offline",(function(){o.areWeOnline=!1}))),o}return aa(t,[{key:"enqueue",value:function(e){var t=e.retriesPerformedSoFar||0;if(!(t>=10)){var n=3e3*Math.pow(2,t),r=new Date(Date.now()+n);ve.warn("Enqueued failed request for retry in ".concat(n)),this.queue.push({retryAt:r,requestData:e}),this.isPolling||(this.isPolling=!0,this.poll())}}},{key:"poll",value:function(){var e=this;this._poller&&clearTimeout(this._poller),this._poller=setTimeout((function(){e.areWeOnline&&e.queue.length>0&&e.flush(),e.poll()}),this._pollInterval)}},{key:"flush",value:function(){var e=new Date(Date.now()),t=this.queue.filter((function(t){return t.retryAt0){this.queue=this.queue.filter((function(t){return t.retryAt>=e}));var n,r=ha(t);try{for(r.s();!(n=r.n()).done;){var o=n.value.requestData;this._executeXhrRequest(o)}}catch(e){r.e(e)}finally{r.f()}}}},{key:"unload",value:function(){this._poller&&(clearTimeout(this._poller),this._poller=void 0);var e,t=ha(this.queue);try{for(t.s();!(e=t.n()).done;){var n=e.value.requestData,r=n.url,o=n.data,a=n.options;try{window.navigator.sendBeacon(r,rl(o,ta(ta({},a),{},{sendBeacon:!0})))}catch(e){xa.DEBUG&&ve.error(e)}}}catch(e){t.e(e)}finally{t.f()}this.queue=[]}},{key:"_executeXhrRequest",value:function(e){var t=e.url,n=e.data,r=e.options,o=e.headers,a=e.callback,i=e.retriesPerformedSoFar;ol({url:t,data:n||{},options:r||{},headers:o||{},retriesPerformedSoFar:i||0,callback:a,captureMetrics:this.captureMetrics,retryQueue:this,onXHRError:this.onXHRError})}},{key:"_handleWeAreNowOnline",value:function(){this.areWeOnline=!0,this.flush()}}]),t}(),il=function(){function e(t,n){ra(this,e),this.persistence=n,this._windowId=void 0,this._sessionId=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null;var r=t.persistence_name||t.token;if(this.window_id_storage_key="ph_"+r+"_window_id",this.primary_window_exists_storage_key="ph_"+r+"_primary_window_exists",!this.persistence.disabled&&Oi.is_supported()){var o=Oi.parse(this.window_id_storage_key),a=Oi.parse(this.primary_window_exists_storage_key);o&&!a?this._windowId=o:Oi.remove(this.window_id_storage_key),Oi.set(this.primary_window_exists_storage_key,!0)}this._listenToReloadWindow()}return aa(e,[{key:"_setWindowId",value:function(e){e!==this._windowId&&(this._windowId=e,!this.persistence.disabled&&Oi.is_supported()&&Oi.set(this.window_id_storage_key,e))}},{key:"_getWindowId",value:function(){return this._windowId?this._windowId:!this.persistence.disabled&&Oi.is_supported()?Oi.parse(this.window_id_storage_key):null}},{key:"_setSessionId",value:function(e,t,n){e===this._sessionId&&t===this._sessionActivityTimestamp&&n===this._sessionStartTimestamp||(this._sessionStartTimestamp=n,this._sessionActivityTimestamp=t,this._sessionId=e,this.persistence.register(ia({},Zi,[t,e,n])))}},{key:"_getSessionId",value:function(){if(this._sessionId&&this._sessionActivityTimestamp&&this._sessionStartTimestamp)return[this._sessionActivityTimestamp,this._sessionId,this._sessionStartTimestamp];var e=this.persistence.props[Zi];return Array.isArray(e)&&2===e.length&&e.push(e[0]),e||[0,null,0]}},{key:"resetSessionId",value:function(){this._setSessionId(null,null,null)}},{key:"_listenToReloadWindow",value:function(){var e=this;window.addEventListener("beforeunload",(function(){!e.persistence.disabled&&Oi.is_supported()&&Oi.remove(e.primary_window_exists_storage_key)}))}},{key:"checkAndGetSessionAndWindowId",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:null)||(new Date).getTime(),n=pa(this._getSessionId(),3),r=n[0],o=n[1],a=n[2],i=this._getWindowId(),s=a&&a>0&&Math.abs(t-a)>864e5;!o||!e&&Math.abs(t-r)>18e5||s?(o=ni(),i=ni(),a=t):i||(i=ni());var l=0===r||!e||s?t:r,c=0===a?(new Date).getTime():a;return this._setWindowId(i),this._setSessionId(o,l,c),{sessionId:o,windowId:i}}}]),e}(),sl=aa((function e(t,n,r,o){ra(this,e),this.name="posthog-js",this.setupOnce=function(e){e((function(e){var a,i,s;if("error"!==e.level||!t.__loaded)return e;e.tags||(e.tags={});var l=t.config.ui_host||t.config.api_host;e.tags["PostHog Person URL"]=l+"/person/"+t.get_distinct_id(),t.sessionRecordingStarted()&&(e.tags["PostHog Recording URL"]=l+"/recordings/"+t.sessionManager.checkAndGetSessionAndWindowId(!0).sessionId);var c=(null===(a=e.exception)||void 0===a?void 0:a.values)||[],u={$sentry_event_id:e.event_id,$sentry_exception:e.exception,$sentry_exception_message:null===(i=c[0])||void 0===i?void 0:i.value,$sentry_exception_type:null===(s=c[0])||void 0===s?void 0:s.type,$sentry_tags:e.tags};return n&&r&&(u.$sentry_url=(o||"https://sentry.io/organizations/")+n+"/issues/?project="+r+"&query="+e.event_id),t.capture("$exception",u),e}))}})),ll=function(){function e(){ra(this,e),ia(this,"_seenFirstPageView",!1)}return aa(e,[{key:"onPageview",value:function(){this._seenFirstPageView&&(this._pageViewId=ni()),this._seenFirstPageView=!0}},{key:"getPageViewId",value:function(){return this._pageViewId||(this._pageViewId=ni()),this._pageViewId}}]),e}();!function(e){e[e.INIT_MODULE=0]="INIT_MODULE",e[e.INIT_SNIPPET=1]="INIT_SNIPPET"}(el||(el={}));var cl=function(){},ul={},pl="posthog",dl=Aa.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,fl=!dl&&-1===Pa.indexOf("MSIE")&&-1===Pa.indexOf("Mozilla"),ml=function(){var e,t,n;return{api_host:"https://app.posthog.com",api_method:"POST",api_transport:"XHR",ui_host:null,token:"",autocapture:!0,rageclick:!0,cross_subdomain_cookie:-1===(null==Ta||null===(e=Ta.location)||void 0===e||null===(t=e.hostname)||void 0===t?void 0:t.indexOf("herokuapp.com")),persistence:"cookie",persistence_name:"",cookie_name:"",loaded:cl,store_google:!0,save_referrer:!0,test:!1,verbose:!1,img:!1,capture_pageview:!0,capture_pageleave:!0,debug:!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_cookie:!1,enable_recording_console_log:void 0,secure_cookie:"https:"===(null==Aa||null===(n=Aa.location)||void 0===n?void 0:n.protocol),ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_capturing_persistence_type:"localStorage",opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_blacklist:[],respect_dnt:!1,sanitize_properties:null,xhr_headers:{},inapp_protocol:"//",inapp_link_new_window:!1,request_batching:!0,properties_string_max_length:65535,session_recording:{blockClass:"ph-no-capture",blockSelector:null,ignoreClass:"ph-ignore-input",maskAllInputs:!0,maskInputOptions:{},maskInputFn:null,slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0},mask_all_element_attributes:!1,mask_all_text:!1,advanced_disable_decide:!1,advanced_disable_toolbar_metrics:!1,on_xhr_error:function(e){var t="Bad HTTP status: "+e.status+" "+e.statusText;ve.error(t)},get_device_id:function(e){return e},_onCapture:cl,_capture_metrics:!1,capture_performance:void 0,name:"posthog",callback_fn:"posthog._jsc",bootstrap:{},disable_compression:!1}},hl=function(e,t,n){var r,o=n!==pl&&nl?n?nl[n]:void 0:nl;if(o&&tl===el.INIT_MODULE)r=o;else{if(o&&!qa(o))return void ve.error("You have already initialized "+n);r=new gl}return r._init(e,t,n),r.toolbar.maybeLoadToolbar(),r.sessionRecording=new as(r),r.sessionRecording.startRecordingIfEnabled(),r.webPerformance=new cs(r),r.webPerformance.startObservingIfEnabled(),r.__autocapture=r.get_config("autocapture"),r.get_config("autocapture")&&(r.__autocapture=r.get_config("autocapture"),vi.enabledForProject(r.get_config("token"),100,100)?vi.isBrowserSupported()?vi.init(r):(r.__autocapture=!1,Ia("Disabling Automatic Event Collection because this browser is not supported")):(r.__autocapture=!1,Ia("Not in active bucket: disabling Automatic Event Collection."))),xa.DEBUG=xa.DEBUG||r.get_config("debug"),void 0!==o&&qa(o)&&(r._execute_array.call(r.people,o.people),r._execute_array(o)),r},gl=function(){function e(){var t=this;ra(this,e),this.config=ml(),this.compression={},this.decideEndpointWasHit=!1,this.SentryIntegration=sl,this.segmentIntegration=function(){return function(e){var t=function(t,n){t.event.userId||t.event.anonymousId===e.get_distinct_id()||e.reset(),t.event.userId&&t.event.userId!==e.get_distinct_id()&&(e.register({distinct_id:t.event.userId}),e.reloadFeatureFlags());var r=e._calculate_event_properties(n,t.event.properties);return t.event.properties=Object.assign({},r,t.event.properties),t};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:function(){return!0},load:function(){return Promise.resolve()},track:function(e){return t(e,e.event.event)},page:function(e){return t(e,"$pageview")},identify:function(e){return t(e,"$identify")},screen:function(e){return t(e,"$screen")}}}(t)},this.__captureHooks=[],this.__request_queue=[],this.__loaded=!1,this.__loaded_recorder=!1,this.__autocapture=void 0,this._jsc=function(){},this.people=new $i(this),this.featureFlags=new Gi(this),this.feature_flags=this.featureFlags,this.toolbar=new ms(this),this.pageViewIdManager=new ll,this._captureMetrics=void 0,this._requestQueue=void 0,this._retryQueue=void 0,this.persistence=void 0,this.sessionManager=void 0}return aa(e,[{key:"init",value:function(e,t,n){if(Ga(n))ve.error("You must name your new library: init(token, config, name)");else{if(n!==pl){var r=hl(e,t,n);return nl[n]=r,r._loaded(),r}ve.error("You must initialize the main posthog object right after you include the PostHog js snippet")}}},{key:"_init",value:function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;if(this.__loaded=!0,this.config={},this._triggered_notifs=[],this.set_config($a({},ml(),r,{name:o,token:e,callback_fn:(o===pl?o:pl+"."+o)+"._jsc"})),this._jsc=function(){},(null!=Aa&&null!==(t=Aa.rrweb)&&void 0!==t&&t.record||null!=Aa&&Aa.rrwebRecord)&&(this.__loaded_recorder=!0),this._captureMetrics=new ys(this.get_config("_capture_metrics")),this._requestQueue=new gs(this._captureMetrics,this._handle_queued_event.bind(this)),this._retryQueue=new al(this._captureMetrics,this.get_config("on_xhr_error")),this.__captureHooks=[],this.__request_queue=[],this.persistence=new ns(this.config),this.sessionManager=new il(this.config,this.persistence),this._gdpr_init(),r.segment&&(this.config.get_device_id=function(){return r.segment.user().anonymousId()},r.segment.user().id()&&(this.register({distinct_id:r.segment.user().id()}),this.persistence.set_user_state("identified")),r.segment.register(this.segmentIntegration())),void 0!==(null===(n=r.bootstrap)||void 0===n?void 0:n.distinctID)){var a,i,s=this.get_config("get_device_id")(ni()),l=null!==(a=r.bootstrap)&&void 0!==a&&a.isIdentifiedID?s:r.bootstrap.distinctID;this.persistence.set_user_state(null!==(i=r.bootstrap)&&void 0!==i&&i.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:r.bootstrap.distinctID,$device_id:l})}if(this._hasBootstrappedFeatureFlags()){var c,u,p=Object.keys((null===(c=r.bootstrap)||void 0===c?void 0:c.featureFlags)||{}).filter((function(e){var t,n;return!(null===(t=r.bootstrap)||void 0===t||null===(n=t.featureFlags)||void 0===n||!n[e])})).reduce((function(e,t){var n,o;return e[t]=(null===(n=r.bootstrap)||void 0===n||null===(o=n.featureFlags)||void 0===o?void 0:o[t])||!1,e}),{}),d=Object.keys((null===(u=r.bootstrap)||void 0===u?void 0:u.featureFlagPayloads)||{}).filter((function(e){return p[e]})).reduce((function(e,t){var n,o,a,i;return null!==(n=r.bootstrap)&&void 0!==n&&null!==(o=n.featureFlagPayloads)&&void 0!==o&&o[t]&&(e[t]=null===(a=r.bootstrap)||void 0===a||null===(i=a.featureFlagPayloads)||void 0===i?void 0:i[t]),e}),{});this.featureFlags.receivedFeatureFlags({featureFlags:p,featureFlagPayloads:d})}if(!this.get_distinct_id()){var f=this.get_config("get_device_id")(ni());this.register_once({distinct_id:f,$device_id:f},""),this.persistence.set_user_state("anonymous")}Aa.addEventListener&&Aa.addEventListener("onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this))}},{key:"_loaded",value:function(){this.featureFlags.setReloadingPaused(!0);try{this.get_config("loaded")(this)}catch(e){ve.error("`loaded` function failed",e)}this._start_queue_if_opted_in(),this.get_config("capture_pageview")&&this.capture("$pageview",{},{send_instantly:!0}),this.get_config("advanced_disable_decide")||new ps(this).call(),this.featureFlags.resetRequestQueue(),this.featureFlags.setReloadingPaused(!1)}},{key:"_start_queue_if_opted_in",value:function(){this.has_opted_out_capturing()||this.get_config("request_batching")&&this._requestQueue.poll()}},{key:"_dom_loaded",value:function(){var e=this;this.has_opted_out_capturing()||za(this.__request_queue,(function(t){e._send_request.apply(e,da(t))})),this.__request_queue=[],this._start_queue_if_opted_in()}},{key:"_prepare_callback",value:function(e,t){if(Ga(e))return null;if(dl)return function(n){e(n,t)};var n=this._jsc,r=""+Math.floor(1e8*Math.random()),o=this.get_config("callback_fn")+"["+r+"]";return n[r]=function(o){delete n[r],e(o,t)},o}},{key:"_handle_unload",value:function(){this.get_config("request_batching")?(this.get_config("capture_pageview")&&this.get_config("capture_pageleave")&&this.capture("$pageleave"),this.get_config("_capture_metrics")&&(this._requestQueue.updateUnloadMetrics(),this.capture("$capture_metrics",this._captureMetrics.metrics)),this._requestQueue.unload(),this._retryQueue.unload()):this.get_config("capture_pageview")&&this.get_config("capture_pageleave")&&this.capture("$pageleave",null,{transport:"sendBeacon"})}},{key:"_handle_queued_event",value:function(e,t,n){var r=JSON.stringify(t);this.__compress_and_send_json_request(e,r,n||ul,cl)}},{key:"__compress_and_send_json_request",value:function(e,t,n,r){var o,a=function(e,t,n){return e===Is.LZ64?[{data:ka.compressToBase64(t),compression:Is.LZ64},n]:e===Is.GZipJS?[Zs(Js(t),{mtime:0}),ta(ta({},n),{},{blob:!0,urlQueryArgs:{compression:Is.GZipJS}})]:[{data:ei(t)},n]}((o=this.compression)[Is.GZipJS]?Is.GZipJS:o[Is.LZ64]?Is.LZ64:Is.Base64,t,n),i=pa(a,2),s=i[0],l=i[1];this._send_request(e,s,l,r)}},{key:"_send_request",value:function(e,t,n,r){if(fl)this.__request_queue.push([e,t,n,r]);else{var o={method:this.get_config("api_method"),transport:this.get_config("api_transport"),verbose:this.get_config("verbose")};n=$a(o,n||{}),dl||(n.method="GET");var a="sendBeacon"in Aa.navigator&&"sendBeacon"===n.transport;if(e=function(e,t,n){var r=t||{};r.ip=n.ip?1:0,r._=(new Date).getTime().toString(),r.ver=xa.LIB_VERSION;var o=e.split("?");if(o.length>1){var a,i=ha(o[1].split("&"));try{for(i.s();!(a=i.n()).done;){var s=a.value.split("=")[0];r[s]&&delete r[s]}}catch(e){i.e(e)}finally{i.f()}}var l=e.indexOf("?")>-1?"&":"?";return e+l+function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&",o=[];return Ba(e,(function(e,r){t=encodeURIComponent(e.toString()),n=encodeURIComponent(r),o[o.length]=n+"="+t})),o.join(r)}(r)}(e,n.urlQueryArgs||{},{ip:this.get_config("ip")}),Va(t)&&this.get_config("img")){var i=Ta.createElement("img");i.src=e,Ta.body.appendChild(i)}else if(a)try{Aa.navigator.sendBeacon(e,rl(t,ta(ta({},n),{},{sendBeacon:!0})))}catch(e){this.get_config("debug")&&ve.error(e)}else if(dl)try{ol({url:e,data:t,headers:this.get_config("xhr_headers"),options:n,captureMetrics:this._captureMetrics,callback:r,retriesPerformedSoFar:0,retryQueue:this._retryQueue,onXHRError:this.get_config("on_xhr_error")})}catch(e){ve.error(e)}else{var s,l=Ta.createElement("script");l.type="text/javascript",l.async=!0,l.defer=!0,l.src=e;var c=Ta.getElementsByTagName("script")[0];null===(s=c.parentNode)||void 0===s||s.insertBefore(l,c)}}}},{key:"_execute_array",value:function(e){var t,n=this,r=[],o=[],a=[];za(e,(function(e){e&&(t=e[0],qa(t)?a.push(e):"function"==typeof e?e.call(n):qa(e)&&"alias"===t?r.push(e):qa(e)&&-1!==t.indexOf("capture")&&"function"==typeof n[t]?a.push(e):o.push(e))}));var i=function(e,t){za(e,(function(e){if(qa(e[0])){var n=t;Ba(e,(function(e){n=n[e[0]].apply(n,e.slice(1))}))}else this[e[0]].apply(this,e.slice(1))}),t)};i(r,this),i(o,this),i(a,this)}},{key:"_hasBootstrappedFeatureFlags",value:function(){var e,t;return(null===(e=this.config.bootstrap)||void 0===e?void 0:e.featureFlags)&&Object.keys(null===(t=this.config.bootstrap)||void 0===t?void 0:t.featureFlags).length>0||!1}},{key:"push",value:function(e){this._execute_array([e])}},{key:"capture",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ul;if(this.__loaded&&!Mi(this,!1)){this._captureMetrics.incr("capture"),"$snapshot"===e&&this._captureMetrics.incr("snapshot");var r=(n=n||ul).transport;if(r&&(n.transport=r),Ga(e)||"string"!=typeof e)ve.error("No event name provided to posthog.capture");else if(!function(e){return!!/(google web preview|baiduspider|yandexbot|bingbot|googlebot|yahoo! slurp|ahrefsbot|facebookexternalhit|facebookcatalog|applebot|semrushbot|duckduckbot|twitterbot|rogerbot|linkedinbot|mj12bot|sitebulb|bot.htm|bot.php)/i.test(e)}(Pa)){this.persistence.update_search_keyword(Ta.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(Ta.referrer);var o={event:e,properties:this._calculate_event_properties(e,t||{})};"$identify"===e&&n.$set&&(o.$set=n.$set),(o=Ja(o,n._noTruncate?null:this.get_config("properties_string_max_length"))).timestamp=n.timestamp||new Date,this.get_config("debug")&&Ia("PostHog.js send",o);var a=JSON.stringify(o),i=this.get_config("api_host")+(n.endpoint||"/e/"),s=n!==ul;return!this.get_config("request_batching")||s&&!n._batchKey||n.send_instantly?this.__compress_and_send_json_request(i,a,n):this._requestQueue.enqueue(i,o,n),this._invokeCaptureHooks(e,o),o}}}},{key:"_addCaptureHook",value:function(e){this.__captureHooks.push(e)}},{key:"_invokeCaptureHooks",value:function(e,t){this.config._onCapture(e,t),Ba(this.__captureHooks,(function(t){return t(e)}))}},{key:"_calculate_event_properties",value:function(e,t){var n,r=this.persistence.remove_event_timer(e),o=ta({},t);if(o.token=this.get_config("token"),"$snapshot"===e){var a=this.persistence.properties();return o.distinct_id=a.distinct_id,o}var i=ii.properties();if(this.sessionManager){var s=this.sessionManager.checkAndGetSessionAndWindowId(),l=s.sessionId,c=s.windowId;o.$session_id=l,o.$window_id=c}if(null!==(n=this.webPerformance)&&void 0!==n&&n.isEnabled&&("$pageview"===e&&this.pageViewIdManager.onPageview(),o=$a(o,{$pageview_id:this.pageViewIdManager.getPageViewId()})),"$performance_event"===e){var u=this.persistence.properties();return o.distinct_id=u.distinct_id,o.$current_url=i.$current_url,o}if(void 0!==r){var p=(new Date).getTime()-r;o.$duration=parseFloat((p/1e3).toFixed(3))}o=$a({},i,this.persistence.properties(),o);var d=this.get_config("property_blacklist");qa(d)?Ba(d,(function(e){delete o[e]})):ve.error("Invalid value for property_blacklist config: "+d);var f=this.get_config("sanitize_properties");return f&&(o=f(o,e)),o}},{key:"register",value:function(e,t){this.persistence.register(e,t)}},{key:"register_once",value:function(e,t,n){this.persistence.register_once(e,t,n)}},{key:"unregister",value:function(e){this.persistence.unregister(e)}},{key:"_register_single",value:function(e,t){this.register(ia({},e,t))}},{key:"getFeatureFlag",value:function(e,t){return this.featureFlags.getFeatureFlag(e,t)}},{key:"getFeatureFlagPayload",value:function(e){var t=this.featureFlags.getFeatureFlagPayload(e);try{return JSON.parse(t)}catch(e){return t}}},{key:"isFeatureEnabled",value:function(e,t){return this.featureFlags.isFeatureEnabled(e,t)}},{key:"reloadFeatureFlags",value:function(){this.featureFlags.reloadFeatureFlags()}},{key:"onFeatureFlags",value:function(e){return this.featureFlags.onFeatureFlags(e)}},{key:"identify",value:function(e,t,n){if(e){this._captureMetrics.incr("identify");var r=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var o=r;this.register_once({$had_persisted_distinct_id:!0,$device_id:o},"")}e!==r&&e!==this.get_property(Ki)&&(this.unregister(Ki),this.register({distinct_id:e}));var a="anonymous"===this.persistence.get_user_state();e!==r&&a?(this.persistence.set_user_state("identified"),this.capture("$identify",{distinct_id:e,$anon_distinct_id:r},{$set:t||{},$set_once:n||{}}),this.featureFlags.setAnonymousDistinctId(r)):(t&&this.people.set(t),n&&this.people.set_once(n)),e!==r&&this.reloadFeatureFlags()}else ve.error("Unique user id has not been set in posthog.identify")}},{key:"group",value:function(e,t,n){if(e&&t){this._captureMetrics.incr("group");var r=this.getGroups();this.register({$groups:ta(ta({},r),{},ia({},e,t))}),n&&this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:n}),r[e]!==t&&this.reloadFeatureFlags()}else ve.error("posthog.group requires a group type and group key")}},{key:"resetGroups",value:function(){this.register({$groups:{}}),this.reloadFeatureFlags()}},{key:"reset",value:function(e){var t=this.get_property("$device_id");this.persistence.clear(),this.persistence.set_user_state("anonymous"),this.sessionManager.resetSessionId();var n=this.get_config("get_device_id")(ni());this.register_once({distinct_id:n,$device_id:e?n:t},"")}},{key:"get_distinct_id",value:function(){return this.get_property("distinct_id")}},{key:"getGroups",value:function(){return this.get_property("$groups")||{}}},{key:"alias",value:function(e,t){return e===this.get_property(Wi)?(Da("Attempting to create alias for existing People user - aborting."),-2):(Ga(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(Ki,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(ve.error("alias matches current distinct_id - skipping api call."),this.identify(e),-1))}},{key:"set_config",value:function(e){var t=ta({},this.config);Va(e)&&($a(this.config,e),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),Si.is_supported()&&"true"===Si.get("ph_debug")&&(this.config.debug=!0),this.get_config("debug")&&(xa.DEBUG=!0),this.sessionRecording&&void 0!==e.disable_session_recording&&t.disable_session_recording!==e.disable_session_recording&&(e.disable_session_recording?this.sessionRecording.stopRecording():this.sessionRecording.startRecordingIfEnabled()))}},{key:"startSessionRecording",value:function(){this.set_config({disable_session_recording:!1})}},{key:"stopSessionRecording",value:function(){this.set_config({disable_session_recording:!0})}},{key:"sessionRecordingStarted",value:function(){var e;return!(null===(e=this.sessionRecording)||void 0===e||!e.started())}},{key:"loadToolbar",value:function(e){return this.toolbar.loadToolbar(e)}},{key:"get_config",value:function(e){var t;return null===(t=this.config)||void 0===t?void 0:t[e]}},{key:"get_property",value:function(e){return this.persistence.props[e]}},{key:"toString",value:function(){var e,t=null!==(e=this.get_config("name"))&&void 0!==e?e:pl;return t!==pl&&(t=pl+"."+t),t}},{key:"_gdpr_init",value:function(){"localStorage"===this.get_config("opt_out_capturing_persistence_type")&&Si.is_supported()&&(!this.has_opted_in_capturing()&&this.has_opted_in_capturing({persistence_type:"cookie"})&&this.opt_in_capturing({enable_persistence:!1}),!this.has_opted_out_capturing()&&this.has_opted_out_capturing({persistence_type:"cookie"})&&this.opt_out_capturing({clear_persistence:!1}),this.clear_opt_in_out_capturing({persistence_type:"cookie",enable_persistence:!1})),this.has_opted_out_capturing()?this._gdpr_update_persistence({clear_persistence:!0}):this.has_opted_in_capturing()||!this.get_config("opt_out_capturing_by_default")&&!ki.get("ph_optout")||(ki.remove("ph_optout"),this.opt_out_capturing({clear_persistence:this.get_config("opt_out_persistence_by_default")}))}},{key:"_gdpr_update_persistence",value:function(e){var t;if(e&&e.clear_persistence)t=!0;else{if(!e||!e.enable_persistence)return;t=!1}this.get_config("disable_persistence")||this.persistence.disabled===t||this.persistence.set_disabled(t)}},{key:"_gdpr_call_func",value:function(e,t){return t=$a({capture:this.capture.bind(this),persistence_type:this.get_config("opt_out_capturing_persistence_type"),cookie_prefix:this.get_config("opt_out_capturing_cookie_prefix"),cookie_expiration:this.get_config("cookie_expiration"),cross_subdomain_cookie:this.get_config("cross_subdomain_cookie"),secure_cookie:this.get_config("secure_cookie")},t||{}),Si.is_supported()||"localStorage"!==t.persistence_type||(t.persistence_type="cookie"),e(this.get_config("token"),{capture:t.capture,captureEventName:t.capture_event_name,captureProperties:t.capture_properties,persistenceType:t.persistence_type,persistencePrefix:t.cookie_prefix,cookieExpiration:t.cookie_expiration,crossSubdomainCookie:t.cross_subdomain_cookie,secureCookie:t.secure_cookie})}},{key:"opt_in_capturing",value:function(e){e=$a({enable_persistence:!0},e||{}),this._gdpr_call_func(Ti,e),this._gdpr_update_persistence(e)}},{key:"opt_out_capturing",value:function(e){var t=$a({clear_persistence:!0},e||{});this._gdpr_call_func(Pi,t),this._gdpr_update_persistence(t)}},{key:"has_opted_in_capturing",value:function(e){return this._gdpr_call_func(ji,e)}},{key:"has_opted_out_capturing",value:function(e){return this._gdpr_call_func(Ni,e)}},{key:"clear_opt_in_out_capturing",value:function(e){var t=$a({enable_persistence:!0},null!=e?e:{});this._gdpr_call_func(Ri,t),this._gdpr_update_persistence(t)}},{key:"debug",value:function(e){!1===e?(Aa.console.log("You've disabled debug mode."),localStorage&&localStorage.removeItem("ph_debug"),this.set_config({debug:!1})):(Aa.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),localStorage&&localStorage.setItem("ph_debug","true"),this.set_config({debug:!0}))}},{key:"decodeLZ64",value:function(e){return ka.decompressFromBase64(e||null)}}]),e}();!function(e,t){for(var n=0;n1?r.createElement("div",{className:"ms-block"},r.createElement("nav",{className:" ms-flex ms-items-start ms-overflow-auto ms-justify-center ms-rounded-lg ms-text-center"},t.map((function(e,a){return r.createElement("div",{key:a},r.createElement("button",{tabIndex:0,key:a,onClick:function(){a===i||(s(a),bl.capture("selecting search type",{goingTo:t[a].name}),o&&o(t[a].name))},style:{backgroundColor:a===i?n.darkMode?"#2e2e2e":"#f9f9f9":n.darkMode?"#1a1a1a":"#ffffff"},className:"ms-mr-2 ms-min-w-[64px] ms-rounded-md sm:ms-min-w-0 ms-m-0 ms-p-0 group ms-relative ms-flex-1 ms-py-1 sm:ms-py-2 ms-px-2 ms-text-xs sm:ms-text-sm ms-font-medium focus:ms-ring-transparent focus:ms-z-10 hover:ms-cursor-pointer "},r.createElement("div",{className:"ms-flex ms-items-center ms-justify-start "},r.createElement("p",{style:{margin:0},className:" ".concat(n.darkMode?"ms-text-white":"ms-text-black")},t[a].name)),r.createElement("span",{"aria-hidden":"true",className:"ms-bg-transparent ms-absolute ms-inset-x-0 ms-bottom-0 ms-h-0.5"}),a===i&&r.createElement("div",{style:{backgroundColor:n.accentColor},className:" ms-absolute ms-inset-x-0 ms-bottom-0 ms-h-0.5 ms-w-full"})))})))):r.createElement("div",null),-1!==i&&r.createElement("div",{tabIndex:-1,className:"ms-w-full ms-rounded-xl ms-flex ms-flex-col ms-relative "},r.createElement("div",{className:"ms-overflow-auto ms-relative ms-h-fit "},r.createElement("div",{className:"ms-flex ms-flex-row ms-w-full ms-items-center ms-justify-between"},r.createElement("div",{style:{textDecorationColor:n.accentColor},className:"ms-flex ms-flex-col ms-w-full ms-items-end "},t[i].displayComponent))))))};const wl=["http","https","mailto","tel"];function kl(e){const t=(e||"").trim(),n=t.charAt(0);if("#"===n||"/"===n)return t;const r=t.indexOf(":");if(-1===r)return t;let o=-1;for(;++oo?t:(o=t.indexOf("#"),-1!==o&&r>o?t:"javascript:void(0)")}var xl=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)};function Sl(e){return e&&"object"==typeof e?"position"in e||"type"in e?El(e.position):"start"in e||"end"in e?El(e):"line"in e||"column"in e?_l(e):"":""}function _l(e){return Cl(e&&e.line)+":"+Cl(e&&e.column)}function El(e){return _l(e&&e.start)+"-"+_l(e&&e.end)}function Cl(e){return e&&"number"==typeof e?e:1}class Al extends Error{constructor(e,t,n){const r=[null,null];let o={start:{line:null,column:null},end:{line:null,column:null}};if(super(),"string"==typeof t&&(n=t,t=void 0),"string"==typeof n){const e=n.indexOf(":");-1===e?r[1]=n:(r[0]=n.slice(0,e),r[1]=n.slice(e+1))}t&&("type"in t||"position"in t?t.position&&(o=t.position):"start"in t||"end"in t?o=t:("line"in t||"column"in t)&&(o.start=t)),this.name=Sl(t)||"1:1",this.message="object"==typeof e?e.message:e,this.stack="","object"==typeof e&&e.stack&&(this.stack=e.stack),this.reason=this.message,this.fatal,this.line=o.start.line,this.column=o.start.column,this.position=o,this.source=r[0],this.ruleId=r[1],this.file,this.actual,this.expected,this.url,this.note}}function Ol(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}Al.prototype.file="",Al.prototype.name="",Al.prototype.reason="",Al.prototype.message="",Al.prototype.stack="",Al.prototype.fatal=null,Al.prototype.column=null,Al.prototype.line=null,Al.prototype.source=null,Al.prototype.ruleId=null,Al.prototype.position=null;var Tl=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Pl=function(e){return Tl.exec(e).slice(1)};function jl(e){var t=Nl(e),n="/"===Bl(e,-1);return(e=Ol(Ml(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function Nl(e){return"/"===e.charAt(0)}var Rl=function(e){return Pl(e)[3]},Ll=function(e,t){var n=Pl(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},Il=function(e){var t=Pl(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},Fl="/",Dl=function(){return jl(Ml(Array.prototype.slice.call(arguments,0),(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))};function Ml(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r1)for(var n=1;n= 0x80 (not a basic code point)","invalid-input":"Invalid input"},gc=Math.floor,yc=String.fromCharCode;function bc(e){throw new RangeError(hc[e])}function vc(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function wc(e,t,n){var r=0;for(e=n?gc(e/700):e>>1,e+=gc(e/t);e>455;r+=36)e=gc(e/35);return gc(r+36*e/(e+38))}function kc(e){return function(e){var t=e.split("@"),n="";t.length>1&&(n=t[0]+"@",e=t[1]);var r=function(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}((e=e.replace(mc,".")).split("."),(function(e){return fc.test(e)?"xn--"+function(e){var t,n,r,o,a,i,s,l,c,u,p,d,f,m,h,g=[];for(e=function(e){for(var t,n,r=[],o=0,a=e.length;o=55296&&t<=56319&&o=t&&pgc((pc-n)/(f=r+1))&&bc("overflow"),n+=(s-t)*f,t=s,i=0;ipc&&bc("overflow"),p==t){for(l=n,c=dc;!(l<(u=c<=a?1:c>=a+26?26:c-a));c+=dc)h=l-u,m=dc-u,g.push(yc(vc(u+h%m,0))),l=gc(h/m);g.push(yc(vc(l,0))),a=wc(n,f,r==o),n=0,++r}++n,++t}return g.join("")}(e):e})).join(".");return n+r}(e)}function xc(e){return null===e}function Sc(e){return"string"==typeof e}function _c(e){return"object"==typeof e&&null!==e}function Ec(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Cc=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function Ac(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}function Oc(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r0&&s>i&&(s=i);for(var l=0;l=0?(c=f.substr(0,m),u=f.substr(m+1)):(c=f,u=""),p=decodeURIComponent(c),d=decodeURIComponent(u),Ec(o,p)?Cc(o[p])?o[p].push(d):o[p]=[o[p],d]:o[p]=d}return o}function jc(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}zl.URL,zl.URLSearchParams;var Nc=/^([a-z0-9.+-]+:)/i,Rc=/:[0-9]*$/,Lc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Ic=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),Fc=["'"].concat(Ic),Dc=["%","/","?",";","#"].concat(Fc),Mc=["/","?","#"],Bc=/^[+a-z0-9A-Z_-]{0,63}$/,zc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,$c={javascript:!0,"javascript:":!0},qc={javascript:!0,"javascript:":!0},Uc={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Hc(e){var t=e.auth||"";t&&(t=(t=encodeURIComponent(t)).replace(/%3A/i,":"),t+="@");var n=e.protocol||"",r=e.pathname||"",o=e.hash||"",a=!1,i="";e.host?a=t+e.host:e.hostname&&(a=t+(-1===e.hostname.indexOf(":")?e.hostname:"["+this.hostname+"]"),e.port&&(a+=":"+e.port)),e.query&&_c(e.query)&&Object.keys(e.query).length&&(i=function(e,t,n){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?Oc(Tc(e),(function(r){var o=encodeURIComponent(Ac(r))+n;return Cc(e[r])?Oc(e[r],(function(e){return o+encodeURIComponent(Ac(e))})).join(t):o+encodeURIComponent(Ac(e[r]))})).join(t):""}(e.query));var s=e.search||i&&"?"+i||"";return n&&":"!==n.substr(-1)&&(n+=":"),e.slashes||(!n||Uc[n])&&!1!==a?(a="//"+(a||""),r&&"/"!==r.charAt(0)&&(r="/"+r)):a||(a=""),o&&"#"!==o.charAt(0)&&(o="#"+o),s&&"?"!==s.charAt(0)&&(s="?"+s),n+a+(r=r.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(s=s.replace("#","%23"))+o}function Vc(e){var t=e.host,n=Rc.exec(t);n&&(":"!==(n=n[0])&&(e.port=n.substr(1)),t=t.substr(0,t.length-n.length)),t&&(e.hostname=t)}function Gc(e){return null!==e&&"object"==typeof e&&e.href&&e.origin}jc.prototype.parse=function(e,t,n){return function(e,t,n,r){if(!Sc(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),a=-1!==o&&o127?x+="x":x+=k[S];if(!x.match(Bc)){var E=w.slice(0,c),C=w.slice(c+1),A=k.match(zc);A&&(E.push(A[1]),C.unshift(A[2])),C.length&&(s="/"+C.join(".")+s),e.hostname=E.join(".");break}}}}e.hostname.length>255?e.hostname="":e.hostname=e.hostname.toLowerCase(),v||(e.hostname=kc(e.hostname)),d=e.port?":"+e.port:"";var O=e.hostname||"";e.host=O+d,e.href+=e.host,v&&(e.hostname=e.hostname.substr(1,e.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!$c[m])for(c=0,p=Fc.length;c0)&&r.host.split("@"))&&(r.auth=h.shift(),r.host=r.hostname=h.shift())),r.search=e.search,r.query=e.query,xc(r.pathname)&&xc(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!w.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var x=w.slice(-1)[0],S=(r.host||e.host||w.length>1)&&("."===x||".."===x)||""===x,_=0,E=w.length;E>=0;E--)"."===(x=w[E])?w.splice(E,1):".."===x?(w.splice(E,1),_++):_&&(w.splice(E,1),_--);if(!b&&!v)for(;_--;_)w.unshift("..");!b||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),S&&"/"!==w.join("/").substr(-1)&&w.push("");var C=""===w[0]||w[0]&&"/"===w[0].charAt(0);return k&&(r.hostname=r.host=C?"":w.length?w.shift():"",(h=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=h.shift(),r.host=r.hostname=h.shift())),(b=b||r.host&&w.length)&&!C&&w.unshift(""),w.length?r.pathname=w.join("/"):(r.pathname=null,r.path=null),xc(r.pathname)&&xc(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},jc.prototype.parseHost=function(){return Vc(this)};const Wc=["history","path","basename","stem","extname","dirname"];class Kc{constructor(e){let t;t=e?"string"==typeof e||function(e){return xl(e)}(e)?{value:e}:Gc(e)?{path:e}:e:{},this.data={},this.messages=[],this.history=[],this.cwd=uc.cwd(),this.value,this.stored,this.result,this.map;let n,r=-1;for(;++rt.length;let i;a&&t.push(r);try{i=e.apply(this,t)}catch(e){if(a&&n)throw e;return r(e)}a||(i instanceof Promise?i.then(o,r):i instanceof Error?r(i):o(i))};function r(e,...r){n||(n=!0,t(e,...r))}function o(e){r(null,e)}}(s,o)(...i):r(null,...i)}}(null,...t)},use:function(n){if("function"!=typeof n)throw new TypeError("Expected `middelware` to be a function, not "+n);return e.push(n),t}};return t}(),n=[];let r,o={},a=-1;return i.data=function(e,t){return"string"==typeof e?2===arguments.length?(mu("data",r),o[e]=t,i):uu.call(o,e)&&o[e]||null:e?(mu("data",r),o=e,i):o},i.Parser=void 0,i.Compiler=void 0,i.freeze=function(){if(r)return i;for(;++a{if(!e&&t&&n){const o=i.stringify(t,n);null==o||("string"==typeof(r=o)||xl(r)?n.value=o:n.result=o),a(e,n)}else a(e);var r}))}n(null,t)},i.processSync=function(e){let t;i.freeze(),du("processSync",i.Parser),fu("processSync",i.Compiler);const n=yu(e);return i.process(n,(function(e){t=!0,Zc(e)})),gu("processSync","process",t),n},i;function i(){const t=e();let r=-1;for(;++ro?0:o+t:t>o?o:t,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(t,n),[].splice.apply(e,a);else for(n&&[].splice.apply(e,[t,n]);i0?(wu(e,e.length,0,t),e):t}const xu={}.hasOwnProperty;function Su(e){const t={};let n=-1;for(;++na))return;const n=t.events.length;let o,s,l=n;for(;l--;)if("exit"===t.events[l][0]&&"chunkFlow"===t.events[l][1].type){if(o){s=t.events[l][1].end;break}o=!0}for(y(i),e=n;er;){const r=n[o];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function b(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}},qu={tokenize:function(e,t,n){return Bu(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};function Uu(e){return null===e||Ru(e)||Fu(e)?1:Du(e)?2:void 0}function Hu(e,t,n){const r=[];let o=-1;for(;++o1&&e[u][1].end.offset-e[u][1].start.offset>1?2:1;const p=Object.assign({},e[n][1].end),d=Object.assign({},e[u][1].start);Gu(p,-s),Gu(d,s),a={type:s>1?"strongSequence":"emphasisSequence",start:p,end:Object.assign({},e[n][1].end)},i={type:s>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[u][1].start),end:d},o={type:s>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[u][1].start)},r={type:s>1?"strong":"emphasis",start:Object.assign({},a.start),end:Object.assign({},i.end)},e[n][1].end=Object.assign({},a.start),e[u][1].start=Object.assign({},i.end),l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=ku(l,[["enter",e[n][1],t],["exit",e[n][1],t]])),l=ku(l,[["enter",r,t],["enter",a,t],["exit",a,t],["enter",o,t]]),l=ku(l,Hu(t.parser.constructs.insideSpan.null,e.slice(n+1,u),t)),l=ku(l,[["exit",o,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[u][1].end.offset-e[u][1].start.offset?(c=2,l=ku(l,[["enter",e[u][1],t],["exit",e[u][1],t]])):c=0,wu(e,n-1,u-n+3,l),u=n+l.length-c-2;break}for(u=-1;++u",Gamma:"\u0393",Gammad:"\u03dc",Gbreve:"\u011e",Gcedil:"\u0122",Gcirc:"\u011c",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\ud835\udd0a",Gg:"\u22d9",Gopf:"\ud835\udd3e",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",Gt:"\u226b",HARDcy:"\u042a",Hacek:"\u02c7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210c",HilbertSpace:"\u210b",Hopf:"\u210d",HorizontalLine:"\u2500",Hscr:"\u210b",Hstrok:"\u0126",HumpDownHump:"\u224e",HumpEqual:"\u224f",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xcd",Icirc:"\xce",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xcc",Im:"\u2111",Imacr:"\u012a",ImaginaryI:"\u2148",Implies:"\u21d2",Int:"\u222c",Integral:"\u222b",Intersection:"\u22c2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012e",Iopf:"\ud835\udd40",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xcf",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\ud835\udd0d",Jopf:"\ud835\udd41",Jscr:"\ud835\udca5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040c",Kappa:"\u039a",Kcedil:"\u0136",Kcy:"\u041a",Kfr:"\ud835\udd0e",Kopf:"\ud835\udd42",Kscr:"\ud835\udca6",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039b",Lang:"\u27ea",Laplacetrf:"\u2112",Larr:"\u219e",Lcaron:"\u013d",Lcedil:"\u013b",Lcy:"\u041b",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",LeftRightArrow:"\u2194",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",Leftarrow:"\u21d0",Leftrightarrow:"\u21d4",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2aa1",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",Lfr:"\ud835\udd0f",Ll:"\u22d8",Lleftarrow:"\u21da",Lmidot:"\u013f",LongLeftArrow:"\u27f5",LongLeftRightArrow:"\u27f7",LongRightArrow:"\u27f6",Longleftarrow:"\u27f8",Longleftrightarrow:"\u27fa",Longrightarrow:"\u27f9",Lopf:"\ud835\udd43",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21b0",Lstrok:"\u0141",Lt:"\u226a",Map:"\u2905",Mcy:"\u041c",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",MinusPlus:"\u2213",Mopf:"\ud835\udd44",Mscr:"\u2133",Mu:"\u039c",NJcy:"\u040a",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041d",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",Nfr:"\ud835\udd11",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",Not:"\u2aec",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\ud835\udca9",Ntilde:"\xd1",Nu:"\u039d",OElig:"\u0152",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"\u041e",Odblac:"\u0150",Ofr:"\ud835\udd12",Ograve:"\xd2",Omacr:"\u014c",Omega:"\u03a9",Omicron:"\u039f",Oopf:"\ud835\udd46",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",Or:"\u2a54",Oscr:"\ud835\udcaa",Oslash:"\xd8",Otilde:"\xd5",Otimes:"\u2a37",Ouml:"\xd6",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",PartialD:"\u2202",Pcy:"\u041f",Pfr:"\ud835\udd13",Phi:"\u03a6",Pi:"\u03a0",PlusMinus:"\xb1",Poincareplane:"\u210c",Popf:"\u2119",Pr:"\u2abb",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",Prime:"\u2033",Product:"\u220f",Proportion:"\u2237",Proportional:"\u221d",Pscr:"\ud835\udcab",Psi:"\u03a8",QUOT:'"',Qfr:"\ud835\udd14",Qopf:"\u211a",Qscr:"\ud835\udcac",RBarr:"\u2910",REG:"\xae",Racute:"\u0154",Rang:"\u27eb",Rarr:"\u21a0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211c",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",Rfr:"\u211c",Rho:"\u03a1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",Rightarrow:"\u21d2",Ropf:"\u211d",RoundImplies:"\u2970",Rrightarrow:"\u21db",Rscr:"\u211b",Rsh:"\u21b1",RuleDelayed:"\u29f4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042c",Sacute:"\u015a",Sc:"\u2abc",Scaron:"\u0160",Scedil:"\u015e",Scirc:"\u015c",Scy:"\u0421",Sfr:"\ud835\udd16",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03a3",SmallCircle:"\u2218",Sopf:"\ud835\udd4a",Sqrt:"\u221a",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\ud835\udcae",Star:"\u22c6",Sub:"\u22d0",Subset:"\u22d0",SubsetEqual:"\u2286",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",SuchThat:"\u220b",Sum:"\u2211",Sup:"\u22d1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22d1",THORN:"\xde",TRADE:"\u2122",TSHcy:"\u040b",TScy:"\u0426",Tab:"\t",Tau:"\u03a4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\ud835\udd17",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\ud835\udd4b",TripleDot:"\u20db",Tscr:"\ud835\udcaf",Tstrok:"\u0166",Uacute:"\xda",Uarr:"\u219f",Uarrocir:"\u2949",Ubrcy:"\u040e",Ubreve:"\u016c",Ucirc:"\xdb",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\ud835\udd18",Ugrave:"\xd9",Umacr:"\u016a",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",Uopf:"\ud835\udd4c",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",UpEquilibrium:"\u296e",UpTee:"\u22a5",UpTeeArrow:"\u21a5",Uparrow:"\u21d1",Updownarrow:"\u21d5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",Upsilon:"\u03a5",Uring:"\u016e",Uscr:"\ud835\udcb0",Utilde:"\u0168",Uuml:"\xdc",VDash:"\u22ab",Vbar:"\u2aeb",Vcy:"\u0412",Vdash:"\u22a9",Vdashl:"\u2ae6",Vee:"\u22c1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",Vopf:"\ud835\udd4d",Vscr:"\ud835\udcb1",Vvdash:"\u22aa",Wcirc:"\u0174",Wedge:"\u22c0",Wfr:"\ud835\udd1a",Wopf:"\ud835\udd4e",Wscr:"\ud835\udcb2",Xfr:"\ud835\udd1b",Xi:"\u039e",Xopf:"\ud835\udd4f",Xscr:"\ud835\udcb3",YAcy:"\u042f",YIcy:"\u0407",YUcy:"\u042e",Yacute:"\xdd",Ycirc:"\u0176",Ycy:"\u042b",Yfr:"\ud835\udd1c",Yopf:"\ud835\udd50",Yscr:"\ud835\udcb4",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017d",Zcy:"\u0417",Zdot:"\u017b",ZeroWidthSpace:"\u200b",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\ud835\udcb5",aacute:"\xe1",abreve:"\u0103",ac:"\u223e",acE:"\u223e\u0333",acd:"\u223f",acirc:"\xe2",acute:"\xb4",acy:"\u0430",aelig:"\xe6",af:"\u2061",afr:"\ud835\udd1e",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03b1",amacr:"\u0101",amalg:"\u2a3f",amp:"&",and:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",aogon:"\u0105",aopf:"\ud835\udd52",ap:"\u2248",apE:"\u2a70",apacir:"\u2a6f",ape:"\u224a",apid:"\u224b",apos:"'",approx:"\u2248",approxeq:"\u224a",aring:"\xe5",ascr:"\ud835\udcb6",ast:"*",asymp:"\u2248",asympeq:"\u224d",atilde:"\xe3",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",bNot:"\u2aed",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",barvee:"\u22bd",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",beta:"\u03b2",beth:"\u2136",between:"\u226c",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bnot:"\u2310",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255d",boxUR:"\u255a",boxUl:"\u255c",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256c",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256b",boxVl:"\u2562",boxVr:"\u255f",boxbox:"\u29c9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250c",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252c",boxhu:"\u2534",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxuL:"\u255b",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256a",boxvL:"\u2561",boxvR:"\u255e",boxvh:"\u253c",boxvl:"\u2524",boxvr:"\u251c",bprime:"\u2035",breve:"\u02d8",brvbar:"\xa6",bscr:"\ud835\udcb7",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",bumpeq:"\u224f",cacute:"\u0107",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",ccaps:"\u2a4d",ccaron:"\u010d",ccedil:"\xe7",ccirc:"\u0109",ccups:"\u2a4c",ccupssm:"\u2a50",cdot:"\u010b",cedil:"\xb8",cemptyv:"\u29b2",cent:"\xa2",centerdot:"\xb7",cfr:"\ud835\udd20",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03c7",cir:"\u25cb",cirE:"\u29c3",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledR:"\xae",circledS:"\u24c8",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",conint:"\u222e",copf:"\ud835\udd54",coprod:"\u2210",copy:"\xa9",copysr:"\u2117",crarr:"\u21b5",cross:"\u2717",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cup:"\u222a",cupbrcap:"\u2a48",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dArr:"\u21d3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",dcaron:"\u010f",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21ca",ddotseq:"\u2a77",deg:"\xb0",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",dfr:"\ud835\udd21",dharl:"\u21c3",dharr:"\u21c2",diam:"\u22c4",diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",dopf:"\ud835\udd55",dot:"\u02d9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",dscr:"\ud835\udcb9",dscy:"\u0455",dsol:"\u29f6",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",dzcy:"\u045f",dzigrarr:"\u27ff",eDDot:"\u2a77",eDot:"\u2251",eacute:"\xe9",easter:"\u2a6e",ecaron:"\u011b",ecir:"\u2256",ecirc:"\xea",ecolon:"\u2255",ecy:"\u044d",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\ud835\udd22",eg:"\u2a9a",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014b",ensp:"\u2002",eogon:"\u0119",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",equals:"=",equest:"\u225f",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erDot:"\u2253",erarr:"\u2971",escr:"\u212f",esdot:"\u2250",esim:"\u2242",eta:"\u03b7",eth:"\xf0",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",ffr:"\ud835\udd23",filig:"\ufb01",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",fopf:"\ud835\udd57",forall:"\u2200",fork:"\u22d4",forkv:"\u2ad9",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",gE:"\u2267",gEl:"\u2a8c",gacute:"\u01f5",gamma:"\u03b3",gammad:"\u03dd",gap:"\u2a86",gbreve:"\u011f",gcirc:"\u011d",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",ges:"\u2a7e",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",gfr:"\ud835\udd24",gg:"\u226b",ggg:"\u22d9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2a92",gla:"\u2aa5",glj:"\u2aa4",gnE:"\u2269",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",gopf:"\ud835\udd58",grave:"`",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",hArr:"\u21d4",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",hardcy:"\u044a",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",hbar:"\u210f",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",horbar:"\u2015",hscr:"\ud835\udcbd",hslash:"\u210f",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xed",ic:"\u2063",icirc:"\xee",icy:"\u0438",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012b",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",int:"\u222b",intcal:"\u22ba",integers:"\u2124",intercal:"\u22ba",intlarhk:"\u2a17",intprod:"\u2a3c",iocy:"\u0451",iogon:"\u012f",iopf:"\ud835\udd5a",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",iscr:"\ud835\udcbe",isin:"\u2208",isinE:"\u22f9",isindot:"\u22f5",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xef",jcirc:"\u0135",jcy:"\u0439",jfr:"\ud835\udd27",jmath:"\u0237",jopf:"\ud835\udd5b",jscr:"\ud835\udcbf",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03ba",kappav:"\u03f0",kcedil:"\u0137",kcy:"\u043a",kfr:"\ud835\udd28",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045c",kopf:"\ud835\udd5c",kscr:"\ud835\udcc0",lAarr:"\u21da",lArr:"\u21d0",lAtail:"\u291b",lBarr:"\u290e",lE:"\u2266",lEg:"\u2a8b",lHar:"\u2962",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",lambda:"\u03bb",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",laquo:"\xab",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",lcaron:"\u013e",lcedil:"\u013c",lceil:"\u2308",lcub:"{",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21a2",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",leftthreetimes:"\u22cb",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297c",lfloor:"\u230a",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",llhard:"\u296b",lltri:"\u25fa",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",lstrok:"\u0142",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltrPar:"\u2996",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",mDDot:"\u223a",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",mcy:"\u043c",mdash:"\u2014",measuredangle:"\u2221",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",mstpos:"\u223e",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nGg:"\u22d9\u0338",nGt:"\u226b\u20d2",nGtv:"\u226b\u0338",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nLl:"\u22d8\u0338",nLt:"\u226a\u20d2",nLtv:"\u226a\u0338",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",neArr:"\u21d7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",ngsim:"\u2275",ngt:"\u226f",ngtr:"\u226f",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",njcy:"\u045a",nlArr:"\u21cd",nlE:"\u2266\u0338",nlarr:"\u219a",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219a",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nlsim:"\u2274",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nmid:"\u2224",nopf:"\ud835\udd5f",not:"\xac",notin:"\u2209",notinE:"\u22f9\u0338",notindot:"\u22f5\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22ad",nvHarr:"\u2904",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwArr:"\u21d6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24c8",oacute:"\xf3",oast:"\u229b",ocir:"\u229a",ocirc:"\xf4",ocy:"\u043e",odash:"\u229d",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",oelig:"\u0153",ofcir:"\u29bf",ofr:"\ud835\udd2c",ogon:"\u02db",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",omacr:"\u014d",omega:"\u03c9",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",oopf:"\ud835\udd60",opar:"\u29b7",operp:"\u29b9",oplus:"\u2295",or:"\u2228",orarr:"\u21bb",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oscr:"\u2134",oslash:"\xf8",osol:"\u2298",otilde:"\xf5",otimes:"\u2297",otimesas:"\u2a36",ouml:"\xf6",ovbar:"\u233d",par:"\u2225",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",pfr:"\ud835\udd2d",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",pointint:"\u2a15",popf:"\ud835\udd61",pound:"\xa3",pr:"\u227a",prE:"\u2ab3",prap:"\u2ab7",prcue:"\u227c",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",prime:"\u2032",primes:"\u2119",prnE:"\u2ab5",prnap:"\u2ab9",prnsim:"\u22e8",prod:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",pscr:"\ud835\udcc5",psi:"\u03c8",puncsp:"\u2008",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",qprime:"\u2057",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quot:'"',rAarr:"\u21db",rArr:"\u21d2",rAtail:"\u291c",rBarr:"\u290f",rHar:"\u2964",race:"\u223d\u0331",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",reg:"\xae",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",rho:"\u03c1",rhov:"\u03f1",rightarrow:"\u2192",rightarrowtail:"\u21a3",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",rightthreetimes:"\u22cc",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",rsaquo:"\u203a",rscr:"\ud835\udcc7",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",ruluhar:"\u2968",rx:"\u211e",sacute:"\u015b",sbquo:"\u201a",sc:"\u227b",scE:"\u2ab4",scap:"\u2ab8",scaron:"\u0161",sccue:"\u227d",sce:"\u2ab0",scedil:"\u015f",scirc:"\u015d",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",seArr:"\u21d8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xad",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",square:"\u25a1",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",subE:"\u2ac5",subdot:"\u2abd",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",sum:"\u2211",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"\u2283",supE:"\u2ac6",supdot:"\u2abe",supdsub:"\u2ad8",supe:"\u2287",supedot:"\u2ac4",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swArr:"\u21d9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",target:"\u2316",tau:"\u03c4",tbrk:"\u23b4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",thorn:"\xfe",tilde:"\u02dc",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",tscr:"\ud835\udcc9",tscy:"\u0446",tshcy:"\u045b",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",uArr:"\u21d1",uHar:"\u2963",uacute:"\xfa",uarr:"\u2191",ubrcy:"\u045e",ubreve:"\u016d",ucirc:"\xfb",ucy:"\u0443",udarr:"\u21c5",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",ufr:"\ud835\udd32",ugrave:"\xf9",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",umacr:"\u016b",uml:"\xa8",uogon:"\u0173",uopf:"\ud835\udd66",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",upsi:"\u03c5",upsih:"\u03d2",upsilon:"\u03c5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",uring:"\u016f",urtri:"\u25f9",uscr:"\ud835\udcca",utdot:"\u22f0",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",uuml:"\xfc",uwangle:"\u29a7",vArr:"\u21d5",vBar:"\u2ae8",vBarv:"\u2ae9",vDash:"\u22a8",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vcy:"\u0432",vdash:"\u22a2",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",vert:"|",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",vzigzag:"\u299a",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\ud835\udd34",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",yacute:"\xfd",yacy:"\u044f",ycirc:"\u0177",ycy:"\u044b",yen:"\xa5",yfr:"\ud835\udd36",yicy:"\u0457",yopf:"\ud835\udd6a",yscr:"\ud835\udcce",yucy:"\u044e",yuml:"\xff",zacute:"\u017a",zcaron:"\u017e",zcy:"\u0437",zdot:"\u017c",zeetrf:"\u2128",zeta:"\u03b6",zfr:"\ud835\udd37",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},Zu={}.hasOwnProperty;function Ju(e){return!!Zu.call(Xu,e)&&Xu[e]}const ep={name:"characterReference",tokenize:function(e,t,n){const r=this;let o,a,i=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),s};function s(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),o=31,a=Tu,c(t))}function l(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,a=Ou,c):(e.enter("characterReferenceValue"),o=7,a=Au,c(t))}function c(s){let l;return 59===s&&i?(l=e.exit("characterReferenceValue"),a!==Tu||Ju(r.sliceSerialize(l))?(e.enter("characterReferenceMarker"),e.consume(s),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(s)):a(s)&&i++=4?a(e):n(e)}function a(t){return null===t?s(t):Lu(t)?e.attempt(rp,a,s)(t):(e.enter("codeFlowValue"),i(t))}function i(t){return null===t||Lu(t)?(e.exit("codeFlowValue"),a(t)):(e.consume(t),i)}function s(n){return e.exit("codeIndented"),t(n)}}},rp={tokenize:function(e,t,n){const r=this;return o;function o(t){return r.parser.lazy[r.now().line]?n(t):Lu(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o):Bu(e,a,"linePrefix",5)(t)}function a(e){const a=r.events[r.events.length-1];return a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):Lu(e)?o(e):n(e)}},partial:!0},op={name:"codeText",tokenize:function(e,t,n){let r,o,a=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),i(t)};function i(t){return 96===t?(e.consume(t),a++,i):(e.exit("codeTextSequence"),s(t))}function s(t){return null===t?n(t):96===t?(o=e.enter("codeTextSequence"),r=0,c(t)):32===t?(e.enter("space"),e.consume(t),e.exit("space"),s):Lu(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s):(e.enter("codeTextData"),l(t))}function l(t){return null===t||32===t||96===t||Lu(t)?(e.exit("codeTextData"),s(t)):(e.consume(t),l)}function c(n){return 96===n?(e.consume(n),r++,c):r===a?(e.exit("codeTextSequence"),e.exit("codeText"),t(n)):(o.type="codeTextData",l(n))}},resolve:function(e){let t,n,r=e.length-4,o=3;if(!("lineEnding"!==e[o][1].type&&"space"!==e[o][1].type||"lineEnding"!==e[r][1].type&&"space"!==e[r][1].type))for(t=o;++t=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}},partial:!0};function cp(e,t,n,r,o,a,i,s,l){const c=l||Number.POSITIVE_INFINITY;let u=0;return function(t){return 60===t?(e.enter(r),e.enter(o),e.enter(a),e.consume(t),e.exit(a),p):null===t||41===t||Nu(t)?n(t):(e.enter(r),e.enter(i),e.enter(s),e.enter("chunkString",{contentType:"string"}),m(t))};function p(n){return 62===n?(e.enter(a),e.consume(n),e.exit(a),e.exit(o),e.exit(r),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),d(n))}function d(t){return 62===t?(e.exit("chunkString"),e.exit(s),p(t)):null===t||60===t||Lu(t)?n(t):(e.consume(t),92===t?f:d)}function f(t){return 60===t||62===t||92===t?(e.consume(t),d):d(t)}function m(o){return 40===o?++u>c?n(o):(e.consume(o),m):41===o?u--?(e.consume(o),m):(e.exit("chunkString"),e.exit(s),e.exit(i),e.exit(r),t(o)):null===o||Ru(o)?u?n(o):(e.exit("chunkString"),e.exit(s),e.exit(i),e.exit(r),t(o)):Nu(o)?n(o):(e.consume(o),92===o?h:m)}function h(t){return 40===t||41===t||92===t?(e.consume(t),m):m(t)}}function up(e,t,n,r,o,a){const i=this;let s,l=0;return function(t){return e.enter(r),e.enter(o),e.consume(t),e.exit(o),e.enter(a),c};function c(p){return null===p||91===p||93===p&&!s||94===p&&!l&&"_hiddenFootnoteSupport"in i.parser.constructs||l>999?n(p):93===p?(e.exit(a),e.enter(o),e.consume(p),e.exit(o),e.exit(r),t):Lu(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),u(p))}function u(t){return null===t||91===t||93===t||Lu(t)||l++>999?(e.exit("chunkString"),c(t)):(e.consume(t),s=s||!Iu(t),92===t?p:u)}function p(t){return 91===t||92===t||93===t?(e.consume(t),l++,u):u(t)}}function pp(e,t,n,r,o,a){let i;return function(t){return e.enter(r),e.enter(o),e.consume(t),e.exit(o),i=40===t?41:t,s};function s(n){return n===i?(e.enter(o),e.consume(n),e.exit(o),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===i?(e.exit(a),s(i)):null===t?n(t):Lu(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Bu(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(t))}function c(t){return t===i||null===t||Lu(t)?(e.exit("chunkString"),l(t)):(e.consume(t),92===t?u:c)}function u(t){return t===i||92===t?(e.consume(t),c):c(t)}}function dp(e,t){let n;return function r(o){return Lu(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n=!0,r):Iu(o)?Bu(e,r,n?"linePrefix":"lineSuffix")(o):t(o)}}function fp(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const mp={name:"definition",tokenize:function(e,t,n){const r=this;let o;return function(t){return e.enter("definition"),up.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function a(t){return o=fp(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),dp(e,cp(e,e.attempt(hp,Bu(e,i,"whitespace"),Bu(e,i,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function i(a){return null===a||Lu(a)?(e.exit("definition"),r.parser.defined.includes(o)||r.parser.defined.push(o),t(a)):n(a)}}},hp={tokenize:function(e,t,n){return function(t){return Ru(t)?dp(e,r)(t):n(t)};function r(t){return 34===t||39===t||40===t?pp(e,Bu(e,o,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function o(e){return null===e||Lu(e)?t(e):n(e)}},partial:!0},gp={name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(t),r};function r(r){return Lu(r)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(r)):n(r)}}},yp={name:"headingAtx",tokenize:function(e,t,n){const r=this;let o=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),a(t)};function a(s){return 35===s&&o++<6?(e.consume(s),a):null===s||Ru(s)?(e.exit("atxHeadingSequence"),r.interrupt?t(s):i(s)):n(s)}function i(n){return 35===n?(e.enter("atxHeadingSequence"),s(n)):null===n||Lu(n)?(e.exit("atxHeading"),t(n)):Iu(n)?Bu(e,i,"whitespace")(n):(e.enter("atxHeadingText"),l(n))}function s(t){return 35===t?(e.consume(t),s):(e.exit("atxHeadingSequence"),i(t))}function l(t){return null===t||35===t||Ru(t)?(e.exit("atxHeadingText"),i(t)):(e.consume(t),l)}},resolve:function(e,t){let n,r,o=e.length-2,a=3;return"whitespace"===e[a][1].type&&(a+=2),o-2>a&&"whitespace"===e[o][1].type&&(o-=2),"atxHeadingSequence"===e[o][1].type&&(a===o-1||o-4>a&&"whitespace"===e[o-2][1].type)&&(o-=a+1===o?2:4),o>a&&(n={type:"atxHeadingText",start:e[a][1].start,end:e[o][1].end},r={type:"chunkText",start:e[a][1].start,end:e[o][1].end,contentType:"text"},wu(e,a,o-a+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]])),e}},bp=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],vp=["pre","script","style","textarea"],wp={name:"htmlFlow",tokenize:function(e,t,n){const r=this;let o,a,i,s,l;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c};function c(s){return 33===s?(e.consume(s),u):47===s?(e.consume(s),f):63===s?(e.consume(s),o=3,r.interrupt?t:L):Cu(s)?(e.consume(s),i=String.fromCharCode(s),a=!0,m):n(s)}function u(a){return 45===a?(e.consume(a),o=2,p):91===a?(e.consume(a),o=5,i="CDATA[",s=0,d):Cu(a)?(e.consume(a),o=4,r.interrupt?t:L):n(a)}function p(o){return 45===o?(e.consume(o),r.interrupt?t:L):n(o)}function d(o){return o===i.charCodeAt(s++)?(e.consume(o),s===i.length?r.interrupt?t:C:d):n(o)}function f(t){return Cu(t)?(e.consume(t),i=String.fromCharCode(t),m):n(t)}function m(s){return null===s||47===s||62===s||Ru(s)?47!==s&&a&&vp.includes(i.toLowerCase())?(o=1,r.interrupt?t(s):C(s)):bp.includes(i.toLowerCase())?(o=6,47===s?(e.consume(s),h):r.interrupt?t(s):C(s)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?y(s):g(s)):45===s||Tu(s)?(e.consume(s),i+=String.fromCharCode(s),m):n(s)}function h(o){return 62===o?(e.consume(o),r.interrupt?t:C):n(o)}function g(t){return Iu(t)?(e.consume(t),g):_(t)}function y(t){return 47===t?(e.consume(t),_):58===t||95===t||Cu(t)?(e.consume(t),b):Iu(t)?(e.consume(t),y):_(t)}function b(t){return 45===t||46===t||58===t||95===t||Tu(t)?(e.consume(t),b):v(t)}function v(t){return 61===t?(e.consume(t),w):Iu(t)?(e.consume(t),v):y(t)}function w(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),l=t,k):Iu(t)?(e.consume(t),w):(l=null,x(t))}function k(t){return null===t||Lu(t)?n(t):t===l?(e.consume(t),S):(e.consume(t),k)}function x(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||Ru(t)?v(t):(e.consume(t),x)}function S(e){return 47===e||62===e||Iu(e)?y(e):n(e)}function _(t){return 62===t?(e.consume(t),E):n(t)}function E(t){return Iu(t)?(e.consume(t),E):null===t||Lu(t)?C(t):n(t)}function C(t){return 45===t&&2===o?(e.consume(t),P):60===t&&1===o?(e.consume(t),j):62===t&&4===o?(e.consume(t),I):63===t&&3===o?(e.consume(t),L):93===t&&5===o?(e.consume(t),R):!Lu(t)||6!==o&&7!==o?null===t||Lu(t)?A(t):(e.consume(t),C):e.check(kp,I,A)(t)}function A(t){return e.exit("htmlFlowData"),O(t)}function O(t){return null===t?F(t):Lu(t)?e.attempt({tokenize:T,partial:!0},O,F)(t):(e.enter("htmlFlowData"),C(t))}function T(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function P(t){return 45===t?(e.consume(t),L):C(t)}function j(t){return 47===t?(e.consume(t),i="",N):C(t)}function N(t){return 62===t&&vp.includes(i.toLowerCase())?(e.consume(t),I):Cu(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),N):C(t)}function R(t){return 93===t?(e.consume(t),L):C(t)}function L(t){return 62===t?(e.consume(t),I):45===t&&2===o?(e.consume(t),L):C(t)}function I(t){return null===t||Lu(t)?(e.exit("htmlFlowData"),F(t)):(e.consume(t),I)}function F(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););return t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},concrete:!0},kp={tokenize:function(e,t,n){return function(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(Ku,t,n)}},partial:!0},xp={name:"htmlText",tokenize:function(e,t,n){const r=this;let o,a,i,s;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),l};function l(t){return 33===t?(e.consume(t),c):47===t?(e.consume(t),x):63===t?(e.consume(t),w):Cu(t)?(e.consume(t),E):n(t)}function c(t){return 45===t?(e.consume(t),u):91===t?(e.consume(t),a="CDATA[",i=0,h):Cu(t)?(e.consume(t),v):n(t)}function u(t){return 45===t?(e.consume(t),p):n(t)}function p(t){return null===t||62===t?n(t):45===t?(e.consume(t),d):f(t)}function d(e){return null===e||62===e?n(e):f(e)}function f(t){return null===t?n(t):45===t?(e.consume(t),m):Lu(t)?(s=f,R(t)):(e.consume(t),f)}function m(t){return 45===t?(e.consume(t),I):f(t)}function h(t){return t===a.charCodeAt(i++)?(e.consume(t),i===a.length?g:h):n(t)}function g(t){return null===t?n(t):93===t?(e.consume(t),y):Lu(t)?(s=g,R(t)):(e.consume(t),g)}function y(t){return 93===t?(e.consume(t),b):g(t)}function b(t){return 62===t?I(t):93===t?(e.consume(t),b):g(t)}function v(t){return null===t||62===t?I(t):Lu(t)?(s=v,R(t)):(e.consume(t),v)}function w(t){return null===t?n(t):63===t?(e.consume(t),k):Lu(t)?(s=w,R(t)):(e.consume(t),w)}function k(e){return 62===e?I(e):w(e)}function x(t){return Cu(t)?(e.consume(t),S):n(t)}function S(t){return 45===t||Tu(t)?(e.consume(t),S):_(t)}function _(t){return Lu(t)?(s=_,R(t)):Iu(t)?(e.consume(t),_):I(t)}function E(t){return 45===t||Tu(t)?(e.consume(t),E):47===t||62===t||Ru(t)?C(t):n(t)}function C(t){return 47===t?(e.consume(t),I):58===t||95===t||Cu(t)?(e.consume(t),A):Lu(t)?(s=C,R(t)):Iu(t)?(e.consume(t),C):I(t)}function A(t){return 45===t||46===t||58===t||95===t||Tu(t)?(e.consume(t),A):O(t)}function O(t){return 61===t?(e.consume(t),T):Lu(t)?(s=O,R(t)):Iu(t)?(e.consume(t),O):C(t)}function T(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),o=t,P):Lu(t)?(s=T,R(t)):Iu(t)?(e.consume(t),T):(e.consume(t),o=void 0,N)}function P(t){return t===o?(e.consume(t),j):null===t?n(t):Lu(t)?(s=P,R(t)):(e.consume(t),P)}function j(e){return 62===e||47===e||Ru(e)?C(e):n(e)}function N(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):62===t||Ru(t)?C(t):(e.consume(t),N)}function R(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Bu(e,L,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function L(t){return e.enter("htmlTextData"),s(t)}function I(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}}},Sp={name:"labelEnd",tokenize:function(e,t,n){const r=this;let o,a,i=r.events.length;for(;i--;)if(("labelImage"===r.events[i][1].type||"labelLink"===r.events[i][1].type)&&!r.events[i][1]._balanced){o=r.events[i][1];break}return function(t){return o?o._inactive?l(t):(a=r.parser.defined.includes(fp(r.sliceSerialize({start:o.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),s):n(t)};function s(n){return 40===n?e.attempt(_p,t,a?t:l)(n):91===n?e.attempt(Ep,t,a?e.attempt(Cp,t,l):l)(n):a?t(n):l(n)}function l(e){return o._balanced=!0,n(e)}},resolveTo:function(e,t){let n,r,o,a,i=e.length,s=0;for(;i--;)if(n=e[i][1],r){if("link"===n.type||"labelLink"===n.type&&n._inactive)break;"enter"===e[i][0]&&"labelLink"===n.type&&(n._inactive=!0)}else if(o){if("enter"===e[i][0]&&("labelImage"===n.type||"labelLink"===n.type)&&!n._balanced&&(r=i,"labelLink"!==n.type)){s=2;break}}else"labelEnd"===n.type&&(o=i);const l={type:"labelLink"===e[r][1].type?"link":"image",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)},c={type:"label",start:Object.assign({},e[r][1].start),end:Object.assign({},e[o][1].end)},u={type:"labelText",start:Object.assign({},e[r+s+2][1].end),end:Object.assign({},e[o-2][1].start)};return a=[["enter",l,t],["enter",c,t]],a=ku(a,e.slice(r+1,r+s+3)),a=ku(a,[["enter",u,t]]),a=ku(a,Hu(t.parser.constructs.insideSpan.null,e.slice(r+s+4,o-3),t)),a=ku(a,[["exit",u,t],e[o-2],e[o-1],["exit",c,t]]),a=ku(a,e.slice(o+1)),a=ku(a,[["exit",l,t]]),wu(e,r,e.length,a),e},resolveAll:function(e){let t,n=-1;for(;++n-1&&(i[0]=i[0].slice(r)),a>0&&i.push(e[o].slice(0,a))),i}(i,e)}function d(){return Object.assign({},r)}function f(e){u=u(e)}function m(e,t){t.restore()}function h(e,t){return function(n,o,a){let i,u,p,f;return Array.isArray(n)?m(n):"tokenize"in n?m([n]):function(e){return function(t){const n=null!==t&&e[t],r=null!==t&&e.null;return m([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}(n);function m(e){return i=e,u=0,0===e.length?a:h(e[u])}function h(e){return function(n){return f=function(){const e=d(),t=c.previous,n=c.currentConstruct,o=c.events.length,a=Array.from(s);return{restore:function(){r=e,c.previous=t,c.currentConstruct=n,c.events.length=o,s=a,y()},from:o}}(),p=e,e.partial||(c.currentConstruct=e),e.name&&c.parser.constructs.disable.null.includes(e.name)?b():e.tokenize.call(t?Object.assign(Object.create(c),t):c,l,g,b)(n)}}function g(t){return e(p,f),o}function b(e){return f.restore(),++u13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||!(65535&~n)||65534==(65535&n)||n>1114111?"\ufffd":String.fromCharCode(n)}const Jp=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function ed(e){return e.replace(Jp,td)}function td(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return Zp(n.slice(t?2:1),t?16:10)}return Ju(n)||e}const nd={}.hasOwnProperty,rd=function(e,t,n){return"string"!=typeof t&&(n=t,t=void 0),function(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:i(w),autolinkProtocol:d,autolinkEmail:d,atxHeading:i(y),blockQuote:i((function(){return{type:"blockquote",children:[]}})),characterEscape:d,characterReference:d,codeFenced:i(g),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:i(g,s),codeText:i((function(){return{type:"inlineCode",value:""}}),s),codeTextData:d,data:d,codeFlowValue:d,definition:i((function(){return{type:"definition",identifier:"",label:null,title:null,url:""}})),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:i((function(){return{type:"emphasis",children:[]}})),hardBreakEscape:i(b),hardBreakTrailing:i(b),htmlFlow:i(v,s),htmlFlowData:d,htmlText:i(v,s),htmlTextData:d,image:i((function(){return{type:"image",title:null,url:"",alt:null}})),label:s,link:i(w),listItem:i((function(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}})),listItemValue:function(e){a("expectingFirstListItemValue")&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),o("expectingFirstListItemValue"))},listOrdered:i(k,(function(){o("expectingFirstListItemValue",!0)})),listUnordered:i(k),paragraph:i((function(){return{type:"paragraph",children:[]}})),reference:function(){o("referenceType","collapsed")},referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:i(y),strong:i((function(){return{type:"strong",children:[]}})),thematicBreak:i((function(){return{type:"thematicBreak"}}))},exit:{atxHeading:c(),atxHeadingSequence:function(e){const t=this.stack[this.stack.length-1];if(!t.depth){const n=this.sliceSerialize(e).length;t.depth=n}},autolink:c(),autolinkEmail:function(e){f.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)},autolinkProtocol:function(e){f.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)},blockQuote:c(),characterEscapeValue:f,characterReferenceMarkerHexadecimal:h,characterReferenceMarkerNumeric:h,characterReferenceValue:function(e){const t=this.sliceSerialize(e),n=a("characterReferenceType");let r;n?(r=Zp(t,"characterReferenceMarkerNumeric"===n?10:16),o("characterReferenceType")):r=Ju(t);const i=this.stack.pop();i.value+=r,i.position.end=od(e.end)},codeFenced:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),o("flowCodeInside")})),codeFencedFence:function(){a("flowCodeInside")||(this.buffer(),o("flowCodeInside",!0))},codeFencedFenceInfo:function(){const e=this.resume();this.stack[this.stack.length-1].lang=e},codeFencedFenceMeta:function(){const e=this.resume();this.stack[this.stack.length-1].meta=e},codeFlowValue:f,codeIndented:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")})),codeText:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e})),codeTextData:f,data:f,definition:c(),definitionDestinationString:function(){const e=this.resume();this.stack[this.stack.length-1].url=e},definitionLabelString:function(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=fp(this.sliceSerialize(e)).toLowerCase()},definitionTitleString:function(){const e=this.resume();this.stack[this.stack.length-1].title=e},emphasis:c(),hardBreakEscape:c(m),hardBreakTrailing:c(m),htmlFlow:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e})),htmlFlowData:f,htmlText:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e})),htmlTextData:f,image:c((function(){const e=this.stack[this.stack.length-1];if(a("inReference")){const t=a("referenceType")||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;o("referenceType")})),label:function(){const e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(o("inReference",!0),"link"===n.type){const t=e.children;n.children=t}else n.alt=t},labelText:function(e){const t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=ed(t),n.identifier=fp(t).toLowerCase()},lineEnding:function(e){const n=this.stack[this.stack.length-1];if(a("atHardBreak"))return n.children[n.children.length-1].position.end=od(e.end),void o("atHardBreak");!a("setextHeadingSlurpLineEnding")&&t.canContainEols.includes(n.type)&&(d.call(this,e),f.call(this,e))},link:c((function(){const e=this.stack[this.stack.length-1];if(a("inReference")){const t=a("referenceType")||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;o("referenceType")})),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:function(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=fp(this.sliceSerialize(e)).toLowerCase(),o("referenceType","full")},resourceDestinationString:function(){const e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){const e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){o("inReference")},setextHeading:c((function(){o("setextHeadingSlurpLineEnding")})),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).charCodeAt(0)?1:2},setextHeadingText:function(){o("setextHeadingSlurpLineEnding",!0)},strong:c(),thematicBreak:c()}};ad(t,(e||{}).mdastExtensions||[]);const n={};return function(e){let n={type:"root",children:[]};const i={stack:[n],tokenStack:[],config:t,enter:l,exit:u,buffer:s,resume:p,setData:o,getData:a},c=[];let d=-1;for(;++d0){const e=i.tokenStack[i.tokenStack.length-1];(e[1]||sd).call(i,void 0,e[0])}for(n.position={start:od(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:od(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d{const n=this.data("settings");return rd(t,Object.assign({},n,e,{extensions:this.data("micromarkExtensions")||[],mdastExtensions:this.data("fromMarkdownExtensions")||[]}))}})}function cd(e){const t=[];let n=-1,r=0,o=0;for(;++n55295&&a<57344){const t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(i=String.fromCharCode(a,t),o=1):i="\ufffd"}else i=String.fromCharCode(a);i&&(t.push(e.slice(r,n),encodeURIComponent(i)),r=n+o+1,i=""),o&&(n+=o,o=0)}return t.join("")+e.slice(r)}function ud(e,t){const n=String(t.identifier).toUpperCase(),r=cd(n.toLowerCase()),o=e.footnoteOrder.indexOf(n);let a;-1===o?(e.footnoteOrder.push(n),e.footnoteCounts[n]=1,a=e.footnoteOrder.length):(e.footnoteCounts[n]++,a=o+1);const i=e.footnoteCounts[n],s={type:"element",tagName:"a",properties:{href:"#"+e.clobberPrefix+"fn-"+r,id:e.clobberPrefix+"fnref-"+r+(i>1?"-"+i:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,s);const l={type:"element",tagName:"sup",properties:{},children:[s]};return e.patch(t,l),e.applyData(t,l)}function pd(e,t){const n=t.referenceType;let r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return{type:"text",value:"!["+t.alt+r};const o=e.all(t),a=o[0];a&&"text"===a.type?a.value="["+a.value:o.unshift({type:"text",value:"["});const i=o[o.length-1];return i&&"text"===i.type?i.value+=r:o.push({type:"text",value:r}),o}function dd(e){const t=e.spread;return null==t?e.children.length>1:t}const fd=hd("start"),md=hd("end");function hd(e){return function(t){const n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:n.offset>-1?n.offset:null}}}function gd(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),o=0;const a=[];for(;r;)a.push(yd(t.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(t);return a.push(yd(t.slice(o),o>0,!1)),a.join("")}function yd(e,t,n){let r=0,o=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(o-1);for(;9===t||32===t;)o--,t=e.codePointAt(o-1)}return o>r?e.slice(r,o):""}const bd={blockquote:function(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:"\n"}]},code:function(e,t){const n=t.value?t.value+"\n":"",r=t.lang?t.lang.match(/^[^ \t]+(?=[ \t]|$)/):null,o={};r&&(o.className=["language-"+r]);let a={type:"element",tagName:"code",properties:o,children:[{type:"text",value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:"element",tagName:"pre",properties:{},children:[a]},e.patch(t,a),a},delete:function(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:ud,footnote:function(e,t){const n=e.footnoteById;let r=1;for(;r in n;)r++;const o=String(r);return n[o]={type:"footnoteDefinition",identifier:o,children:[{type:"paragraph",children:t.children}],position:t.position},ud(e,{type:"footnoteReference",identifier:o,position:t.position})},heading:function(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.dangerous){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}return null},imageReference:function(e,t){const n=e.definition(t.identifier);if(!n)return pd(e,t);const r={src:cd(n.url||""),alt:t.alt};null!==n.title&&void 0!==n.title&&(r.title=n.title);const o={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,o),e.applyData(t,o)},image:function(e,t){const n={src:cd(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){const n=e.definition(t.identifier);if(!n)return pd(e,t);const r={href:cd(n.url||"")};null!==n.title&&void 0!==n.title&&(r.title=n.title);const o={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)},link:function(e,t){const n={href:cd(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){const r=e.all(t),o=n?function(e){let t=!1;if("list"===e.type){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r0&&n.children.unshift({type:"text",value:" "}),n.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let s=-1;for(;++s0){const r={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},a=fd(t.children[1]),i=md(t.children[t.children.length-1]);a.line&&i.line&&(r.position={start:a,end:i}),o.push(r)}const a={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(t,a),e.applyData(t,a)},tableCell:function(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){const r=n?n.children:void 0,o=0===(r?r.indexOf(t):1)?"th":"td",a=n&&"table"===n.type?n.align:void 0,i=a?a.length:t.children.length;let s=-1;const l=[];for(;++s":""))+")"})}return u;function u(){let c,u,p,d=[];if((!t||o(i,s,l[l.length-1]||null))&&(d=function(e){return Array.isArray(e)?e:"number"==typeof e?[true,e]:[e]}(n(i,l)),d[0]===_d))return d;if(i.children&&"skip"!==d[0])for(u=(r?i.children.length:-1)+a,p=l.concat(i);u>-1&&u0&&n.push({type:"text",value:"\n"}),n}function Id(e,t){const n=function(e,t){const n=t||{},r=n.allowDangerousHtml||!1,o={};return i.dangerous=r,i.clobberPrefix=void 0===n.clobberPrefix||null===n.clobberPrefix?"user-content-":n.clobberPrefix,i.footnoteLabel=n.footnoteLabel||"Footnotes",i.footnoteLabelTagName=n.footnoteLabelTagName||"h2",i.footnoteLabelProperties=n.footnoteLabelProperties||{className:["sr-only"]},i.footnoteBackLabel=n.footnoteBackLabel||"Back to content",i.unknownHandler=n.unknownHandler,i.passThrough=n.passThrough,i.handlers={...bd,...n.handlers},i.definition=function(e){const t=Object.create(null);if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return Cd(e,"definition",(e=>{const n=Od(e.identifier);n&&!Ad.call(t,n)&&(t[n]=e)})),function(e){const n=Od(e);return n&&Ad.call(t,n)?t[n]:null}}(e),i.footnoteById=o,i.footnoteOrder=[],i.footnoteCounts={},i.patch=Pd,i.applyData=jd,i.one=function(e,t){return Nd(i,e,t)},i.all=function(e){return Rd(i,e)},i.wrap=Ld,i.augment=a,Cd(e,"footnoteDefinition",(e=>{const t=String(e.identifier).toUpperCase();Td.call(o,t)||(o[t]=e)})),i;function a(e,t){if(e&&"data"in e&&e.data){const n=e.data;n.hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties={...t.properties,...n.hProperties}),"children"in t&&t.children&&n.hChildren&&(t.children=n.hChildren)}if(e){const n="type"in e?e:{position:e};(function(e){return!(e&&e.position&&e.position.start&&e.position.start.line&&e.position.start.column&&e.position.end&&e.position.end.line&&e.position.end.column)})(n)||(t.position={start:fd(n),end:md(n)})}return t}function i(e,t,n,r){return Array.isArray(n)&&(r=n,n={}),a(e,{type:"element",tagName:t,properties:n||{},children:r||[]})}}(e,t),r=n.one(e,null),o=function(e){const t=[];let n=-1;for(;++n1?"-"+s:""),dataFootnoteBackref:!0,className:["data-footnote-backref"],ariaLabel:e.footnoteBackLabel},children:[{type:"text",value:"\u21a9"}]};s>1&&t.children.push({type:"element",tagName:"sup",children:[{type:"text",value:String(s)}]}),l.length>0&&l.push({type:"text",value:" "}),l.push(t)}const c=o[o.length-1];if(c&&"element"===c.type&&"p"===c.tagName){const e=c.children[c.children.length-1];e&&"text"===e.type?e.value+=" ":c.children.push({type:"text",value:" "}),c.children.push(...l)}else o.push(...l);const u={type:"element",tagName:"li",properties:{id:e.clobberPrefix+"fn-"+i},children:e.wrap(o,!0)};e.patch(r,u),t.push(u)}if(0!==t.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:e.footnoteLabelTagName,properties:{...JSON.parse(JSON.stringify(e.footnoteLabelProperties)),id:"footnote-label"},children:[{type:"text",value:e.footnoteLabel}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(t,!0)},{type:"text",value:"\n"}]}}(n);return o&&r.children.push({type:"text",value:"\n"},o),Array.isArray(r)?{type:"root",children:r}:r}var Fd,Dd,Md,Bd,zd,$d,qd,Ud,Hd,Vd,Gd,Wd,Kd,Yd,Qd,Xd=function(e,t){return e&&"run"in e?function(e,t){return(n,r,o)=>{e.run(Id(n,t),r,(e=>{o(e)}))}}(e,t):function(e){return t=>Id(t,e)}(e||t)},Zd={},Jd={get exports(){return Zd},set exports(e){Zd=e}},ef={},tf={get exports(){return ef},set exports(e){ef=e}},nf={},rf={};function of(){return Md||(Md=1,e=tf,"production"===uc.env.NODE_ENV?e.exports=function(){if(Fd)return nf;Fd=1;var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,l=e?Symbol.for("react.async_mode"):60111,c=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,d=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,h=e?Symbol.for("react.block"):60121,g=e?Symbol.for("react.fundamental"):60117,y=e?Symbol.for("react.responder"):60118,b=e?Symbol.for("react.scope"):60119;function v(e){if("object"==typeof e&&null!==e){var d=e.$$typeof;switch(d){case t:switch(e=e.type){case l:case c:case r:case a:case o:case p:return e;default:switch(e=e&&e.$$typeof){case s:case u:case m:case f:case i:return e;default:return d}}case n:return d}}}function w(e){return v(e)===c}return nf.AsyncMode=l,nf.ConcurrentMode=c,nf.ContextConsumer=s,nf.ContextProvider=i,nf.Element=t,nf.ForwardRef=u,nf.Fragment=r,nf.Lazy=m,nf.Memo=f,nf.Portal=n,nf.Profiler=a,nf.StrictMode=o,nf.Suspense=p,nf.isAsyncMode=function(e){return w(e)||v(e)===l},nf.isConcurrentMode=w,nf.isContextConsumer=function(e){return v(e)===s},nf.isContextProvider=function(e){return v(e)===i},nf.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},nf.isForwardRef=function(e){return v(e)===u},nf.isFragment=function(e){return v(e)===r},nf.isLazy=function(e){return v(e)===m},nf.isMemo=function(e){return v(e)===f},nf.isPortal=function(e){return v(e)===n},nf.isProfiler=function(e){return v(e)===a},nf.isStrictMode=function(e){return v(e)===o},nf.isSuspense=function(e){return v(e)===p},nf.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===c||e===a||e===o||e===p||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===f||e.$$typeof===i||e.$$typeof===s||e.$$typeof===u||e.$$typeof===g||e.$$typeof===y||e.$$typeof===b||e.$$typeof===h)},nf.typeOf=v,nf}():e.exports=(Dd||(Dd=1,"production"!==uc.env.NODE_ENV&&function(){var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,l=e?Symbol.for("react.async_mode"):60111,c=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,d=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,h=e?Symbol.for("react.block"):60121,g=e?Symbol.for("react.fundamental"):60117,y=e?Symbol.for("react.responder"):60118,b=e?Symbol.for("react.scope"):60119;function v(e){if("object"==typeof e&&null!==e){var d=e.$$typeof;switch(d){case t:var h=e.type;switch(h){case l:case c:case r:case a:case o:case p:return h;default:var g=h&&h.$$typeof;switch(g){case s:case u:case m:case f:case i:return g;default:return d}}case n:return d}}}var w=l,k=c,x=s,S=i,_=t,E=u,C=r,A=m,O=f,T=n,P=a,j=o,N=p,R=!1;function L(e){return v(e)===c}rf.AsyncMode=w,rf.ConcurrentMode=k,rf.ContextConsumer=x,rf.ContextProvider=S,rf.Element=_,rf.ForwardRef=E,rf.Fragment=C,rf.Lazy=A,rf.Memo=O,rf.Portal=T,rf.Profiler=P,rf.StrictMode=j,rf.Suspense=N,rf.isAsyncMode=function(e){return R||(R=!0,ve.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),L(e)||v(e)===l},rf.isConcurrentMode=L,rf.isContextConsumer=function(e){return v(e)===s},rf.isContextProvider=function(e){return v(e)===i},rf.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},rf.isForwardRef=function(e){return v(e)===u},rf.isFragment=function(e){return v(e)===r},rf.isLazy=function(e){return v(e)===m},rf.isMemo=function(e){return v(e)===f},rf.isPortal=function(e){return v(e)===n},rf.isProfiler=function(e){return v(e)===a},rf.isStrictMode=function(e){return v(e)===o},rf.isSuspense=function(e){return v(e)===p},rf.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===c||e===a||e===o||e===p||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===f||e.$$typeof===i||e.$$typeof===s||e.$$typeof===u||e.$$typeof===g||e.$$typeof===y||e.$$typeof===b||e.$$typeof===h)},rf.typeOf=v}()),rf)),ef;var e}function af(){return qd?$d:(qd=1,$d="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}function sf(){return Hd?Ud:(Hd=1,Ud=Function.call.bind(Object.prototype.hasOwnProperty))}if("production"!==uc.env.NODE_ENV){var lf=of();Jd.exports=function(){if(Kd)return Wd;Kd=1;var e=of(),t=function(){if(zd)return Bd;zd=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;return Bd=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map((function(e){return t[e]}));if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach((function(e){o[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}}()?Object.assign:function(r,o){for(var a,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(r),l=1;l1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),i)},oneOfType:function(e){if(!Array.isArray(e))return"production"!==uc.env.NODE_ENV&&a("Invalid argument supplied to oneOfType, expected an instance of array."),i;for(var t=0;t0?", expected one of type ["+l.join(", ")+"]":"")+".")}))},shape:function(e){return m((function(t,r,o,a,i){var s=t[r],l=b(s);if("object"!==l)return new f("Invalid "+a+" `"+i+"` of type `"+l+"` supplied to `"+o+"`, expected `object`.");for(var c in e){var u=e[c];if("function"!=typeof u)return g(o,a,i,c,v(u));var p=u(s,c,o,a,i+"."+c,n);if(p)return p}return null}))},exact:function(e){return m((function(o,a,i,s,l){var c=o[a],u=b(c);if("object"!==u)return new f("Invalid "+s+" `"+l+"` of type `"+u+"` supplied to `"+i+"`, expected `object`.");var p=t({},o[a],e);for(var d in p){var m=e[d];if(r(e,d)&&"function"!=typeof m)return g(i,s,l,d,v(m));if(!m)return new f("Invalid "+s+" `"+l+"` key `"+d+"` supplied to `"+i+"`.\nBad object: "+JSON.stringify(o[a],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var h=m(c,d,i,s,l+"."+d,n);if(h)return h}return null}))}};function d(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function f(e,t){this.message=e,this.data=t&&"object"==typeof t?t:{},this.stack=""}function m(e){if("production"!==uc.env.NODE_ENV)var t={},r=0;function o(o,i,s,c,p,d,m){if(c=c||u,d=d||s,m!==n){if(l){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}if("production"!==uc.env.NODE_ENV&&void 0!==ve){var g=c+":"+s;!t[g]&&r<3&&(a("You are manually calling a React.PropTypes validation function for the `"+d+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),t[g]=!0,r++)}}return null==i[s]?o?null===i[s]?new f("The "+p+" `"+d+"` is marked as required in `"+c+"`, but its value is `null`."):new f("The "+p+" `"+d+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:e(i,s,c,p,d)}var i=o.bind(null,!1);return i.isRequired=o.bind(null,!0),i}function h(e){return m((function(t,n,r,o,a,i){var s=t[n];return b(s)!==e?new f("Invalid "+o+" `"+a+"` of type `"+v(s)+"` supplied to `"+r+"`, expected `"+e+"`.",{expectedType:e}):null}))}function g(e,t,n,r,o){return new f((e||"React class")+": "+t+" type `"+n+"."+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+o+"`.")}function y(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(y);if(null===e||s(e))return!0;var t=function(e){var t=e&&(c&&e[c]||e["@@iterator"]);if("function"==typeof t)return t}(e);if(!t)return!1;var n,r=t.call(e);if(t!==e.entries){for(;!(n=r.next()).done;)if(!y(n.value))return!1}else for(;!(n=r.next()).done;){var o=n.value;if(o&&!y(o[1]))return!1}return!0;default:return!1}}function b(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}(t,e)?"symbol":t}function v(e){if(null==e)return""+e;var t=b(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function w(e){var t=v(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return f.prototype=Error.prototype,p.checkPropTypes=o,p.resetWarningCache=o.resetWarningCache,p.PropTypes=p,p},Wd}()(lf.isElement,!0)}else Jd.exports=function(){if(Qd)return Yd;Qd=1;var e=af();function t(){}function n(){}return n.resetWarningCache=t,Yd=function(){function r(t,n,r,o,a,i){if(i!==e){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function o(){return r}r.isRequired=r;var a={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:o,element:r,elementType:r,instanceOf:o,node:r,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return a.PropTypes=a,a}}()();class cf{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function uf(e,t){const n={},r={};let o=-1;for(;++o"xlink:"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),Tf=Af({space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Pf(e,t){return t in e?e[t]:t}function jf(e,t){return Pf(e,t.toLowerCase())}const Nf=Af({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:jf,properties:{xmlns:null,xmlnsXLink:null}}),Rf=Af({transform:(e,t)=>"role"===t?t:"aria-"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:hf,ariaAutoComplete:null,ariaBusy:hf,ariaChecked:hf,ariaColCount:yf,ariaColIndex:yf,ariaColSpan:yf,ariaControls:bf,ariaCurrent:null,ariaDescribedBy:bf,ariaDetails:null,ariaDisabled:hf,ariaDropEffect:bf,ariaErrorMessage:null,ariaExpanded:hf,ariaFlowTo:bf,ariaGrabbed:hf,ariaHasPopup:null,ariaHidden:hf,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:bf,ariaLevel:yf,ariaLive:null,ariaModal:hf,ariaMultiLine:hf,ariaMultiSelectable:hf,ariaOrientation:null,ariaOwns:bf,ariaPlaceholder:null,ariaPosInSet:yf,ariaPressed:hf,ariaReadOnly:hf,ariaRelevant:null,ariaRequired:hf,ariaRoleDescription:bf,ariaRowCount:yf,ariaRowIndex:yf,ariaRowSpan:yf,ariaSelected:hf,ariaSetSize:yf,ariaSort:null,ariaValueMax:yf,ariaValueMin:yf,ariaValueNow:yf,ariaValueText:null,role:null}}),Lf=Af({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:jf,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:vf,acceptCharset:bf,accessKey:bf,action:null,allow:null,allowFullScreen:mf,allowPaymentRequest:mf,allowUserMedia:mf,alt:null,as:null,async:mf,autoCapitalize:null,autoComplete:bf,autoFocus:mf,autoPlay:mf,capture:mf,charSet:null,checked:mf,cite:null,className:bf,cols:yf,colSpan:null,content:null,contentEditable:hf,controls:mf,controlsList:bf,coords:yf|vf,crossOrigin:null,data:null,dateTime:null,decoding:null,default:mf,defer:mf,dir:null,dirName:null,disabled:mf,download:gf,draggable:hf,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:mf,formTarget:null,headers:bf,height:yf,hidden:mf,high:yf,href:null,hrefLang:null,htmlFor:bf,httpEquiv:bf,id:null,imageSizes:null,imageSrcSet:null,inputMode:null,integrity:null,is:null,isMap:mf,itemId:null,itemProp:bf,itemRef:bf,itemScope:mf,itemType:bf,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:mf,low:yf,manifest:null,max:null,maxLength:yf,media:null,method:null,min:null,minLength:yf,multiple:mf,muted:mf,name:null,nonce:null,noModule:mf,noValidate:mf,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:mf,optimum:yf,pattern:null,ping:bf,placeholder:null,playsInline:mf,poster:null,preload:null,readOnly:mf,referrerPolicy:null,rel:bf,required:mf,reversed:mf,rows:yf,rowSpan:yf,sandbox:bf,scope:null,scoped:mf,seamless:mf,selected:mf,shape:null,size:yf,sizes:null,slot:null,span:yf,spellCheck:hf,src:null,srcDoc:null,srcLang:null,srcSet:null,start:yf,step:null,style:null,tabIndex:yf,target:null,title:null,translate:null,type:null,typeMustMatch:mf,useMap:null,value:hf,width:yf,wrap:null,align:null,aLink:null,archive:bf,axis:null,background:null,bgColor:null,border:yf,borderColor:null,bottomMargin:yf,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:mf,declare:mf,event:null,face:null,frame:null,frameBorder:null,hSpace:yf,leftMargin:yf,link:null,longDesc:null,lowSrc:null,marginHeight:yf,marginWidth:yf,noResize:mf,noHref:mf,noShade:mf,noWrap:mf,object:null,profile:null,prompt:null,rev:null,rightMargin:yf,rules:null,scheme:null,scrolling:hf,standby:null,summary:null,text:null,topMargin:yf,valueType:null,version:null,vAlign:null,vLink:null,vSpace:yf,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:mf,disableRemotePlayback:mf,prefix:null,property:null,results:yf,security:null,unselectable:null}}),If=Af({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Pf,properties:{about:wf,accentHeight:yf,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:yf,amplitude:yf,arabicForm:null,ascent:yf,attributeName:null,attributeType:null,azimuth:yf,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:yf,by:null,calcMode:null,capHeight:yf,className:bf,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:yf,diffuseConstant:yf,direction:null,display:null,dur:null,divisor:yf,dominantBaseline:null,download:mf,dx:null,dy:null,edgeMode:null,editable:null,elevation:yf,enableBackground:null,end:null,event:null,exponent:yf,externalResourcesRequired:null,fill:null,fillOpacity:yf,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:vf,g2:vf,glyphName:vf,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:yf,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:yf,horizOriginX:yf,horizOriginY:yf,id:null,ideographic:yf,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:yf,k:yf,k1:yf,k2:yf,k3:yf,k4:yf,kernelMatrix:wf,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:yf,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:yf,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:yf,overlineThickness:yf,paintOrder:null,panose1:null,path:null,pathLength:yf,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:bf,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:yf,pointsAtY:yf,pointsAtZ:yf,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:wf,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:wf,rev:wf,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:wf,requiredFeatures:wf,requiredFonts:wf,requiredFormats:wf,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:yf,specularExponent:yf,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:yf,strikethroughThickness:yf,string:null,stroke:null,strokeDashArray:wf,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:yf,strokeOpacity:yf,strokeWidth:null,style:null,surfaceScale:yf,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:wf,tabIndex:yf,tableValues:null,target:null,targetX:yf,targetY:yf,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:wf,to:null,transform:null,u1:null,u2:null,underlinePosition:yf,underlineThickness:yf,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:yf,values:null,vAlphabetic:yf,vMathematical:yf,vectorEffect:null,vHanging:yf,vIdeographic:yf,version:null,vertAdvY:yf,vertOriginX:yf,vertOriginY:yf,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:yf,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),Ff=/^data[-\w.:]+$/i,Df=/-[a-z]/g,Mf=/[A-Z]/g;function Bf(e){return"-"+e.toLowerCase()}function zf(e){return e.charAt(1).toUpperCase()}const $f={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},qf=uf([Tf,Of,Nf,Rf,Lf],"html"),Uf=uf([Tf,Of,Nf,Rf,If],"svg");function Hf(e){if(e.allowedElements&&e.disallowedElements)throw new TypeError("Only one of `allowedElements` and `disallowedElements` should be defined");if(e.allowedElements||e.disallowedElements||e.allowElement)return t=>{!function(e,t,n,r){"function"==typeof t&&"function"!=typeof n&&(r=n,n=t,t=null),Ed(e,t,(function(e,t){const r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),r)}(t,"element",((t,n,r)=>{const o=r;let a;if(e.allowedElements?a=!e.allowedElements.includes(t.tagName):e.disallowedElements&&(a=e.disallowedElements.includes(t.tagName)),!a&&e.allowElement&&"number"==typeof n&&(a=!e.allowElement(t,n,o)),a&&"number"==typeof n)return e.unwrapDisallowed&&t.children?o.children.splice(n,1,...t.children):o.children.splice(n,1),n}))}}var Vf,Gf,Wf,Kf={},Yf={get exports(){return Kf},set exports(e){Kf=e}},Qf={},Xf={};Wf=Yf,"production"===uc.env.NODE_ENV?Wf.exports=function(){if(Vf)return Qf;Vf=1;var e,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.server_context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen");function h(e){if("object"==typeof e&&null!==e){var m=e.$$typeof;switch(m){case t:switch(e=e.type){case r:case a:case o:case u:case p:return e;default:switch(e=e&&e.$$typeof){case l:case s:case c:case f:case d:case i:return e;default:return m}}case n:return m}}}return e=Symbol.for("react.module.reference"),Qf.ContextConsumer=s,Qf.ContextProvider=i,Qf.Element=t,Qf.ForwardRef=c,Qf.Fragment=r,Qf.Lazy=f,Qf.Memo=d,Qf.Portal=n,Qf.Profiler=a,Qf.StrictMode=o,Qf.Suspense=u,Qf.SuspenseList=p,Qf.isAsyncMode=function(){return!1},Qf.isConcurrentMode=function(){return!1},Qf.isContextConsumer=function(e){return h(e)===s},Qf.isContextProvider=function(e){return h(e)===i},Qf.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},Qf.isForwardRef=function(e){return h(e)===c},Qf.isFragment=function(e){return h(e)===r},Qf.isLazy=function(e){return h(e)===f},Qf.isMemo=function(e){return h(e)===d},Qf.isPortal=function(e){return h(e)===n},Qf.isProfiler=function(e){return h(e)===a},Qf.isStrictMode=function(e){return h(e)===o},Qf.isSuspense=function(e){return h(e)===u},Qf.isSuspenseList=function(e){return h(e)===p},Qf.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===r||t===a||t===o||t===u||t===p||t===m||"object"==typeof t&&null!==t&&(t.$$typeof===f||t.$$typeof===d||t.$$typeof===i||t.$$typeof===s||t.$$typeof===c||t.$$typeof===e||void 0!==t.getModuleId)},Qf.typeOf=h,Qf}():Wf.exports=(Gf||(Gf=1,"production"!==uc.env.NODE_ENV&&function(){var e,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.server_context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen");function h(e){if("object"==typeof e&&null!==e){var m=e.$$typeof;switch(m){case t:var h=e.type;switch(h){case r:case a:case o:case u:case p:return h;default:var g=h&&h.$$typeof;switch(g){case l:case s:case c:case f:case d:case i:return g;default:return m}}case n:return m}}}e=Symbol.for("react.module.reference");var g=s,y=i,b=t,v=c,w=r,k=f,x=d,S=n,_=a,E=o,C=u,A=p,O=!1,T=!1;Xf.ContextConsumer=g,Xf.ContextProvider=y,Xf.Element=b,Xf.ForwardRef=v,Xf.Fragment=w,Xf.Lazy=k,Xf.Memo=x,Xf.Portal=S,Xf.Profiler=_,Xf.StrictMode=E,Xf.Suspense=C,Xf.SuspenseList=A,Xf.isAsyncMode=function(e){return O||(O=!0,ve.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 18+.")),!1},Xf.isConcurrentMode=function(e){return T||(T=!0,ve.warn("The ReactIs.isConcurrentMode() alias has been deprecated, and will be removed in React 18+.")),!1},Xf.isContextConsumer=function(e){return h(e)===s},Xf.isContextProvider=function(e){return h(e)===i},Xf.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},Xf.isForwardRef=function(e){return h(e)===c},Xf.isFragment=function(e){return h(e)===r},Xf.isLazy=function(e){return h(e)===f},Xf.isMemo=function(e){return h(e)===d},Xf.isPortal=function(e){return h(e)===n},Xf.isProfiler=function(e){return h(e)===a},Xf.isStrictMode=function(e){return h(e)===o},Xf.isSuspense=function(e){return h(e)===u},Xf.isSuspenseList=function(e){return h(e)===p},Xf.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||!(t!==r&&t!==a&&t!==o&&t!==u&&t!==p&&t!==m)||"object"==typeof t&&null!==t&&(t.$$typeof===f||t.$$typeof===d||t.$$typeof===i||t.$$typeof===s||t.$$typeof===c||t.$$typeof===e||void 0!==t.getModuleId)},Xf.typeOf=h}()),Xf);var Zf=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}(Kf);function Jf(e){const t=e&&"object"==typeof e&&"text"===e.type?e.value||"":e;return"string"==typeof t&&""===t.replace(/[ \t\n\f\r]/g,"")}var em={},tm={get exports(){return em},set exports(e){em=e}},nm=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,rm=/\n/g,om=/^\s*/,am=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,im=/^:\s*/,sm=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,lm=/^[;\s]*/,cm=/^\s+|\s+$/g,um="";function pm(e){return e?e.replace(cm,um):um}function dm(e,t){var n,r=null;if(!e||"string"!=typeof e)return r;for(var o,a,i=function(e,t){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function o(e){var t=e.match(rm);t&&(n+=t.length);var o=e.lastIndexOf("\n");r=~o?e.length-o:r+e.length}function a(){var e={line:n,column:r};return function(t){return t.position=new i(e),c(),t}}function i(e){this.start=e,this.end={line:n,column:r},this.source=t.source}function s(o){var a=new Error(t.source+":"+n+":"+r+": "+o);if(a.reason=o,a.filename=t.source,a.line=n,a.column=r,a.source=e,!t.silent)throw a}function l(t){var n=t.exec(e);if(n){var r=n[0];return o(r),e=e.slice(r.length),n}}function c(){l(om)}function u(e){var t;for(e=e||[];t=p();)!1!==t&&e.push(t);return e}function p(){var t=a();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;um!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,um===e.charAt(n-1))return s("End of comment missing");var i=e.slice(2,n-2);return r+=2,o(i),e=e.slice(n),r+=2,t({type:"comment",comment:i})}}function d(){var e=a(),t=l(am);if(t){if(p(),!l(im))return s("property missing ':'");var n=l(sm),r=e({type:"declaration",property:pm(t[0].replace(nm,um)),value:n?pm(n[0].replace(nm,um)):um});return l(lm),r}}return i.prototype.content=e,c(),function(){var e,t=[];for(u(t);e=d();)!1!==e&&(t.push(e),u(t));return t}()}(e),s="function"==typeof t,l=0,c=i.length;l0?r.createElement(m,c,d):r.createElement(m,c)}function bm(e,t){let n=-1,r=0;for(;++n4&&"data"===n.slice(0,4)&&Ff.test(t)){if("-"===t.charAt(4)){const e=t.slice(5).replace(Df,zf);r="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!Df.test(e)){let n=e.replace(Mf,Bf);"-"!==n.charAt(0)&&(n="-"+n),t="data"+n}}o=_f}return new o(r,t)}(r.schema,t);let a=n;null!=a&&a==a&&(Array.isArray(a)&&(a=o.commaSeparated?function(e){const t={};return(""===e[e.length-1]?[...e,""]:e).join((t.padRight?" ":"")+","+(!1===t.padLeft?"":" ")).trim()}(a):a.join(" ").trim()),"style"===o.property&&"string"==typeof a&&(a=function(e){const t={};try{fm(e,(function(e,n){const r="-ms-"===e.slice(0,4)?`ms-${e.slice(4)}`:e;t[r.replace(/-([a-z])/g,wm)]=n}))}catch{}return t}(a)),o.space&&o.property?e[mm.call($f,o.property)?$f[o.property]:o.property]=a:o.attribute&&(e[o.attribute]=a))}function wm(e,t){return t.toUpperCase()}const km={}.hasOwnProperty,xm={plugins:{to:"remarkPlugins",id:"change-plugins-to-remarkplugins"},renderers:{to:"components",id:"change-renderers-to-components"},astPlugins:{id:"remove-buggy-html-in-markdown-parser"},allowDangerousHtml:{id:"remove-buggy-html-in-markdown-parser"},escapeHtml:{id:"remove-buggy-html-in-markdown-parser"},source:{to:"children",id:"change-source-to-children"},allowNode:{to:"allowElement",id:"replace-allownode-allowedtypes-and-disallowedtypes"},allowedTypes:{to:"allowedElements",id:"replace-allownode-allowedtypes-and-disallowedtypes"},disallowedTypes:{to:"disallowedElements",id:"replace-allownode-allowedtypes-and-disallowedtypes"},includeNodeIndex:{to:"includeElementIndex",id:"change-includenodeindex-to-includeelementindex"}};function Sm(e){for(const r in xm)if(km.call(xm,r)&&km.call(e,r)){const e=xm[r];ve.warn(`[react-markdown] Warning: please ${e.to?`use \`${e.to}\` instead of`:"remove"} \`${r}\` (see for more info)`),delete xm[r]}const t=cu().use(ld).use(e.remarkPlugins||[]).use(Xd,{...e.remarkRehypeOptions,allowDangerousHtml:!0}).use(e.rehypePlugins||[]).use(Hf,e),n=new Kc;"string"==typeof e.children?n.value=e.children:void 0!==e.children&&null!==e.children&&ve.warn(`[react-markdown] Warning: please pass a string as \`children\` (not: \`${e.children}\`)`);const o=t.runSync(t.parse(n),n);if("root"!==o.type)throw new TypeError("Expected a `root` node");let a=r.createElement(r.Fragment,{},gm({options:e,schema:qf,listDepth:0},o));return e.className&&(a=r.createElement("div",{className:e.className},a)),a}Sm.propTypes={children:Zd.string,className:Zd.string,allowElement:Zd.func,allowedElements:Zd.arrayOf(Zd.string),disallowedElements:Zd.arrayOf(Zd.string),unwrapDisallowed:Zd.bool,remarkPlugins:Zd.arrayOf(Zd.oneOfType([Zd.object,Zd.func,Zd.arrayOf(Zd.oneOfType([Zd.bool,Zd.string,Zd.object,Zd.func,Zd.arrayOf(Zd.any)]))])),rehypePlugins:Zd.arrayOf(Zd.oneOfType([Zd.object,Zd.func,Zd.arrayOf(Zd.oneOfType([Zd.bool,Zd.string,Zd.object,Zd.func,Zd.arrayOf(Zd.any)]))])),sourcePos:Zd.bool,rawSourcePos:Zd.bool,skipHtml:Zd.bool,includeElementIndex:Zd.bool,transformLinkUri:Zd.oneOfType([Zd.func,Zd.bool]),linkTarget:Zd.oneOfType([Zd.func,Zd.string]),transformImageUri:Zd.func,components:Zd.object};var _m={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Em=r.createContext&&r.createContext(_m),Cm=function(){return Cm=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}Vm[43]=Hm,Vm[45]=Hm,Vm[46]=Hm,Vm[95]=Hm,Vm[72]=[Hm,Um],Vm[104]=[Hm,Um],Vm[87]=[Hm,qm],Vm[119]=[Hm,qm];const th={tokenize:function(e,t,n){const r=this;return Bu(e,(function(e){const o=r.events[r.events.length-1];return o&&"gfmFootnoteDefinitionIndent"===o[1].type&&4===o[2].sliceSerialize(o[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function nh(e,t,n){const r=this;let o=r.events.length;const a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i;for(;o--;){const e=r.events[o][1];if("labelImage"===e.type){i=e;break}if("gfmFootnoteCall"===e.type||"labelLink"===e.type||"label"===e.type||"image"===e.type||"link"===e.type)break}return function(o){if(!i||!i._balanced)return n(o);const s=fp(r.sliceSerialize({start:i.end,end:r.now()}));return 94===s.charCodeAt(0)&&a.includes(s.slice(1))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(o),e.exit("gfmFootnoteCallLabelMarker"),t(o)):n(o)}}function rh(e,t){let n=e.length;for(;n--;)if("labelImage"===e[n][1].type&&"enter"===e[n][0]){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},i={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",o,t],["exit",o,t],["enter",a,t],["enter",i,t],["exit",i,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...s),e}function oh(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a,i=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),s};function s(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(s){let u;return null===s||91===s||i++>999?n(s):93===s?a?(e.exit("chunkString"),u=e.exit("gfmFootnoteCallString"),o.includes(fp(r.sliceSerialize(u)))?function(n){return e.enter("gfmFootnoteCallLabelMarker"),e.consume(n),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}(s):n(s)):n(s):(e.consume(s),Ru(s)||(a=!0),92===s?c:l)}function c(t){return 91===t||92===t||93===t?(e.consume(t),i++,l):l(t)}}function ah(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a,i,s=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),l};function l(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),c):n(t)}function c(t){let o;return null===t||91===t||s>999?n(t):93===t?i?(o=e.exit("gfmFootnoteDefinitionLabelString"),a=fp(r.sliceSerialize(o)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d):n(t):Lu(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s++,c):(e.enter("chunkString").contentType="string",u(t))}function u(t){return null===t||Lu(t)||91===t||93===t||s>999?(e.exit("chunkString"),c(t)):(Ru(t)||(i=!0),s++,e.consume(t),92===t?p:u)}function p(t){return 91===t||92===t||93===t?(e.consume(t),s++,u):u(t)}function d(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),Bu(e,f,"gfmFootnoteDefinitionWhitespace")):n(t)}function f(e){return o.includes(a)||o.push(a),t(e)}}function ih(e,t,n){return e.check(Ku,t,e.attempt(th,t,n))}function sh(e){e.exit("gfmFootnoteDefinition")}function lh(e={}){let t=e.singleTilde;const n={tokenize:function(e,n,r){const o=this.previous,a=this.events;let i=0;return function(t){return 126===o&&"characterEscape"!==a[a.length-1][1].type?r(t):(e.enter("strikethroughSequenceTemporary"),s(t))};function s(a){const l=Uu(o);if(126===a)return i>1?r(a):(e.consume(a),i++,s);if(i<2&&!t)return r(a);const c=e.exit("strikethroughSequenceTemporary"),u=Uu(a);return c._open=!u||2===u&&Boolean(l),c._close=!l||2===l&&Boolean(u),n(a)}},resolveAll:function(e,t){let n=-1;for(;++n=4?n(o):(r._gfmTableDynamicInterruptHack=!0,e.check(r.parser.constructs.flow,(function(e){return r._gfmTableDynamicInterruptHack=!1,n(e)}),(function(e){return r._gfmTableDynamicInterruptHack=!1,t(e)}))(o))}}},resolve:function(e,t){let n,r,o,a,i,s,l,c=-1;for(;++ce}const kh="phrasing",xh=["autolink","link","image","label"],Sh={transforms:[function(e){!function(e,t,n,r){let o,a;"string"==typeof t||t instanceof RegExp?(a=[[t,n]],o=r):(a=t,o=n),o||(o={});const i=hh(o.ignore||[]),s=function(e){const t=[];if("object"!=typeof e)throw new TypeError("Expected array or object as schema");if(Array.isArray(e)){let n=-1;for(;++n0?{type:"text",value:s}:void 0),!1!==s&&(a!==n&&u.push({type:"text",value:e.value.slice(a,n)}),Array.isArray(s)?u.push(...s):s&&u.push(s),a=n+p[0].length,c=!0),!r.global)break;p=r.exec(e.value)}return c?(a?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const o=mh(e,"(");let a=mh(e,")");for(;-1!==r&&o>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),a++;return[e,n]}(n+r);if(!i[0])return!1;const s={type:"link",title:null,url:a+t+i[0],children:[{type:"text",value:t+i[0]}]};return i[1]?[s,{type:"text",value:i[1]}]:s}function Ah(e,t,n,r){return!(!Oh(r,!0)||/[-\d_]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function Oh(e,t){const n=e.input.charCodeAt(e.index-1);return(0===e.index||Fu(n)||Du(n))&&(!t||47!==n)}function Th(e){return e.label||!e.identifier?e.label||"":ed(e.identifier)}function Ph(e,t,n,r){let o=r.join.length;for(;o--;){const a=r.join[o](e,t,n,r);if(!0===a||1===a)break;if("number"==typeof a)return"\n".repeat(1+a);if(!1===a)return"\n\n\x3c!----\x3e\n\n"}return"\n\n"}const jh=/\r?\n|\r/g;function Nh(e){if(!e._compiled){const t=(e.atBreak?"[\\r\\n][\\t ]*":"")+(e.before?"(?:"+e.before+")":"");e._compiled=new RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(e.after?"(?:"+e.after+")":""),"g")}return e._compiled}function Rh(e,t){return Lh(e,t.inConstruct,!0)&&!Lh(e,t.notInConstruct,!1)}function Lh(e,t,n){if("string"==typeof t&&(t=[t]),!t||0===t.length)return n;let r=-1;for(;++r=c||e+10?" ":"")),o.shift(4),a+=o.move(function(e,t){const n=[];let r,o=0,a=0;for(;r=jh.exec(e);)i(e.slice(o,r.index)),n.push(r[0]),o=r.index+r[0].length,a++;return i(e.slice(o)),n.join("");function i(e){n.push(t(e,a,!e))}}(function(e,t,n){const r=t.indexStack,o=e.children||[],a=t.createTracker(n),i=[];let s=-1;for(r.push(-1);++s0&&("\r"===s||"\n"===s)&&"html"===c.type&&(a[a.length-1]=a[a.length-1].replace(/(\r?\n|\r)$/," "),s=" ",l=t.createTracker(n),l.move(a.join(""))),a.push(l.move(t.handle(c,e,t,{...l.current(),before:s,after:u}))),s=a[a.length-1].slice(-1)}return r.pop(),a.join("")}Wh.peek=function(){return"["},Jh.peek=function(){return"~"};const Xh={canContainEols:["delete"],enter:{strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},exit:{strikethrough:function(e){this.exit(e)}}},Zh={unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"]}],handlers:{delete:Jh}};function Jh(e,t,n,r){const o=Mh(r),a=n.enter("strikethrough");let i=o.move("~~");return i+=Qh(e,n,{...o.current(),before:i,after:"~"}),i+=o.move("~~"),a(),i}function eg(e,t,n){let r=e.value||"",o="`",a=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(r);)o+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++a"none"===e?null:e)),children:[]},e),this.setData("inTable",!0)},tableData:ag,tableHeader:ag,tableRow:function(e){this.enter({type:"tableRow",children:[]},e)}},exit:{codeText:function(e){let t=this.resume();this.getData("inTable")&&(t=t.replace(/\\([\\|])/g,ig));this.stack[this.stack.length-1].value=t,this.exit(e)},table:function(e){this.exit(e),this.setData("inTable")},tableData:og,tableHeader:og,tableRow:og}};function og(e){this.exit(e)}function ag(e){this.enter({type:"tableCell",children:[]},e)}function ig(e,t){return"|"===t?t:e}function sg(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,o=t.stringLength,a=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{table:function(e,t,n,r){return s(function(e,t,n){const r=e.children;let o=-1;const a=[],i=t.enter("table");for(;++ol&&(l=e[c].length);++ps[p])&&(s[p]=e)}n.push(a)}a[c]=n,i[c]=o}var u;let p=-1;if("object"==typeof n&&"length"in n)for(;++ps[p]&&(s[p]=a),f[p]=a),d[p]=i}a.splice(1,0,d),i.splice(1,0,f),c=-1;const m=[];for(;++c-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+a);let i=a.length+1;("tab"===o||"mixed"===o&&(t&&"list"===t.type&&t.spread||e.spread))&&(i=4*Math.ceil(i/4));const s=n.createTracker(r);s.move(a+" ".repeat(i-a.length)),s.shift(i);const l=n.enter("listItem"),c=n.indentLines(n.containerFlow(e,s.current()),(function(e,t,n){return t?(n?"":" ".repeat(i))+e:(n?a:a+" ".repeat(i-a.length))+e}));return l(),c}(e,t,n,{...r,...s.current()});return a&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,(function(e){return e+i}))),l}}};function ug(e){this.stack[this.stack.length-2].checked="taskListCheckValueChecked"===e.type}function pg(e={}){const t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",function(e){return Su([Gm,{document:{91:{tokenize:ah,continuation:{tokenize:ih},exit:sh}},text:{91:{tokenize:oh},93:{add:"after",tokenize:nh,resolveTo:rh}}},lh(e),ch,dh])}(e)),n("fromMarkdownExtensions",[Sh,{enter:{gfmFootnoteDefinition:Bh,gfmFootnoteDefinitionLabelString:zh,gfmFootnoteCall:Uh,gfmFootnoteCallString:Hh},exit:{gfmFootnoteDefinition:qh,gfmFootnoteDefinitionLabelString:$h,gfmFootnoteCall:Gh,gfmFootnoteCallString:Vh}},Xh,rg,lg]),n("toMarkdownExtensions",function(e){return{extensions:[_h,{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:Kh,footnoteReference:Wh}},Zh,sg(e),cg]}}(e))}var dg=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=p.reach);S+=x.value.length,x=x.next){var _=x.value;if(t.length>e.length)return;if(!(_ instanceof o)){var E,C=1;if(b){if(!(E=a(k,S,e,y))||E.index>=e.length)break;var A=E.index,O=E.index+E[0].length,T=S;for(T+=x.value.length;A>=T;)T+=(x=x.next).value.length;if(S=T-=x.value.length,x.value instanceof o)continue;for(var P=x;P!==t.tail&&(Tp.reach&&(p.reach=L);var I=x.prev;if(N&&(I=l(t,I,N),S+=N.length),c(t,I,C),x=l(t,I,new o(d,g?r.tokenize(j,g):j,v,j)),R&&l(t,x,R),C>1){var F={cause:d+","+m,reach:L};i(e,t,n,x.prev,S,F),p&&F.reach>p.reach&&(p.reach=F.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function c(e,t,n){for(var r=t.next,o=0;o"+a.content+""},r}(),fg=dg;dg.default=dg,fg.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},fg.languages.markup.tag.inside["attr-value"].inside.entity=fg.languages.markup.entity,fg.languages.markup.doctype.inside["internal-subset"].inside=fg.languages.markup,fg.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(fg.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:fg.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:fg.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},fg.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(fg.languages.markup.tag,"addAttribute",{value:function(e,t){fg.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:fg.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),fg.languages.html=fg.languages.markup,fg.languages.mathml=fg.languages.markup,fg.languages.svg=fg.languages.markup,fg.languages.xml=fg.languages.extend("markup",{}),fg.languages.ssml=fg.languages.xml,fg.languages.atom=fg.languages.xml,fg.languages.rss=fg.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},fg.languages.c=fg.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),fg.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),fg.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},fg.languages.c.string],char:fg.languages.c.char,comment:fg.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:fg.languages.c}}}}),fg.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete fg.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(fg),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(fg),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},o={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:o,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:o})}(fg),fg.languages.javascript=fg.languages.extend("clike",{"class-name":[fg.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),fg.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,fg.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:fg.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:fg.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:fg.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:fg.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:fg.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),fg.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:fg.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),fg.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),fg.languages.markup&&(fg.languages.markup.tag.addInlined("script","javascript"),fg.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),fg.languages.js=fg.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(fg),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(fg),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(fg),fg.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:fg.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},fg.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var s=d(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l=0&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function p(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var o={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",o),o.tokens=e.tokenize(o.code,o.grammar),e.hooks.run("after-tokenize",o),o.tokens}function c(t){var n={};n["interpolation-punctuation"]=o;var a=e.tokenize(t,n);if(3===a.length){var i=[1,1];i.push.apply(i,l(a[1],e.languages.javascript,"javascript")),a.splice.apply(a,i)}return new e.Token("interpolation",a,r.alias,t)}function u(t,n,r){var o=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),i=0,u={},p=l(o.map((function(e){if("string"==typeof e)return e;for(var n,o=e.content;-1!==t.indexOf(n=s(i++,r)););return u[n]=o,n})).join(""),n,r),d=Object.keys(u);return i=0,function e(t){for(var n=0;n=d.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var o=d[i],a="string"==typeof r?r:r.content,s=a.indexOf(o);if(-1!==s){++i;var l=a.substring(0,s),p=c(u[o]),f=a.substring(s+o.length),m=[];if(l&&m.push(l),m.push(p),f){var h=[f];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(p),new e.Token(r,p,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var p={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(d).join(""):d(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in p&&function t(n){for(var r=0,o=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(fg),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function a(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return o})),RegExp(e,t)}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(o.content[0].content[1])&&n.pop():"/>"===o.content[o.content.length-1].content||n.push({tagName:i(o.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(o);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}o.content&&"string"!=typeof o.content&&s(o.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(fg),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],o=[];/^\w+$/.test(n)||o.push(/\w+/.exec(n)[0]),"diff"===n&&o.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:o,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(fg),fg.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},fg.languages.go=fg.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),fg.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete fg.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],p=n.tokenStack[u],d="string"==typeof c?c:c.content,f=t(r,u),m=d.indexOf(f);if(m>-1){++o;var h=d.substring(0,m),g=new e.Token(r,e.tokenize(p,n.grammar),"language-"+r,p),y=d.substring(m+f.length),b=[];h&&b.push.apply(b,i([h])),b.push(g),y&&b.push.apply(b,i([y])),"string"==typeof c?s.splice.apply(s,[l,1].concat(b)):c.content=b}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(fg),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(fg),fg.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},fg.languages.webmanifest=fg.languages.json,fg.languages.less=fg.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),fg.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),fg.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},fg.languages.objectivec=fg.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete fg.languages.objectivec["class-name"],fg.languages.objc=fg.languages.objectivec,fg.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},fg.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},fg.languages.python["string-interpolation"].inside.interpolation.inside.rest=fg.languages.python,fg.languages.py=fg.languages.python,fg.languages.reason=fg.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),fg.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete fg.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(fg),fg.languages.scss=fg.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),fg.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),fg.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),fg.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),fg.languages.scss.atrule.inside.rest=fg.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(fg),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(fg),fg.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};var mg={Prism:fg,theme:{plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]}};function hg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gg(){return gg=Object.assign||function(e){for(var t=1;t0&&e[n-1]===t?e:e.concat(t)};function wg(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&-1===t.indexOf(r)&&(n[r]=e[r]);return n}var kg=function(e){function t(){for(var t=this,n=[],r=arguments.length;r--;)n[r]=arguments[r];e.apply(this,n),hg(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?function(e,t){var n=e.plain,r=Object.create(null),o=e.styles.reduce((function(e,n){var r=n.languages,o=n.style;return r&&!r.includes(t)||n.types.forEach((function(t){var n=gg({},e[t],o);e[t]=n})),e}),r);return o.root=n,o.plain=gg({},n,{backgroundColor:null}),o}(e.theme,e.language):void 0;return t.themeDict=n})),hg(this,"getLineProps",(function(e){var n=e.key,r=e.className,o=e.style,a=gg({},wg(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),i=t.getThemeDict(t.props);return void 0!==i&&(a.style=i.plain),void 0!==o&&(a.style=void 0!==a.style?gg({},a.style,o):o),void 0!==n&&(a.key=n),r&&(a.className+=" "+r),a})),hg(this,"getStyleForToken",(function(e){var n=e.types,r=e.empty,o=n.length,a=t.getThemeDict(t.props);if(void 0!==a){if(1===o&&"plain"===n[0])return r?{display:"inline-block"}:void 0;if(1===o&&!r)return a[n[0]];var i=r?{display:"inline-block"}:{},s=n.map((function(e){return a[e]}));return Object.assign.apply(Object,[i].concat(s))}})),hg(this,"getTokenProps",(function(e){var n=e.key,r=e.className,o=e.style,a=e.token,i=gg({},wg(e,["key","className","style","token"]),{className:"token "+a.types.join(" "),children:a.content,style:t.getStyleForToken(a),key:void 0});return void 0!==o&&(i.style=void 0!==i.style?gg({},i.style,o):o),void 0!==n&&(i.key=n),r&&(i.className+=" "+r),i})),hg(this,"tokenize",(function(e,t,n,r){var o={code:t,grammar:n,language:r,tokens:[]};e.hooks.run("before-tokenize",o);var a=o.tokens=e.tokenize(o.code,o.grammar,o.language);return e.hooks.run("after-tokenize",o),a}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,r=e.code,o=e.children,a=this.getThemeDict(this.props),i=t.languages[n],s=function(e){for(var t=[[]],n=[e],r=[0],o=[e.length],a=0,i=0,s=[],l=[s];i>-1;){for(;(a=r[i]++)0?u:["plain"],c=p):(u=vg(u,p.type),p.alias&&(u=vg(u,p.alias)),c=p.content),"string"==typeof c){var d=c.split(yg),f=d.length;s.push({types:u,content:d[0]});for(var m=1;m",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"\xa9","©":"\xa9","®":"\xae","®":"\xae","…":"\u2026","…":"\u2026","/":"/","/":"/"},Ig=function(e){return Lg[e]};function Fg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dg(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};Bg=Dg(Dg({},Bg),e)}(e.options.react),function(e){Mg=e}(e)}},qg=(0,r.createContext)(),Ug=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.usedNamespaces={}}var t,n;return t=e,(n=[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach((function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)}))}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}])&&zg(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Hg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=t.i18n,o=(0,r.useContext)(qg)||{},a=o.i18n,i=o.defaultNS,s=n||a||Mg;if(s&&!s.reportNamespaces&&(s.reportNamespaces=new Ug),!s){Tg("You will need to pass in an i18next instance by using initReactI18next");var l=function(e,t){return"string"==typeof t?t:t&&"object"===_g(t)&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e},c=[l,{},!1];return c.t=l,c.i18n={},c.ready=!1,c}s.options.react&&void 0!==s.options.react.wait&&Tg("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=Gg(Gg(Gg({},Bg),s.options.react),t),p=u.useSuspense,d=u.keyPrefix,f=e||i||s.options&&s.options.defaultNS;f="string"==typeof f?[f]:f||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(f);var m=(s.isInitialized||s.initializedStoreOnce)&&f.every((function(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0!==t.options.ignoreJSONStructure?t.hasLoadedNamespace(e,{lng:n.lng,precheck:function(t,r){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}):function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.languages[0],o=!!t.options&&t.options.fallbackLng,a=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;var i=function(e,n){var r=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===r||2===r};return!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!i(t.isLanguageChangingTo,e)||!t.hasResourceBundle(r,e)&&t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages)&&(!i(r,e)||o&&!i(a,e)))}(e,t,n):(Tg("i18n.languages were undefined or empty",t.languages),!0)}(e,s,u)}));function h(){return s.getFixedT(t.lng||null,"fallback"===u.nsMode?f:f[0],d)}var g=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Hg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hg(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,r.useState)(h),2),y=g[0],b=g[1],v=f.join();t.lng&&(v="".concat(t.lng).concat(v));var w=Wg(v),k=(0,r.useRef)(!0);(0,r.useEffect)((function(){var e=u.bindI18n,n=u.bindI18nStore;function r(){k.current&&b(h)}return k.current=!0,m||p||(t.lng?Ng(s,t.lng,f,(function(){k.current&&b(h)})):jg(s,f,(function(){k.current&&b(h)}))),m&&w&&w!==v&&k.current&&b(h),e&&s&&s.on(e,r),n&&s&&s.store.on(n,r),function(){k.current=!1,e&&s&&e.split(" ").forEach((function(e){return s.off(e,r)})),n&&s&&n.split(" ").forEach((function(e){return s.store.off(e,r)}))}}),[s,v]);var x=(0,r.useRef)(!0);(0,r.useEffect)((function(){k.current&&!x.current&&b(h),x.current=!1}),[s,d]);var S=[y,s,m];if(S.t=y,S.i18n=s,S.ready=m,m)return S;if(!m&&!p)return S;throw new Promise((function(e){t.lng?Ng(s,t.lng,f,(function(){return e()})):jg(s,f,(function(){return e()}))}))}function Yg(e,t,n){return n&&function(e){try{var t=new URL(e).hostname.replace(/^www\./,""),n=window.location.hostname.replace(/^www\./,"");return"localhost"!==n?t!==n:"mendable.ai"!==t}catch(e){return ve.log("catching error in isSourceOutsideDomain"),!1}}(e)||!n&&t}function Qg(e){return Tm({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4 19h16v2H4zm0-4h11v2H4zm0-4h16v2H4zm0-8h16v2H4zm0 4h11v2H4z"}}]})(e)}function Xg(e){return Tm({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19 2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.806 5 19s.55-.988 1.012-1H21V4c0-1.103-.897-2-2-2zm0 14H5V5c0-.806.55-.988 1-1h13v12z"}}]})(e)}function Zg(e){return Tm({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M22 7.999a1 1 0 0 0-.516-.874l-9.022-5a1.003 1.003 0 0 0-.968 0l-8.978 4.96a1 1 0 0 0-.003 1.748l9.022 5.04a.995.995 0 0 0 .973.001l8.978-5A1 1 0 0 0 22 7.999zm-9.977 3.855L5.06 7.965l6.917-3.822 6.964 3.859-6.918 3.852z"}},{tag:"path",attr:{d:"M20.515 11.126 12 15.856l-8.515-4.73-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.97-1.748z"}},{tag:"path",attr:{d:"M20.515 15.126 12 19.856l-8.515-4.73-.971 1.748 9 5a1 1 0 0 0 .971 0l9-5-.97-1.748z"}}]})(e)}function Jg(e){return Tm({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M8.465 11.293c1.133-1.133 3.109-1.133 4.242 0l.707.707 1.414-1.414-.707-.707c-.943-.944-2.199-1.465-3.535-1.465s-2.592.521-3.535 1.465L4.929 12a5.008 5.008 0 0 0 0 7.071 4.983 4.983 0 0 0 3.535 1.462A4.982 4.982 0 0 0 12 19.071l.707-.707-1.414-1.414-.707.707a3.007 3.007 0 0 1-4.243 0 3.005 3.005 0 0 1 0-4.243l2.122-2.121z"}},{tag:"path",attr:{d:"m12 4.929-.707.707 1.414 1.414.707-.707a3.007 3.007 0 0 1 4.243 0 3.005 3.005 0 0 1 0 4.243l-2.122 2.121c-1.133 1.133-3.109 1.133-4.242 0L10.586 12l-1.414 1.414.707.707c.943.944 2.199 1.465 3.535 1.465s2.592-.521 3.535-1.465L19.071 12a5.008 5.008 0 0 0 0-7.071 5.006 5.006 0 0 0-7.071 0z"}}]})(e)}var ey=function(e){e.children;var t=e.sources,n=e.sourcesStyle,o=e.sourcesFirst,a=void 0!==o&&o,i=e.sourcesDisplay,s=void 0===i?"short":i,l=e.prettySources,c=void 0!==l&&l,u=e.openInNewTab,p=void 0===u||u,d=e.legacySourceDisplay,f=void 0!==d&&d,m=e.onSourceClickedForTracking,h=e.openInNewTabForOutsideSources,g=void 0!==h&&h,y=(0,r.useState)(-1),b=y[0];y[1];var v=Kg().t;function w(e){return/^(f|ht)tps?:\/\//i.test(e)||(e="https://"+e),e}function k(e){return-1===b?{content:"",link:""}:e[b]}function x(e){var t=e.link;try{var n=e.source_name;if(n&&n.length>0)return n;if(-1!==t.indexOf("?mendable_source_name="))return t.split("?mendable_source_name=")[1];!0===c&&(t=function(e){var t;try{t=new URL(e)}catch(e){return"Invalid URL"}var n=t.pathname.replace(/^\/|\/$/g,"").split("/");if((n=n.filter((function(e){return e})).map((function(e){return decodeURIComponent(e.replace(/\+/g," "))}))).length>0&&n[n.length-1].includes(".")){var r=n[n.length-1];n[n.length-1]=r.split(".").slice(0,-1).join(".")}if(0===n.length)return t.hostname;var o=n.slice(-Math.min(2,n.length)).map((function(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_+]/g," ").split(" ").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join(" ")})).reverse().join(" - ");o=o.replace(/[^a-z0-9 -]/gi,"");try{if(o.match(/^\d+/g)){var a=o.split(" ");a[0].match(/\d+/g)&&(a.shift(),o=a.join(" "))}}catch(e){}return o.length>35&&(o=o.substring(0,35)+"..."),o}(t))}catch(e){ve.log(e)}try{if((t=(t=(t=t.replace("https://","")).replace("http://","")).replace("www.","")).length>48)return t.substring(0,48)+"..."}catch(e){}return t}return f?r.createElement("div",{style:{color:n.darkMode?"#ffffff":"#000000"},className:"ms-flex ms-w-full ms-flex-col ms-overflow-auto ms-rounded-md ms-text-base"},r.createElement("p",{style:{marginRight:0,marginLeft:0},className:"ms-my-2 ms-flex ms-items-center ms-text-sm ".concat(n.darkMode?"ms-text-gray-50":"ms-text-black")},v("verifiedSources"),":"," "),r.createElement("ol",{className:"ms-m-0 ms-ml-0 ms-p-0 ms-pl-1 ms-text-sm"},t.map((function(e,t){return r.createElement("li",{key:t,className:"ms-m-0 ms-ml-0 ms-list-inside ms-break-all ms-p-0 ms-pl-0 ms-text-sm"},r.createElement("a",{href:w(e.link),target:Yg(e.link,p,g||!1)?"_blank":"_self",onClick:function(){bl.capture("Navigating to a source",{source:e.link}),m&&m(e.link)},className:"ms-m-0 ms-p-0 ms-text-sm ms-underline ".concat(n.darkMode?"ms-text-white":"ms-text-black"," "),rel:"noreferrer"},x(e)))})))):r.createElement("div",{style:{color:n.darkMode?"#ffffff":"#000000"},className:"ms-flex ms-w-full ms-flex-col ms-overflow-auto ms-rounded-md ms-text-base"},r.createElement("div",null,r.createElement("div",{className:"ms-block"},r.createElement("p",{style:{marginRight:0,marginLeft:0},className:"ms-flex ms-items-center ".concat(a?"ms-m-0 ms-pb-2 ms-text-sm ms-font-semibold sm:ms-text-base":"ms-my-2 ms-text-sm"," ").concat(n.darkMode?"ms-text-gray-50":"ms-text-black")},a?r.createElement(Zg,{className:"ms-mr-[6px]"}):r.createElement(r.Fragment,null),v("verifiedSources"),a?"":": "),r.createElement("nav",{className:"ms-flex ms-w-full ms-flex-col ms-items-start ms-justify-start ms-overflow-auto ms-rounded-lg ms-text-center sm:ms-w-fit sm:ms-flex-row sm:ms-flex-wrap"},t.map((function(e,t){return r.createElement("a",{href:w(e.link),target:Yg(e.link,p,g||!1)?"_blank":"_self",tabIndex:-1,key:t,onClick:function(){bl.capture("Navigating to a source",{source:e.link}),m&&m(e.link)},style:{},className:"ms-mr-2 ms-w-fit ms-min-w-[64px] ms-max-w-xs sm:ms-max-w-[225px]\n ".concat(n.darkMode?"ms-bg-white ms-bg-opacity-0 ms-text-white ":"ms-bg-black ms-bg-opacity-0 ms-text-gray-800 "," ").concat(n.darkMode?"hover:ms-border-gray-100":"hover:ms-border-gray-800"," group ms-relative ms-m-0 ms-mb-2 ms-overflow-hidden ms-whitespace-nowrap ms-rounded-lg ms-border ms-border-gray-500 ms-border-opacity-20 ms-p-0 ms-py-1 ms-px-2 ms-text-xs ms-font-normal ms-no-underline hover:ms-cursor-pointer focus:ms-z-10 focus:ms-ring-transparent sm:ms-min-w-0 sm:ms-py-2 sm:ms-text-sm "),rel:"noreferrer"},r.createElement("div",{className:"ms-flex ms-flex-col ms-items-start ms-justify-start"},"long"===s&&r.createElement("span",null,String(t+1)+".\t"+(e.metadata&&e.metadata.title?e.metadata.title:e.link)),"long"===s&&r.createElement("div",{className:"ms-mt-1 w-fit ms-flex ms-items-center ms-justify-start"},r.createElement(Jg,{size:12,style:{opacity:.7},className:"ms-mr-1"}),r.createElement("span",{style:{opacity:.7},className:"ms-truncate ms-text-xs ".concat(n.darkMode?"ms-text-white":"ms-text-black")},x(e))),"short"===s&&r.createElement("div",{className:"w-fit ms-flex ms-items-center ms-justify-start"},r.createElement("span",{className:"ms-truncate ".concat(n.darkMode?"ms-text-white":"ms-text-black")},String(t+1)+".\t"+x(e)))))})))),-1!==b&&r.createElement("div",{tabIndex:-1,className:"ms-relative ms-mt-1 ms-flex ms-w-full ms-flex-col ms-gap-2 ms-rounded-lg ms-bg-gray-50 ms-p-2 ".concat(n.darkMode?"ms-bg-opacity-5":""," ")},r.createElement("div",{className:"ms-relative ms-ml-4 ms-h-fit ms-overflow-auto "},r.createElement("div",{className:"ms-flex ms-w-full ms-flex-row ms-items-center ms-justify-between"},r.createElement("div",{style:{textDecorationColor:n.accentColor},className:"ms-flex ms-max-w-full ms-flex-col ms-items-end ms-gap-1 ms-underline hover:ms-cursor-pointer"}),r.createElement("div",{className:"ms-flex ms-max-w-full ms-flex-col ms-items-end ms-gap-1 hover:ms-cursor-pointer"},r.createElement("a",{style:{color:n.accentColor},className:" ms-mb-2 ms-flex ms-items-center ms-text-sm",target:"_blank",href:w(k(t).link),rel:"noreferrer",onClick:function(){bl.capture("clicking view in docs",{source:k(t).link})}},r.createElement(jm,{className:"ms-mr-1"}),"View in Docs"))),r.createElement(Sm,{components:{code:function(e){e.node;var t=e.inline,o=e.className,a=e.children,i=ke(e,["node","inline","className","children"]),s=/language-(\w+)/.exec(o||"");return t?r.createElement("code",we({style:{background:n.accentColor},className:" ms-m-1 ms-rounded-md ms-bg-opacity-50 ms-p-1 before:ms-content-none after:ms-content-none"},i),String(a)):r.createElement("code",we({className:"ms-rounded-md ms-bg-transparent ms-bg-opacity-25 before:ms-content-none after:ms-content-none"},i),r.createElement(Sg,{language:s?s[1]:"",children:String(a),isDarkMode:n.darkMode}))}},remarkPlugins:[pg],linkTarget:"_blank",className:"ms-prose ms-mt-2 ms-text-sm sm:ms-text-base ".concat(n.darkMode?"ms-text-white prose-headings:ms-text-white prose-p:ms-text-white prose-a:ms-text-white prose-blockquote:ms-text-white prose-strong:ms-text-white prose-code:ms-text-white prose-li:ms-text-white":"ms-text-gray-900 prose-headings:ms-text-gray-900 prose-p:ms-text-gray-900 prose-a:ms-text-gray-900 prose-blockquote:ms-text-gray-900 prose-strong:ms-text-gray-900 prose-code:ms-text-gray-100 prose-li:ms-text-gray-900")},k(t).content)))))};function ty(e){var t=e.text,n=e.darkMode;return r.createElement("div",{className:"ms-flex ms-mb-2 ms-w-full ms-items-start ms-justify-start ms-rounded ms-border ms-border-yellow-300 ms-bg-yellow-100 ms-bg-opacity-10 ms-p-2 ms-text-sm ".concat(n?"ms-text-white":"ms-text-black")},r.createElement(r.Fragment,null,r.createElement(Sm,{linkTarget:"_blank",className:" ms-prose ms-text-xs sm:ms-text-sm ".concat(n?"prose-headings:ms-text-white prose-p:ms-text-white prose-a:ms-text-white prose-blockquote:ms-text-white prose-strong:ms-text-white prose-code:ms-text-white prose-li:ms-text-white":"prose-headings:ms-text-gray-900 prose-p:ms-text-gray-900 prose-a:ms-text-gray-900 prose-blockquote:ms-text-gray-900 prose-strong:ms-text-gray-900 prose-code:ms-text-gray-100 prose-li:ms-text-gray-900"," $")},t)))}function ny(e){var t=e.text,n=e.darkMode;return r.createElement("div",{className:"ms-flex ms-mb-2 ms-w-full ms-items-start ms-justify-start ms-rounded ms-border ms-border-red-300 ms-bg-red-100 ms-bg-opacity-10 ms-p-2 ms-text-sm ".concat(n?"ms-text-white":"ms-text-black")},r.createElement(r.Fragment,null,r.createElement(Sm,{linkTarget:"_blank",className:" ms-prose ms-text-xs sm:ms-text-sm ".concat(n?"prose-headings:ms-text-white prose-p:ms-text-white prose-a:ms-text-white prose-blockquote:ms-text-white prose-strong:ms-text-white prose-code:ms-text-white prose-li:ms-text-white":"prose-headings:ms-text-gray-900 prose-p:ms-text-gray-900 prose-a:ms-text-gray-900 prose-blockquote:ms-text-gray-900 prose-strong:ms-text-gray-900 prose-code:ms-text-gray-100 prose-li:ms-text-gray-900"," $")},t)))}function ry(e){var t=e.isUp,n=e.color,o=e.onClick,a=e.isLiked,i=e.isDarkMode,s=Kg().t;return r.createElement("button",{style:{backgroundColor:a?n+"55":"transparent"},className:"ms-m-0 ms-p-0 ms-text-white hover:ms-bg-white \n ".concat(a?i?"ms-bg-white ms-bg-opacity-0 ms-text-white ":"ms-bg-black ms-bg-opacity-0 ms-text-gray-800 ":"","\n ").concat(i?"hover:ms-border-gray-100":"hover:ms-border-gray-800"," ms-rounded-md ms-border ms-border-gray-500 ms-border-opacity-20 ms-py-1 ms-px-2 ms-text-xs ms-font-medium ms-transition-all hover:ms-cursor-pointer hover:ms-bg-opacity-10 sm:ms-text-sm ").concat(a?" hover:ms-bg-opacity-80":"ms-bg-transparent"),onClick:o,disabled:a},t?r.createElement("span",{id:"yes-button","aria-label":"thumbs up",className:"".concat(i?"ms-text-white":"ms-text-black")},s("yes")):r.createElement("span",{id:"no-button","aria-label":"thumbs down",className:"".concat(i?"ms-text-white":"ms-text-black")},s("no")))}function oy(e){var t=e.onThumbsUp,n=e.onThumbsDown,o=e.isDarkMode,a=e.color,i=e.liked,s=void 0!==i&&i,l=e.disliked,c=void 0!==l&&l,u=(0,r.useState)(s),p=u[0],d=u[1],f=(0,r.useState)(c),m=f[0],h=f[1];return r.createElement("div",{className:"ms-mt-0 ms-flex ms-flex-row ms-space-x-2 ms-opacity-100 sm:ms-mt-2"},r.createElement(ry,{isUp:!0,color:a,isDarkMode:o,onClick:function(){t(),d(!0),h(!1)},isLiked:p}),r.createElement(ry,{isUp:!1,color:a,isDarkMode:o,onClick:function(){n(),d(!1),h(!0)},isLiked:m}))}function ay(e){return ay="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ay(e)}function iy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function sy(e){var t=function(e){if("object"!==ay(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ay(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ay(t)?t:String(t)}function ly(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};iy(this,e),this.init(t,n)}return cy(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||vy,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1?t-1:0),r=1;r-1?e.replace(/###/g,"."):e}function o(){return!e||"string"==typeof e}for(var a="string"!=typeof t?[].concat(t):t.split(".");a.length>1;){if(o())return{};var i=r(a.shift());!e[i]&&n&&(e[i]=new n),e=Object.prototype.hasOwnProperty.call(e,i)?e[i]:{}}return o()?{}:{obj:e,k:r(a.shift())}}function Ey(e,t,n){var r=_y(e,t,Object);r.obj[r.k]=n}function Cy(e,t){var n=_y(e,t),r=n.obj,o=n.k;if(r)return r[o]}function Ay(e,t,n){for(var r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):Ay(e[r],t[r],n):e[r]=t[r]);return e}function Oy(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Ty={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Py(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(function(e){return Ty[e]})):e}var jy="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,Ny=[" ",",","?","!",";"];function Ry(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),o=e,a=0;aa+i;)i++,l=o[s=r.slice(a,a+i).join(n)];if(void 0===l)return;if(null===l)return null;if(t.endsWith(s)){if("string"==typeof l)return l;if(s&&"string"==typeof l[s])return l[s]}var c=r.slice(a+i).join(n);return c?Ry(l,c,n):void 0}o=o[r[a]]}return o}}function Ly(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Iy(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return iy(this,t),r=e.call(this),jy&&ky.call(uy(r)),r.data=n||{},r.options=o,void 0===r.options.keySeparator&&(r.options.keySeparator="."),void 0===r.options.ignoreJSONStructure&&(r.options.ignoreJSONStructure=!0),r}return cy(t,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,a=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure,i=[e,t];n&&"string"!=typeof n&&(i=i.concat(n)),n&&"string"==typeof n&&(i=i.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(i=e.split("."));var s=Cy(this.data,i);return s||!a||"string"!=typeof n?s:Ry(this.data&&this.data[e]&&this.data[e][t],n,o)}},{key:"addResource",value:function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},a=this.options.keySeparator;void 0===a&&(a=".");var i=[e,t];n&&(i=i.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(r=t,t=(i=e.split("."))[1]),this.addNamespaces(t),Ey(this.data,i,r),o.silent||this.emit("added",e,t,n,r)}},{key:"addResources",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var o in n)"string"!=typeof n[o]&&"[object Array]"!==Object.prototype.toString.apply(n[o])||this.addResource(e,t,o,n[o],{silent:!0});r.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[e,t];e.indexOf(".")>-1&&(r=n,n=t,t=(i=e.split("."))[1]),this.addNamespaces(t);var s=Cy(this.data,i)||{};r?Ay(s,n,o):s=Iy(Iy({},s),n),Ey(this.data,i,s),a.silent||this.emit("added",e,t,n)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?Iy(Iy({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((function(e){return t[e]&&Object.keys(t[e]).length>0}))}},{key:"toJSON",value:function(){return this.data}}]),t}(),Dy={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,r,o){var a=this;return e.forEach((function(e){a.processors[e]&&(t=a.processors[e].process(t,n,r,o))})),t}};function My(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function By(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return iy(this,t),r=e.call(this),jy&&ky.call(uy(r)),function(e,t,n){["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((function(e){t[e]&&(n[e]=t[e])}))}(0,n,uy(r)),r.options=o,void 0===r.options.keySeparator&&(r.options.keySeparator="."),r.logger=wy.create("translator"),r}return cy(t,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],a=n&&e.indexOf(n)>-1,i=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";var r=Ny.filter((function(e){return t.indexOf(e)<0&&n.indexOf(e)<0}));if(0===r.length)return!0;var o=new RegExp("(".concat(r.map((function(e){return"?"===e?"\\?":e})).join("|"),")")),a=!o.test(e);if(!a){var i=e.indexOf(n);i>0&&!o.test(e.substring(0,i))&&(a=!0)}return a}(e,n,r));if(a&&!i){var s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:o};var l=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(l[0])>-1)&&(o=l.shift()),e=l.join(r)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}},{key:"translate",value:function(e,n,r){var o=this;if("object"!==ay(n)&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"===ay(n)&&(n=By({},n)),n||(n={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var a=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,s=this.extractFromKey(e[e.length-1],n),l=s.key,c=s.namespaces,u=c[c.length-1],p=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p&&"cimode"===p.toLowerCase()){if(d){var f=n.nsSeparator||this.options.nsSeparator;return a?{res:"".concat(u).concat(f).concat(l),usedKey:l,exactUsedKey:l,usedLng:p,usedNS:u}:"".concat(u).concat(f).concat(l)}return a?{res:l,usedKey:l,exactUsedKey:l,usedLng:p,usedNS:u}:l}var m=this.resolve(e,n),h=m&&m.res,g=m&&m.usedKey||l,y=m&&m.exactUsedKey||l,b=Object.prototype.toString.apply(h),v=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,w=!this.i18nFormat||this.i18nFormat.handleAsObject;if(w&&h&&"string"!=typeof h&&"boolean"!=typeof h&&"number"!=typeof h&&["[object Number]","[object Function]","[object RegExp]"].indexOf(b)<0&&("string"!=typeof v||"[object Array]"!==b)){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var k=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,h,By(By({},n),{},{ns:c})):"key '".concat(l," (").concat(this.language,")' returned an object instead of string.");return a?(m.res=k,m):k}if(i){var x="[object Array]"===b,S=x?[]:{},_=x?y:g;for(var E in h)if(Object.prototype.hasOwnProperty.call(h,E)){var C="".concat(_).concat(i).concat(E);S[E]=this.translate(C,By(By({},n),{joinArrays:!1,ns:c})),S[E]===C&&(S[E]=h[E])}h=S}}else if(w&&"string"==typeof v&&"[object Array]"===b)(h=h.join(v))&&(h=this.extendTranslation(h,e,n,r));else{var A=!1,O=!1,T=void 0!==n.count&&"string"!=typeof n.count,P=t.hasDefaultValue(n),j=T?this.pluralResolver.getSuffix(p,n.count,n):"",N=n["defaultValue".concat(j)]||n.defaultValue;!this.isValidLookup(h)&&P&&(A=!0,h=N),this.isValidLookup(h)||(O=!0,h=l);var R=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&O?void 0:h,L=P&&N!==h&&this.options.updateMissing;if(O||A||L){if(this.logger.log(L?"updateKey":"missingKey",p,u,l,L?N:h),i){var I=this.resolve(l,By(By({},n),{},{keySeparator:!1}));I&&I.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var F=[],D=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&D&&D[0])for(var M=0;M1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((function(e){if(!i.isValidLookup(t)){var l=i.extractFromKey(e,s),c=l.key;n=c;var u=l.namespaces;i.options.fallbackNS&&(u=u.concat(i.options.fallbackNS));var p=void 0!==s.count&&"string"!=typeof s.count,d=p&&!s.ordinal&&0===s.count&&i.pluralResolver.shouldUseIntlApi(),f=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,m=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);u.forEach((function(e){i.isValidLookup(t)||(a=e,!zy["".concat(m[0],"-").concat(e)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(a)&&(zy["".concat(m[0],"-").concat(e)]=!0,i.logger.warn('key "'.concat(n,'" for languages "').concat(m.join(", "),'" won\'t get resolved as namespace "').concat(a,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach((function(n){if(!i.isValidLookup(t)){o=n;var a,l=[c];if(i.i18nFormat&&i.i18nFormat.addLookupKeys)i.i18nFormat.addLookupKeys(l,c,n,e,s);else{var u;p&&(u=i.pluralResolver.getSuffix(n,s.count,s));var m="".concat(i.options.pluralSeparator,"zero");if(p&&(l.push(c+u),d&&l.push(c+m)),f){var h="".concat(c).concat(i.options.contextSeparator).concat(s.context);l.push(h),p&&(l.push(h+u),d&&l.push(h+m))}}for(;a=l.pop();)i.isValidLookup(t)||(r=a,t=i.getResource(n,e,a,s))}})))}))}})),{res:t,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:a}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,12)&&void 0!==e[n])return!0;return!1}}]),t}();function qy(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Uy=function(){function e(t){iy(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=wy.create("languageUtils")}return cy(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map((function(e){return e.toLowerCase()})):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=qy(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=qy(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=qy(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach((function(e){if(!t){var r=n.formatLanguageCode(e);n.options.supportedLngs&&!n.isSupportedCode(r)||(t=r)}})),!t&&this.options.supportedLngs&&e.forEach((function(e){if(!t){var r=n.getLanguagePartFromCode(e);if(n.isSupportedCode(r))return t=r;t=n.options.supportedLngs.find((function(e){return e===r?e:e.indexOf("-")<0&&r.indexOf("-")<0?void 0:0===e.indexOf(r)?e:void 0}))}})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),o=[],a=function(e){e&&(n.isSupportedCode(e)?o.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&a(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&a(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&a(this.getLanguagePartFromCode(e))):"string"==typeof e&&a(this.formatLanguageCode(e)),r.forEach((function(e){o.indexOf(e)<0&&a(n.formatLanguageCode(e))})),o}}]),e}(),Hy=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Vy={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},Gy=["v1","v2","v3"],Wy={zero:0,one:1,two:2,few:3,many:4,other:5},Ky=function(){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};iy(this,e),this.languageUtils=t,this.options=r,this.logger=wy.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=(n={},Hy.forEach((function(e){e.lngs.forEach((function(t){n[t]={numbers:e.nr,plurals:Vy[e.fc]}}))})),n)}return cy(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map((function(e){return"".concat(t).concat(e)}))}},{key:"getSuffixes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.getRule(e,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((function(e,t){return Wy[e]-Wy[t]})).map((function(e){return"".concat(t.options.prepend).concat(e)})):r.numbers.map((function(r){return t.getSuffix(e,r,n)})):[]}},{key:"getSuffix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRule(e,n);return r?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(r.select(t)):this.getSuffixRetroCompatible(r,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var n=this,r=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),o=e.numbers[r];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===o?o="plural":1===o&&(o=""));var a=function(){return n.options.prepend&&o.toString()?n.options.prepend+o.toString():o.toString()};return"v1"===this.options.compatibilityJSON?1===o?"":"number"==typeof o?"_plural_".concat(o.toString()):a():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?a():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}},{key:"shouldUseIntlApi",value:function(){return!Gy.includes(this.options.compatibilityJSON)}}]),e}();function Yy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qy(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=function(e,t,n){var r=Cy(e,n);return void 0!==r?r:Cy(t,n)}(e,t,n);return!a&&o&&"string"==typeof n&&void 0===(a=Ry(e,n,r))&&(a=Ry(t,n,r)),a}var Zy=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};iy(this,e),this.logger=wy.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return cy(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:Py,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?Oy(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?Oy(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?Oy(t.nestingPrefix):t.nestingPrefixEscaped||Oy("$t("),this.nestingSuffix=t.nestingSuffix?Oy(t.nestingSuffix):t.nestingSuffixEscaped||Oy(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,r){var o,a,i,s=this,l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(e){return e.replace(/\$/g,"$$$$")}var u=function(e){if(e.indexOf(s.formatSeparator)<0){var o=Xy(t,l,e,s.options.keySeparator,s.options.ignoreJSONStructure);return s.alwaysFormat?s.format(o,void 0,n,Qy(Qy(Qy({},r),t),{},{interpolationkey:e})):o}var a=e.split(s.formatSeparator),i=a.shift().trim(),c=a.join(s.formatSeparator).trim();return s.format(Xy(t,l,i,s.options.keySeparator,s.options.ignoreJSONStructure),c,n,Qy(Qy(Qy({},r),t),{},{interpolationkey:i}))};this.resetRegExp();var p=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,d=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return c(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?c(s.escape(e)):c(e)}}].forEach((function(t){for(i=0;o=t.regex.exec(e);){var n=o[1].trim();if(void 0===(a=u(n)))if("function"==typeof p){var l=p(e,o,r);a="string"==typeof l?l:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a="";else{if(d){a=o[0];continue}s.logger.warn("missed to pass in variable ".concat(n," for interpolating ").concat(e)),a=""}else"string"==typeof a||s.useRawValueToEscape||(a=Sy(a));var c=t.safeValue(a);if(e=e.replace(o[0],c),d?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++i>=s.maxReplaces)break}})),e}},{key:"nest",value:function(e,t){var n,r,o,a=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function s(e,t){var n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;var r=e.split(new RegExp("".concat(n,"[ ]*{"))),a="{".concat(r[1]);e=r[0];var i=(a=this.interpolate(a,o)).match(/'/g),s=a.match(/"/g);(i&&i.length%2==0&&!s||s.length%2!=0)&&(a=a.replace(/'/g,'"'));try{o=JSON.parse(a),t&&(o=Qy(Qy({},t),o))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(n).concat(a)}return delete o.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){var l=[];(o=(o=Qy({},i)).replace&&"string"!=typeof o.replace?o.replace:o).applyPostProcessor=!1,delete o.defaultValue;var c=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){var u=n[1].split(this.formatSeparator).map((function(e){return e.trim()}));n[1]=u.shift(),l=u,c=!0}if((r=t(s.call(this,n[1].trim(),o),o))&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=Sy(r)),r||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),r=""),c&&(r=l.reduce((function(e,t){return a.format(e,t,i.lng,Qy(Qy({},i),{},{interpolationkey:n[1].trim()}))}),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}]),e}();function Jy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function eb(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};iy(this,e),this.logger=wy.create("formatter"),this.options=t,this.formats={number:tb((function(e,t){var n=new Intl.NumberFormat(e,eb({},t));return function(e){return n.format(e)}})),currency:tb((function(e,t){var n=new Intl.NumberFormat(e,eb(eb({},t),{},{style:"currency"}));return function(e){return n.format(e)}})),datetime:tb((function(e,t){var n=new Intl.DateTimeFormat(e,eb({},t));return function(e){return n.format(e)}})),relativetime:tb((function(e,t){var n=new Intl.RelativeTimeFormat(e,eb({},t));return function(e){return n.format(e,t.range||"day")}})),list:tb((function(e,t){var n=new Intl.ListFormat(e,eb({},t));return function(e){return n.format(e)}}))},this.init(t)}return cy(e,[{key:"init",value:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=tb(t)}},{key:"format",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=t.split(this.formatSeparator).reduce((function(e,t){var a=function(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var r=e.split("(");t=r[0].toLowerCase().trim();var o=r[1].substring(0,r[1].length-1);"currency"===t&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach((function(e){if(e){var t=function(e){return function(e){if(Array.isArray(e))return e}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return gy(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gy(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e.split(":")),r=t[0],o=t.slice(1).join(":").trim().replace(/^'+|'+$/g,"");n[r.trim()]||(n[r.trim()]=o),"false"===o&&(n[r.trim()]=!1),"true"===o&&(n[r.trim()]=!0),isNaN(o)||(n[r.trim()]=parseInt(o,10))}}))}return{formatName:t,formatOptions:n}}(t),i=a.formatName,s=a.formatOptions;if(r.formats[i]){var l=e;try{var c=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},u=c.locale||c.lng||o.locale||o.lng||n;l=r.formats[i](e,u,eb(eb(eb({},s),o),c))}catch(e){r.logger.warn(e)}return l}return r.logger.warn("there was no format function for ".concat(i)),e}),e);return a}}]),e}();function rb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ob(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{};return iy(this,t),a=e.call(this),jy&&ky.call(uy(a)),a.backend=n,a.store=r,a.services=o,a.languageUtils=o.languageUtils,a.options=i,a.logger=wy.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=i.maxParallelReads||10,a.readingCalls=0,a.maxRetries=i.maxRetries>=0?i.maxRetries:5,a.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,i.backend,i),a}return cy(t,[{key:"queueLoad",value:function(e,t,n,r){var o=this,a={},i={},s={},l={};return e.forEach((function(e){var r=!0;t.forEach((function(t){var s="".concat(e,"|").concat(t);!n.reload&&o.store.hasResourceBundle(e,t)?o.state[s]=2:o.state[s]<0||(1===o.state[s]?void 0===i[s]&&(i[s]=!0):(o.state[s]=1,r=!1,void 0===i[s]&&(i[s]=!0),void 0===a[s]&&(a[s]=!0),void 0===l[t]&&(l[t]=!0)))})),r||(s[e]=!0)})),(Object.keys(a).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(a),pending:Object.keys(i),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}},{key:"loaded",value:function(e,t,n){var r=e.split("|"),o=r[0],a=r[1];t&&this.emit("failedLoading",o,a,t),n&&this.store.addResourceBundle(o,a,n),this.state[e]=t?-1:2;var i={};this.queue.forEach((function(n){!function(e,t,n){var r=_y(e,t,Object),o=r.obj,a=r.k;o[a]=o[a]||[],o[a].push(n)}(n.loaded,[o],a),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((function(e){i[e]||(i[e]={});var t=n.loaded[e];t.length&&t.forEach((function(t){void 0===i[e][t]&&(i[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",i),this.queue=this.queue.filter((function(e){return!e.done}))}},{key:"read",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,i=arguments.length>5?arguments[5]:void 0;if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)this.waitingReads.push({lng:e,ns:t,fcName:n,tried:o,wait:a,callback:i});else{this.readingCalls++;var s=function(s,l){if(r.readingCalls--,r.waitingReads.length>0){var c=r.waitingReads.shift();r.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}s&&l&&o2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var a=this.queueLoad(e,t,r,o);if(!a.toLoad.length)return a.pending.length||o(),null;a.toLoad.forEach((function(e){n.loadOne(e)}))}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=e.split("|"),o=r[0],a=r[1];this.read(o,a,"read",void 0,void 0,(function(r,i){r&&t.logger.warn("".concat(n,"loading namespace ").concat(a," for language ").concat(o," failed"),r),!r&&i&&t.logger.log("".concat(n,"loaded namespace ").concat(a," for language ").concat(o),i),t.loaded(e,r,i)}))}},{key:"saveMissing",value:function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn('did not save key "'.concat(n,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){var s=ob(ob({},a),{},{isUpdate:o}),l=this.backend.create.bind(this.backend);if(l.length<6)try{var c;(c=5===l.length?l(e,t,n,r,s):l(e,t,n,r))&&"function"==typeof c.then?c.then((function(e){return i(null,e)})).catch(i):i(null,c)}catch(e){i(e)}else l(e,t,n,r,i,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}]),t}();function ib(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===ay(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===ay(e[2])||"object"===ay(e[3])){var n=e[3]||e[2];Object.keys(n).forEach((function(e){t[e]=n[e]}))}return t},interpolation:{escapeValue:!0,format:function(e,t,n,r){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function sb(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function lb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cb(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;if(iy(this,t),n=e.call(this),jy&&ky.call(uy(n)),n.options=sb(o),n.services={},n.logger=wy,n.modules={external:[]},r=uy(n),Object.getOwnPropertyNames(Object.getPrototypeOf(r)).forEach((function(e){"function"==typeof r[e]&&(r[e]=r[e].bind(r))})),a&&!n.isInitialized&&!o.isClone){if(!n.options.initImmediate)return n.init(o,a),fy(n,uy(n));setTimeout((function(){n.init(o,a)}),0)}return n}return cy(t,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));var r=ib();function o(e){return e?"function"==typeof e?new e:e:null}if(this.options=cb(cb(cb({},r),this.options),sb(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=cb(cb({},r.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){var a;this.modules.logger?wy.init(o(this.modules.logger),this.options):wy.init(null,this.options),this.modules.formatter?a=this.modules.formatter:"undefined"!=typeof Intl&&(a=nb);var i=new Uy(this.options);this.store=new Fy(this.options.resources,this.options);var s=this.services;s.logger=wy,s.resourceStore=this.store,s.languageUtils=i,s.pluralResolver=new Ky(i,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!a||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(s.formatter=o(a),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new Zy(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new ab(o(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?n-1:0),o=1;o0&&"dev"!==l[0]&&(this.options.lng=l[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments)}})),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments),e}}));var c=xy(),u=function(){var t=function(t,r){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),c.resolve(r),n(t,r)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),c}},{key:"loadResources",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ub,r="string"==typeof e?e:this.language;if("function"==typeof e&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase())return n();var o=[],a=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach((function(e){o.indexOf(e)<0&&o.push(e)}))};r?a(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((function(e){return a(e)})),this.options.preload&&this.options.preload.forEach((function(e){return a(e)})),this.services.backendConnector.load(o,this.options.ns,(function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),n(e)}))}else n(null)}},{key:"reloadResources",value:function(e,t,n){var r=xy();return e||(e=this.languages),t||(t=this.options.ns),n||(n=ub),this.services.backendConnector.reload(e,t,(function(e){r.resolve(),n(e)})),r}},{key:"use",value:function(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&Dy.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var r=xy();this.emit("languageChanging",e);var o=function(e){n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.resolvedLanguage=void 0,n.setResolvedLanguage(e)},a=function(a){e||a||!n.services.languageDetector||(a=[]);var i="string"==typeof a?a:n.services.languageUtils.getBestMatchFromCodes(a);i&&(n.language||o(i),n.translator.language||n.translator.changeLanguage(i),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage&&n.services.languageDetector.cacheUserLanguage(i)),n.loadResources(i,(function(e){!function(e,a){a?(o(a),n.translator.changeLanguage(a),n.isLanguageChangingTo=void 0,n.emit("languageChanged",a),n.logger.log("languageChanged",a)):n.isLanguageChangingTo=void 0,r.resolve((function(){return n.t.apply(n,arguments)})),t&&t(e,(function(){return n.t.apply(n,arguments)}))}(e,i)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),r}},{key:"getFixedT",value:function(e,t,n){var r=this,o=function e(t,o){var a;if("object"!==ay(o)){for(var i=arguments.length,s=new Array(i>2?i-2:0),l=2;l1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var r=n.lng||this.resolvedLanguage||this.languages[0],o=!!this.options&&this.options.fallbackLng,a=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;var i=function(e,n){var r=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===r||2===r};if(n.precheck){var s=n.precheck(this,i);if(void 0!==s)return s}return!(!this.hasResourceBundle(r,e)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!i(r,e)||o&&!i(a,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,r=xy();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((function(e){n.options.ns.indexOf(e)<0&&n.options.ns.push(e)})),this.loadResources((function(e){r.resolve(),t&&t(e)})),r):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=xy();"string"==typeof e&&(e=[e]);var r=this.options.preload||[],o=e.filter((function(e){return r.indexOf(e)<0}));return o.length?(this.options.preload=r.concat(o),this.loadResources((function(e){n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";var t=this.services&&this.services.languageUtils||new Uy(ib());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ub,o=cb(cb(cb({},this.options),n),{isClone:!0}),a=new t(o);return void 0===n.debug&&void 0===n.prefix||(a.logger=a.logger.clone(n)),["store","services","language"].forEach((function(t){a[t]=e[t]})),a.services=cb({},this.services),a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a.translator=new $y(a.services,a.options),a.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}));var db=pb.createInstance();db.createInstance=pb.createInstance,db.createInstance,db.dir,db.init,db.loadResources,db.reloadResources,db.use,db.changeLanguage,db.getFixedT;var fb=db.t;db.exists,db.setDefaultNamespace,db.hasLoadedNamespace,db.loadNamespaces,db.loadLanguages;var mb,hb,gb=function(e){return{display:e?"flex":"none"}},yb="#4fa94d",bb={"aria-busy":!0,role:"status"},vb=function(){return vb=Object.assign||function(e){for(var t,n=1,r=arguments.length;nf)&&(B=(q=q.replace(" ",":")).length),0r&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(g,"$1"+e.trim());case 58:return e.trim()+t.replace(g,"$1"+e.trim());default:if(0<1*n&&0l.charCodeAt(8))break;case 115:i=i.replace(l,"-webkit-"+l)+";"+i;break;case 207:case 102:i=i.replace(l,"-webkit-"+(102r.charCodeAt(0)&&(r=r.trim()),r=[r],0 ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document ``\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n"}:{};function lv(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n1?t-1:0),r=1;r0?" Args: "+n.join(", "):"")):new Error(lv.apply(void 0,[sv[e]].concat(n)).trim())}var uv=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&cv(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var a=r;a=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,a=r;a1<<30)&&cv(16,""+t),pv.set(e,t),dv.set(t,e),t},hv=function(e){return dv.get(e)},gv=function(e,t){t>=fv&&(fv=t+1),pv.set(e,t),dv.set(t,e)},yv="style["+ov+'][data-styled-version="5.3.6"]',bv=new RegExp("^"+ov+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),vv=function(e,t,n){for(var r,o=n.split(","),a=0,i=o.length;a=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(ov))return r}}(r),i=void 0!==a?a.nextSibling:null;o.setAttribute(ov,"active"),o.setAttribute("data-styled-version","5.3.6");var s=n.nc;return s&&o.setAttribute("nonce",s),r.insertBefore(o,i),o},xv=function(){function e(e){var t=this.element=kv(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(c+=e+",")})),r+=""+s+l+'{content:"'+c+'"}/*!sc*/\n'}}}return r}(this)},e}(),Ov=/(a)(d)/gi,Tv=function(e){return String.fromCharCode(e+(e>25?39:97))};function Pv(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=Tv(t%52)+n;return(Tv(t%52)+n).replace(Ov,"$1-$2")}var jv=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Nv=function(e){return jv(5381,e)},Rv=Nv("5.3.6"),Lv=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic="production"===uc.env.NODE_ENV&&(void 0===n||n.isStatic)&&function(e){for(var t=0;t>>0);if(!t.hasNameForId(r,i)){var s=n(a,"."+i,void 0,r);t.insertRules(r,i,s)}o.push(i),this.staticRulesId=i}else{for(var l=this.rules.length,c=jv(this.baseHash,n.hash),u="",p=0;p>>0);if(!t.hasNameForId(r,h)){var g=n(u,"."+h,void 0,r);t.insertRules(r,h,g)}o.push(h)}}return o.join(" ")},e}(),Iv=/^\s*\/\/.*$/gm,Fv=[":","[",".","#"],Dv=r.createContext();Dv.Consumer;var Mv=r.createContext(),Bv=(Mv.Consumer,new Av),zv=function(){var e,t,n,r,o=ev,a=o.options,i=void 0===a?ev:a,s=o.plugins,l=void 0===s?Jb:s,c=new Ab(i),u=[],p=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,o,a,i,s,l,c,u,p){switch(n){case 1:if(0===u&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===c)return r+"/*|*/";break;case 3:switch(c){case 102:case 112:return e(o[0]+r),"";default:return r+(0===p?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}((function(e){u.push(e)})),d=function(n,o,a){return 0===o&&-1!==Fv.indexOf(a[t.length])||a.match(r)?n:"."+e};function f(o,a,i,s){void 0===s&&(s="&");var l=o.replace(Iv,""),u=a&&i?i+" "+a+" { "+l+" }":l;return e=s,t=a,n=new RegExp("\\"+t+"\\b","g"),r=new RegExp("(\\"+t+"\\b){2,}"),c(i||!a?"":a,u)}return c.use([].concat(l,[function(e,r,o){2===e&&o.length&&o[0].lastIndexOf(t)>0&&(o[0]=o[0].replace(n,d))},p,function(e){if(-2===e){var t=u;return u=[],t}}])),f.hash=l.length?l.reduce((function(e,t){return t.name||cv(15),jv(e,t.name)}),5381).toString():"",f}(),$v=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=zv);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.toString=function(){return cv(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=zv),this.name+e.hash},e}(),qv=/([A-Z])/,Uv=/([A-Z])/g,Hv=/^ms-/,Vv=function(e){return"-"+e.toLowerCase()};function Gv(e){return qv.test(e)?e.replace(Uv,Vv).replace(Hv,"-ms-"):e}var Wv=function(e){return null==e||!1===e||""===e};function Kv(e,t,n,r){if(Array.isArray(e)){for(var o,a=[],i=0,s=e.length;i1?t-1:0),r=1;r?@[\\\]^`{|}~-]+/g,ew=/(^-|-$)/g;function tw(e){return e.replace(Jv,"-").replace(ew,"")}var nw=function(e){return Pv(Nv(e)>>>0)};function rw(e){return"string"==typeof e&&("production"===uc.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var ow=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},aw=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function iw(e,t,n){var r=e[n];ow(t)&&ow(r)?sw(r,t):e[n]=t}function sw(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(t,["componentId"]),a=r&&r+"-"+(rw(e)?e:tw(nv(e)));return uw(e,Qb({},o,{attrs:f,componentId:a}),n)},Object.defineProperty(h,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?sw({},e.defaultProps,t):t}}),"production"!==uc.env.NODE_ENV&&(function(e,t){if("production"!==uc.env.NODE_ENV){var n="The component "+e+(t?' with the id of "'+t+'"':"")+" has been created dynamically.\nYou may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.",o=ve.error;try{var a=!0;ve.error=function(e){if(Xv.test(e))a=!1,Zv.delete(n);else{for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i=200)){var a=t?' with the id of "'+t+'"':"";ve.warn("Over 200 classes were generated for component "+e+a+".\nConsider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n "),r=!0,n={}}}}(p,d)),h.toString=function(){return"."+h.styledComponentId},a&&Yb(h,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),h}var pw=function(e){return function e(t,n,r){if(void 0===r&&(r=ev),!Sb.isValidElementType(n))return cv(1,String(n));var o=function(){return t(n,r,Qv.apply(void 0,arguments))};return o.withConfig=function(o){return e(t,n,Qb({},r,{},o))},o.attrs=function(o){return e(t,n,Qb({},r,{attrs:Array.prototype.concat(r.attrs,o).filter(Boolean)}))},o}(uw,e)};function dw(e){"production"!==uc.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&ve.warn("`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};if(void 0!==t[e])return t[e];if(e&&e.indexOf(".")>0){for(var n=e.split("."),r=n.length,o=t[n[0]],a=1;null!=o&&a0?r.createElement("div",{className:"ms-mb-4"},!0===p.hideSources?r.createElement(r.Fragment,null):r.createElement(ey,{sources:s,sourcesStyle:a,sourcesFirst:p.sourcesFirst,prettySources:p.prettySources,openInNewTab:p.openSourcesInNewTab,sourcesDisplay:p.sourcesDisplay,openInNewTabForOutsideSources:p.openInNewTabForOutsideSources,legacySourceDisplay:p.legacySourceDisplay,onSourceClickedForTracking:x})):r.createElement(r.Fragment,null),r.createElement("div",{style:{marginRight:0,marginLeft:0},className:"ms-m-0 ms-hidden ms-items-center ms-text-sm ms-font-semibold sm:ms-flex sm:ms-text-base ".concat(a.darkMode?"ms-text-gray-50":"ms-text-black","\n ").concat(""!==y?"ms-pb-2":"","\n \n ")},m&&!E?r.createElement(xb,{height:17,width:17,radius:9,color:o.darkMode?"#fff":"#000",ariaLabel:"grid-loading","ms-visible":!0,wrapperClass:"ms-mr-[6px]"}):m&&E&&!A?r.createElement(wb,{height:17,width:17,color:o.darkMode?"#fff":"#000",ariaLabel:"circles-loading",wrapperStyle:{},wrapperClass:"ms-mr-[6px]",visible:!0}):""!==y&&r.createElement(Qg,{className:"ms-mr-[6px]"}),""!==y&&r.createElement("span",null,fb("answer")))):r.createElement("div",null),r.createElement("div",{className:"ms-flex ms-w-full ms-flex-row ms-items-center ms-justify-between ".concat(k?"":"sm:ms-hidden")},r.createElement("p",{style:{color:o.accentColor,margin:0},className:"ms-flex ms-text-xs"},fb(i?"assistant":"you"))),r.createElement("div",{className:"ms-flex ms-items-center ms-gap-4 ".concat(A&&"ms-mb-2")},E&&A&&r.createElement(Dw,{loading:E,currentTool:A,className:"ms-mb-2"}),!E&&A&&r.createElement(Dw,{error:T,loading:E,currentTool:A,className:"ms-mb-2"})),void 0!==l&&l===An.Error?r.createElement(ny,{darkMode:o.darkMode,text:null!=c?c:""}):r.createElement(r.Fragment,null),void 0!==l&&l===An.NoDocs?r.createElement(ty,{darkMode:o.darkMode,text:null!=c?c:""}):r.createElement(r.Fragment,null),void 0!==l&&l===An.FullDocs?r.createElement(ty,{darkMode:o.darkMode,text:null!=c?c:""}):r.createElement(r.Fragment,null),r.createElement(Sm,{components:{code:function(e){e.node;var t=e.inline,n=e.className,a=e.children,i=ke(e,["node","inline","className","children"]),s=/language-(\w+)/.exec(n||"");return t?r.createElement("code",we({style:{backgroundColor:o.accentColor,color:o.accentColor?o.accentColor.startsWith("#fff")?"#000":"#fff":"#000"},className:"".concat(o.darkMode?"!ms-bg-opacity-50":"!ms-bg-opacity-75"," ms-m-1 ms-rounded-md ms-p-1 before:ms-content-none after:ms-content-none ")},i),String(a)):r.createElement("code",we({className:"ms-rounded-md ms-bg-transparent ms-bg-opacity-25 before:ms-content-none after:ms-content-none"},i),r.createElement(Sg,{language:s?s[1]:"",children:String(a),isDarkMode:o.darkMode}))}},linkTarget:"_blank",className:" ms-prose ".concat(i?"ms-float-left":"ms-float-right"," ms-text-sm ").concat(k?"":"sm:ms-text-base"," ").concat(o.darkMode?"prose-headings:ms-text-white prose-p:ms-text-white prose-a:ms-text-white prose-blockquote:ms-text-white prose-strong:ms-text-white prose-code:ms-text-white prose-pre:ms-bg-[#1f2937] prose-li:ms-text-white":"prose-headings:ms-text-gray-900 prose-p:ms-text-gray-900 prose-a:ms-text-gray-900 prose-blockquote:ms-text-gray-900 prose-strong:ms-text-gray-900 prose-pre:ms-bg-[#f4f4f4] prose-li:ms-text-gray-900"," ").concat(""!==t?"ms-text-opacity-100":"ms-text-opacity-50","\n ").concat("right"===p.textAlign?"ms-text-right":"","\n \n ")},""===t?"Output will appear here...":t),i&&!v&&null!==n?r.createElement("div",null,r.createElement("div",{className:"ms-mt-6 ms-flex ms-items-center ms-justify-start"},r.createElement("p",{style:{margin:0},className:"ms-flex ms-items-center ms-text-sm ".concat(a.darkMode?"ms-text-gray-50":"ms-text-black")},fb("helpfulResponse"))),r.createElement("div",{className:"ms-mt-2 ms-flex ms-flex-row ms-items-center ms-justify-start ".concat(k?"sm:ms-mt-0":"")},r.createElement(oy,{color:o.accentColor,isDarkMode:o.darkMode,onThumbsDown:function(){null!=n&&(bl.capture("thumbsDown"),Xo(h,n,-1),S&&S(!1,null!=y?y:"",t,s.map((function(e){return e.link}))))},onThumbsUp:function(){null!=n&&(bl.capture("thumbsUp"),Xo(h,n,1),S&&S(!0,null!=y?y:"",t,s.map((function(e){return e.link}))))}})),void 0!==s&&s.length>0&&!0!==p.hideSources&&r.createElement("hr",{className:"ms-mt-6 ms-w-full ms-rounded-full ms-border-0 ms-bg-gray-400 ms-bg-opacity-25 ms-p-[0.5px]"})):r.createElement(r.Fragment,null),i&&!p.sourcesFirst&&void 0!==s&&s.length>0?r.createElement("div",null,r.createElement("div",{className:""}),!0===p.hideSources?r.createElement(r.Fragment,null):r.createElement(ey,{sources:s,sourcesStyle:a,sourcesFirst:p.sourcesFirst,prettySources:p.prettySources,openInNewTab:p.openSourcesInNewTab,openInNewTabForOutsideSources:p.openInNewTabForOutsideSources,legacySourceDisplay:p.legacySourceDisplay,onSourceClickedForTracking:x})):r.createElement("div",null)))},zw=function(e){var t=e.autoFocus,n=e.maxLength,o=e.onKeyDown,a=e.value,i=e.onChange,s=e.placeholder,l=e.customStyle,c=e.overrideInputStyles,u=ke(e,["autoFocus","maxLength","onKeyDown","value","onChange","placeholder","customStyle","overrideInputStyles"]),p=(0,r.useRef)(null),d=(0,r.useState)(!1);d[0];var f=d[1],m="28px",h=function(){var e=p.current;e&&(""===e.value?e.style.height=m:(e.style.height="1px",e.style.height="".concat(e.scrollHeight,"px")),f(e.scrollHeight>parseInt(m)))};return(0,r.useEffect)((function(){h(),p.current&&p.current.focus()}),[a]),r.createElement(r.Fragment,null,r.createElement("textarea",we({ref:p,onInput:h,autoFocus:t,maxLength:n,onKeyDown:o,spellCheck:!1,value:a,onChange:i,placeholder:s,className:"ms-font-sans ms-relative ms-resize-none ms-text-base sm:ms-text-base ms-flex-grow ms-bg-transparent ".concat((null==l?void 0:l.darkMode)?"ms-text-white":"ms-text-black"," ms-global ms-h-fit !ms-p-0 ms-max-h-[200px] !ms-border-0 !ms-border-transparent ms-w-full focus:ms-ring-0 focus:ms-ring-transparent focus:ms-outline-none ms-ring-0 ms-ring-transparent ms-outline-none ").concat(c," ms-white-space-pre-wrap ms-word-wrap-break-word")},u)))};function $w(e){var t=e.handleClick,n=e.value,o=e.generating,a=e.loading,i=e.style,s=e.inputSettings,l=a||o||0===n.length,c=Kg().t;return r.createElement("button",{disabled:l,style:{backgroundColor:(null==s?void 0:s.askButtonStyle)?l?s.askButtonStyle.disabledColor:s.askButtonStyle.activeColor:l?i.darkMode?"#9399A420":"#aaaaaa80":i.accentColor,color:(null==s?void 0:s.askButtonStyle)?l?s.askButtonStyle.disabledTextColor:s.askButtonStyle.textColor:"#ffffff"},onClick:t,className:" ms-z-10 ms-m-0 ms-flex ms-items-center ms-whitespace-nowrap ms-gap-1 ms-rounded-lg ms-p-0 ms-text-sm hover:ms-cursor-pointer sm:ms-text-base ".concat(l?"ms-py-[1px] ms-px-[7px]":"ms-py-[2px] ms-px-[8px]"," ms-transition-all disabled:ms-bg-opacity-10")},o||a?r.createElement(xb,{height:15,width:15,radius:10,color:"#ffffff",ariaLabel:"grid-loading","ms-visible":!0}):r.createElement(Fm,null),r.createElement("div",{className:"ms-whitespace-nowrap "},c(o?"generating":a?"loading":"ask")))}function qw(e){var t=e.placeholder,n=void 0===t?"How to deploy my application?":t,o=e.loading,a=void 0!==o&&o,i=e.handleClick,s=e.onChange,l=e.value,c=e.onKeyDown,u=e.inputSettings,p=e.generating,d=void 0!==p&&p,f=e.overrideInputStyles,m=void 0===f?"":f,h=e.overrideInputContainerStyles,g=void 0===h?"":h,y=e.style,b=void 0===y?On:y,v=e.isTextArea,w=void 0!==v&&v,k=r.useRef(null);return r.useEffect((function(){k.current&&k.current.focus()}),[]),r.createElement("div",{className:"ms-mt-2 ms-w-full ms-text-base sm:ms-mt-0 sm:ms-text-base"},r.createElement("div",{className:" ms-m-0 ms-flex ms-flex-row ms-items-center ms-justify-between ms-gap-2 ms-p-0 ".concat(b.darkMode?"ms-bg-opacity-5 ms-text-white ":" ms-text-gray-400"," ms-w-full ms-bg-gray-50 ms-p-2 ms-pl-4 ms-pr-2 ms-shadow ms-transition-all hover:ms-shadow-md ").concat(w?"ms-h-fit":"ms-h-10"," ms-outline-none ms-ring-0 ").concat(g)},r.createElement("div",{className:"ms-flex ms-w-full ms-min-w-0 ms-items-center ms-gap-1"},w?r.createElement(zw,{id:"userInput",name:"userInput",autoFocus:!0,maxLength:1300,onKeyDown:c,value:l,onChange:s,placeholder:n,customStyle:b,overrideInputStyles:m}):r.createElement("input",{ref:k,id:"userInput",name:"userInput",autoFocus:!0,maxLength:512,onKeyDown:c,value:l,onChange:s,placeholder:n,className:" font-sans ms-flex-grow ms-bg-transparent ms-text-base sm:ms-text-base ".concat(b.darkMode?"ms-text-white":"ms-text-black"," ms-global ms-w-full ms-truncate ms-outline-none ms-ring-0 ms-ring-transparent focus:ms-outline-none focus:ms-ring-0 focus:ms-ring-transparent ").concat(m," ")})),r.createElement($w,{value:l,handleClick:i,loading:a,generating:d,style:b,inputSettings:u})))}function Uw(e){var t=e.color,n=void 0===t?"#1FD085":t,o=Kg().t;return r.createElement("div",{className:"ms-flex ms-min-h-[100px] ms-w-full ms-flex-col ms-items-center ms-justify-center ms-gap-2 ms-border-b ms-border-gray-500 ms-border-opacity-20 ms-p-4 "},r.createElement(xb,{height:30,width:30,radius:5,color:n,ariaLabel:"grid-loading","ms-visible":!0}),r.createElement("p",{style:{margin:0},className:"ms-text-center ms-text-xs ms-opacity-60"},o("searchingDocs")))}function Hw(e){var t=e.color,n=void 0===t?"#1FD085":t,o=Kg().t;return r.createElement("div",{className:"ms-flex ms-min-h-[100px] ms-w-full ms-flex-col ms-items-center ms-justify-center ms-gap-2 ms-p-4 "},r.createElement(wb,{height:30,width:30,color:n,ariaLabel:"circles-loading",wrapperStyle:{},wrapperClass:"",visible:!0}),r.createElement("p",{style:{margin:0},className:"ms-text-center ms-text-xs ms-opacity-60"},o("loadingTools")))}var Vw="main-module_ms-main-bot__QKkRf";function Gw(e){var t=e.darkMode,n=e.questions,o=e.onClick;return r.createElement("div",{className:"ms-qs-sug ms-mb-0 ms-mt-2 sm:ms-mt-0 ms-flex ms-flex-wrap ms-items-center ms-justify-start ms-w-full ms-overflow-auto ms-text-overflow-ellipsis"},n.map((function(e,n){return r.createElement("div",{onClick:function(){return o(e)},className:"ms-p-2 ms-mr-2 ms-mt-2 sm:ms-mt-0 sm:ms-mb-2 ms-whitespace-nowrap ms-rounded-lg ms-animate-fade-in-up ms-text-xs sm:ms-text-sm ".concat(t?"ms-text-white ms-bg-white ms-bg-opacity-10 hover:ms-bg-opacity-25":"ms-text-gray-800 ms-bg-black ms-bg-opacity-5 hover:ms-bg-opacity-10"," hover:ms-cursor-pointer "),key:n},e)})))}function Ww(e,t,n){try{bl.capture(e,{data:n,status:t,body:n})}catch(e){}}Jo('.main-module_ms-main-bot__QKkRf::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n /* Add height for horizontal scrollbar */\n}\n\n.main-module_ms-main-bot__QKkRf::-webkit-scrollbar-track {\n background-color: transparent;\n}\n\n.main-module_ms-main-bot__QKkRf::-webkit-scrollbar-thumb {\n background-color: #d1d5db80;\n border-radius: 4px;\n}\n\n/* Add styles for horizontal scrollbar */\n.main-module_ms-main-bot__QKkRf::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n\n\n.main-module_ms-loading-box__Twckb::before {\n content: "";\n position: absolute;\n width: 150%;\n height: 150%;\n background-image: conic-gradient(transparent, transparent, transparent, #00ccff);\n animation: main-module_loadingbox__W2iCt 4s linear infinite;\n\n}\n\n.main-module_ms-rediebeddi__1CtWq {\n background-color: red !important;\n}\n\n.main-module_ms-loading-box__Twckb::after {\n content: "";\n position: absolute;\n width: 150%;\n height: 150%;\n background-image: conic-gradient(transparent, transparent, transparent, #d400d4);\n animation: main-module_loadingbox__W2iCt 4s linear infinite;\n animation-delay: -2s;\n}\n\n\n.main-module_ms-loading-box2__xhzvD::before {\n content: "";\n position: absolute;\n width: 105%;\n height: 100%;\n/* \n transform: translate(+10%,-10%); */\n /* background-color: red; */\n top: 0%; /* adjust as needed */\n left: -5%; \n background-image: conic-gradient(transparent, transparent, transparent, var(--accent-color));\n \n animation: main-module_loadingbox__W2iCt 3s linear infinite;\n\n}\n\n/* .ms-loading-box2::after {\n content: "";\n position: absolute;\n width: 150%;\n height: 150%;\n background-image: conic-gradient(transparent, transparent, transparent, #c3b6fc);\n animation: loadingbox 4s linear infinite;\n} */\n\n\n\n\n@keyframes main-module_loadingbox__W2iCt {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n\n}');var Kw=function(e,t){localStorage.setItem(e,JSON.stringify(t))},Yw=function(e){var t=localStorage.getItem(e);return t?JSON.parse(t):null},Qw=function(e){var t=e.isPinned,n=e.setPinState;return r.createElement(r.Fragment,null,r.createElement("button",{onClick:n,className:" ms-flex ms-bg-transparent ms-w-fit ms-items-center ms-justify-center ms-px-1 ms-py-1 ms-rounded ms-shadow-lg ms-text-white ms-transition-colors ms-duration-200 hover:!ms-cursor-pointer\n ".concat("")},t?r.createElement(Nw,{className:"!ms-fill-inherit ".concat(t?"ms-transform -ms-rotate-90":"ms-transform -ms-rotate-45"),size:16}):r.createElement(Tw,{className:"ms-stroke-inherit !ms-fill-inherit ".concat(t?"ms-transform -ms-rotate-90":"ms-transform -ms-rotate-45"),size:16})))};function Xw(e){var t=e.darkMode;return r.createElement("div",{className:"ms-animate-pulse"},r.createElement("div",{className:"ms-grid ms-grid-cols-1 sm:ms-grid-cols-3 ms-gap-2 ms-pt-2 ms-rounded-lg ms-pb-2"},r.createElement("div",{className:"ms-h-8 ms-w-28 ms-rounded-lg ".concat(t?"ms-bg-gray-50 ms-opacity-10":"ms-bg-black ms-opacity-10")}),r.createElement("div",{className:"ms-h-8 ms-w-28 ms-rounded-lg ".concat(t?"ms-bg-gray-50 ms-opacity-10":"ms-bg-black ms-opacity-10")}),r.createElement("div",{className:"ms-h-8 ms-w-28 ms-rounded-lg ".concat(t?"ms-bg-gray-50 ms-opacity-10":"ms-bg-black ms-opacity-10")})))}function Zw(e,t){return xe(this,void 0,void 0,(function(){var n,r;return Se(this,(function(o){switch(o.label){case 0:n=e.getReader(),o.label=1;case 1:return[4,n.read()];case 2:return(r=o.sent()).done?[3,3]:(t(r.value),[3,1]);case 3:return[2]}}))}))}function Jw(e){var t,n,r,o=!1;return function(a){void 0===t?(t=a,n=0,r=-1):t=function(e,t){var n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,a);for(var i=t.length,s=0;n0){var n=_.decode(e.subarray(0,t)),r=t+(32===e[t+1]?2:1),o=_.decode(e.subarray(r));switch(n){case"data":S.data=S.data?S.data+"\n"+o:o;break;case"event":S.event=o;break;case"id":m(S.id=o);break;case"retry":var a=parseInt(o,10);isNaN(a)||k(S.retry=a)}}})))];case 4:return c.sent(),null==i||i(),y(),t(),[3,6];case 5:if(o=c.sent(),!d.signal.aborted)try{l=null!==(n=null==s?void 0:s(o))&&void 0!==n?n:h,window.clearTimeout(g),g=window.setTimeout(w,l)}catch(e){y(),p(e)}return[3,6];case 6:return[2]}var m,k,x,S,_}))}))}w()}))}function rk(e){var t=e.headers.get("content-type");if(!t)throw new Error("Expected content-type.");if(!(null==t?void 0:t.startsWith(ek)))throw new Error("Expected content-type to be ".concat(ek,", Actual: ").concat(t))}var ok=function(e){var t=e.style,n=e.hintText,o=e.company,a=e.project,i=e.isMendableLoading,s=e.botIcon,l=e.userIcon,c=e.anon_key,u=e.suggestedQuestions,p=e.historyState,d=e.setHistory,f=e.messageSettings,m=void 0===f?Nn:f,h=e.toolbarSettings,g=void 0===h?Rn:h,y=e.setResetHistory,b=e.hiddenField,v=void 0===b?null:b,w=e._shouldStream,k=void 0===w||w,x=e._inputQuesiton,S=void 0===x?"":x,_=e._autoAskQuestion,E=void 0!==_&&_,C=e.context,A=void 0===C?"":C,O=e.testing_id,T=e.footer,P=void 0===T?null:T,j=e.metadata,N=void 0===j?void 0:j,R=e._newInterface,L=void 0!==R&&R,I=e._resetComponent,F=void 0!==I&&I,D=e._setResetComponent,M=void 0===D?function(){}:D,B=e._isPinned,z=void 0!==B&&B,$=e._setIsPinned,q=void 0===$?void 0:$,U=e._closeComponent,H=void 0===U?void 0:U,V=e._persistConvState,G=void 0!==V&&V,W=e._setPersistConvState,K=void 0===W?function(){}:W,Y=e.privacyDisclaimer,Q=void 0===Y?"":Y,X=e.inputSettings,Z=e.onMessageForTracking,J=e.onSourceClickedForTracking,ee=e.onRateClicked,te=e.__experimentalBuilderApiKey,ne=void 0===te?"":te;ke(e,["style","hintText","company","project","isMendableLoading","botIcon","userIcon","anon_key","suggestedQuestions","historyState","setHistory","messageSettings","toolbarSettings","setResetHistory","hiddenField","_shouldStream","_inputQuesiton","_autoAskQuestion","context","testing_id","footer","metadata","_newInterface","_resetComponent","_setResetComponent","_isPinned","_setIsPinned","_closeComponent","_persistConvState","_setPersistConvState","privacyDisclaimer","inputSettings","onMessageForTracking","onSourceClickedForTracking","onRateClicked","__experimentalBuilderApiKey"]);var re=(0,r.useRef)(null),oe=(0,r.useRef)(null),ae=(0,r.useState)(""),ie=ae[0],se=ae[1],le=(0,r.useState)([]),ce=le[0],ue=le[1],pe=Kg().t,de=(0,r.useState)(!1),fe=de[0],me=de[1],he=(0,r.useState)(!1),ge=he[0],ye=he[1],be=(0,r.useState)(),we=be[0],Ee=be[1],Ce=(0,r.useState)(""),Ae=Ce[0],Oe=Ce[1],Te=(0,r.useState)(S),Pe=Te[0],je=Te[1],Ne=(0,r.useState)(E),Re=Ne[0],Le=Ne[1],Ie=(0,r.useState)(!1),Fe=Ie[0],De=Ie[1],Me=(0,r.useState)(null),Be=Me[0],ze=Me[1],$e=(0,r.useState)(0),qe=$e[0],Ue=$e[1],He=function(){Ue(qe+1),se(""),ue([]),y(),me(!1),je(""),ze(null),De(!1),Kw(Qe,null),K(!1),ye(!1),Ee(null),Oe(""),L&&M(!1)},Ve=(0,r.useState)(""),Ge=Ve[0],We=Ve[1];(0,r.useEffect)((function(){"undefined"!=typeof window&&We(window.location.href)}),[]),(0,r.useEffect)((function(){F&&He()}),[F]),(0,r.useEffect)((function(){bl.init("phc_lO7NMACRK6bPw3AP2cczlztJLMtKDOU9NcVmgSQjdvM",{api_host:"https://app.posthog.com"})}),[]);var Ke="mendableBotChatHistory"+(null==o?void 0:o.name),Ye="mendableBack"+(null==o?void 0:o.name),Qe="mendableBotConversationId"+(null==o?void 0:o.name);(0,r.useEffect)((function(){O&&bl.capture("testing_id",{testing_id:O})}),[O]),(0,r.useEffect)((function(){p.length>1&&(Kw(Ke,p),Kw(Ye,!1))}),[Ye,Ke,p]);var Xe=(0,r.useState)(new AbortController),Ze=Xe[0],Je=Xe[1];(0,r.useEffect)((function(){""!==Pe&&null!==Be&&!fe&&!Fe&&L&&Re&&(tt(Pe),Le(!1))}),[fe,Be]),(0,r.useEffect)((function(){if(me(!0),null==m?void 0:m.persistMessagesBetweenSessions){var e=Yw(Qe);if(null!=e){var t=Yw(Ke);if(t){if(me(!1),t.length>0&&(ze(e),d(t)),t.length>0){for(var n=[],r=0;r=t.length)break;var a=t[r+1].message;n.push({prompt:o,response:a,sources:[]})}d(t)}return}}}else if(G){var i=Yw(Qe);if(null!=i)return ze(i),void me(!1)}(function(e,t){return xe(this,void 0,void 0,(function(){var n,r,o;return Se(this,(function(a){switch(a.label){case 0:return n="".concat(Ln,"/newConversation"),r=JSON.stringify({anon_key:e,messages:t}),[4,fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:r})];case 1:return(o=a.sent()).ok?[4,o.json()]:(ve.error("Error starting conversation"),[2,{}]);case 2:return[2,a.sent()]}}))}))})(c,[]).then((function(e){null!=e?(ze(e),Kw(Qe,e),me(!1)):ve.error("conversation is null")})).catch((function(e){ve.log("error",e),me(!1)}))}),[c,qe]),(0,r.useEffect)((function(){var e,t,n;void 0!==(null===(e=oe.current)||void 0===e?void 0:e.scrollTop)&&void 0!==(null===(t=oe.current)||void 0===t?void 0:t.scrollHeight)&&void 0!==(null===(n=oe.current)||void 0===n?void 0:n.clientHeight)&&setTimeout((function(){var e,t,n,r=null===(e=oe.current)||void 0===e?void 0:e.scrollTop,o=null===(t=oe.current)||void 0===t?void 0:t.scrollHeight,a=null===(n=oe.current)||void 0===n?void 0:n.clientHeight;void 0!==r&&void 0!==o&&void 0!==a&&o-r-a<100&&et()}),50)}),[ie]),(0,r.useEffect)((function(){et()}),[p]);var et=function(){!1!==(null==m?void 0:m.scrollToView)&&oe.current&&(oe.current.scrollTop=oe.current.scrollHeight)},tt=function(e){return xe(void 0,void 0,void 0,(function(){var t,n,r,a,i,s,l,u,f,h,g,y,b;return Se(this,(function(v){try{t=Pe,void 0!==e&&(t=e),De(!0),je(""),n=_e(_e([],p,!0),[{message:t,sources:[],code_snippet:"",isBot:!1,message_id:0}],!1),d(n),r=function(e){for(var t=[],n=1;n=e.length)break;var o=e[n+1].message;t.push({prompt:r,response:o,sources:[]})}return t.reverse()}(p),a=[],l=An.None,u="",f="",h="",g="UTC";try{g=Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){ve.error(e)}y=function(){return xe(void 0,void 0,void 0,(function(){var e,o,a,i,s,p,f,h,y,b,v,w,k;return Se(this,(function(x){switch(x.label){case 0:return[4,fetch(Ln+"/component/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:t,history:r,component_version:In,anon_key:c,conversation_id:null==Be?void 0:Be.conversation_id,shouldStream:!1,timezone:g,url:Ge,metadata:N||{},experimental_builder_api_key:ne,sources_first:null!==(y=m.sourcesFirst)&&void 0!==y&&y})})];case 1:return(e=x.sent()).ok?[4,e.json()]:(ve.error("Error starting conversation"),[2]);case 2:return(o=x.sent()).status>=400&&(ve.error("Something went wrong"),ve.error(o),Ww("Error in the component (non streaming)",o.status,JSON.stringify({question:t,history:r,component_version:In,anon_key:c,conversation_id:null==Be?void 0:Be.conversation_id}))),a=null!==(b=o.full_docs)&&void 0!==b&&b,i=null!==(v=o.no_docs)&&void 0!==v&&v,a?(l=An.FullDocs,u=null!==(w=o.alert_message)&&void 0!==w?w:"",[2]):(i&&(l=An.NoDocs,u=null!==(k=o.alert_message)&&void 0!==k?k:""),s=o.answer,p=o.message_id,f=o.sources,h=_e(_e([],n,!0),[{message:s,sources:f,code_snippet:"",isBot:!0,message_id:p,alert:alert,alertMessage:"",toolError:Ae,currentTool:we}],!1),d(h),se(""),ue([]),De(!1),me(!1),[2])}}))}))},b=function(){return xe(void 0,void 0,void 0,(function(){var e,p;return Se(this,(function(y){switch(y.label){case 0:return me(!0),e="",[4,nk(Ln+"/component/chat",{method:"POST",signal:Ze.signal,headers:{Accept:"text/event-stream","Content-Type":"application/json"},body:JSON.stringify({question:t,history:r,component_version:In,anon_key:c,conversation_id:null==Be?void 0:Be.conversation_id,additional_context:""!==A?"Context: "+A:"",timezone:g,url:Ge,metadata:N||{},experimental_builder_api_key:ne,sources_first:null!==(p=m.sourcesFirst)&&void 0!==p&&p}),openWhenHidden:!0,onopen:function(e){return e.ok&&200===e.status||e.status>=400&&e.status<500&&429!==e.status&&(ve.error("Client side error ",e),Ww("Client side error (on open)",e.status,e)),e},onmessage:function(n){var o,p,d,g;if(429===n.status&&n.headers.get("Retry-After"))ve.error("Rate limit exceeded");else if(""!==n.data&&void 0!==n.data){var y;try{y=JSON.parse(n.data)}catch(e){return}if(void 0!==y){y.status>=400&&(ve.error("Something went wrong"),ve.error(y),Ww("Error in the component (on message)",y.status,JSON.stringify({question:t,history:r,component_version:In,anon_key:c,conversation_id:null==Be?void 0:Be.conversation_id})),l=An.Error,u="Error: something went wrong with your request");var b=y.chunk,v=null!==(o=y.full_docs)&&void 0!==o&&o,w=null!==(p=y.no_docs)&&void 0!==p&&p;if(v)return l=An.FullDocs,void(u=null!==(d=y.alert_message)&&void 0!==d?d:"");if(w)return l=An.NoDocs,void(u=null!==(g=y.alert_message)&&void 0!==g?g:"");if("<|confidence_score|>"!==b){if("<|source|>"===b)return a=y.metadata,void(m.sourcesFirst&&(ue(a),se("\u200b"),De(!1)));if("<|message_id|>"!==b){if("<|loading_tools|>"===b||"<|taking_action|>"===b){y.metadata;return ye(!0),l=An.None,void(u="")}if("<|tool_called|>"===b){var k=y.metadata;return f=k,Ee(k),void se("\u200b")}if("<|tool_output|>"!==b){if("<|tool_error|>"===b){var x=y.metadata;return h=x,void Oe(x)}e+=b,De(!1),se((function(e){return e+b}))}}else s=y.metadata}else i=y.metadata}}},onclose:function(){"undefined"!==e&&void 0!==e||(e="I'm sorry, something went wrong. OpenAI servers may be down. Check back later!"),d(_e(_e([],n,!0),[{message:e,sources:a,code_snippet:"response.code_snippet",isBot:!0,message_id:s,alert:l,alertMessage:u,toolError:h,currentTool:f}],!1)),bl.capture("message",{message:t,isBot:!1,company:null==o?void 0:o.name,conversation_id:null==Be?void 0:Be.conversation_id}),bl.capture("message",{message:e,sources:a,code_snippet:"response.code_snippet",isBot:!0,company:null==o?void 0:o.name,conversation_id:null==Be?void 0:Be.conversation_id}),null!=Z&&Z(t,e,a.map((function(e){return e.link})),i),ye(!1),Ee(null),Oe(""),se(""),ue([]),De(!1),me(!1)},onerror:function(e){throw ve.log("There was an error from server",e),l=An.Error,u="Error: something went wrong with your request",De(!1),me(!1),d(_e(_e([],n,!0),[{message:"Something went wrong, try again later",sources:[],code_snippet:"response.code_snippet",isBot:!0,message_id:218,alert:l,alertMessage:u,toolError:h,currentTool:f}],!1)),Ww("Fatal error on the component (on error): "+String(e),500,JSON.stringify({question:t,history:r,component_version:In,anon_key:c,conversation_id:null==Be?void 0:Be.conversation_id})),e}})];case 1:return y.sent(),[2]}}))}))},!0===k?b():y()}catch(e){return ve.log("Error initiating connection",e),me(!1),De(!1),[2]}return[2]}))}))};return r.createElement("div",{className:Vw+" ms-global ms-relative ms-w-full ms-px-4 ms-py-2"},r.createElement("div",{style:{color:t.darkMode?"#ffffff":"#1a1a1a"},ref:oe,className:Vw+" ms-global ms-z-[100] ms-h-full ms-max-h-[550px] ms-w-full ms-overflow-y-auto ms-rounded-t-md"},r.createElement("div",{className:"top-right-menu ms-absolute ".concat("right"===m.textAlign?"ms-left-3":"ms-right-3"," ms-top-2 !ms-z-[10001] ms-flex ms-gap-1")},q&&r.createElement("div",{className:"ms-flex ms-gap-1"},r.createElement("div",{className:"pin-toggle-container ms-flex ms-items-center ms-self-end ms-whitespace-nowrap ms-rounded-lg ms-p-0.5 ms-text-xs ms-opacity-100 sm:ms-text-sm ".concat(t.darkMode?"ms-bg-white ms-bg-opacity-10 ms-text-white hover:ms-bg-opacity-25":"ms-bg-black ms-bg-opacity-5 ms-text-gray-800 hover:ms-bg-opacity-10"," hover:ms-cursor-pointer ")},r.createElement(Qw,{isPinned:!z,setPinState:q}))),p.length>1&&!fe&&!Fe&&!L&&r.createElement("button",{id:"ms-reset-button",className:"ms-flex ms-items-center ms-self-end ms-whitespace-nowrap ms-rounded-lg ms-px-2 ms-py-1 ms-text-xs ms-opacity-100 sm:ms-text-sm ".concat(t.darkMode?"ms-bg-white ms-bg-opacity-10 ms-text-white hover:ms-bg-opacity-25":"ms-bg-black ms-bg-opacity-5 ms-text-gray-800 hover:ms-bg-opacity-10"," \n hover:ms-cursor-pointer "),onClick:He},r.createElement("svg",{className:"ms-mr-2",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 489.533 489.533",width:"12px",style:{fill:t.darkMode?"#fafafa":"#1a1a1a",opacity:.8}},r.createElement("g",null,r.createElement("path",{d:"M268.175,488.161c98.2-11,176.9-89.5,188.1-187.7c14.7-128.4-85.1-237.7-210.2-239.1v-57.6c0-3.2-4-4.9-6.7-2.9l-118.6,87.1c-2,1.5-2,4.4,0,5.9l118.6,87.1c2.7,2,6.7,0.2,6.7-2.9v-57.5c87.9,1.4,158.3,76.2,152.3,165.6c-5.1,76.9-67.8,139.3-144.7,144.2c-81.5,5.2-150.8-53-163.2-130c-2.3-14.3-14.8-24.7-29.2-24.7c-17.9,0-31.9,15.9-29.1,33.6C49.575,418.961,150.875,501.261,268.175,488.161z"}))),r.createElement("p",{style:{margin:0}},pe("reset"))),H&&r.createElement("button",{id:"ms-close-button",className:"ms-flex ms-items-center ms-self-end ms-whitespace-nowrap ms-rounded-lg ms-px-1.5 ms-py-1.5 ms-text-xs ms-opacity-100 sm:ms-text-sm ".concat(t.darkMode?"ms-bg-white ms-bg-opacity-10 ms-text-white hover:ms-bg-opacity-25":"ms-bg-black ms-bg-opacity-5 ms-text-gray-800 hover:ms-bg-opacity-10"," hover:ms-cursor-pointer "),onClick:function(){H(),K(!0)}},r.createElement(Pw,{size:16}))),p.map((function(e,n){var o;return r.createElement("div",{key:n,className:"".concat((e.isBot,"ms-bg-transparent")," ms-flex ms-h-full ms-flex-col ms-items-center ms-justify-center")},r.createElement(Bw,{message:e.message,isBot:e.isBot,sources:e.sources,messageStyle:t,sourcesStyle:t,message_id:e.message_id,alert:e.alert,alertMessage:e.alertMessage,botIcon:s,userIcon:l,anon_key:c,isGenerating:!1,initialMessage:e.message===pe("welcomeMessage")||e.message===p[0].message,messageSettings:m,displayThin:z,previousMessage:n>0&&null!==(o=p[n-1].message)&&void 0!==o?o:"",onSourceClickedForTracking:J,onRateClicked:ee,isTakingAction:!1,toolUsed:e.currentTool,toolError:e.toolError}))})),""!==ie&&r.createElement("div",{className:'ms-bg-transparent" : "ms-bg-transparent ms-flex ms-h-full ms-flex-col ms-items-center ms-justify-center'},r.createElement(Bw,{message:ie,isBot:!0,sources:ce,messageStyle:t,sourcesStyle:t,message_id:null,botIcon:s,userIcon:l,anon_key:c,isGenerating:fe,initialMessage:ie===pe("welcomeMessage")||ie===p[0].message,messageSettings:m,displayThin:z,previousMessage:ie,onSourceClickedForTracking:J,onRateClicked:ee,isTakingAction:ge,toolUsed:we,toolError:Ae})),Fe?r.createElement(Uw,{color:t.accentColor}):r.createElement("div",null),r.createElement("div",{className:"ms-flex ms-flex-col ms-items-center ms-justify-center ms-border-b ms-border-gray-500 ms-border-opacity-20 ms-mb-4"},!Fe&&fe&&""===ie&&ge&&!we?r.createElement(Hw,{color:t.accentColor}):r.createElement("div",null)),r.createElement("div",{ref:re})),r.createElement("div",{className:"ms-global ms-z-[100] ms-flex ms-w-full ms-items-center ms-justify-center sm:ms-mt-4"},r.createElement("div",{className:"ms-global ms-relative ms-flex ms-w-full ms-flex-col ms-items-start ms-justify-start "},(null==u||null===Be)&&p.length<=1?r.createElement(Xw,{darkMode:t.darkMode}):null!=u&&u.length>0&&p.length<=1?r.createElement(Gw,{onClick:function(e){je(e),tt(e)},darkMode:t.darkMode,questions:u}):r.createElement(r.Fragment,null),g.showStopGeneratingButton&&fe&&!Fe&&""!==ie&&r.createElement("button",{className:" ms-mx-auto ms-mb-2 ms-flex ms-w-fit ms-animate-fade-in-up-fast ms-items-center ms-justify-start ms-rounded-lg ms-p-1 ms-pr-2 ms-text-sm ".concat(t.darkMode?"ms-bg-white ms-bg-opacity-10 ms-text-white hover:ms-bg-opacity-25":"ms-bg-black ms-bg-opacity-5 ms-text-gray-800 hover:ms-bg-opacity-10"," hover:ms-cursor-pointer "),onClick:function(){Ze.abort(),Je(new AbortController),me(!1),De(!1),d(_e(_e([],p,!0),[{message:ie,sources:[],code_snippet:"response.code_snippet",isBot:!0,message_id:null,alert:null,alertMessage:null,currentTool:"",toolError:""}],!1)),se(""),ue([]),bl.capture("stop-generating-clicked",{message:"Stop generating message : "+ie,sources:[],code_snippet:"response.code_snippet",isBot:!0,company:null==o?void 0:o.name,conversation_id:null==Be?void 0:Be.conversation_id}),bl.capture("message",{message:"Stop generating message : "+ie,sources:[],code_snippet:"response.code_snippet",isBot:!0,company:null==o?void 0:o.name,conversation_id:null==Be?void 0:Be.conversation_id})}},r.createElement(Im,{size:20,className:"ms-mr-1 "}),"Stop generating"),r.createElement(qw,{onChange:function(e){je(e.target.value)},handleClick:function(){return tt()},value:Pe,onKeyDown:function(e){"Enter"===e.key&&Pe&&!e.shiftKey?(e.shiftKey||!Pe||Fe||fe||i||tt(),e.preventDefault()):"Enter"!==e.key||e.shiftKey||e.preventDefault()},placeholder:n,style:t,loading:i,generating:fe,overrideInputContainerStyles:"ms-rounded-xl",inputSettings:X,isTextArea:!0}))),r.createElement("div",{className:"ms-flex ms-flex-row ms-items-center ms-justify-between ms-gap-1"},o&&!o.is_white_label?r.createElement("p",{style:{color:t.darkMode?"#ffffff":"#000000"},className:"!ms-mt-2 !ms-mb-0 !ms-p-0 ms-text-xs ms-text-[10px] sm:ms-text-xs "},pe("poweredBy")," ",r.createElement("a",{onClick:function(){bl.capture("mendable_link_clicked",{company:o.name})},style:{textDecorationColor:t.accentColor,color:t.accentColor},href:"https://mendable.ai",className:"ms-underline"},"Mendable")):r.createElement("div",{className:"ms-mt-2"}),""!==Q&&r.createElement("p",{className:"!ms-mt-2 !ms-mb-0 !ms-p-0 ms-text-center ms-text-xs ms-text-[10px] ms-text-gray-500 sm:ms-text-xs"},Q),null==v||(null==o?void 0:o.is_white_label)?r.createElement(r.Fragment,null):r.createElement("div",{style:{color:t.darkMode?"#ffffff":"#000000"},className:"ms-mt-2 ms-mb-0 ms-p-0 ms-text-xs ms-text-[10px] ms-outline-none sm:ms-text-xs ",dangerouslySetInnerHTML:{__html:v}}),null===a||null===a.support_url||void 0===a.support_url||""===a.support_url||(null==P?void 0:P.bottomRightLink)?r.createElement(r.Fragment,null):r.createElement("a",{className:"ms-mt-2 ms-mb-0 ms-p-0 ms-text-xs ms-text-[10px] sm:ms-text-xs",style:{textDecorationColor:t.accentColor,color:t.accentColor},onClick:function(){var e;bl.capture("support link clicked",{company_name:null!==(e=null==o?void 0:o.name)&&void 0!==e?e:"",project_id:a.id,company_id:a.id,support_url:a.support_url})},target:"_blank",href:a.support_url,rel:"noreferrer"},pe("contactSupport")),P&&P.bottomRightLink&&r.createElement("a",{className:"ms-mt-2 ms-mb-0 ms-p-0 ms-text-xs ms-text-[10px] sm:ms-text-xs",style:{textDecorationColor:t.accentColor,color:t.accentColor},target:"_blank",href:P.bottomRightLink.link,rel:"noreferrer"},P.bottomRightLink.label)))};function ak(e){var t=e.placeholder,n=void 0===t?"Find or ask a question...":t;e.loading,e.handleClick;var o=e.onChange,a=e.value,i=e.onKeyDown;e.generating;var s=e.overrideInputStyles,l=void 0===s?"":s;e.overrideInputContainerStyles;var c=e.style,u=void 0===c?On:c,p=e.isTextArea,d=void 0!==p&&p,f=e.isThinHorizontally,m=void 0!==f&&f,h=e.spinLoading,g=void 0!==h&&h,y=r.useRef(null);return r.useEffect((function(){y.current&&y.current.focus()}),[]),Kg().t,r.createElement("div",{className:"ms-global ms-mt-2 ms-h-full ms-w-full ms-text-base sm:ms-mt-2 sm:ms-text-base"},r.createElement("div",{className:"ms-relative ms-flex ms-h-full ms-w-full ms-px-4 ms-py-1 ".concat(m?"ms-width-full ms-flex-col-reverse ms-items-end":"ms-flex-row ms-items-center")},r.createElement("div",{className:"ms-global ms-flex ms-w-full ms-min-w-0 ms-items-center ms-gap-1"},d?r.createElement(zw,{id:"userInput",name:"userInput",autoFocus:!0,maxLength:1300,onKeyDown:i,value:a,onChange:o,placeholder:n,customStyle:u,overrideInputStyles:l}):r.createElement("input",{ref:y,id:"userInput",name:"userInput",autoFocus:!0,maxLength:512,onKeyDown:i,value:a,onChange:o,placeholder:n,className:" font-sans ms-flex-grow ms-bg-transparent ms-text-base sm:ms-text-base ".concat(u.darkMode?"ms-text-white":"ms-text-black"," ms-w-full ms-truncate ms-outline-none ms-ring-0 ms-ring-transparent focus:ms-outline-none focus:ms-ring-0 focus:ms-ring-transparent ").concat(l," ")})),g&&r.createElement("div",{className:"ms-absolute ms-right-2 "},r.createElement("svg",{"aria-hidden":"true",className:"ms-ml-4 ms-mr-2 ms-h-4 ms-w-4 ms-animate-spin ms-fill-gray-500 ms-text-gray-200",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),r.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))))}function ik(e){var t=e.children,n=e.resetButton,o=e.topMessage,a=e.onBackClick,i=e.setIsPinnedButton,s=e.style,l=Kg().t;return r.createElement("div",{className:"ms-h-full ms-w-full "},r.createElement("div",{className:"ms-flex ms-w-full ms-items-center ms-justify-between ms-px-3 ms-pt-2"},r.createElement("button",{className:" ms-relative !ms-z-[10001] ms-flex ms-items-center ms-whitespace-nowrap ms-rounded-lg ms-px-2 ms-py-1 ms-text-xs ms-opacity-100 sm:ms-text-sm ".concat(s.darkMode?"ms-bg-white ms-bg-opacity-10 ms-text-white hover:ms-bg-opacity-25":"ms-bg-black ms-bg-opacity-5 ms-text-gray-800 hover:ms-bg-opacity-10"," hover:ms-cursor-pointer "),onClick:a},r.createElement(Lm,{className:"ms-mr-1",style:{fill:s.darkMode?"#fafafa":"#1a1a1a",opacity:.8}}),r.createElement("p",{style:{margin:0}},l("back"))),""!==o&&r.createElement("div",{className:"ms-hidden ms-items-center sm:ms-flex"},r.createElement(Rm,{className:"ms-mr-1 ms-fill-yellow-500"}),r.createElement("p",{className:"".concat(s.darkMode?"ms-text-white":"ms-text-gray-800"," ms-m-0 ms-p-0 ms-text-sm")},o)),r.createElement("div",{className:"ms-flex ms-flex-row ms-gap-1"},i,n)),t)}function sk(e){var t=e.isGenerating;return r.createElement("svg",{className:t?"ms-animate-pulse":"",stroke:"#fff",fill:"none",strokeWidth:"1.5",viewBox:"0 0 24 24","aria-hidden":"true",height:"20px",width:"20px",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 00-2.456 2.456zM16.894 20.567L16.5 21.75l-.394-1.183a2.25 2.25 0 00-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 001.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 001.423 1.423l1.183.394-1.183.394a2.25 2.25 0 00-1.423 1.423z"}))}function lk(e){var t=e.icon,n=e.messageStyle;e.isGenerating;var o=e.isFancy,a=void 0!==o&&o,i=e.isCustomIcon,s=void 0!==i&&i;return r.createElement("div",{style:{background:function(){if(s)return"";if(n.accentColor){if(a&&n.accentColor.startsWith("#fff"))return"#ffffff33";if(a&&n.accentColor.startsWith("#000"))return"#00000077"}return a&&a?"linear-gradient(to right, "+n.accentColor+","+n.accentColor+"77)":""}(),backgroundClip:"padding-box"},className:"\n ms-h-8\n ms-w-8\n ms-min-w-[32px]\n ms-flex-col\n ms-items-center\n ms-justify-center ms-overflow-hidden ms-rounded-lg ms-border ms-border-gray-500 ms-border-opacity-20 ms-flex sm:ms-h-8 sm:ms-w-8 sm:ms-min-w-[32px]"},r.createElement("div",{className:"messageIconContainer ms-m-0 ms-flex ms-items-center ms-justify-center ms-p-0 ms-text-sm sm:ms-text-base"},t))}function ck(e){var t=e.item,n=e.index,o=e.style;e.company;var a=e.onClick,i=e.onMouseEnter,s=e.onMouseLeave,l=e.selected,c=e.openInNewTab,u=void 0!==c&&c,p=e.inputQuestion,d=e.openInNewTabForOutsideSources;return r.createElement("a",{onMouseEnter:i,onMouseLeave:s,key:n,href:t.link,onClick:a,className:"ms-w-full ms-no-underline",rel:"noreferrer",target:Yg(t.link,u,d||!1)?"_blank":"_self"},r.createElement("div",{className:"ms-mb-2 ms-flex ms-w-full ms-items-center ms-overflow-hidden ms-justify-start ms-rounded-lg ms-p-2 ms-transition-all ".concat(l?o.darkMode?"ms-bg-white ms-bg-opacity-5":"ms-bg-gray-800 ms-bg-opacity-5":"")},r.createElement("div",{className:"ms-mr-4"},r.createElement(lk,{messageStyle:o,isGenerating:!1,icon:r.createElement(Xg,{className:o.darkMode?"ms-fill-white":"ms-fill-gray-800"}),isCustomIcon:!1,isFancy:!1})),r.createElement("div",{className:" ms-flex ms-flex-col ms-items-start"},r.createElement("p",{className:"!ms-m-0 !ms-p-0 ms-text-sm ms-font-medium ".concat(o.darkMode?"ms-text-white":"ms-text-gray-800")},t.linkName&&""!==t.linkName?t.linkName:""!==t.title?t.title:function(e){var t;try{t=new URL(e)}catch(t){return e}var n=t.pathname.replace(/^\/|\/$/g,"").split("/");if((n=n.filter((function(e){return e})).map((function(e){return decodeURIComponent(e.replace(/\+/g," "))}))).length>0&&n[n.length-1].includes(".")){var r=n[n.length-1];n[n.length-1]=r.split(".").slice(0,-1).join(".")}if(0===n.length)return t.hostname;var o=n.slice(-Math.min(2,n.length)).map((function(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_+]/g," ").split(" ").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join(" ")})).reverse().join(" - ");o=o.replace(/[^a-z0-9 -]/gi,"");try{if(o.match(/^\d+/g)){var a=o.split(" ");a[0].match(/\d+/g)&&(a.shift(),o=a.join(" "))}}catch(e){}return o.length>35&&(o=o.substring(0,35)+"..."),o}(t.link)),r.createElement("div",{className:"!ms-m-0 !ms-mt-1 ms-flex ms-items-center ms-p-0 ms-text-xs ms-font-medium ms-opacity-75 ".concat(o.darkMode?"ms-text-white":"ms-text-gray-800")},t.highlight?r.createElement(uk,{item:t,query:p,style:o}):r.createElement(r.Fragment,null,r.createElement(jw,{className:"ms-mr-1 ms-inline-block"}),r.createElement("span",null,t.link))))))}var uk=function(e){var t=e.item,n=e.style;return r.createElement("span",{style:{lineHeight:"1.2em",maxHeight:"2.4em",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},dangerouslySetInnerHTML:{__html:t.highlight.replace(//gi,''))}})};function pk(e){var t=e.children,n=e.style,o=e.onClick,a=e.onMouseEnter,i=e.onMouseLeave,s=e.selected,l=void 0!==s&&s,c=e.disableHover,u=void 0!==c&&c,p=e.disableSpacing,d=void 0!==p&&p;return r.createElement("div",{onClick:o,onMouseEnter:a,onMouseLeave:i,className:"".concat(d?"":"ms-mb-2"," ms-flex ms-items-center ms-justify-start ms-rounded-lg ms-px-2 ms-transition-all hover:ms-cursor-pointer ").concat(u?"":n.darkMode?"hover:ms-bg-white hover:ms-bg-opacity-5":"hover:ms-bg-black hover:ms-bg-opacity-5"," ").concat(l?n.darkMode?"ms-bg-white ms-bg-opacity-5":"ms-bg-gray-800 ms-bg-opacity-5":"")},t)}var dk=function(e){var t=e.isMultilineInput,n=e.isOnlyAI,o=e.hideMendable,a=e.style,i=e.botIcon;e.setMendableBotUI;var s=e.setSelectedIndex,l=e.onClick,c=e.selectedIndex,u=e.totalItems,p=e.askAIText,d=e.inputQuestion;return t?null:r.createElement("div",{tabIndex:0,style:{"--accent-color":a.accentColor},className:"ms-overflow-hidden ms-rounded-lg ms-p-0.5 ".concat(n&&"main-module_ms-loading-box2__xhzvD"," ms-relative")},r.createElement("div",{className:"ms-relative ms-z-[1000] ms-rounded-lg ".concat(a.darkMode?n?"ms-bg-[#1a1a1a]":"":n?"ms-bg-[#ffffff]":"")},!o&&r.createElement(pk,{onClick:function(){l()},style:a,selected:c===u,onMouseEnter:function(){return s(u)},onMouseLeave:function(){return s(u)},disableSpacing:!0},r.createElement("div",{className:"ms-flex ms-flex-col ms-items-start ms-justify-start "},r.createElement("div",{className:"ms-flex ms-flex-row ms-items-center"},r.createElement("div",{className:""},r.createElement(lk,{messageStyle:a,isGenerating:!1,isCustomIcon:void 0!==i,icon:i?"string"==typeof i?r.createElement("img",{alt:"Search Icon",src:i}):i:r.createElement(sk,{isGenerating:!1}),isFancy:!0})),r.createElement("p",{style:{margin:0,padding:0},className:"!ms-my-4 !ms-ml-3 ms-text-base ms-font-normal"},function(e){return e.charAt(0).toUpperCase()+e.slice(1)}(p),!t&&r.createElement("span",{className:"ms-font-medium"},d.length>0?": "+d:"")))))))},fk=function(e){var t=e.style,n=e.hintText,o=e.company,a=e.project,i=e.isMendableLoading,s=e.botIcon,l=e.userIcon,c=e.askAIText,u=void 0===c?"Ask Mendable":c,p=e.anon_key,d=e.metadata,f=e.suggestedQuestions,m=e.historyState,h=e.setHistory,g=e.messageSettings;e.setResetHistory;var y=e.hiddenField,b=void 0===y?null:y,v=e._shouldStream,w=void 0===v||v,k=e.testing_id,x=e.isThinHorizontally,S=void 0!==x&&x,_=e._isPinned,E=void 0!==_&&_,C=e._setIsPinned,A=void 0===C?void 0:C,O=e._persistConvState,T=void 0!==O&&O,P=e._setPersistConvState,j=e.onMessageForTracking,N=e.onSourceClickedForTracking;e.onSwitchingSearchType;var R=ke(e,["style","hintText","company","project","isMendableLoading","botIcon","userIcon","askAIText","anon_key","metadata","suggestedQuestions","historyState","setHistory","messageSettings","setResetHistory","hiddenField","_shouldStream","testing_id","isThinHorizontally","_isPinned","_setIsPinned","_persistConvState","_setPersistConvState","onMessageForTracking","onSourceClickedForTracking","onSwitchingSearchType"]),L=(0,r.useRef)(null),I=Kg().t,F=(0,r.useState)(""),D=F[0],M=F[1],B=(0,r.useState)(!1),z=B[0];B[1],(0,r.useEffect)((function(){bl.init("phc_lO7NMACRK6bPw3AP2cczlztJLMtKDOU9NcVmgSQjdvM",{api_host:"https://app.posthog.com"})}),[]),(0,r.useEffect)((function(){k&&bl.capture("testing_id",{testing_id:k})}),[k]),null==o||o.name,(0,r.useEffect)((function(){}),[]);var $=(0,r.useState)(!1),q=$[0],U=$[1],H="mendableBack"+(null==o?void 0:o.name),V=(0,r.useState)(0),G=V[0],W=V[1],K=(0,r.useState)(!1);K[0];var Y=K[1],Q=(0,r.useState)(!1),X=Q[0],Z=Q[1],J=(0,r.useState)(!1),ee=J[0],te=J[1],ne=(0,r.useState)(!1);ne[0];var re=ne[1],oe=(0,r.useState)([]),ae=oe[0],ie=oe[1],se=(0,r.useState)(!1),le=se[0],ce=se[1],ue=(0,r.useState)(!1);ue[0];var pe=ue[1],de=(0,r.useState)(!1),fe=de[0],me=de[1],he=(0,r.useState)(!1),ge=he[0],ye=he[1],be=function(e,t,n,r){var o,i={keyword:e,index:t+1,company:null==r?void 0:r.name,sourceLink:n.link,source:n,project_id:null!==(o=null==a?void 0:a.id)&&void 0!==o?o:null};bl.capture("keyword_click_through",i)},ve=function(e,t){var n={inputQuestion:e,company:t};bl.capture("switch_to_ai",n)},_e=function(e){return xe(void 0,void 0,void 0,(function(){var t;return Se(this,(function(n){switch(n.label){case 0:return null===o||null===a||""===e?[2]:(ce(!0),[4,Zo(e,o.name,a.id.toString(),d)]);case 1:return t=n.sent().map((function(e){var t,n;return{content:e.content,link:e.meta.source,highlight:null!==(t=e.highlight)&&void 0!==t?t:"",linkName:e.meta.sourceName,title:null!==(n=e.title)&&void 0!==n?n:""}})),bl.capture("classic search",{search_term:e,num_search_results:t.length,search_results:t,project_id:a.id}),0===t.length?(re(!0),me(!1)):re(!1),ie(t.slice(0,4)),pe(!0),ce(!1),[2]}}))}))},Ee=ae.length;function Ce(e){return e0?e-1:e}(e)})),Y(!0),Ae.current&&G<2&&(Ae.current.scrollTop-=64),e.preventDefault(),e.stopPropagation();else if("ArrowDown"===e.code)W((function(e){return Ce(e)})),Y(!0),Ae.current&&G>2&&G!==Ee&&(Ae.current.scrollTop+=64),e.preventDefault(),e.stopPropagation();else if("Tab"===e.code)W((function(e){return Ce(e)})),Y(!0),e.preventDefault(),e.stopPropagation();else if("Enter"===e.code&&null!==G)if(G===Ee)ve(D,o),U(!0);else{var t=ae[G];t&&(be(D,G,t,o),Yg(t.link,(null==g?void 0:g.openSourcesInNewTab)||!1,(null==g?void 0:g.openInNewTabForOutsideSources)||!1)?window.open(t.link,"_blank"):window.location.href=t.link)}};return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[Ee,G,ae,D]),q?r.createElement(ik,{onBackClick:function(){U(!1),M(""),ie([]),re(!1),Z(!1),te(!1),P&&P(!0),Kw(H,{back:!0})},topMessage:m.length>10?"Consider resetting the lengthy conversation for better outcomes":"",resetButton:r.createElement(r.Fragment,null,m.length>1&&!z&&r.createElement("button",{id:"ms-reset-button",className:" ms-flex ms-items-center ms-self-end ms-whitespace-nowrap ms-rounded-lg ms-px-2 ms-py-1 ms-text-xs ms-opacity-100 sm:ms-text-sm ".concat(t.darkMode?"ms-bg-white ms-bg-opacity-10 ms-text-white hover:ms-bg-opacity-25":"ms-bg-black ms-bg-opacity-5 ms-text-gray-800 hover:ms-bg-opacity-10"," hover:ms-cursor-pointer "),onClick:function(){ye(!0)}},r.createElement("svg",{className:"ms-mr-2",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 489.533 489.533",width:"12px",style:{fill:t.darkMode?"#fafafa":"#1a1a1a",opacity:.8}},r.createElement("g",null,r.createElement("path",{d:"M268.175,488.161c98.2-11,176.9-89.5,188.1-187.7c14.7-128.4-85.1-237.7-210.2-239.1v-57.6c0-3.2-4-4.9-6.7-2.9l-118.6,87.1c-2,1.5-2,4.4,0,5.9l118.6,87.1c2.7,2,6.7,0.2,6.7-2.9v-57.5c87.9,1.4,158.3,76.2,152.3,165.6c-5.1,76.9-67.8,139.3-144.7,144.2c-81.5,5.2-150.8-53-163.2-130c-2.3-14.3-14.8-24.7-29.2-24.7c-17.9,0-31.9,15.9-29.1,33.6C49.575,418.961,150.875,501.261,268.175,488.161z"}))),r.createElement("p",{style:{margin:0}},I("reset")))),setIsPinnedButton:r.createElement(r.Fragment,null,A&&r.createElement("div",{className:" ms-flex ms-items-center ms-self-end ms-whitespace-nowrap ms-rounded-lg ms-p-0.5 ms-text-xs ms-opacity-100 sm:ms-text-sm ".concat(t.darkMode?"ms-bg-white ms-bg-opacity-10 ms-text-white hover:ms-bg-opacity-25":"ms-bg-black ms-bg-opacity-5 ms-text-gray-800 hover:ms-bg-opacity-10"," hover:ms-cursor-pointer ")},r.createElement(Qw,{isPinned:!E,setPinState:A}))),style:t},r.createElement(ok,we({hintText:n,style:t,historyState:m,setHistory:h,company:o,project:a,metadata:d,isMendableLoading:i,anon_key:p,botIcon:s,userIcon:l,setResetHistory:function(){h([{message:I("welcomeMessage"),sources:[],code_snippet:"",isBot:!0,message_id:0}])},suggestedQuestions:f,hiddenField:b,messageSettings:g,_shouldStream:w,_inputQuesiton:D,_newInterface:!0,_resetComponent:ge,_setResetComponent:ye,_setIsPinned:void 0,_autoAskQuestion:D.length>0,_persistConvState:T,_setPersistConvState:P,onMessageForTracking:j,onSourceClickedForTracking:N},R))):r.createElement("div",{className:Vw+" ms-relative ms-w-full ms-transition-all ",style:{}},r.createElement("div",{style:{color:t.darkMode?"#ffffff":"#030712"},ref:L,className:Vw+" ms-z-[100] ms-h-full ms-max-h-[340px] ms-w-full ms-overflow-hidden ms-rounded-t-md ms-transition-all"},r.createElement(ak,{onChange:function(e){e.target.value.includes("\n")?Z(!0):Z(!1),M(e.target.value),0===e.target.value.length&&(ie([]),re(!1),te(!1),Z(!1),W(Ee)),e.target.value.split(" ").length>1?(W(Ee),me(!1),te(!0),_e(e.target.value)):(te(!1),W(0),_e(e.target.value))},handleClick:function(){},value:D,onKeyDown:function(e){"Enter"===e.key&&D&&!e.shiftKey?(e.shiftKey||!D||z||i||(G===Ee?U(!0):1===G&&_e(D)),e.preventDefault()):"Enter"!==e.key||e.shiftKey||e.preventDefault()},placeholder:n,style:t,loading:i,generating:!1,overrideInputContainerStyles:"ms-rounded-md",isTextArea:!0,isThinHorizontally:S,spinLoading:le&&0===ae.length}),r.createElement("div",{className:" ms-h-1 ms-w-full ms-border-b ms-border-gray-500 ms-border-opacity-20"}),r.createElement("div",{ref:Ae,className:"ms-max-h-[275px] ms-w-full ms-overflow-y-auto ms-p-4"},ee&&r.createElement(dk,{isMultilineInput:X,isOnlyAI:ee,hideMendable:fe,style:t,botIcon:s,setMendableBotUI:U,setSelectedIndex:W,selectedIndex:G,totalItems:Ee,askAIText:u,inputQuestion:D,onClick:function(){U(!0),ve(D,o)}}),D.length>0&&ae.map((function(e,n){var a;return r.createElement("div",{key:n,className:"ms-flex ms-items-center "},r.createElement(ck,{index:n+1,key:n,style:t,item:e,company:null==o?void 0:o.name,inputQuestion:D,onClick:function(){be(D,n,e,o)},openInNewTab:null!==(a=null==g?void 0:g.openSourcesInNewTab)&&void 0!==a&&a,selected:G===n,openInNewTabForOutsideSources:null==g?void 0:g.openInNewTabForOutsideSources,onMouseEnter:function(){W(n)},onMouseLeave:function(){}}))})),!ee&&r.createElement(dk,{isMultilineInput:X,isOnlyAI:ee,hideMendable:fe,style:t,botIcon:s,setMendableBotUI:U,setSelectedIndex:W,selectedIndex:G,totalItems:Ee,askAIText:u,inputQuestion:D,onClick:function(){U(!0),ve(D,o)}}))),r.createElement("div",{className:"ms-mt-2 ms-flex ms-w-full ms-items-center ms-justify-center"},o&&!o.is_white_label?r.createElement("div",{className:"ms-mb-2 ms-w-fit ms-rounded-full ms-px-2 ms-py-1 ".concat(t.darkMode?"ms-bg-white ms-bg-opacity-10":"ms-bg-black ms-bg-opacity-5")},r.createElement("p",{onClick:function(){window.open("https://mendable.ai","_blank")},style:{color:t.darkMode?"#ffffff":"#000000"},className:"ms-m-0 ms-w-fit ms-whitespace-nowrap ms-p-0 ms-text-xs ms-text-[10px] ms-opacity-75 hover:ms-cursor-pointer sm:ms-text-xs"},I("poweredBy")," Mendable")):r.createElement(r.Fragment,null)))};function mk(e){var t=e.anon_key,n=e.style,o=void 0===n?On:n;e.dialogCustomStyle;var a=e.welcomeMessage,i=void 0===a?"":a,s=e.openState,l=e.setOpenState,c=void 0===l?function(){}:l,u=e.showSimpleSearch,p=void 0!==u&&u,d=e._setIsPinned,f=void 0===d?void 0:d,m=e._isPinned,h=e.historyState,g=e.setHistory,y=e.hintQuestions,b=void 0===y?[]:y,v=ke(e,["anon_key","style","dialogCustomStyle","welcomeMessage","openState","setOpenState","showSimpleSearch","_setIsPinned","_isPinned","historyState","setHistory","hintQuestions"]),w=(0,r.useState)(null),k=w[0],x=w[1],S=(0,r.useState)(null),_=S[0],E=S[1],C=(0,r.useState)(b),A=C[0],O=C[1],T=(0,r.useState)(!1),P=T[0],j=T[1],N=(0,r.useState)(s),R=N[0],L=N[1],I=(0,r.useState)(null),F=I[0],D=I[1],M=Kg(),B=M.t;M.i18n;var z=(0,r.useState)(null),$=z[0],q=z[1],U=(0,r.useState)(!1),H=U[0],V=U[1];(0,r.useEffect)((function(){}),[P]),(0,r.useEffect)((function(){L(s)}),[R,s]),(0,r.useEffect)((function(){j(!0),Yo(t).then((function(e){if(void 0===e.company||void 0===e.project)return ve.error("company or project is null"),void D("company or project is null");x(e.company),E(e.project);try{null!==e.questions&&e.questions.length>0&&O(e.questions||null)}catch(e){D("error getting suggested questions")}j(!1)})).catch((function(e){ve.log("error",e),D(B("initializeError")),j(!1)}));try{Qo().then((function(e){q(e.message)}))}catch(e){}}),[]);var G=function(e){"k"===e.key&&e.metaKey&&L((function(e){return!e}))};return(0,r.useEffect)((function(){return window.addEventListener("keydown",G),function(){window.removeEventListener("keydown",G)}}),[]),s?be.createPortal(r.createElement("div",null,r.createElement(Cn,{appear:!0,show:R,as:r.Fragment},r.createElement("div",{id:"ms-sidebar",className:"ms-fixed ms-right-4 ms-pl-8 ms-bottom-4 ms-h-fit ms-w-full ms-ml-4 sm:ms-w-[480px] ms-z-[100] ms-rounded-md"},r.createElement("div",{className:"ms-z-[100] ms-flex ms-h-fit ms-items-start ms-justify-center ms-p-4 ms-text-center"},r.createElement(Cn.Child,{as:r.Fragment,enter:"ms-ease-out ms-duration-300",enterFrom:"ms-opacity-0 ms-scale-95",enterTo:"ms-opacity-100 ms-scale-100",leave:"ms-ease-in ms-duration-200",leaveFrom:"ms-opacity-100 ms-scale-100",leaveTo:"ms-opacity-0 ms-scale-9a"},r.createElement("div",{className:"ms-relative ms-h-fit ms-z-[100] ms-w-full ms-transform ms-rounded-xl ms-text-left ms-align-middle ms-shadow-xl ms-transition-all sm:ms-max-w-[400px]"},r.createElement("div",{style:{background:o.backgroundColor?o.backgroundColor:o.darkMode?"#1a1a1a":"#ffffff"},className:"ms-flex ms-items-end ms-max-h-full ms-w-full ms-flex-col ms-rounded-xl ms-border ms-border-gray-500 ms-border-opacity-20 ms-p-2 ".concat("sm:ms-p-0")},null!==F?r.createElement("div",{style:{background:o.backgroundColor?o.backgroundColor:o.darkMode?"#1a1a1a":"#ffffff"},className:" ms-flex ms-h-full ms-max-h-full ms-w-full ms-flex-col ms-rounded-xl ms-p-2 ".concat("sm:ms-p-0")},r.createElement("p",{style:{margin:0},className:"ms-ml-4 ms-text-red-500"},F)):r.createElement(r.Fragment,null),p?r.createElement(vl,{tabs:[{name:"\ud83e\udd16 Mendable",displayComponent:r.createElement(fk,we({style:o,company:k,project:_,historyState:h,setHistory:g,isMendableLoading:P,anon_key:t,setResetHistory:function(){g([{message:""===i?B("welcomeMessage"):i,sources:[],code_snippet:"",isBot:!0,message_id:0}])},suggestedQuestions:A,isThinHorizontally:!0,hiddenField:$},v))}],sourcesStyle:o}):r.createElement(vl,{tabs:[{name:"\ud83e\udd16 Mendable",displayComponent:r.createElement(ok,we({style:o,historyState:h,setHistory:g,company:k,project:_,isMendableLoading:P,anon_key:t,setResetHistory:function(){g([{message:""===i?B("welcomeMessage"):i,sources:[],code_snippet:"",isBot:!0,message_id:0}])},suggestedQuestions:A,hiddenField:$,_isPinned:m,_setIsPinned:f,_persistConvState:H,_setPersistConvState:V},v,{_closeComponent:function(){c(!1),V(!0)}}))}],sourcesStyle:o})))))))),document.body):r.createElement(r.Fragment,null)}function hk(e){var t=e.anon_key,n=e.style,o=void 0===n?On:n,a=e.dialogCustomStyle,i=e.welcomeMessage,s=void 0===i?"":i,l=e.openState,c=void 0!==l&&l,u=e.setOpenState,p=void 0===u?function(){}:u,d=e.showSimpleSearch,f=void 0!==d&&d,m=e.isPinnable,h=void 0!==m&&m;e.cmdShortcutKey;var g=e.hintQuestions,y=void 0===g?[]:g,b=e.onMessageForTracking,v=e.onSourceClickedForTracking;e.onSwitchingSearchType;var w=e._isFullyLoaded,k=void 0===w?function(e){}:w,x=ke(e,["anon_key","style","dialogCustomStyle","welcomeMessage","openState","setOpenState","showSimpleSearch","isPinnable","cmdShortcutKey","hintQuestions","onMessageForTracking","onSourceClickedForTracking","onSwitchingSearchType","_isFullyLoaded"]),S=(0,r.useState)(null),_=S[0],E=S[1],C=(0,r.useState)(null),A=C[0],O=C[1],T=(0,r.useState)(y),P=T[0],j=T[1],N=(0,r.useState)(!1),R=N[0],L=N[1],I=(0,r.useState)(!1),F=I[0],D=I[1],M=(0,r.useState)(null),B=M[0],z=M[1],$=Kg(),q=$.t,U=$.i18n,H=(0,r.useState)(!1),V=H[0],G=H[1],W=(0,r.useState)([{message:""===s?q("welcomeMessage"):s,sources:[],code_snippet:"",isBot:!0,message_id:0}]),K=W[0],Y=W[1];(0,r.useEffect)((function(){K.length>1||Y([{message:""===s?q("welcomeMessage"):s,sources:[],code_snippet:"",isBot:!0,message_id:0}])}),[U.language]);var Q=(0,r.useState)(null),X=Q[0],Z=Q[1],J="mendableBotChatHistory"+(null==_?void 0:_.name);return(0,r.useEffect)((function(){}),[R]),(0,r.useEffect)((function(){L(!0),Yo(t).then((function(e){try{if(!e.company||!e.project)return ve.error("company or project is null"),void z("company or project is null");E(e.company),O(e.project)}catch(e){ve.log("error",e),z("error getting company or project")}try{null!==e.questions&&e.questions.length>0&&0===y.length&&j(e.questions||null)}catch(e){j([]),z("error getting suggested questions")}L(!1),k(!0)})).catch((function(e){ve.log("error",e),z(q("initializeError")),L(!1)}));try{Qo().then((function(e){Z(e.message)}))}catch(e){}}),[]),(0,r.useEffect)((function(){c&&!F&&K.length>1&&D(!0)}),[c]),V?r.createElement("div",null,r.createElement(mk,we({anon_key:t,style:o,openState:c,setOpenState:function(e){return p(e)},_setIsPinned:function(){return G(!1)},historyState:K,setHistory:Y},x,{_isPinned:!0}))):r.createElement("div",null,r.createElement(Cn,{appear:!0,show:c,as:r.Fragment},r.createElement(un,{as:"div",className:"ms-relative ms-z-[100]",onClose:function(){p(!1),D(!0)}},r.createElement(Cn.Child,{as:r.Fragment,enter:"ms-ease-out ms-duration-300",enterFrom:"ms-opacity-0",enterTo:"ms-opacity-100",leave:"ms-ease-in ms-duration-200",leaveFrom:"ms-opacity-100",leaveTo:"ms-opacity-0"},r.createElement("div",{className:"ms-fixed ms-inset-0 ms-bg-black ms-bg-opacity-50"})),r.createElement("div",{style:{marginTop:(null==a?void 0:a.dialogTopMargin)||0},className:"ms-fixed ms-inset-0 ms-z-[100] ms-overflow-auto sm:ms-overflow-hidden"},r.createElement("div",{className:"ms-z-[100] ms-flex ms-min-h-full ms-items-start ms-justify-center ms-p-4 ms-text-center"},r.createElement(Cn.Child,{as:r.Fragment,enter:"ms-ease-out ms-duration-300",enterFrom:"ms-opacity-0 ms-scale-95",enterTo:"ms-opacity-100 ms-scale-100",leave:"ms-ease-in ms-duration-200",leaveFrom:"ms-opacity-100 ms-scale-100",leaveTo:"ms-opacity-0 ms-scale-95"},r.createElement(un.Panel,{className:"ms-z-[100] ms-mt-20 ms-h-[95%] ms-w-full ms-transform ms-overflow-auto ms-rounded-xl ms-text-left ms-align-middle ms-shadow-xl ms-transition-all sm:ms-max-w-[800px] sm:ms-overflow-hidden"},r.createElement("div",{style:{background:o.backgroundColor?o.backgroundColor:o.darkMode?"#1a1a1a":"#ffffff"},className:"ms-relative ms-flex ms-h-full ms-max-h-full ms-w-full ms-flex-col ms-items-end ms-rounded-xl ms-border ms-border-gray-500 ms-border-opacity-20 ".concat("sm:ms-p-0")},null!==B?r.createElement("div",{style:{background:o.backgroundColor?o.backgroundColor:o.darkMode?"#1a1a1a":"#ffffff"},className:" ms-flex ms-h-full ms-max-h-full ms-w-full ms-flex-col ms-rounded-xl ms-p-2 ".concat(f?"sm:ms-p-4":"sm:ms-p-0")},r.createElement("p",{style:{margin:0,padding:10},className:"ms-ml-4 ms-text-red-500"},B)):r.createElement(r.Fragment,null),f?r.createElement(vl,{tabs:[{name:"\ud83e\udd16 Mendable",displayComponent:r.createElement(fk,we({style:o,company:_,project:A,historyState:K,setHistory:Y,isMendableLoading:R,messageSettings:x.messageSettings,anon_key:t,metadata:x.metadata,setResetHistory:function(){Y([{message:""===s?q("welcomeMessage"):s,sources:[],code_snippet:"",isBot:!0,message_id:0}]),Kw(J,[{message:""===s?q("welcomeMessage"):s,sources:[],code_snippet:"",isBot:!0,message_id:0}])},suggestedQuestions:P,hiddenField:X,_setIsPinned:h?G:void 0,_isPinned:V,_persistConvState:F,_setPersistConvState:D,onMessageForTracking:b,onSourceClickedForTracking:v},x))}],sourcesStyle:o}):r.createElement(vl,{tabs:[{name:"\ud83e\udd16 Mendable",displayComponent:r.createElement(ok,we({style:o,historyState:K,setHistory:Y,company:_,project:A,isMendableLoading:R,anon_key:t,setResetHistory:function(){Y([{message:""===s?q("welcomeMessage"):s,sources:[],code_snippet:"",isBot:!0,message_id:0}]),Kw(J,[{message:""===s?q("welcomeMessage"):s,sources:[],code_snippet:"",isBot:!0,message_id:0}])},suggestedQuestions:P,hiddenField:X,_setIsPinned:h?G:void 0,metadata:x.metadata,_isPinned:V,_persistConvState:F,_setPersistConvState:D,onMessageForTracking:b,onSourceClickedForTracking:v},x))}],sourcesStyle:o})))))))))}var gk={},yk={get exports(){return gk},set exports(e){gk=e}};!function(e){!function(){var t={}.hasOwnProperty;function n(){for(var e=[],r=0;r4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+60*n*1e3)),r&&(o.domain=r),document.cookie=function(e,t,n){var r=n||{};r.path=r.path||"/";var o=encodeURIComponent(t),a="".concat(e,"=").concat(o);if(r.maxAge>0){var i=r.maxAge-0;if(Number.isNaN(i))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(i))}if(r.domain){if(!Ak.test(r.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(r.domain)}if(r.path){if(!Ak.test(r.path))throw new TypeError("option path is invalid");a+="; Path=".concat(r.path)}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw new TypeError("option expires is invalid");a+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(a+="; HttpOnly"),r.secure&&(a+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}(e,encodeURIComponent(t),o)},Tk={name:"cookie",lookup:function(e){var t;if(e.lookupCookie&&"undefined"!=typeof document){var n=function(e){for(var t="".concat(e,"="),n=document.cookie.split(";"),r=0;r-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));for(var r=n.substring(1).split("&"),o=0;o0&&r[o].substring(0,a)===e.lookupQuerystring&&(t=r[o].substring(a+1))}}return t}},jk=null,Nk=function(){if(null!==jk)return jk;try{jk="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){jk=!1}return jk},Rk={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&Nk()){var n=window.localStorage.getItem(e.lookupLocalStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&Nk()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},Lk=null,Ik=function(){if(null!==Lk)return Lk;try{Lk="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){Lk=!1}return Lk},Fk={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&Ik()){var n=window.sessionStorage.getItem(e.lookupSessionStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&Ik()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},Dk={name:"navigator",lookup:function(e){var t=[];if("undefined"!=typeof navigator){if(navigator.languages)for(var n=0;n0?t:void 0}},Mk={name:"htmlTag",lookup:function(e){var t,n=e.htmlTag||("undefined"!=typeof document?document.documentElement:null);return n&&"function"==typeof n.getAttribute&&(t=n.getAttribute("lang")),t}},Bk={name:"path",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(n instanceof Array)if("number"==typeof e.lookupFromPathIndex){if("string"!=typeof n[e.lookupFromPathIndex])return;t=n[e.lookupFromPathIndex].replace("/","")}else t=n[0].replace("/","")}return t}},zk={name:"subdomain",lookup:function(e){var t="number"==typeof e.lookupFromSubdomainIndex?e.lookupFromSubdomainIndex+1:1,n="undefined"!=typeof window&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[t]}},$k=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}var t,n;return t=e,n=[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return Ek.call(Ck.call(arguments,1),(function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])})),e}(t,this.options||{},{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"]}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(Tk),this.addDetector(Pk),this.addDetector(Rk),this.addDetector(Fk),this.addDetector(Dk),this.addDetector(Mk),this.addDetector(Bk),this.addDetector(zk)}},{key:"addDetector",value:function(e){this.detectors[e.name]=e}},{key:"detect",value:function(e){var t=this;e||(e=this.options.order);var n=[];return e.forEach((function(e){if(t.detectors[e]){var r=t.detectors[e].lookup(t.options);r&&"string"==typeof r&&(r=[r]),r&&(n=n.concat(r))}})),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}},{key:"cacheUserLanguage",value:function(e,t){var n=this;t||(t=this.options.caches),t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach((function(t){n.detectors[t]&&n.detectors[t].cacheUserLanguage(e,n.options)})))}}],n&&Sk(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();$k.type="languageDetector",db.use($k).use($g).init({fallbackLng:"en",debug:!1,resources:{en:{translation:{placeholderSearch:"Search...",dialogPlaceholderSearch:"How to deploy my application?",dialogPlaceholder:"How to deploy my application?",poweredBy:"Powered by",reset:"Reset",contactSupport:"Contact support",welcomeMessage:"Hi, how can I help you?",loading:"Loading",generating:"Generating",ask:"Ask",verifiedSources:"Verified Sources",helpfulResponse:"Was this response helpful?",yes:"Yes",no:"No",search:"Search",initializeError:"Connection Error. Try back in a few minutes.",assistant:"Assistant",you:"You",searchingDocs:"Searching documentation. This may take a second!","Welcome to React":"Welcome to React and react-i18next",back:"Back",answer:"Answer",loadingTools:"AI is looking for tools to use"}},es:{translation:{placeholderSearch:"Buscar...",dialogPlaceholderSearch:"\xbfC\xf3mo implementar mi aplicaci\xf3n?",dialogPlaceholder:"\xbfC\xf3mo implementar mi aplicaci\xf3n?",poweredBy:"Impulsado por",reset:"Restablecer",contactSupport:"Contactar soporte",welcomeMessage:"Hola, \xbfc\xf3mo puedo ayudarte?",loading:"Cargando",generating:"Generando",ask:"Preguntar",verifiedSources:"Fuentes Verificadas",helpfulResponse:"\xbfFue \xfatil esta respuesta?",yes:"S\xed",no:"No",search:"Buscar",initializeError:"Error de conexi\xf3n. Intente de nuevo en unos minutos.",assistant:"Asistente",you:"T\xfa",searchingDocs:"Estamos buscando la respuesta. Esto puede tardar unos segundos.","Welcome to React":"Bienvenido a React y react-i18next",back:"Volver",answer:"Respuesta",loadingTools:"AI est\xe1 buscando herramientas para usar"}},pt:{translation:{placeholderSearch:"Pesquisar...",dialogPlaceholderSearch:"Como implementar a minha aplica\xe7\xe3o?",dialogPlaceholder:"Como implementar a minha aplica\xe7\xe3o?",poweredBy:"Impulsionado por",reset:"Resetar",contactSupport:"Contatar suporte",welcomeMessage:"Oi, como posso ajudar voc\xea?",loading:"Carregando",generating:"Gerando",ask:"Perguntar",verifiedSources:"Fontes Verificadas",helpfulResponse:"Esta resposta foi \xfatil?",yes:"Sim",no:"N\xe3o",search:"Pesquisar",initializeError:"Erro de conex\xe3o. Tente novamente em alguns minutos.",assistant:"Assistente",you:"Voc\xea",searchingDocs:"Pesquisando documenta\xe7\xe3o. Isso pode levar um segundo!","Welcome to React":"Bem-vindo ao React e react-i18next",back:"Voltar",answer:"Resposta",loadingTools:"AI est\xe1 procurando ferramentas para usar"}},fr:{translation:{placeholderSearch:"Rechercher...",dialogPlaceholderSearch:"Comment d\xe9ployer mon application?",dialogPlaceholder:"Comment d\xe9ployer mon application?",poweredBy:"Aliment\xe9 par",reset:"R\xe9initialiser",contactSupport:"Contacter le support",welcomeMessage:"Salut, comment puis-je vous aider?",loading:"Chargement",generating:"G\xe9n\xe9ration",ask:"Demander",verifiedSources:"Sources V\xe9rifi\xe9es",helpfulResponse:"Cette r\xe9ponse a-t-elle \xe9t\xe9 utile?",yes:"Oui",no:"Non",search:"Rechercher",initializeError:"Erreur de connexion. Essayez de nouveau dans quelques minutes.",assistant:"Assistant",you:"Vous",searchingDocs:"Recherche dans la documentation. Cela peut prendre une seconde!","Welcome to React":"Bienvenue sur React et react-i18next",back:"Retour",answer:"R\xe9ponse",loadingTools:"AI recherche des outils \xe0 utiliser"}},nl:{translation:{placeholderSearch:"Zoeken...",dialogPlaceholderSearch:"Hoe implementeer ik mijn applicatie?",dialogPlaceholder:"Hoe implementeer ik mijn applicatie?",poweredBy:"Mogelijk gemaakt door",reset:"Resetten",contactSupport:"Contacteer support",welcomeMessage:"Hallo, hoe kan ik u helpen?",loading:"Bezig met laden",generating:"Genereren",ask:"Stel vraag",verifiedSources:"Geverifieerde Bronnen",helpfulResponse:"Was dit antwoord nuttig?",yes:"Ja",no:"Nee",search:"Zoeken",initializeError:"Verbindingsfout. Probeer het over een paar minuten opnieuw.",assistant:"Assistent",you:"Jij",searchingDocs:"Documentatie aan het zoeken. Dit kan even duren!","Welcome to React":"Welkom bij React en react-i18next",back:"Terug",answer:"Antwoord",loadingTools:"AI zoekt naar tools om te gebruiken"}},de:{translation:{placeholderSearch:"Suchen...",dialogPlaceholderSearch:"Wie kann ich meine Anwendung implementieren?",dialogPlaceholder:"Wie kann ich meine Anwendung implementieren?",poweredBy:"Unterst\xfctzt von",reset:"Zur\xfccksetzen",contactSupport:"Kundenservice kontaktieren",welcomeMessage:"Hallo, wie kann ich Ihnen helfen?",loading:"Laden",generating:"Generieren",ask:"Fragen",verifiedSources:"Verifizierte Quellen",helpfulResponse:"War diese Antwort hilfreich?",yes:"Ja",no:"Nein",search:"Suchen",initializeError:"Verbindungsfehler. Versuchen Sie es in einigen Minuten erneut.",assistant:"Assistent",you:"Du",searchingDocs:"Suche in der Dokumentation. Dies kann einen Moment dauern!","Welcome to React":"Willkommen bei React und react-i18next",back:"Zur\xfcck",answer:"Antwort",loadingTools:"KI sucht nach Tools, die verwendet werden sollen"}},ja:{translation:{placeholderSearch:"\u691c\u7d22...",dialogPlaceholderSearch:"\u79c1\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3069\u306e\u3088\u3046\u306b\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3059\u304b\uff1f",dialogPlaceholder:"\u79c1\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3069\u306e\u3088\u3046\u306b\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3059\u304b\uff1f",poweredBy:"\u63d0\u4f9b",reset:"\u30ea\u30bb\u30c3\u30c8",contactSupport:"\u30b5\u30dd\u30fc\u30c8\u306b\u9023\u7d61",welcomeMessage:"\u3053\u3093\u306b\u3061\u306f\u3001\u4f55\u304b\u304a\u624b\u4f1d\u3044\u3067\u304d\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u304b\uff1f",loading:"\u8aad\u307f\u8fbc\u307f\u4e2d",generating:"\u751f\u6210\u4e2d",ask:"\u5c0b\u306d\u308b",verifiedSources:"\u78ba\u8a8d\u6e08\u307f\u306e\u60c5\u5831\u6e90",helpfulResponse:"\u3053\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u306f\u5f79\u306b\u7acb\u3061\u307e\u3057\u305f\u304b\uff1f",yes:"\u306f\u3044",no:"\u3044\u3044\u3048",search:"\u691c\u7d22",initializeError:"\u63a5\u7d9a\u30a8\u30e9\u30fc\u3002\u6570\u5206\u5f8c\u306b\u518d\u8a66\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002",assistant:"\u30a2\u30b7\u30b9\u30bf\u30f3\u30c8",you:"\u3042\u306a\u305f",searchingDocs:"\u30c9\u30ad\u30e5\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u691c\u7d22\u4e2d\u3002\u5c11\u3005\u304a\u5f85\u3061\u304f\u3060\u3055\u3044\uff01","Welcome to React":"React\u3068react-i18next\u3078\u3088\u3046\u3053\u305d",back:"\u623b\u308b",answer:"\u7b54\u3048",loadingTools:"AI\u306f\u4f7f\u7528\u3059\u308b\u30c4\u30fc\u30eb\u3092\u63a2\u3057\u3066\u3044\u307e\u3059"}},it:{translation:{placeholderSearch:"Cerca...",dialogPlaceholderSearch:"Come posso implementare la mia applicazione?",dialogPlaceholder:"Come posso implementare la mia applicazione?",poweredBy:"Powered by",reset:"Reset",contactSupport:"Contatta il supporto",welcomeMessage:"Ciao, come posso aiutarti?",loading:"Caricamento",generating:"Generazione",ask:"Chiedi",verifiedSources:"Fonti Verificate",helpfulResponse:"Questa risposta \xe8 stata utile?",yes:"S\xec",no:"No",search:"Cerca",initializeError:"Errore di connessione. Riprova tra qualche minuto.",assistant:"Assistente",you:"Tu",searchingDocs:"Ricerca documentazione. Potrebbe richiedere un secondo!","Welcome to React":"Benvenuto in React e react-i18next",back:"Indietro",answer:"Risposta",loadingTools:"AI sta cercando gli strumenti da utilizzare"}},ar:{translation:{placeholderSearch:"\u0628\u062d\u062b...",dialogPlaceholderSearch:"\u0643\u064a\u0641 \u064a\u0645\u0643\u0646\u0646\u064a \u0646\u0634\u0631 \u062a\u0637\u0628\u064a\u0642\u064a\u061f",dialogPlaceholder:"\u0643\u064a\u0641 \u064a\u0645\u0643\u0646\u0646\u064a \u0646\u0634\u0631 \u062a\u0637\u0628\u064a\u0642\u064a\u061f",poweredBy:"\u0645\u062f\u0639\u0648\u0645 \u0628\u0648\u0627\u0633\u0637\u0629",reset:"\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646",contactSupport:"\u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u062f\u0639\u0645",welcomeMessage:"\u0645\u0631\u062d\u0628\u064b\u0627\u060c \u0643\u064a\u0641 \u064a\u0645\u0643\u0646\u0646\u064a \u0645\u0633\u0627\u0639\u062f\u062a\u0643\u061f",loading:"\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u062d\u0645\u064a\u0644",generating:"\u062c\u0627\u0631\u064a \u0627\u0644\u0625\u0646\u0634\u0627\u0621",ask:"\u0627\u0633\u0623\u0644",verifiedSources:"\u0627\u0644\u0645\u0635\u0627\u062f\u0631 \u0627\u0644\u0645\u0648\u062b\u0648\u0642\u0629",helpfulResponse:"\u0647\u0644 \u0643\u0627\u0646\u062a \u0647\u0630\u0647 \u0627\u0644\u0625\u062c\u0627\u0628\u0629 \u0645\u0641\u064a\u062f\u0629\u061f",yes:"\u0646\u0639\u0645",no:"\u0644\u0627",search:"\u0628\u062d\u062b",initializeError:"\u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u0627\u062a\u0635\u0627\u0644. \u062d\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649 \u0628\u0639\u062f \u062f\u0642\u064a\u0642\u0629 \u0623\u0648 \u0646\u062d\u0648 \u0630\u0644\u0643.",assistant:"\u0627\u0644\u0645\u0633\u0627\u0639\u062f",you:"\u0623\u0646\u062a",searchingDocs:"\u0627\u0644\u0628\u062d\u062b \u0641\u064a \u0627\u0644\u0648\u062b\u0627\u0626\u0642. \u0642\u062f \u064a\u0633\u062a\u063a\u0631\u0642 \u0630\u0644\u0643 \u0644\u062d\u0638\u0629!",back:"\u0631\u062c\u0648\u0639",answer:"\u0625\u062c\u0627\u0628\u0629",loadingTools:"\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u064a\u0628\u062d\u062b \u0639\u0646 \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0644\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645"}},ro:{translation:{placeholderSearch:"Caut\u0103...",dialogPlaceholderSearch:"Cum pot s\u0103-mi public aplica\u021bia?",dialogPlaceholder:"Cum pot s\u0103-mi public aplica\u021bia?",poweredBy:"Propulsat de",reset:"Resetare",contactSupport:"Contacteaz\u0103 echipa de suport",welcomeMessage:"Salut, cum pot s\u0103 te ajut?",loading:"Se \xeencarc\u0103",generating:"Se genereaz\u0103",ask:"\xcentreab\u0103",verifiedSources:"Surse verificate",helpfulResponse:"\u021ai-a fost de ajutor acest r\u0103spuns?",yes:"Da",no:"Nu",search:"Caut\u0103",initializeError:"Eroare de conexiune. \xcencearc\u0103 din nou \xeen c\xe2teva minute.",assistant:"Asistent",you:"Tu",searchingDocs:"Caut \xeen documenta\u021bie. Acest proces poate dura c\xe2teva secunde!",back:"\xcenapoi",answer:"R\u0103spuns",loadingTools:"AI caut\u0103 instrumente pentru a utiliza"}},el:{translation:{placeholderSearch:"\u0391\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7...",dialogPlaceholderSearch:"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03ce \u03bd\u03b1 \u03b1\u03bd\u03b1\u03c0\u03c4\u03cd\u03be\u03c9 \u03c4\u03b7\u03bd \u03b5\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ae \u03bc\u03bf\u03c5;",dialogPlaceholder:"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03ce \u03bd\u03b1 \u03b1\u03bd\u03b1\u03c0\u03c4\u03cd\u03be\u03c9 \u03c4\u03b7\u03bd \u03b5\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ae \u03bc\u03bf\u03c5;",poweredBy:"Powered by",reset:"\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ac",contactSupport:"\u03a5\u03c0\u03bf\u03c3\u03c4\u03ae\u03c1\u03b9\u03be\u03b7",welcomeMessage:"\u03a7\u03b1\u03af\u03c1\u03b5\u03c4\u03b5, \u03c0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03ce \u03bd\u03b1 \u03c3\u03b5 \u03b2\u03bf\u03b7\u03b8\u03ae\u03c3\u03c9;",loading:"\u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7",generating:"\u039c\u03b1\u03b6\u03b5\u03cd\u03c9 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2",ask:"\u039c\u03ac\u03b8\u03b5",verifiedSources:"\u0395\u03c0\u03b1\u03bb\u03b7\u03b8\u03b5\u03c5\u03bc\u03ad\u03bd\u03b5\u03c2 \u03c0\u03b7\u03b3\u03ad\u03c2",helpfulResponse:"\u0389\u03c4\u03b1\u03bd \u03c7\u03c1\u03ae\u03c3\u03b9\u03bc\u03b7 \u03b1\u03c5\u03c4\u03ae \u03b7 \u03b1\u03c0\u03ac\u03bd\u03c4\u03b7\u03c3\u03b7;",yes:"\u039d\u03b1\u03b9",no:"\u038c\u03c7\u03b9",search:"\u0391\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7",initializeError:"\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2. \u0394\u03bf\u03ba\u03af\u03bc\u03b1\u03c3\u03b5 \u03be\u03b1\u03bd\u03ac \u03c3\u03b5 \u03bb\u03af\u03b3\u03b1 \u03bb\u03b5\u03c0\u03c4\u03ac.",assistant:"\u0392\u03bf\u03b7\u03b8\u03cc\u03c2",you:"\u0395\u03c3\u03cd",searchingDocs:"\u0391\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7. \u039c\u03b9\u03b1 \u03c3\u03c4\u03b9\u03b3\u03bc\u03ae...",back:"\u03a0\u03af\u03c3\u03c9",answer:"\u0391\u03c0\u03ac\u03bd\u03c4\u03b7\u03c3\u03b7",loadingTools:"\u03a4\u03bf AI \u03c8\u03ac\u03c7\u03bd\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03b5\u03c1\u03b3\u03b1\u03bb\u03b5\u03af\u03b1 \u03b3\u03b9\u03b1 \u03c7\u03c1\u03ae\u03c3\u03b7"}}},detection:{order:["querystring","cookie","sessionStorage","localStorage","navigator","htmlTag","path","subdomain"],caches:[""]},interpolation:{escapeValue:!1}});var qk=function(e){return(0,r.useEffect)((function(){""!==e&&db.changeLanguage(e)}),[e]),db};function Uk(e){return e.darkMode?Tn:Pn}function Hk(e){var t,n,o,a,i,s,l,c,u,p=e.anon_key,d=e.placeholder,f=void 0===d?vk:d,m=e.cmdShortcutKey,h=void 0===m?"k":m,g=e.onKeyDown,y=e.style,b=void 0===y?On:y,v=e.welcomeMessage,w=void 0===v?"":v,k=e.botIcon,x=e.userIcon,S=e.searchBarStyle,_=e.dialogPlaceholder,E=void 0===_?wk:_,C=e.showSimpleSearch,A=void 0!==C&&C,O=e.dialogCustomStyle,T=e.messageSettings,P=void 0===T?Nn:T,j=e.language,N=void 0===j?"":j;e._js;var R=e._shouldStream,L=void 0===R||R,I=e.testing_id,F=e.askAIText,D=e.isPinnable,M=void 0!==D&&D,B=e.privacyDisclaimer,z=e.footer,$=e.metadata,q=e.onMessageForTracking,U=e.onSourceClickedForTracking,H=e.onSwitchingSearchType,V=ke(e,["anon_key","placeholder","cmdShortcutKey","onKeyDown","style","welcomeMessage","botIcon","userIcon","searchBarStyle","dialogPlaceholder","showSimpleSearch","dialogCustomStyle","messageSettings","language","_js","_shouldStream","testing_id","askAIText","isPinnable","privacyDisclaimer","footer","metadata","onMessageForTracking","onSourceClickedForTracking","onSwitchingSearchType"]),G=r.useRef(null),W=r.useState(!1),K=W[0],Y=W[1],Q=Kg().t;qk(N),b=we({},function(e){return we(we({},On),e)}(b)),S=we({},function(e,t){var n=Uk(e);return we(we({},n),t)}(b,null!=S?S:{}));var X=function(e){e.key===h&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),Y((function(e){return!e})))};(0,r.useEffect)((function(){return window.addEventListener("keydown",X),function(){window.removeEventListener("keydown",X)}}),[]);var Z=(0,r.useState)(!1),J=Z[0],ee=Z[1];return(0,r.useEffect)((function(){"undefined"!=typeof window&&ee(window.navigator.platform.toUpperCase().indexOf("MAC")>=0)}),[]),r.createElement(r.Fragment,null,r.createElement("button",{id:"ms-search-bar",style:{backgroundColor:null!==(t=S.backgroundColor)&&void 0!==t?t:Uk(b).backgroundColor,borderColor:null!==(n=S.borderColor)&&void 0!==n?n:Uk(b).borderColor,color:null!==(o=S.color)&&void 0!==o?o:Uk(b).color,borderRadius:S.borderRadius},className:bk(b.darkMode&&"dark-mode !ms-text-white hover:!ms-bg-opacity-75 hover:!ms-text-white focus:ms-bg-gray-800 focus:ms-bg-opacity-75 focus:ms-text-white","ms-global search-btn__input ms-m-0 ms-flex ms-h-10 ms-w-full ms-flex-row ms-items-center ms-justify-between ms-gap-2 ms-bg-gray-50 ms-p-1 ms-px-2 ms-outline-none ms-ring-0 ms-transition-all hover:ms-cursor-pointer sm:ms-p-2 sm:ms-px-3","ms-border",S.shadow?"ms-shadow hover:ms-shadow-md":"",!S.borderRadius&&"ms-rounded-xl"),onClick:function(){Y(!0)}},r.createElement("div",{className:bk(b.darkMode&&"dark-mode","ms-global search-btn__input-container ms-flex ms-w-full ms-min-w-0 ms-items-center ms-gap-0 sm:ms-gap-1")},S.searchIcon?"string"==typeof S.searchIcon?r.createElement("img",{alt:"Search Icon",src:S.searchIcon,className:"ms-max-h-5 ms-max-w-5"}):S.searchIcon:r.createElement(Nm,{size:20,style:{color:null!==(a=S.color)&&void 0!==a?a:Uk(b).color,fill:null!==(i=S.color)&&void 0!==i?i:Uk(b).color},className:bk(b.darkMode&&"dark-mode ","search-btn__icon hover:fill-white ms-h-5 ms-w-5 ms-fill-gray-400 hover:ms-text-white focus:ms-fill-white focus:ms-text-white sm:ms-h-6 sm:ms-w-6")}),r.createElement("div",{ref:G,id:"userInput",onChange:function(e){return Y(!0)},onKeyDown:g,style:{color:null!==(s=S.color)&&void 0!==s?s:Uk(b).color},className:bk(b.darkMode&&"dark-mode ","ms-global search-btn__input ms-w-full ms-flex-grow ms-truncate ms-bg-transparent ms-text-sm ms-outline-none ms-ring-0 ms-ring-transparent focus:ms-outline-none focus:ms-ring-0 focus:ms-ring-transparent sm:ms-text-base","ms-ml-1 ms-flex ms-items-start ms-justify-start")},f===vk?Q("placeholderSearch"):f)),S.showShortcut&&r.createElement("div",{style:{backgroundColor:null!==(l=S.backgroundColor)&&void 0!==l?l:Uk(b).backgroundColor,borderColor:null!==(c=S.borderColor)&&void 0!==c?c:Uk(b).borderColor,color:null!==(u=S.color)&&void 0!==u?u:Uk(b).color},className:bk(b.darkMode&&"dark-mode ","search-btn__shortcut ms-z-10 ms-flex ms-flex-row ms-items-center ms-gap-1 ms-rounded-lg ms-border ms-py-[2px] ms-px-[8px] ms-text-xs ms-text-gray-400 ms-transition-all disabled:ms-bg-opacity-10")},r.createElement("span",null,J?"\u2318":"CTRL"),r.createElement("span",null,h.toUpperCase()))),r.createElement(hk,we({style:b,anon_key:p,openState:K,welcomeMessage:w,setOpenState:function(e){return Y(e)},hintText:E===wk?Q("dialogPlaceholderSearch"):E,botIcon:k,userIcon:x,showSimpleSearch:A,dialogCustomStyle:O,messageSettings:P,_shouldStream:L,testing_id:I,askAIText:F,isPinnable:M,privacyDisclaimer:B,footer:z,cmdShortcutKey:h,onMessageForTracking:q,onSourceClickedForTracking:U,onSwitchingSearchType:H,metadata:$},V)))}var Vk=function(e){var t=e.className,n=void 0===t?"ms-w-12 ms-h-12":t,o=e.logoColor,a=void 0===o?"white":o,i=ke(e,["className","logoColor"]);return r.createElement("svg",we({"aria-label":"Logo",viewBox:"0 0 546 546",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n},i),r.createElement("defs",null,r.createElement("clipPath",{id:"clip0_3620_357"},r.createElement("rect",{width:"546",height:"546",fill:"#fff"}))),r.createElement("g",{clipPath:"url(#clip0_3620_357)"},r.createElement("path",{d:"M264.987 200.961C264.987 160.363 297.811 127.564 338.44 127.564C379.068 127.564 411.892 160.409 411.892 200.961",stroke:a,strokeWidth:"44.0648",strokeMiterlimit:"10",strokeLinecap:"round"}),r.createElement("path",{d:"M412.03 408.171L412.03 200.961",stroke:a,strokeWidth:"44.0648",strokeMiterlimit:"10",strokeLinecap:"round"}),r.createElement("path",{d:"M264.935 409.074L264.987 200.961",stroke:a,strokeWidth:"44.0648",strokeMiterlimit:"10",strokeLinecap:"round"}),r.createElement("path",{d:"M118.137 200.96C118.37 160.363 151.382 127.752 192.01 127.985C232.638 128.218 265.273 161.206 265.04 201.803",stroke:a,strokeWidth:"44.0648",strokeMiterlimit:"10",strokeLinecap:"round"}),r.createElement("path",{d:"M118.169 195.409L116.949 408.12",stroke:a,strokeWidth:"44.0648",strokeMiterlimit:"10",strokeLinecap:"round"}),r.createElement("path",{d:"M339 198L338 377",stroke:a,strokeWidth:"42",strokeMiterlimit:"10",strokeLinecap:"round"}),r.createElement("path",{d:"M192 197L191 377",stroke:a,strokeWidth:"42",strokeMiterlimit:"10",strokeLinecap:"round"})))};function Gk(e){var t=e.floatingButtonStyle,n=void 0===t?jn:t,o=e.icon,a=e.dialogPlaceholder,i=void 0===a?wk:a,s=e.positionOverwriteClassname,l=void 0===s?"":s,c=e.language,u=void 0===c?"":c,p=e.welcomeMessage,d=void 0===p?"":p,f=e.cmdShortcutKey,m=void 0===f?"k":f,h=e.customText,g=void 0===h?"":h,y=e.showPopup,b=void 0===y||y,v=e.popupText,w=void 0===v?"":v,k=e.dismissPopupAfter,x=void 0===k?10:k,S=ke(e,["floatingButtonStyle","icon","dialogPlaceholder","positionOverwriteClassname","language","welcomeMessage","cmdShortcutKey","customText","showPopup","popupText","dismissPopupAfter"]),_=r.useState(!1),E=_[0],C=_[1],A=Kg();A.i18n;var O=A.t;qk(u);var T=function(e){e.key===m&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),C((function(e){return!e})))};(0,r.useEffect)((function(){return window.addEventListener("keydown",T),function(){window.removeEventListener("keydown",T)}}),[]);var P=(0,r.useState)(!1),j=P[0],N=P[1],R=(0,r.useState)(b),L=R[0],I=R[1],F=(0,r.useState)(!1),D=F[0],M=F[1],B="undefined"!=typeof window;return(0,r.useEffect)((function(){B&&(N(window.navigator.platform.toUpperCase().indexOf("MAC")>=0),b||I(window.innerWidth<700))}),[]),(0,r.useEffect)((function(){L&&-1!==x&&setTimeout((function(){M(!0)}),1e3*x)}),[L]),L?r.createElement(r.Fragment,null,r.createElement("div",{id:"ms-floating-button",className:"".concat(""!==l?l:""," ms-fixed ms-bottom-4 ms-right-8 ms-z-[100] ms-flex ms-flex-col ms-items-end hover:ms-cursor-pointer")},!D&&r.createElement("div",{className:"ms-relative ms-mb-4 "},r.createElement("div",{style:{backgroundColor:n.backgroundColor},className:"ms-absolute -ms-bottom-1 ms-right-6 -ms-z-10 ms-h-4 ms-w-4 ms-rotate-45"}),r.createElement("div",{style:{backgroundColor:n.backgroundColor},className:"ms-z-10 ms-flex ms-items-center ms-justify-center ms-rounded-lg ms-px-3 ms-py-2 "},r.createElement("p",{style:{color:n.color,margin:0},className:"ms-text-sm"},""!==w?w:""===d?O("welcomeMessage"):d))),r.createElement("div",{style:{backgroundColor:n.backgroundColor},onClick:function(){C((function(e){return!e})),M(!0)},className:"ms-flex ms-h-16 ms-w-16 ms-flex-col ms-items-center ms-justify-center ms-self-end ms-rounded-full ms-p-2 ms-transition"},r.createElement("div",{className:"".concat(E?"":"ms-rotate-0 "," ms-flex ms-h-full ms-w-full ms-transform ms-cursor-pointer ms-items-center ms-justify-center ms-rounded-full ms-transition-all ms-delay-75 ms-duration-100 ms-ease-in-out")},"string"==typeof o?r.createElement("img",{src:o,alt:"Floating button icon",className:"ms-h-12 ms-w-12 ms-rounded-md"}):null!=o?o:r.createElement(Vk,{logoColor:n.color}))),r.createElement(hk,we({hintText:i===wk?O("dialogPlaceholder"):i,openState:E,setOpenState:function(e){return C(e)},welcomeMessage:d},S)))):r.createElement(r.Fragment,null,r.createElement("div",{style:{backgroundColor:n.backgroundColor},id:"ms-floating-button-s",onClick:function(){return C((function(e){return!e}))},className:"".concat(E?"-ms-rotate-90":"ms-rotate-0"," ").concat(""!==l?l+" ms-h-fit ms-w-fit ":"ms-fixed ms-bottom-4 ms-right-8"," ms-z-[100] ms-flex ms-flex-col ms-items-center ms-justify-center ms-rounded-md ms-p-2 ms-transition")},r.createElement("div",{className:"".concat(E?"ms-mb-2 ms-rotate-90 ms-bg-opacity-10":"ms-rotate-0 "," ms-flex ms-h-full ms-w-full ms-transform ms-cursor-pointer ms-items-center ms-justify-center ms-rounded-full ms-transition-all ms-delay-75 ms-duration-100 ms-ease-in-out")},"string"==typeof o?r.createElement("img",{src:o,alt:"Floating button icon",className:"ms-h-12 ms-w-12 ms-rounded-md"}):null!=o?o:r.createElement(Vk,{logoColor:n.color})),r.createElement("div",{style:{color:n.color},className:"ms-rounded-md ms-bg-white ms-bg-opacity-10 ms-p-1 ms-text-base ".concat(0===g.length&&j?"ms-text-base":g.length<9?"ms-text-sm":"ms-text-xs"," ms-transition-all ms-delay-75 ").concat(E?"".concat(""!==g?"ms-mt-4":"ms-mt-2"," ms-mb-4 ms-rotate-90 ms-scale-105 ms-bg-opacity-10"):"ms-mt-2 ms-scale-100")},""===g?j?"\u2318 + "+m.toUpperCase():"CTRL + "+m.toUpperCase():g)),r.createElement(hk,we({hintText:i===wk?O("dialogPlaceholder"):i,openState:E,setOpenState:function(e){return C(e)},welcomeMessage:d,cmdShortcutKey:m},S)))}function Wk(){const{siteConfig:{customFields:e}}=(0,ce.A)();return(0,p.jsx)("div",{className:"mendable-search",children:(0,p.jsx)(Hk,{anon_key:e.mendableAnonKey,placeholder:"Search...",dialogPlaceholder:"How to deploy my application?",showSimpleSearch:!0})})}const Kk={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Yk(e){let{children:t,className:n}=e;return(0,p.jsx)("div",{className:(0,a.A)(n,Kk.navbarSearchContainer),children:t})}var Qk=n(44070),Xk=n(26972);var Zk=n(53886);function Jk(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const ex={default:ie,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:s,localeConfigs:u}}=(0,ce.A)(),d=(0,he.o)(),{search:f,hash:m}=(0,l.zy)(),h=s.map((e=>{const n=`${`pathname://${d.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${o}`;return{label:u[e].label,lang:u[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),g=[...n,...h,...r],y=t?(0,c.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):u[i].label;return(0,p.jsx)(me,{...a,mobile:t,label:(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(ge,{className:ye}),y]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,p.jsx)(Yk,{className:n,children:(0,p.jsx)(Wk,{})})},dropdown:me,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,p.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Qk.zK)(r),i=(0,Xk.QB)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,p.jsx)(ie,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Qk.zK)(r),i=(0,Xk.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,p.jsx)(ie,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Xk.Vd)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,p.jsx)(ie,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:s,hash:u}=(0,l.zy)(),d=(0,Qk.zK)(n),f=(0,Qk.jh)(n),{savePreferredVersionName:m}=(0,Zk.g1)(n),h=[...o,...f.map((function(e){const t=Jk(e,d);return{label:e.label,to:`${t.path}${s}${u}`,isActive:()=>e===d.activeVersion,onClick:()=>m(e.name)}})),...a],g=(0,Xk.Vd)(n)[0],y=t&&h.length>1?(0,c.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,b=t&&h.length>1?void 0:Jk(g,d).path;return h.length<=1?(0,p.jsx)(ie,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,p.jsx)(me,{...i,mobile:t,label:y,to:b,items:h,isActive:r?()=>!1:void 0})}},tx=ex;function nx(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=tx[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,p.jsx)(o,{...n})}function rx(){const e=(0,P.M)(),t=(0,k.p)().navbar.items;return(0,p.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(nx,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function ox(e){return(0,p.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,p.jsx)(c.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function ax(){const e=0===(0,k.p)().navbar.items.length,t=D();return(0,p.jsxs)(p.Fragment,{children:[!e&&(0,p.jsx)(ox,{onClick:()=>t.hide()}),t.content]})}function ix(){const e=(0,P.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,p.jsx)(M,{header:(0,p.jsx)(X,{}),primaryMenu:(0,p.jsx)(rx,{}),secondaryMenu:(0,p.jsx)(ax,{})}):null}const sx={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function lx(e){return(0,p.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function cx(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,k.p)(),i=(0,P.M)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,j.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,p.jsxs)("nav",{ref:s,"aria-label":(0,c.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[sx.navbarHideable,!l&&sx.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,p.jsx)(lx,{onClick:i.toggle}),(0,p.jsx)(ix,{})]})}var ux=n(70440);const px={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function dx(e){return(0,p.jsx)("button",{type:"button",...e,children:(0,p.jsx)(c.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function fx(e){let{error:t}=e;const n=(0,ux.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,p.jsx)("p",{className:px.errorBoundaryError,children:n})}class mx extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const hx="right";function gx(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,p.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,p.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function yx(){const{toggle:e,shown:t}=(0,P.M)();return(0,p.jsx)("button",{onClick:e,"aria-label":(0,c.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,p.jsx)(gx,{})})}const bx={colorModeToggle:"colorModeToggle_DEke"};function vx(e){let{items:t}=e;return(0,p.jsx)(p.Fragment,{children:t.map(((e,t)=>(0,p.jsx)(mx,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,p.jsx)(nx,{...e})},t)))})}function wx(e){let{left:t,right:n}=e;return(0,p.jsxs)("div",{className:"navbar__inner",children:[(0,p.jsx)("div",{className:"navbar__items",children:t}),(0,p.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function kx(){const e=(0,P.M)(),t=(0,k.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??hx)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,p.jsx)(wx,{left:(0,p.jsxs)(p.Fragment,{children:[!e.disabled&&(0,p.jsx)(yx,{}),(0,p.jsx)(Y,{}),(0,p.jsx)(vx,{items:n})]}),right:(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(vx,{items:r}),(0,p.jsx)(W,{className:bx.colorModeToggle}),!o&&(0,p.jsx)(Yk,{children:(0,p.jsx)(Wk,{})})]})})}function xx(){return(0,p.jsx)(cx,{children:(0,p.jsx)(kx,{})})}function Sx(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,J.Ay)(n),l=(0,J.Ay)(r,{forcePrependBaseUrl:!0});return(0,p.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,ee.A)(r)&&(0,p.jsx)(ne.A,{})]})}function _x(e){let{item:t}=e;return t.html?(0,p.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,p.jsx)("li",{className:"footer__item",children:(0,p.jsx)(Sx,{item:t})},t.href??t.to)}function Ex(e){let{column:t}=e;return(0,p.jsxs)("div",{className:"col footer__col",children:[(0,p.jsx)("div",{className:"footer__title",children:t.title}),(0,p.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,p.jsx)(_x,{item:e},t)))})]})}function Cx(e){let{columns:t}=e;return(0,p.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,p.jsx)(Ex,{column:e},t)))})}function Ax(){return(0,p.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ox(e){let{item:t}=e;return t.html?(0,p.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,p.jsx)(Sx,{item:t})}function Tx(e){let{links:t}=e;return(0,p.jsx)("div",{className:"footer__links text--center",children:(0,p.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,p.jsxs)(r.Fragment,{children:[(0,p.jsx)(Ox,{item:e}),t.length!==n+1&&(0,p.jsx)(Ax,{})]},n)))})})}function Px(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,p.jsx)(Cx,{columns:t}):(0,p.jsx)(Tx,{links:t})}var jx=n(21122);const Nx="footerLogoLink_BH7S";function Rx(e){let{logo:t}=e;const{withBaseUrl:n}=(0,J.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,p.jsx)(jx.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Lx(e){let{logo:t}=e;return t.href?(0,p.jsx)(Z.A,{href:t.href,className:Nx,target:t.target,children:(0,p.jsx)(Rx,{logo:t})}):(0,p.jsx)(Rx,{logo:t})}function Ix(e){let{copyright:t}=e;return(0,p.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Fx(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,p.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,p.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,p.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,p.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function Dx(){const{footer:e}=(0,k.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,p.jsx)(Fx,{style:o,links:n&&n.length>0&&(0,p.jsx)(Px,{links:n}),logo:r&&(0,p.jsx)(Lx,{logo:r}),copyright:t&&(0,p.jsx)(Ix,{copyright:t})})}const Mx=r.memo(Dx);function Bx(e){const t=r.createElement("img",{src:"/img/langflow-icon-black-transparent.svg",srcDark:"",style:{width:"40px"}},null),n=r.createElement("div",{style:{color:"#000000",fontSize:"22px",width:"48px",height:"48px",margin:"0px",padding:"0px",display:"flex",alignItems:"center",justifyContent:"center",textAlign:"center"}},[t]),{siteConfig:{customFields:o}}=(0,ce.A)(),a=r.createElement(Gk,{floatingButtonStyle:{color:"#000000",backgroundColor:"#f6f6f6"},anon_key:o.mendableAnonKey,showSimpleSearch:!0,icon:n});return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(Mx,{}),a]})}const zx=(0,N.fM)([B.a,x.o,j.Tv,Zk.VQ,s.Jx,function(e){let{children:t}=e;return(0,p.jsx)(R.y_,{children:(0,p.jsx)(P.e,{children:(0,p.jsx)(I,{children:t})})})}]);function $x(e){let{children:t}=e;return(0,p.jsx)(zx,{children:t})}var qx=n(51107);function Ux(e){let{error:t,tryAgain:n}=e;return(0,p.jsx)("main",{className:"container margin-vert--xl",children:(0,p.jsx)("div",{className:"row",children:(0,p.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,p.jsx)(qx.A,{as:"h1",className:"hero__title",children:(0,p.jsx)(c.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,p.jsx)("div",{className:"margin-vert--lg",children:(0,p.jsx)(dx,{onClick:n,className:"button button--primary shadow--lw"})}),(0,p.jsx)("hr",{}),(0,p.jsx)("div",{className:"margin-vert--md",children:(0,p.jsx)(fx,{error:t})})]})})})}const Hx={mainWrapper:"mainWrapper_z2l0"};function Vx(e){const{children:t,noFooter:n,wrapperClassName:r,title:o,description:l}=e;return(0,b.J)(),(0,p.jsxs)($x,{children:[(0,p.jsx)(s.be,{title:o,description:l}),(0,p.jsx)(w,{}),(0,p.jsx)(T,{}),(0,p.jsx)(xx,{}),(0,p.jsx)("div",{id:d,className:(0,a.A)(y.G.wrapper.main,Hx.mainWrapper,r),children:(0,p.jsx)(i.A,{fallback:e=>(0,p.jsx)(Ux,{...e}),children:t})}),!n&&(0,p.jsx)(Bx,{})]})}},23465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(28774),o=n(86025),a=n(44586),i=n(6342),s=n(21122),l=n(74848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:u,titleClassName:p,...d}=e,f=(0,o.Ay)(s?.href||"/"),m=n?"":t,h=s?.alt??m;return(0,l.jsxs)(r.A,{to:f,...d,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:h,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:p,children:n})]})}},41463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(5260),o=n(74848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},21122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(96540),o=n(15066),a=n(92303),i=n(95293);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(74848);function c(e){let{className:t,children:n}=e;const c=(0,a.A)(),{colorMode:u}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},41422:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>c});var r=n(96540),o=n(38193),a=n(205),i=n(53109),s=n(74848);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},p={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?u:p;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return d(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?u:p}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(u.current,n),i?.(n))},className:l,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(h,{...n,collapsed:l}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,s.jsx)(r,{...n})}},65041:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var r=n(96540),o=n(92303),a=n(70679),i=n(89532),s=n(6342),l=n(74848);const c=(0,a.Wf)("docusaurus.announcement.dismiss"),u=(0,a.Wf)("docusaurus.announcement.id"),p=()=>"true"===c.get(),d=e=>c.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&p()));(0,r.useEffect)((()=>{a(p())}),[]);const i=(0,r.useCallback)((()=>{d(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&p()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},95293:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>g});var r=n(96540),o=n(38193),a=n(89532),i=n(70679),s=n(6342),l=n(74848);const c=r.createContext(void 0),u="theme",p=(0,i.Wf)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,m=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{p.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&p.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),p.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=p.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[o,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},22069:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>d});var r=n(96540),o=n(75600),a=n(24581),i=n(57485),s=n(6342),l=n(89532),c=n(74848);const u=r.createContext(void 0);function p(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[l,c]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(l)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function d(e){let{children:t}=e;const n=p();return(0,c.jsx)(u.Provider,{value:n,children:t})}function f(){const e=r.useContext(u);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},75600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>l,y_:()=>s});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},14090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(96540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},24581:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(96540),o=n(38193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},17559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},53109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},57485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,aZ:()=>l});var r=n(96540),o=n(56347),a=n(89532);function i(e){!function(e){const t=(0,o.W6)(),n=(0,a._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,o.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function l(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},31682:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function o(e){return Array.from(new Set(e))}n.d(t,{XI:()=>r,sb:()=>o})},1003:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>p,Jx:()=>m});var r=n(96540),o=n(15066),a=n(5260),i=n(53102);function s(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(86025),c=n(44586);var u=n(74848);function p(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const s=function(e){const{siteConfig:t}=(0,c.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:p}=(0,l.hH)(),d=o?p(o,{absolute:!0}):void 0;return(0,u.jsxs)(a.A,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),d&&(0,u.jsx)("meta",{property:"og:image",content:d}),d&&(0,u.jsx)("meta",{name:"twitter:image",content:d}),i]})}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,o.A)(i,t);return(0,u.jsxs)(d.Provider,{value:s,children:[(0,u.jsx)(a.A,{children:(0,u.jsx)("html",{className:s})}),n]})}function m(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,o.A)(r,a),children:t})}},89532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>u});var r=n(96540),o=n(205),a=n(74848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},99169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(96540),o=n(35947),a=n(44586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},23104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>u,a_:()=>m,gk:()=>h});var r=n(96540),o=n(38193),a=n(92303),i=n(205),s=n(89532),l=n(74848);const c=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function p(){const e=(0,r.useContext)(c);if(null==e)throw new s.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=p(),o=(0,r.useRef)(d()),a=(0,s._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function m(){const e=p(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),o=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.A)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:o}}function h(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},70679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>p,Dv:()=>d});var r=n(96540);const o=JSON.parse('{"N":"localStorage","M":""}');var a=n(96763);const i=o.N;function s(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function l(e){if(void 0===e&&(e=i),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,c||(a.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),c=!0),null}var t}let c=!1;const u={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function p(e,t){const n=`${e}${o.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const r=l(t?.persistence);return null===r?u:{get:()=>{try{return r.getItem(n)}catch(e){return a.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=r.getItem(n);r.setItem(n,e),s({key:n,oldValue:t,newValue:e,storage:r})}catch(t){a.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=r.getItem(n);r.removeItem(n),s({key:n,oldValue:e,newValue:null,storage:r})}catch(e){a.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===r&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return a.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?u:p(e,t))).current(),o=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},32131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(44586),o=n(56347),a=n(70440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,o.zy)(),c=(0,a.Ks)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),p=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${p}`}}}},75062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(96540),o=n(56347),a=n(89532);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(44586);function o(){return(0,r.A)().siteConfig.themeConfig}},12983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,c=n,c?o(l):a(l));var l,c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(42566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},80253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},70440:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const r=n(31635);var o=n(12983);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(42566);var i=n(80253);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},42566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},73796:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>m});var r=n(4784),o=n(96763),a=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=window.Promise||function(e){function t(){}e(t,t)},i=function(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{}).target,t=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(b.container)if(b.container instanceof Object)t=(e=a({},e,b.container)).width-e.left-e.right-2*b.margin,n=e.height-e.top-e.bottom-2*b.margin;else{var r=(s(b.container)?b.container:document.querySelector(b.container)).getBoundingClientRect(),o=r.width,i=r.height,c=r.left,u=r.top;e=a({},e,{width:o,height:i,left:c,top:u})}t=t||e.width-2*b.margin,n=n||e.height-2*b.margin;var p=v.zoomedHd||v.original,d=l(p)?t:p.naturalWidth||t,f=l(p)?n:p.naturalHeight||n,m=p.getBoundingClientRect(),h=m.top,g=m.left,y=m.width,w=m.height,k=Math.min(Math.max(y,d),t)/y,x=Math.min(Math.max(w,f),n)/w,S=Math.min(k,x),_="scale("+S+") translate3d("+((t-y)/2-g+b.margin+e.left)/S+"px, "+((n-w)/2-h+b.margin+e.top)/S+"px, 0)";v.zoomed.style.transform=_,v.zoomedHd&&(v.zoomedHd.style.transform=_)};return new r((function(n){if(e&&-1===m.indexOf(e))n(k);else{if(v.zoomed)n(k);else{if(e)v.original=e;else{if(!(m.length>0))return void n(k);var r=m;v.original=r[0]}if(v.original.dispatchEvent(u("medium-zoom:open",{detail:{zoom:k}})),y=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,g=!0,v.zoomed=function(e){var t=e.getBoundingClientRect(),n=t.top,r=t.left,o=t.width,a=t.height,i=e.cloneNode(),s=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,l=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return i.removeAttribute("id"),i.style.position="absolute",i.style.top=n+s+"px",i.style.left=r+l+"px",i.style.width=o+"px",i.style.height=a+"px",i.style.transform="",i}(v.original),document.body.appendChild(w),b.template){var a=s(b.template)?b.template:document.querySelector(b.template);v.template=document.createElement("div"),v.template.appendChild(a.content.cloneNode(!0)),document.body.appendChild(v.template)}if(v.original.parentElement&&"PICTURE"===v.original.parentElement.tagName&&v.original.currentSrc&&(v.zoomed.src=v.original.currentSrc),document.body.appendChild(v.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),v.original.classList.add("medium-zoom-image--hidden"),v.zoomed.classList.add("medium-zoom-image--opened"),v.zoomed.addEventListener("click",d),v.zoomed.addEventListener("transitionend",(function e(){g=!1,v.zoomed.removeEventListener("transitionend",e),v.original.dispatchEvent(u("medium-zoom:opened",{detail:{zoom:k}})),n(k)})),v.original.getAttribute("data-zoom-src")){v.zoomedHd=v.zoomed.cloneNode(),v.zoomedHd.removeAttribute("srcset"),v.zoomedHd.removeAttribute("sizes"),v.zoomedHd.removeAttribute("loading"),v.zoomedHd.src=v.zoomed.getAttribute("data-zoom-src"),v.zoomedHd.onerror=function(){clearInterval(i),o.warn("Unable to reach the zoom image target "+v.zoomedHd.src),v.zoomedHd=null,t()};var i=setInterval((function(){v.zoomedHd.complete&&(clearInterval(i),v.zoomedHd.classList.add("medium-zoom-image--opened"),v.zoomedHd.addEventListener("click",d),document.body.appendChild(v.zoomedHd),t())}),10)}else if(v.original.hasAttribute("srcset")){v.zoomedHd=v.zoomed.cloneNode(),v.zoomedHd.removeAttribute("sizes"),v.zoomedHd.removeAttribute("loading");var l=v.zoomedHd.addEventListener("load",(function(){v.zoomedHd.removeEventListener("load",l),v.zoomedHd.classList.add("medium-zoom-image--opened"),v.zoomedHd.addEventListener("click",d),document.body.appendChild(v.zoomedHd),t()}))}else t()}}}))},d=function(){return new r((function(e){if(!g&&v.original){g=!0,document.body.classList.remove("medium-zoom--opened"),v.zoomed.style.transform="",v.zoomedHd&&(v.zoomedHd.style.transform=""),v.template&&(v.template.style.transition="opacity 150ms",v.template.style.opacity=0),v.original.dispatchEvent(u("medium-zoom:close",{detail:{zoom:k}})),v.zoomed.addEventListener("transitionend",(function t(){v.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(v.zoomed),v.zoomedHd&&document.body.removeChild(v.zoomedHd),document.body.removeChild(w),v.zoomed.classList.remove("medium-zoom-image--opened"),v.template&&document.body.removeChild(v.template),g=!1,v.zoomed.removeEventListener("transitionend",t),v.original.dispatchEvent(u("medium-zoom:closed",{detail:{zoom:k}})),v.original=null,v.zoomed=null,v.zoomedHd=null,v.template=null,e(k)}))}else e(k)}))},f=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).target;return v.original?d():p({target:e})},m=[],h=[],g=!1,y=0,b=n,v={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?b=t:(t||"string"==typeof t)&&i(t);var w=function(e){var t=document.createElement("div");return t.classList.add("medium-zoom-overlay"),t.style.background=e,t}((b=a({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},b)).background);document.addEventListener("click",(function(e){var t=e.target;t!==w?-1!==m.indexOf(t)&&f({target:t}):d()})),document.addEventListener("keyup",(function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||d()})),document.addEventListener("scroll",(function(){if(!g&&v.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(y-e)>b.scrollOffset&&setTimeout(d,150)}})),window.addEventListener("resize",d);var k={open:p,close:d,toggle:f,update:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(w.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=a({},b.container,e.container)),e.template){var n=s(e.template)?e.template:document.querySelector(e.template);t.template=n}return b=a({},b,t),m.forEach((function(e){e.dispatchEvent(u("medium-zoom:update",{detail:{zoom:k}}))})),k},clone:function(){return e(a({},b,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}))},attach:i,detach:function(){for(var e=arguments.length,t=Array(e),n=0;n0?t.reduce((function(e,t){return[].concat(e,c(t))}),[]):m;return r.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(u("medium-zoom:detach",{detail:{zoom:k}}))})),m=m.filter((function(e){return-1===r.indexOf(e)})),k},on:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return m.forEach((function(r){r.addEventListener("medium-zoom:"+e,t,n)})),h.push({type:"medium-zoom:"+e,listener:t,options:n}),k},off:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return m.forEach((function(r){r.removeEventListener("medium-zoom:"+e,t,n)})),h=h.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),k},getOptions:function(){return b},getImages:function(){return m},getZoomedImage:function(){return v.original}};return k},{themeConfig:d}=r.A;function f(e){var t,n;return document.querySelector('html[data-theme="dark"]')?(null===(t=e.background)||void 0===t?void 0:t.dark)||"rgb(50, 50, 50)":(null===(n=e.background)||void 0===n?void 0:n.light)||"rgb(255, 255, 255)"}const m=function(){if("undefined"==typeof window)return null;let e;const{zoom:t}=d,{selector:n=".markdown img",config:r={}}=t||{};if(!t)return null;r.background=f(t);var o=new MutationObserver((function(){e&&e.update({background:f(t)})}));const a=document.querySelector("html");return o.observe(a,{attributes:!0,attributeFilter:["data-theme"]}),setTimeout((()=>{e&&e.detach(),e=p(n,r)}),1e3),{onRouteUpdate(){setTimeout((()=>{e&&e.detach(),e=p(n,r)}),1e3)}}}()},38075:(e,t,n)=>{"use strict";var r=n(70453),o=n(10487),a=o(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"==typeof n&&a(e,".prototype.")>-1?o(n):n}},10487:(e,t,n)=>{"use strict";var r=n(66743),o=n(70453),a=n(96897),i=n(69675),s=o("%Function.prototype.apply%"),l=o("%Function.prototype.call%"),c=o("%Reflect.apply%",!0)||r.call(l,s),u=n(30655),p=o("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new i("a function is required");var t=c(r,l,arguments);return a(t,1+p(0,e.length-(arguments.length-1)),!0)};var d=function(){return c(r,s,arguments)};u?u(e.exports,"apply",{value:d}):e.exports.apply=d},96763:(e,t,n)=>{var r=n(40537),o=n(94148);function a(){return(new Date).getTime()}var i,s=Array.prototype.slice,l={};i=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var c=[[function(){},"log"],[function(){i.log.apply(i,arguments)},"info"],[function(){i.log.apply(i,arguments)},"warn"],[function(){i.warn.apply(i,arguments)},"error"],[function(e){l[e]=a()},"time"],[function(e){var t=l[e];if(!t)throw new Error("No such label: "+e);delete l[e];var n=a()-t;i.log(e+": "+n+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=r.format.apply(null,arguments),i.error(e.stack)},"trace"],[function(e){i.log(r.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=s.call(arguments,1);o.ok(!1,r.format.apply(null,t))}},"assert"]],u=0;u{"use strict";var r=n(30655),o=n(58068),a=n(69675),i=n(75795);e.exports=function(e,t,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new a("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new a("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new a("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new a("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new a("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new a("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],p=!!i&&i(e,t);if(r)r(e,t,{configurable:null===c&&p?p.configurable:!c,enumerable:null===s&&p?p.enumerable:!s,value:n,writable:null===l&&p?p.writable:!l});else{if(!u&&(s||l||c))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=n}}},38452:(e,t,n)=>{"use strict";var r=n(1189),o="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,i=Array.prototype.concat,s=n(30041),l=n(30592)(),c=function(e,t,n,r){if(t in e)if(!0===r){if(e[t]===n)return}else if("function"!=typeof(o=r)||"[object Function]"!==a.call(o)||!r())return;var o;l?s(e,t,n,!0):s(e,t,n)},u=function(e,t){var n=arguments.length>2?arguments[2]:{},a=r(t);o&&(a=i.call(a,Object.getOwnPropertySymbols(t)));for(var s=0;s{"use strict";var r=n(70453)("%Object.defineProperty%",!0)||!1;if(r)try{r({},"a",{value:1})}catch(o){r=!1}e.exports=r},41237:e=>{"use strict";e.exports=EvalError},69383:e=>{"use strict";e.exports=Error},79290:e=>{"use strict";e.exports=RangeError},79538:e=>{"use strict";e.exports=ReferenceError},58068:e=>{"use strict";e.exports=SyntaxError},69675:e=>{"use strict";e.exports=TypeError},35345:e=>{"use strict";e.exports=URIError},82682:(e,t,n)=>{"use strict";var r=n(69600),o=Object.prototype.toString,a=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){if(!r(t))throw new TypeError("iterator must be a function");var i;arguments.length>=3&&(i=n),"[object Array]"===o.call(e)?function(e,t,n){for(var r=0,o=e.length;r{"use strict";var t=Object.prototype.toString,n=Math.max,r=function(e,t){for(var n=[],r=0;r{"use strict";var r=n(89353);e.exports=Function.prototype.bind||r},70453:(e,t,n)=>{"use strict";var r,o=n(69383),a=n(41237),i=n(79290),s=n(79538),l=n(58068),c=n(69675),u=n(35345),p=Function,d=function(e){try{return p('"use strict"; return ('+e+").constructor;")()}catch(t){}},f=Object.getOwnPropertyDescriptor;if(f)try{f({},"")}catch(I){f=null}var m=function(){throw new c},h=f?function(){try{return m}catch(e){try{return f(arguments,"callee").get}catch(t){return m}}}():m,g=n(64039)(),y=n(80024)(),b=Object.getPrototypeOf||(y?function(e){return e.__proto__}:null),v={},w="undefined"!=typeof Uint8Array&&b?b(Uint8Array):r,k={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":g&&b?b([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?r:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":o,"%eval%":eval,"%EvalError%":a,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":p,"%GeneratorFunction%":v,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":g&&b?b(b([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&g&&b?b((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":i,"%ReferenceError%":s,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&g&&b?b((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":g&&b?b(""[Symbol.iterator]()):r,"%Symbol%":g?Symbol:r,"%SyntaxError%":l,"%ThrowTypeError%":h,"%TypedArray%":w,"%TypeError%":c,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":u,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet};if(b)try{null.error}catch(I){var x=b(b(I));k["%Error.prototype%"]=x}var S=function e(t){var n;if("%AsyncFunction%"===t)n=d("async function () {}");else if("%GeneratorFunction%"===t)n=d("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=d("async function* () {}");else if("%AsyncGenerator%"===t){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===t){var o=e("%AsyncGenerator%");o&&b&&(n=b(o.prototype))}return k[t]=n,n},_={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},E=n(66743),C=n(9957),A=E.call(Function.call,Array.prototype.concat),O=E.call(Function.apply,Array.prototype.splice),T=E.call(Function.call,String.prototype.replace),P=E.call(Function.call,String.prototype.slice),j=E.call(Function.call,RegExp.prototype.exec),N=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,R=/\\(\\)?/g,L=function(e,t){var n,r=e;if(C(_,r)&&(r="%"+(n=_[r])[0]+"%"),C(k,r)){var o=k[r];if(o===v&&(o=S(r)),void 0===o&&!t)throw new c("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:o}}throw new l("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new c('"allowMissing" argument must be a boolean');if(null===j(/^%?[^%]*%?$/,e))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(e){var t=P(e,0,1),n=P(e,-1);if("%"===t&&"%"!==n)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new l("invalid intrinsic syntax, expected opening `%`");var r=[];return T(e,N,(function(e,t,n,o){r[r.length]=n?T(o,R,"$1"):t||e})),r}(e),r=n.length>0?n[0]:"",o=L("%"+r+"%",t),a=o.name,i=o.value,s=!1,u=o.alias;u&&(r=u[0],O(n,A([0,1],u)));for(var p=1,d=!0;p=n.length){var y=f(i,m);i=(d=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:i[m]}else d=C(i,m),i=i[m];d&&!s&&(k[a]=i)}}return i}},75795:(e,t,n)=>{"use strict";var r=n(70453)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(o){r=null}e.exports=r},30592:(e,t,n)=>{"use strict";var r=n(30655),o=function(){return!!r};o.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},e.exports=o},80024:e=>{"use strict";var t={__proto__:null,foo:{}},n=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!(t instanceof n)}},64039:(e,t,n)=>{"use strict";var r="undefined"!=typeof Symbol&&Symbol,o=n(41333);e.exports=function(){return"function"==typeof r&&("function"==typeof Symbol&&("symbol"==typeof r("foo")&&("symbol"==typeof Symbol("bar")&&o())))}},41333:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},49092:(e,t,n)=>{"use strict";var r=n(41333);e.exports=function(){return r()&&!!Symbol.toStringTag}},9957:(e,t,n)=>{"use strict";var r=Function.prototype.call,o=Object.prototype.hasOwnProperty,a=n(66743);e.exports=a.call(r,o)},31513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>f,sC:()=>O,AO:()=>d});var r=n(58168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;d--){var f=i[d];"."===f?a(i,d):".."===f?(a(i,d),p++):p&&(a(i,d),p--)}if(!c)for(;p--;p)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(11561);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function d(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),p({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,h(),w.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,p({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(44363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=u(n);p&&(i=i.concat(p(n)));for(var s=l(t),h=l(n),g=0;g{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},20311:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},47244:(e,t,n)=>{"use strict";var r=n(49092)(),o=n(38075)("Object.prototype.toString"),a=function(e){return!(r&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===o(e)},i=function(e){return!!a(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==o(e)&&"[object Function]"===o(e.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=i,e.exports=s?a:i},69600:e=>{"use strict";var t,n,r=Function.prototype.toString,o="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof o&&"function"==typeof Object.defineProperty)try{t=Object.defineProperty({},"length",{get:function(){throw n}}),n={},o((function(){throw 42}),null,t)}catch(f){f!==n&&(o=null)}else o=null;var a=/^\s*class\b/,i=function(e){try{var t=r.call(e);return a.test(t)}catch(n){return!1}},s=function(e){try{return!i(e)&&(r.call(e),!0)}catch(t){return!1}},l=Object.prototype.toString,c="function"==typeof Symbol&&!!Symbol.toStringTag,u=!(0 in[,]),p=function(){return!1};if("object"==typeof document){var d=document.all;l.call(d)===l.call(document.all)&&(p=function(e){if((u||!e)&&(void 0===e||"object"==typeof e))try{var t=l.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(n){}return!1})}e.exports=o?function(e){if(p(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{o(e,null,t)}catch(r){if(r!==n)return!1}return!i(e)&&s(e)}:function(e){if(p(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(c)return s(e);if(i(e))return!1;var t=l.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&s(e)}},48184:(e,t,n)=>{"use strict";var r,o=Object.prototype.toString,a=Function.prototype.toString,i=/^\s*(?:function)?\*/,s=n(49092)(),l=Object.getPrototypeOf;e.exports=function(e){if("function"!=typeof e)return!1;if(i.test(a.call(e)))return!0;if(!s)return"[object GeneratorFunction]"===o.call(e);if(!l)return!1;if(void 0===r){var t=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(e){}}();r=!!t&&l(t)}return l(e)===r}},13003:e=>{"use strict";e.exports=function(e){return e!=e}},24133:(e,t,n)=>{"use strict";var r=n(10487),o=n(38452),a=n(13003),i=n(76642),s=n(92464),l=r(i(),Number);o(l,{getPolyfill:i,implementation:a,shim:s}),e.exports=l},76642:(e,t,n)=>{"use strict";var r=n(13003);e.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:r}},92464:(e,t,n)=>{"use strict";var r=n(38452),o=n(76642);e.exports=function(){var e=o();return r(Number,{isNaN:e},{isNaN:function(){return Number.isNaN!==e}}),e}},35680:(e,t,n)=>{"use strict";var r=n(25767);e.exports=function(e){return!!r(e)}},64634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},21798:(e,t,n)=>{"use strict";n.r(t)},68665:(e,t,n)=>{"use strict";n.r(t)},11818:(e,t,n)=>{"use strict";n.r(t)},641:(e,t,n)=>{"use strict";n.r(t)},10119:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'

'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,p=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,p)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){p(document.documentElement,"nprogress-busy"),p(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function p(e,t){var n,r=d(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},89211:e=>{"use strict";var t=function(e){return e!=e};e.exports=function(e,n){return 0===e&&0===n?1/e==1/n:e===n||!(!t(e)||!t(n))}},37653:(e,t,n)=>{"use strict";var r=n(38452),o=n(10487),a=n(89211),i=n(9394),s=n(36576),l=o(i(),Object);r(l,{getPolyfill:i,implementation:a,shim:s}),e.exports=l},9394:(e,t,n)=>{"use strict";var r=n(89211);e.exports=function(){return"function"==typeof Object.is?Object.is:r}},36576:(e,t,n)=>{"use strict";var r=n(9394),o=n(38452);e.exports=function(){var e=r();return o(Object,{is:e},{is:function(){return Object.is!==e}}),e}},28875:(e,t,n)=>{"use strict";var r;if(!Object.keys){var o=Object.prototype.hasOwnProperty,a=Object.prototype.toString,i=n(1093),s=Object.prototype.propertyIsEnumerable,l=!s.call({toString:null},"toString"),c=s.call((function(){}),"prototype"),u=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(e){var t=e.constructor;return t&&t.prototype===e},d={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},f=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!d["$"+e]&&o.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{p(window[e])}catch(t){return!0}}catch(t){return!0}return!1}();r=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===a.call(e),r=i(e),s=t&&"[object String]"===a.call(e),d=[];if(!t&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var m=c&&n;if(s&&e.length>0&&!o.call(e,0))for(var h=0;h0)for(var g=0;g{"use strict";var r=Array.prototype.slice,o=n(1093),a=Object.keys,i=a?function(e){return a(e)}:n(28875),s=Object.keys;i.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return o(e)?s(r.call(e)):s(e)})}else Object.keys=i;return Object.keys||i},e.exports=i},1093:e=>{"use strict";var t=Object.prototype.toString;e.exports=function(e){var n=t.call(e),r="[object Arguments]"===n;return r||(r="[object Array]"!==n&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),r}},38403:(e,t,n)=>{"use strict";var r=n(1189),o=n(41333)(),a=n(38075),i=Object,s=a("Array.prototype.push"),l=a("Object.prototype.propertyIsEnumerable"),c=o?Object.getOwnPropertySymbols:null;e.exports=function(e,t){if(null==e)throw new TypeError("target must be an object");var n=i(e);if(1===arguments.length)return n;for(var a=1;a{"use strict";var r=n(38403);e.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),n={},r=0;r{"use strict";e.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{var r=n(96763);const o=n(6969),a=n(98380),i=new Set;function s(e){void 0===e?e=Object.keys(o.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...i,...Object.keys(Prism.languages)];a(o,e,t).load((e=>{if(!(e in o.languages))return void(s.silent||r.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(63157).resolve(t)],delete Prism.languages[e],n(63157)(t),i.add(e)}))}s.silent=!1,e.exports=s},19700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],p=n.tokenStack[u],d="string"==typeof c?c:c.content,f=t(r,u),m=d.indexOf(f);if(m>-1){++o;var h=d.substring(0,m),g=new e.Token(r,e.tokenize(p,n.grammar),"language-"+r,p),y=d.substring(m+f.length),b=[];h&&b.push.apply(b,i([h])),b.push(g),y&&b.push.apply(b,i([y])),"string"==typeof c?s.splice.apply(s,[l,1].concat(b)):c.content=b}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},18692:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=18692},63157:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=63157},98380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var s={},l=e[r];if(l){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in s))for(var i in o(t,a),s[t]=!0,n[t])s[i]=!0}t(l.require,c),t(l.optional,c),t(l.modify,c)}n[r]=s,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,s){var l=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(l);i=i.map(c),s=(s||[]).map(c);var u=n(i),p=n(s);i.forEach((function e(n){var r=l[n];t(r&&r.require,(function(t){t in p||(u[t]=!0,e(t))}))}));for(var d,f=r(l),m=u;o(m);){for(var h in d={},m){var g=l[h];t(g&&g.modify,(function(e){e in p&&(d[e]=!0)}))}for(var y in p)if(!(y in u))for(var b in f(y))if(b in u){d[y]=!0;break}for(var v in m=d)u[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,s={},l={};function c(e){if(e in s)return s[e];l[e]=!0;var o,u=[];for(var p in t(e))p in n&&u.push(p);if(0===u.length)o=r(e);else{var d=i(u.map((function(e){var t=c(e);return delete l[e],t})));a?o=a(d,(function(){return r(e)})):r(e)}return s[e]=o}for(var u in n)c(u);var p=[];for(var d in l)p.push(s[d]);return i(p)}(f,u,t,n)}};return w}}();e.exports=t},65606:e=>{var t,n,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var s,l=[],c=!1,u=-1;function p(){c&&s&&(c=!1,s.length?l=s.concat(l):u=-1,l.length&&d())}function d(){if(!c){var e=i(p);c=!0;for(var t=l.length;t;){for(s=l,l=[];++u1)for(var n=1;n{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},22551:(e,t,n)=>{"use strict";var r=n(96763),o=n(96540),a=n(69982);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n