feat(editor): editor api devlop

editor api devlop part 2
This commit is contained in:
yhjun1026 2023-08-11 14:38:27 +08:00
parent a95d292bf9
commit f6fb9c04d3
30 changed files with 168 additions and 86 deletions

View File

@ -1,4 +1,5 @@
import json
import time
from fastapi import (
APIRouter,
Body,
@ -17,17 +18,18 @@ from pilot.openapi.api_view_model import (
)
from pilot.openapi.editor_view_model import (
ChatDbRounds,
ChartList,
ChartDetail,
ChatChartEditContext,
ChatSqlEditContext,
DbTable
)
from pilot.openapi.api_v1.editor.sql_editor import DataNode,ChartRunData,SqlRunData
from pilot.openapi.api_v1.editor.sql_editor import DataNode, ChartRunData, SqlRunData
from pilot.memory.chat_history.duckdb_history import DuckdbHistoryMemory
from pilot.scene.message import OnceConversation
from pilot.scene.chat_dashboard.data_loader import DashboardDataLoader
from pilot.scene.chat_db.data_loader import DbDataLoader
router = APIRouter()
CFG = Config()
@ -83,14 +85,24 @@ async def get_editor_sql(con_uid: str, round: int):
for element in once["messages"]:
if element["type"] == "ai":
return Result.succ(json.loads(element["data"]["content"]))
return Result.faild("没有获取到可用的SQL返回结构")
return Result.faild(msg="not have sql!")
@router.post("/v1/editor/sql/run", response_model=Result[List[dict]])
@router.post("/v1/editor/sql/run", response_model=Result[SqlRunData])
async def editor_sql_run(db_name: str, sql: str):
logger.info("get_editor_sql_run:{},{}", db_name, sql)
conn = CFG.LOCAL_DB_MANAGE.get_connect(db_name)
return Result.succ(conn.run(sql))
start_time = time.time() * 1000
colunms, sql_result = conn.query_ex(sql)
# 计算执行耗时
end_time = time.time() * 1000
sql_run_data: SqlRunData = SqlRunData(result_info="",
run_cost=(end_time - start_time) / 1000,
colunms=colunms,
values=sql_result
)
return Result.succ(sql_run_data)
@router.post("/v1/sql/editor/submit", response_model=Result)
@ -99,34 +111,43 @@ async def sql_editor_submit(sql_edit_context: ChatSqlEditContext = Body()):
history_mem = DuckdbHistoryMemory(sql_edit_context.conv_uid)
history_messages: List[OnceConversation] = history_mem.get_messages()
if history_messages:
edit_round = list(filter(lambda x: x['chat_order'] == sql_edit_context.conv_round, history_messages))[0]
conn = CFG.LOCAL_DB_MANAGE.get_connect(sql_edit_context.db_name)
edit_round = list(filter(lambda x: x['chat_order'] == sql_edit_context.conv_round, history_messages))[0]
if edit_round:
for element in edit_round["messages"]:
if element["type"] == "ai":
element["data"]["content"]=""
db_resp = json.loads(element["data"]["content"])
db_resp['thoughts'] = sql_edit_context.new_speak
db_resp['sql'] = sql_edit_context.new_sql
element["data"]["content"] = json.dumps(db_resp)
if element["type"] == "view":
element["data"]["content"]=""
data_loader = DbDataLoader()
element["data"]["content"] = data_loader.get_table_view_by_conn(conn.run(sql_edit_context.new_sql),
sql_edit_context.new_speak)
history_mem.update(history_messages)
return Result.succ(None)
return Result.faild("Edit Faild!")
return Result.faild(msg="Edit Faild!")
@router.get("/v1/editor/chart/list", response_model=Result[ChartDetail])
@router.get("/v1/editor/chart/list", response_model=Result[ChartList])
async def get_editor_chart_list(con_uid: str):
logger.info("get_editor_sql_rounds:{}", con_uid)
history_mem = DuckdbHistoryMemory(con_uid)
history_messages: List[OnceConversation] = history_mem.get_messages()
if history_messages:
last_round = max(history_messages, key=lambda x: x['chat_order'])
db_name = last_round["param_value"]
for element in last_round["messages"]:
if element["type"] == "ai":
return Result.succ(json.loads(element["data"]["content"]))
return Result.faild("没有获取到可用的SQL返回结构")
chart_list: ChartList = ChartList(round=last_round, db_name=db_name,
charts=json.loads(element["data"]["content"]))
return Result.succ(chart_list)
return Result.faild(msg="Not have charts!")
@router.get("/v1/editor/chart/info", response_model=Result[ChartDetail])
async def get_editor_chart_info(con_uid: str, chart_uid: str):
async def get_editor_chart_info(con_uid: str, chart_title: str):
logger.info(f"get_editor_sql_rounds:{con_uid}")
logger.info("get_editor_sql_rounds:{}", con_uid)
history_mem = DuckdbHistoryMemory(con_uid)
@ -136,12 +157,12 @@ async def get_editor_chart_info(con_uid: str, chart_uid: str):
db_name = last_round["param_value"]
if not db_name:
logger.error("this dashboard dialogue version too old, can't support editor!")
return Result.faild("this dashboard dialogue version too old, can't support editor!")
return Result.faild(msg="this dashboard dialogue version too old, can't support editor!")
for element in last_round["messages"]:
if element["type"] == "view":
view_data: dict = json.loads(element["data"]["content"]);
charts: List = view_data.get("charts")
find_chart = list(filter(lambda x: x['chart_name'] == chart_uid, charts))[0]
find_chart = list(filter(lambda x: x['chart_name'] == chart_title, charts))[0]
conn = CFG.LOCAL_DB_MANAGE.get_connect(db_name)
detail: ChartDetail = ChartDetail(chart_uid=find_chart['chart_uid'],
@ -155,23 +176,27 @@ async def get_editor_chart_info(con_uid: str, chart_uid: str):
)
return Result.succ(detail)
return Result.faild("Can't Find Chart Detail Info!")
return Result.faild(msg="Can't Find Chart Detail Info!")
@router.post("/v1/editor/chart/run", response_model=Result[ChartRunData])
async def editor_chart_run(db_name: str, sql: str):
logger.info(f"editor_chart_run:{db_name},{sql}")
dashboard_data_loader:DashboardDataLoader = DashboardDataLoader()
dashboard_data_loader: DashboardDataLoader = DashboardDataLoader()
db_conn = CFG.LOCAL_DB_MANAGE.get_connect(db_name)
field_names,chart_values = dashboard_data_loader.get_chart_values_by_db(db_conn, sql)
field_names, chart_values = dashboard_data_loader.get_chart_values_by_conn(db_conn, sql)
sql_run_data:SqlRunData = SqlRunData(result_info="",
run_cost="",
colunms= field_names,
values= db_conn.query_ex(sql)
)
return Result.succ(ChartRunData(sql_data=sql_run_data,chart_values=chart_values))
start_time = time.time() * 1000
colunms, sql_result = db_conn.query_ex(sql)
# 计算执行耗时
end_time = time.time() * 1000
sql_run_data: SqlRunData = SqlRunData(result_info="",
run_cost=(end_time - start_time) / 1000,
colunms=colunms,
values=sql_result
)
return Result.succ(ChartRunData(sql_data=sql_run_data, chart_values=chart_values))
@router.post("/v1/chart/editor/submit", response_model=Result[bool])
@ -180,21 +205,40 @@ async def chart_editor_submit(chart_edit_context: ChatChartEditContext = Body())
history_mem = DuckdbHistoryMemory(chart_edit_context.conv_uid)
history_messages: List[OnceConversation] = history_mem.get_messages()
if history_messages:
edit_round = list(filter(lambda x: x['chat_order'] == chart_edit_context.conv_round, history_messages))[0]
dashboard_data_loader: DashboardDataLoader = DashboardDataLoader()
db_conn = CFG.LOCAL_DB_MANAGE.get_connect(chart_edit_context.db_name)
edit_round = max(history_messages, key=lambda x: x['chat_order'])
if edit_round:
for element in edit_round["messages"]:
if element["type"] == "ai":
view_data: dict = json.loads(element["data"]["content"]);
charts: List = view_data.get("charts")
find_chart = list(filter(lambda x: x['chart_name'] == chart_edit_context.chart_uid, charts))[0]
try:
for element in edit_round["messages"]:
if element["type"] == "view":
view_data: dict = json.loads(element["data"]["content"]);
charts: List = view_data.get("charts")
find_chart = list(filter(lambda x: x['chart_name'] == chart_edit_context.chart_title, charts))[0]
if chart_edit_context.new_chart_type:
find_chart['chart_type'] = chart_edit_context.new_chart_type
if chart_edit_context.new_comment:
find_chart['chart_desc'] = chart_edit_context.new_comment
field_names, chart_values = dashboard_data_loader.get_chart_values_by_conn(db_conn,
chart_edit_context.new_sql)
find_chart['chart_sql'] = chart_edit_context.new_sql
find_chart['values'] = [value.dict() for value in chart_values]
find_chart['column_name'] = field_names
if element["type"] == "view":
view_data: dict = json.loads(element["data"]["content"]);
charts: List = view_data.get("charts")
find_chart = list(filter(lambda x: x['chart_name'] == chart_edit_context.chart_uid, charts))[0]
element["data"]["content"] = json.dumps(view_data, ensure_ascii=False)
if element["type"] == "ai":
ai_resp: dict = json.loads(element["data"]["content"])
edit_item = list(filter(lambda x: x['title'] == chart_edit_context.chart_title, ai_resp))[0]
edit_item["sql"] = chart_edit_context.new_sql
edit_item["showcase"] = chart_edit_context.new_chart_type
edit_item["thoughts"] = chart_edit_context.new_comment
element["data"]["content"] = json.dumps(ai_resp, ensure_ascii=False)
except Exception as e:
logger.error(f"edit chart exception!{str(e)}" ,e)
return Result.faild(msg=f"Edit chart exception!{str(e)}")
history_mem.update(history_messages)
return Result.succ(None)
return Result.faild("Edit Faild!")
return Result.faild(msg="Edit Faild!")

View File

@ -21,6 +21,12 @@ class ChatDbRounds(BaseModel):
round_name: str
class ChartList(BaseModel):
round: int
db_name: str
charts: List
class ChartDetail(BaseModel):
chart_uid: str
chart_type: str
@ -34,24 +40,25 @@ class ChartDetail(BaseModel):
class ChatChartEditContext(BaseModel):
conv_uid: str
conv_round: int
chart_uid: str
chart_title: str
db_name: str
old_sql: str
new_sql: str
comment: str
gmt_create: int
new_view_info: str
new_chart_type: str
new_sql: str
new_comment: str
gmt_create: int
class ChatSqlEditContext(BaseModel):
conv_uid: str
db_name: str
conv_round: int
old_sql: str
new_sql: str
comment: str
old_speak: str
gmt_create: int
new_sql: str
new_speak: str
new_view_info: str

View File

@ -10,6 +10,7 @@ from pilot.scene.chat_dashboard.data_preparation.report_schma import (
ChartData,
ReportData,
)
from pilot.scene.chat_dashboard.prompt import prompt
from pilot.scene.chat_dashboard.data_loader import DashboardDataLoader
CFG = Config()
@ -26,6 +27,7 @@ class ChatDashboard(BaseChat):
chat_mode=ChatScene.ChatDashboard,
chat_session_id=chat_session_id,
current_user_input=user_input,
select_param=db_name,
)
if not db_name:
raise ValueError(f"{ChatScene.ChatDashboard.value} mode should choose db!")
@ -33,7 +35,6 @@ class ChatDashboard(BaseChat):
self.report_name = report_name
self.database = CFG.LOCAL_DB_MANAGE.get_connect(db_name)
self.db_connect = self.database.session
self.top_k: int = 5
self.dashboard_template = self.__load_dashboard_template(report_name)
@ -78,7 +79,7 @@ class ChatDashboard(BaseChat):
dashboard_data_loader = DashboardDataLoader()
for chart_item in prompt_response:
try:
field_names, values = dashboard_data_loader.get_chart_values_by_conn(self.db_connect, chart_item.sql)
field_names, values = dashboard_data_loader.get_chart_values_by_conn(self.database, chart_item.sql)
chart_datas.append(
ChartData(
chart_uid=str(uuid.uuid1()),

View File

@ -22,7 +22,7 @@ According to the characteristics of the analyzed data, choose the most suitable
Pay attention to the length of the output content of the analysis result, do not exceed 4000tokens
Give the correct {dialect} analysis SQL (don't use unprovided values such as 'paid'), analysis title, display method and summary of brief analysis thinking, and respond in the following json format:
Give the correct {dialect} analysis SQL (don't use unprovided values such as 'paid'), analysis title(don't exist the same), display method and summary of brief analysis thinking, and respond in the following json format:
{response}
Ensure the response is correct json and can be parsed by Python json.loads
"""

View File

@ -36,7 +36,6 @@ class ChatWithDbAutoExecute(BaseChat):
)
self.db_name = db_name
self.database = CFG.LOCAL_DB_MANAGE.get_connect(db_name)
self.db_connect = self.database.session
self.top_k: int = 200
def generate_input_values(self):
@ -63,4 +62,4 @@ class ChatWithDbAutoExecute(BaseChat):
def do_action(self, prompt_response):
print(f"do_action:{prompt_response}")
return self.database.run(self.db_connect, prompt_response.sql)
return self.database.run( prompt_response.sql)

View File

@ -1,8 +0,0 @@
import json
class DbDataLoader:
def get_table_view_by_conn(self, db_conn, chart_sql: str):
pass

View File

@ -7,7 +7,7 @@ from pilot.utils import build_logger
from pilot.out_parser.base import BaseOutputParser, T
from pilot.configs.model_config import LOGDIR
from pilot.configs.config import Config
from pilot.scene.chat_db.data_loader import DbDataLoader
CFG = Config()
@ -36,6 +36,7 @@ class DbChatOutputParser(BaseOutputParser):
def parse_view_response(self, speak, data) -> str:
### tool out data to table view
data_loader = DbDataLoader()
if len(data) <= 1:
data.insert(0, ["result"])
df = pd.DataFrame(data[1:], columns=data[0])
@ -45,13 +46,12 @@ class DbChatOutputParser(BaseOutputParser):
</style>"""
html_table = df.to_html(index=False, escape=False)
html = f"<html><head>{table_style}</head><body>{html_table}</body></html>"
view_text = f"##### {str(speak)}" + "\n" + html.replace("\n", " ")
return view_text
else:
html_table = df.to_html(index=False, escape=False, sparsify=False)
table_str = "".join(html_table.split())
html = f"""<div class="w-full overflow-auto">{table_str}</div>"""
return data_loader.get_table_view_by_conn(data, speak)
view_text = f"##### {str(speak)}" + "\n" + html.replace("\n", " ")
return view_text
@property
def _type(self) -> str:

View File

@ -0,0 +1,15 @@
import pandas as pd
class DbDataLoader:
def get_table_view_by_conn(self, data, speak):
### tool out data to table view
if len(data) <= 1:
data.insert(0, ["result"])
df = pd.DataFrame(data[1:], columns=data[0])
html_table = df.to_html(index=False, escape=False, sparsify=False)
table_str = "".join(html_table.split())
html = f"""<div class="w-full overflow-auto">{table_str}</div>"""
view_text = f"##### {str(speak)}" + "\n" + html.replace("\n", " ")
return view_text

View File

@ -1 +1 @@
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-8be0750561cfcccd.js" defer=""></script><script src="/_next/static/chunks/framework-43665103d101a22d.js" defer=""></script><script src="/_next/static/chunks/main-c6e90425c3eeb90a.js" defer=""></script><script src="/_next/static/chunks/pages/_app-1f2755172264764d.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f5357f382422dd96.js" defer=""></script><script src="/_next/static/9C-EourU_3qSC0HuMlO9a/_buildManifest.js" defer=""></script><script src="/_next/static/9C-EourU_3qSC0HuMlO9a/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"9C-EourU_3qSC0HuMlO9a","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-8be0750561cfcccd.js" defer=""></script><script src="/_next/static/chunks/framework-43665103d101a22d.js" defer=""></script><script src="/_next/static/chunks/main-c6e90425c3eeb90a.js" defer=""></script><script src="/_next/static/chunks/pages/_app-1f2755172264764d.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f5357f382422dd96.js" defer=""></script><script src="/_next/static/ehYQW3Jy0KfT03WEgdVRz/_buildManifest.js" defer=""></script><script src="/_next/static/ehYQW3Jy0KfT03WEgdVRz/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"ehYQW3Jy0KfT03WEgdVRz","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>

View File

@ -1 +1 @@
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-8be0750561cfcccd.js" defer=""></script><script src="/_next/static/chunks/framework-43665103d101a22d.js" defer=""></script><script src="/_next/static/chunks/main-c6e90425c3eeb90a.js" defer=""></script><script src="/_next/static/chunks/pages/_app-1f2755172264764d.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f5357f382422dd96.js" defer=""></script><script src="/_next/static/9C-EourU_3qSC0HuMlO9a/_buildManifest.js" defer=""></script><script src="/_next/static/9C-EourU_3qSC0HuMlO9a/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"9C-EourU_3qSC0HuMlO9a","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-8be0750561cfcccd.js" defer=""></script><script src="/_next/static/chunks/framework-43665103d101a22d.js" defer=""></script><script src="/_next/static/chunks/main-c6e90425c3eeb90a.js" defer=""></script><script src="/_next/static/chunks/pages/_app-1f2755172264764d.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f5357f382422dd96.js" defer=""></script><script src="/_next/static/ehYQW3Jy0KfT03WEgdVRz/_buildManifest.js" defer=""></script><script src="/_next/static/ehYQW3Jy0KfT03WEgdVRz/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"ehYQW3Jy0KfT03WEgdVRz","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-f5357f382422dd96.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();

View File

@ -0,0 +1 @@
self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,9 @@
1:HL["/_next/static/css/f7886471966370ed.css",{"as":"style"}]
0:["9C-EourU_3qSC0HuMlO9a",[[["",{"children":["chat",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-055e926a104869ef.js"],"name":"","async":false}
0:["ehYQW3Jy0KfT03WEgdVRz",[[["",{"children":["chat",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-7ae5a2339fb758d0.js"],"name":"","async":false}
5:I{"id":"13211","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
6:I{"id":"5767","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
7:I{"id":"37396","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
8:I{"id":"65641","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","757:static/chunks/f60284a2-6891068c9ea7ce77.js","282:static/chunks/7e4358a0-8f10c290d655cdf1.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","192:static/chunks/192-e9f419fb9f5bc502.js","86:static/chunks/86-6193a530bd8e3ef4.js","316:static/chunks/316-370750739484dff7.js","790:static/chunks/790-97e6b769f5c791cb.js","767:static/chunks/767-b93280f4b5b5e975.js","259:static/chunks/259-2c3490a9eca2f411.js","751:static/chunks/751-30fee9a32c6e64a2.js","320:static/chunks/320-63dc542e9a7120d1.js","929:static/chunks/app/chat/page-86595a764417b205.js"],"name":"","async":false}
8:I{"id":"65641","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","757:static/chunks/f60284a2-6891068c9ea7ce77.js","282:static/chunks/7e4358a0-8f10c290d655cdf1.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","192:static/chunks/192-e9f419fb9f5bc502.js","86:static/chunks/86-6193a530bd8e3ef4.js","316:static/chunks/316-370750739484dff7.js","790:static/chunks/790-97e6b769f5c791cb.js","767:static/chunks/767-b93280f4b5b5e975.js","259:static/chunks/259-2c3490a9eca2f411.js","751:static/chunks/751-30fee9a32c6e64a2.js","320:static/chunks/320-63dc542e9a7120d1.js","929:static/chunks/app/chat/page-5cbaa4028c70970e.js"],"name":"","async":false}
2:[["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"template":["$","$L6",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","chat","children"],"error":"$undefined","errorStyles":"$undefined","loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"template":["$","$L6",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":[["$","$L7",null,{"propsForComponent":{"params":{}},"Component":"$8"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"chat"},"styles":[]}],"params":{}}],null]
3:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"any"}]]

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
1:HL["/_next/static/css/f7886471966370ed.css",{"as":"style"}]
0:["9C-EourU_3qSC0HuMlO9a",[[["",{"children":["datastores",{"children":["documents",{"children":["chunklist",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-055e926a104869ef.js"],"name":"","async":false}
0:["ehYQW3Jy0KfT03WEgdVRz",[[["",{"children":["datastores",{"children":["documents",{"children":["chunklist",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-7ae5a2339fb758d0.js"],"name":"","async":false}
5:I{"id":"13211","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
6:I{"id":"5767","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
7:I{"id":"37396","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,9 @@
1:HL["/_next/static/css/f7886471966370ed.css",{"as":"style"}]
0:["9C-EourU_3qSC0HuMlO9a",[[["",{"children":["datastores",{"children":["documents",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-055e926a104869ef.js"],"name":"","async":false}
0:["ehYQW3Jy0KfT03WEgdVRz",[[["",{"children":["datastores",{"children":["documents",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-7ae5a2339fb758d0.js"],"name":"","async":false}
5:I{"id":"13211","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
6:I{"id":"5767","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
7:I{"id":"37396","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
8:I{"id":"16692","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","550:static/chunks/925f3d25-1af7259455ef26bd.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","192:static/chunks/192-e9f419fb9f5bc502.js","86:static/chunks/86-6193a530bd8e3ef4.js","409:static/chunks/409-4b199bf070fd70fc.js","790:static/chunks/790-97e6b769f5c791cb.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","767:static/chunks/767-b93280f4b5b5e975.js","957:static/chunks/957-c96ff4de6e80d713.js","775:static/chunks/775-224c8c8f5ee3fd65.js","470:static/chunks/app/datastores/documents/page-d94518835f877352.js"],"name":"","async":false}
8:I{"id":"16692","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","550:static/chunks/925f3d25-1af7259455ef26bd.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","192:static/chunks/192-e9f419fb9f5bc502.js","86:static/chunks/86-6193a530bd8e3ef4.js","409:static/chunks/409-4b199bf070fd70fc.js","790:static/chunks/790-97e6b769f5c791cb.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","767:static/chunks/767-b93280f4b5b5e975.js","957:static/chunks/957-c96ff4de6e80d713.js","872:static/chunks/872-4a145d8028102d89.js","470:static/chunks/app/datastores/documents/page-7560757029bdf106.js"],"name":"","async":false}
2:[["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"template":["$","$L6",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","datastores","children"],"error":"$undefined","errorStyles":"$undefined","loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"template":["$","$L6",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","datastores","children","documents","children"],"error":"$undefined","errorStyles":"$undefined","loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"template":["$","$L6",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":[["$","$L7",null,{"propsForComponent":{"params":{}},"Component":"$8"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"documents"},"styles":[]}],"segment":"datastores"},"styles":[]}],"params":{}}],null]
3:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"any"}]]

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,9 @@
1:HL["/_next/static/css/f7886471966370ed.css",{"as":"style"}]
0:["9C-EourU_3qSC0HuMlO9a",[[["",{"children":["datastores",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-055e926a104869ef.js"],"name":"","async":false}
0:["ehYQW3Jy0KfT03WEgdVRz",[[["",{"children":["datastores",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-7ae5a2339fb758d0.js"],"name":"","async":false}
5:I{"id":"13211","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
6:I{"id":"5767","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
7:I{"id":"37396","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
8:I{"id":"44323","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","192:static/chunks/192-e9f419fb9f5bc502.js","86:static/chunks/86-6193a530bd8e3ef4.js","790:static/chunks/790-97e6b769f5c791cb.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","775:static/chunks/775-224c8c8f5ee3fd65.js","43:static/chunks/app/datastores/page-71ca37d05b729f1d.js"],"name":"","async":false}
8:I{"id":"44323","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","192:static/chunks/192-e9f419fb9f5bc502.js","86:static/chunks/86-6193a530bd8e3ef4.js","790:static/chunks/790-97e6b769f5c791cb.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","872:static/chunks/872-4a145d8028102d89.js","2:static/chunks/2-a60cf38d8ab305bb.js","43:static/chunks/app/datastores/page-e0ea3b47f190d00a.js"],"name":"","async":false}
2:[["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"template":["$","$L6",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","datastores","children"],"error":"$undefined","errorStyles":"$undefined","loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"template":["$","$L6",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":[["$","$L7",null,{"propsForComponent":{"params":{}},"Component":"$8"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"datastores"},"styles":[]}],"params":{}}],null]
3:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"any"}]]

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,9 @@
1:HL["/_next/static/css/f7886471966370ed.css",{"as":"style"}]
0:["9C-EourU_3qSC0HuMlO9a",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-055e926a104869ef.js"],"name":"","async":false}
0:["ehYQW3Jy0KfT03WEgdVRz",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f7886471966370ed.css","precedence":"next"}]],["$L3",null]]]]]
4:I{"id":"50902","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","759:static/chunks/759-22c7defc3aa943a7.js","409:static/chunks/409-4b199bf070fd70fc.js","316:static/chunks/316-370750739484dff7.js","946:static/chunks/946-3a66ddfd20b8ad3d.js","394:static/chunks/394-0ffa189aa535d3eb.js","751:static/chunks/751-30fee9a32c6e64a2.js","256:static/chunks/256-f82130fbef33c4d6.js","185:static/chunks/app/layout-7ae5a2339fb758d0.js"],"name":"","async":false}
5:I{"id":"13211","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
6:I{"id":"5767","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
7:I{"id":"37396","chunks":["272:static/chunks/webpack-8be0750561cfcccd.js","253:static/chunks/bce60fc1-18c9f145b45d8f36.js","769:static/chunks/769-76f7aafd375fdd6b.js"],"name":"","async":false}
8:I{"id":"26925","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","86:static/chunks/86-6193a530bd8e3ef4.js","316:static/chunks/316-370750739484dff7.js","259:static/chunks/259-2c3490a9eca2f411.js","394:static/chunks/394-0ffa189aa535d3eb.js","931:static/chunks/app/page-ba37471c26b3ed90.js"],"name":"","async":false}
8:I{"id":"93768","chunks":["180:static/chunks/0e02fca3-615d0d51fa074d92.js","838:static/chunks/838-25c9b71d449c8910.js","60:static/chunks/60-8ef99caef9fdf742.js","86:static/chunks/86-6193a530bd8e3ef4.js","316:static/chunks/316-370750739484dff7.js","259:static/chunks/259-2c3490a9eca2f411.js","394:static/chunks/394-0ffa189aa535d3eb.js","931:static/chunks/app/page-116b5a30ac88ed73.js"],"name":"","async":false}
2:[["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"template":["$","$L6",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":[["$","$L7",null,{"propsForComponent":{"params":{}},"Component":"$8"}],null],"segment":"__PAGE__"},"styles":[]}],"params":{}}],null]
3:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"any"}]]