Spaces:
Running
Running
{ | |
"name": "ChatInputTest", | |
"description": "", | |
"data": { | |
"nodes": [ | |
{ | |
"width": 384, | |
"height": 359, | |
"id": "PromptTemplate-IKKOx", | |
"type": "genericNode", | |
"position": { | |
"x": 880, | |
"y": 646.9375 | |
}, | |
"data": { | |
"type": "PromptTemplate", | |
"node": { | |
"template": { | |
"output_parser": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "output_parser", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "BaseOutputParser", | |
"list": false | |
}, | |
"input_variables": { | |
"required": true, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "input_variables", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": true, | |
"value": [ | |
"input" | |
] | |
}, | |
"partial_variables": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "partial_variables", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "code", | |
"list": false | |
}, | |
"template": { | |
"required": true, | |
"placeholder": "", | |
"show": true, | |
"multiline": true, | |
"password": false, | |
"name": "template", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "prompt", | |
"list": false, | |
"value": "Input: {input}\nAI:" | |
}, | |
"template_format": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"value": "f-string", | |
"password": false, | |
"name": "template_format", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": false | |
}, | |
"validate_template": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"value": true, | |
"password": false, | |
"name": "validate_template", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "bool", | |
"list": false | |
}, | |
"_type": "PromptTemplate", | |
"input": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": true, | |
"value": "", | |
"password": false, | |
"name": "input", | |
"display_name": "input", | |
"advanced": false, | |
"input_types": [ | |
"Document", | |
"BaseOutputParser", | |
"str" | |
], | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": false | |
} | |
}, | |
"description": "A prompt template for a language model.", | |
"base_classes": [ | |
"BasePromptTemplate", | |
"PromptTemplate", | |
"StringPromptTemplate" | |
], | |
"name": "", | |
"display_name": "PromptTemplate", | |
"documentation": "https://python.langchain.com/docs/modules/model_io/prompts/prompt_templates/", | |
"custom_fields": { | |
"": [ | |
"input" | |
], | |
"template": [ | |
"input" | |
] | |
}, | |
"output_types": [], | |
"field_formatters": { | |
"formatters": { | |
"openai_api_key": {} | |
}, | |
"base_formatters": { | |
"kwargs": {}, | |
"optional": {}, | |
"list": {}, | |
"dict": {}, | |
"union": {}, | |
"multiline": {}, | |
"show": {}, | |
"password": {}, | |
"default": {}, | |
"headers": {}, | |
"dict_code_file": {}, | |
"model_fields": { | |
"MODEL_DICT": { | |
"OpenAI": [ | |
"text-davinci-003", | |
"text-davinci-002", | |
"text-curie-001", | |
"text-babbage-001", | |
"text-ada-001" | |
], | |
"ChatOpenAI": [ | |
"gpt-3.5-turbo-0613", | |
"gpt-3.5-turbo", | |
"gpt-3.5-turbo-16k-0613", | |
"gpt-3.5-turbo-16k", | |
"gpt-4-0613", | |
"gpt-4-32k-0613", | |
"gpt-4", | |
"gpt-4-32k" | |
], | |
"Anthropic": [ | |
"claude-v1", | |
"claude-v1-100k", | |
"claude-instant-v1", | |
"claude-instant-v1-100k", | |
"claude-v1.3", | |
"claude-v1.3-100k", | |
"claude-v1.2", | |
"claude-v1.0", | |
"claude-instant-v1.1", | |
"claude-instant-v1.1-100k", | |
"claude-instant-v1.0" | |
], | |
"ChatAnthropic": [ | |
"claude-v1", | |
"claude-v1-100k", | |
"claude-instant-v1", | |
"claude-instant-v1-100k", | |
"claude-v1.3", | |
"claude-v1.3-100k", | |
"claude-v1.2", | |
"claude-v1.0", | |
"claude-instant-v1.1", | |
"claude-instant-v1.1-100k", | |
"claude-instant-v1.0" | |
] | |
} | |
} | |
} | |
}, | |
"beta": false, | |
"error": null | |
}, | |
"id": "PromptTemplate-IKKOx" | |
}, | |
"selected": false, | |
"positionAbsolute": { | |
"x": 880, | |
"y": 646.9375 | |
}, | |
"dragging": false | |
}, | |
{ | |
"width": 384, | |
"height": 307, | |
"id": "LLMChain-e2dhN", | |
"type": "genericNode", | |
"position": { | |
"x": 1449.330344958542, | |
"y": 880.1760221487797 | |
}, | |
"data": { | |
"type": "LLMChain", | |
"node": { | |
"template": { | |
"callbacks": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "callbacks", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "langchain.callbacks.base.BaseCallbackHandler", | |
"list": true | |
}, | |
"llm": { | |
"required": true, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"password": false, | |
"name": "llm", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "BaseLanguageModel", | |
"list": false | |
}, | |
"memory": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"password": false, | |
"name": "memory", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "BaseMemory", | |
"list": false | |
}, | |
"output_parser": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "output_parser", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "BaseLLMOutputParser", | |
"list": false | |
}, | |
"prompt": { | |
"required": true, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"password": false, | |
"name": "prompt", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "BasePromptTemplate", | |
"list": false | |
}, | |
"llm_kwargs": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "llm_kwargs", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "code", | |
"list": false | |
}, | |
"metadata": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "metadata", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "code", | |
"list": false | |
}, | |
"output_key": { | |
"required": true, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"value": "text", | |
"password": false, | |
"name": "output_key", | |
"advanced": true, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": false | |
}, | |
"return_final_only": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"value": true, | |
"password": false, | |
"name": "return_final_only", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "bool", | |
"list": false | |
}, | |
"tags": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "tags", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": true | |
}, | |
"verbose": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"value": false, | |
"password": false, | |
"name": "verbose", | |
"advanced": true, | |
"dynamic": false, | |
"info": "", | |
"type": "bool", | |
"list": false | |
}, | |
"_type": "LLMChain" | |
}, | |
"description": "Chain to run queries against LLMs.", | |
"base_classes": [ | |
"Chain", | |
"LLMChain", | |
"function", | |
"Text" | |
], | |
"display_name": "LLMChain", | |
"custom_fields": {}, | |
"output_types": [], | |
"documentation": "https://python.langchain.com/docs/modules/chains/foundational/llm_chain", | |
"beta": false, | |
"error": null | |
}, | |
"id": "LLMChain-e2dhN" | |
}, | |
"positionAbsolute": { | |
"x": 1449.330344958542, | |
"y": 880.1760221487797 | |
} | |
}, | |
{ | |
"width": 384, | |
"height": 621, | |
"id": "ChatOpenAI-2I57f", | |
"type": "genericNode", | |
"position": { | |
"x": 393.3551923753797, | |
"y": 1061.025177453298 | |
}, | |
"data": { | |
"type": "ChatOpenAI", | |
"node": { | |
"template": { | |
"callbacks": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "callbacks", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "langchain.callbacks.base.BaseCallbackHandler", | |
"list": true | |
}, | |
"cache": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "cache", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "bool", | |
"list": false | |
}, | |
"client": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "client", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "Any", | |
"list": false | |
}, | |
"max_retries": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"value": 6, | |
"password": false, | |
"name": "max_retries", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "int", | |
"list": false | |
}, | |
"max_tokens": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"password": true, | |
"name": "max_tokens", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "int", | |
"list": false, | |
"value": "" | |
}, | |
"metadata": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "metadata", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "code", | |
"list": false | |
}, | |
"model_kwargs": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"password": false, | |
"name": "model_kwargs", | |
"advanced": true, | |
"dynamic": false, | |
"info": "", | |
"type": "code", | |
"list": false | |
}, | |
"model_name": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"value": "gpt-3.5-turbo-0613", | |
"password": false, | |
"options": [ | |
"gpt-3.5-turbo-0613", | |
"gpt-3.5-turbo", | |
"gpt-3.5-turbo-16k-0613", | |
"gpt-3.5-turbo-16k", | |
"gpt-4-0613", | |
"gpt-4-32k-0613", | |
"gpt-4", | |
"gpt-4-32k" | |
], | |
"name": "model_name", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": true | |
}, | |
"n": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"value": 1, | |
"password": false, | |
"name": "n", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "int", | |
"list": false | |
}, | |
"openai_api_base": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"password": false, | |
"name": "openai_api_base", | |
"display_name": "OpenAI API Base", | |
"advanced": false, | |
"dynamic": false, | |
"info": "\nThe base URL of the OpenAI API. Defaults to https://api.openai.com/v1.\n\nYou can change this to use other APIs like JinaChat, LocalAI and Prem.\n", | |
"type": "str", | |
"list": false | |
}, | |
"openai_api_key": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"value": "", | |
"password": true, | |
"name": "openai_api_key", | |
"display_name": "OpenAI API Key", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": false | |
}, | |
"openai_organization": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "openai_organization", | |
"display_name": "OpenAI Organization", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": false | |
}, | |
"openai_proxy": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "openai_proxy", | |
"display_name": "OpenAI Proxy", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": false | |
}, | |
"request_timeout": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "request_timeout", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "float", | |
"list": false | |
}, | |
"streaming": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"value": false, | |
"password": false, | |
"name": "streaming", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "bool", | |
"list": false | |
}, | |
"tags": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "tags", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": true | |
}, | |
"temperature": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"value": 0.7, | |
"password": false, | |
"name": "temperature", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "float", | |
"list": false | |
}, | |
"tiktoken_model_name": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"password": false, | |
"name": "tiktoken_model_name", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": false | |
}, | |
"verbose": { | |
"required": false, | |
"placeholder": "", | |
"show": false, | |
"multiline": false, | |
"value": false, | |
"password": false, | |
"name": "verbose", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "bool", | |
"list": false | |
}, | |
"_type": "ChatOpenAI" | |
}, | |
"description": "`OpenAI` Chat large language models API.", | |
"base_classes": [ | |
"BaseChatModel", | |
"ChatOpenAI", | |
"BaseLanguageModel", | |
"BaseLLM" | |
], | |
"display_name": "ChatOpenAI", | |
"custom_fields": {}, | |
"output_types": [], | |
"documentation": "https://python.langchain.com/docs/modules/model_io/models/chat/integrations/openai", | |
"beta": false, | |
"error": null | |
}, | |
"id": "ChatOpenAI-2I57f" | |
}, | |
"selected": false, | |
"positionAbsolute": { | |
"x": 393.3551923753797, | |
"y": 1061.025177453298 | |
}, | |
"dragging": false | |
}, | |
{ | |
"width": 384, | |
"height": 359, | |
"id": "ChatInput-207IY", | |
"type": "genericNode", | |
"position": { | |
"x": 415.1018926651509, | |
"y": 506.62736462360317 | |
}, | |
"data": { | |
"type": "ChatInput", | |
"node": { | |
"template": { | |
"code": { | |
"dynamic": true, | |
"required": true, | |
"placeholder": "", | |
"show": false, | |
"multiline": true, | |
"value": "from typing import Optional\nfrom langflow.custom import CustomComponent\n\n\nclass ChatInput(CustomComponent):\n display_name = \"Chat Input\"\n\n def build(self, message: Optional[str] = \"\") -> str:\n return message\n", | |
"password": false, | |
"name": "code", | |
"advanced": false, | |
"type": "code", | |
"list": false | |
}, | |
"_type": "CustomComponent", | |
"message": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"value": "", | |
"password": false, | |
"name": "message", | |
"display_name": "message", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "str", | |
"list": false | |
} | |
}, | |
"description": "Used to get user input from the chat.", | |
"base_classes": [ | |
"str" | |
], | |
"display_name": "Chat Input", | |
"custom_fields": { | |
"message": null | |
}, | |
"output_types": [ | |
"ChatInput" | |
], | |
"documentation": "", | |
"beta": true, | |
"error": null | |
}, | |
"id": "ChatInput-207IY" | |
}, | |
"positionAbsolute": { | |
"x": 415.1018926651509, | |
"y": 506.62736462360317 | |
} | |
}, | |
{ | |
"width": 384, | |
"height": 389, | |
"id": "ChatOutput-1jlJy", | |
"type": "genericNode", | |
"position": { | |
"x": 2002.8008888732943, | |
"y": 926.1397178702218 | |
}, | |
"data": { | |
"type": "ChatOutput", | |
"node": { | |
"template": { | |
"code": { | |
"dynamic": true, | |
"required": true, | |
"placeholder": "", | |
"show": true, | |
"multiline": true, | |
"value": "from typing import Optional, Text\nfrom langflow.api.v1.schemas import ChatMessage\nfrom langflow.services.utils import get_chat_manager\nfrom langflow.custom import CustomComponent\nfrom anyio.from_thread import start_blocking_portal\nfrom loguru import logger\n\n\nclass ChatOutput(CustomComponent):\n display_name = \"Chat Output\"\n description = \"Used to send a message to the chat.\"\n\n field_config = {\n \"code\": {\n \"show\": False,\n }\n }\n\n def build_config(self):\n return {\"message\": {\"input_types\": [\"Text\"]}}\n\n def build(self, message: Optional[Text], is_ai: bool = False) -> Text:\n if not message:\n return \"\"\n try:\n chat_manager = get_chat_manager()\n chat_message = ChatMessage(message=message, is_bot=is_ai)\n # send_message is a coroutine\n # run in a thread safe manner\n with start_blocking_portal() as portal:\n portal.call(chat_manager.send_message, chat_message)\n chat_manager.chat_history.add_message(\n chat_manager.cache_manager.current_client_id, chat_message\n )\n except Exception as exc:\n logger.exception(exc)\n logger.debug(f\"Error sending message to chat: {exc}\")\n self.repr_value = message\n return message\n", | |
"password": false, | |
"name": "code", | |
"advanced": false, | |
"type": "code", | |
"list": false | |
}, | |
"_type": "CustomComponent", | |
"is_ai": { | |
"required": true, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"value": true, | |
"password": false, | |
"name": "is_ai", | |
"display_name": "is_ai", | |
"advanced": false, | |
"dynamic": false, | |
"info": "", | |
"type": "bool", | |
"list": false | |
}, | |
"message": { | |
"required": false, | |
"placeholder": "", | |
"show": true, | |
"multiline": false, | |
"password": false, | |
"name": "message", | |
"display_name": "message", | |
"advanced": false, | |
"input_types": [ | |
"Text" | |
], | |
"dynamic": false, | |
"info": "", | |
"type": "Text", | |
"list": false | |
} | |
}, | |
"description": "Used to send a message to the chat.", | |
"base_classes": [ | |
"str" | |
], | |
"display_name": "Chat Output", | |
"custom_fields": { | |
"is_ai": null, | |
"message": null | |
}, | |
"output_types": [ | |
"ChatOutput" | |
], | |
"documentation": "", | |
"beta": true, | |
"error": null | |
}, | |
"id": "ChatOutput-1jlJy" | |
}, | |
"selected": true, | |
"dragging": false, | |
"positionAbsolute": { | |
"x": 2002.8008888732943, | |
"y": 926.1397178702218 | |
} | |
} | |
], | |
"edges": [ | |
{ | |
"source": "PromptTemplate-IKKOx", | |
"sourceHandle": "PromptTemplate|PromptTemplate-IKKOx|BasePromptTemplate|PromptTemplate|StringPromptTemplate", | |
"target": "LLMChain-e2dhN", | |
"targetHandle": "BasePromptTemplate|prompt|LLMChain-e2dhN", | |
"style": { | |
"stroke": "#555" | |
}, | |
"className": "", | |
"animated": false, | |
"id": "reactflow__edge-PromptTemplate-IKKOxPromptTemplate|PromptTemplate-IKKOx|StringPromptTemplate|BasePromptTemplate|PromptTemplate-LLMChain-e2dhNBasePromptTemplate|prompt|LLMChain-e2dhN" | |
}, | |
{ | |
"source": "ChatOpenAI-2I57f", | |
"sourceHandle": "ChatOpenAI|ChatOpenAI-2I57f|BaseChatModel|ChatOpenAI|BaseLanguageModel|BaseLLM", | |
"target": "LLMChain-e2dhN", | |
"targetHandle": "BaseLanguageModel|llm|LLMChain-e2dhN", | |
"style": { | |
"stroke": "#555" | |
}, | |
"className": "", | |
"animated": false, | |
"id": "reactflow__edge-ChatOpenAI-2I57fChatOpenAI|ChatOpenAI-2I57f|BaseChatModel|ChatOpenAI|BaseLanguageModel|BaseLLM-LLMChain-e2dhNBaseLanguageModel|llm|LLMChain-e2dhN" | |
}, | |
{ | |
"source": "ChatInput-207IY", | |
"sourceHandle": "ChatInput|ChatInput-207IY|str", | |
"target": "PromptTemplate-IKKOx", | |
"targetHandle": "Document;BaseOutputParser;str|input|PromptTemplate-IKKOx", | |
"style": { | |
"stroke": "#555" | |
}, | |
"className": "", | |
"animated": false, | |
"id": "reactflow__edge-ChatInput-207IYChatInput|ChatInput-207IY|str-PromptTemplate-IKKOxDocument;BaseOutputParser;str|input|PromptTemplate-IKKOx" | |
}, | |
{ | |
"source": "LLMChain-e2dhN", | |
"sourceHandle": "LLMChain|LLMChain-e2dhN|Chain|LLMChain|function|Text", | |
"target": "ChatOutput-1jlJy", | |
"targetHandle": "Text|message|ChatOutput-1jlJy", | |
"style": { | |
"stroke": "#555" | |
}, | |
"className": "stroke-foreground stroke-connection", | |
"animated": true, | |
"id": "reactflow__edge-LLMChain-e2dhNLLMChain|LLMChain-e2dhN|Chain|LLMChain|function|Text-ChatOutput-1jlJyText|message|ChatOutput-1jlJy" | |
} | |
], | |
"viewport": { | |
"x": -141.98308184453367, | |
"y": -104.98637616656356, | |
"zoom": 0.4788209787464315 | |
} | |
}, | |
"id": "b3388ab9-b5dc-4447-b560-79caef40faa5", | |
"user_id": "c65bfea3-3eea-4e71-8fc4-106238eb0583" | |
} |