diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..dd36fbf61691635b2b4b324e22282de64a91febc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,25 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+/coverage
+
+# production
+.venv/
+__pycache__/
+input/
+.env
+# misc
+.DS_Store
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..54830e23307eeed0e9baeb398e6e6e981b3ec670
--- /dev/null
+++ b/README.md
@@ -0,0 +1,13 @@
+---
+title: LabAid V2
+emoji: 🧪
+colorFrom: indigo
+colorTo: red
+sdk: docker
+app_file: Dockerfile
+pinned: false
+---
+
+# LabAid V2 - HPLC Instrument Assistant
+
+This Space combines a FastAPI RAG backend (powered by LangChain + Together AI) and a React frontend. It provides HPLC troubleshooting assistance by retrieving knowledge from a Chroma vector database.
diff --git a/api_service.py b/api_service.py
new file mode 100644
index 0000000000000000000000000000000000000000..d28cbe8f65d2edf46810f8f975354812273dcf88
--- /dev/null
+++ b/api_service.py
@@ -0,0 +1,145 @@
+import os
+import sqlite3 # May be used elsewhere
+from dotenv import load_dotenv
+from fastapi import FastAPI, HTTPException
+from fastapi.middleware.cors import CORSMiddleware
+from pydantic import BaseModel
+from typing import List
+from contextlib import asynccontextmanager
+
+from langchain.schema import Document
+from langchain_together import ChatTogether, TogetherEmbeddings
+from langchain_core.prompts import ChatPromptTemplate
+from langchain_core.output_parsers import StrOutputParser
+from langchain_core.runnables import RunnablePassthrough
+from langchain_core.documents import Document
+
+import chromadb
+from langchain_community.vectorstores import Chroma # ✅ Updated import
+
+# --- 1. Environment & Constants ---
+load_dotenv()
+
+TOGETHER_API_KEY = os.getenv("TOGETHER_API_KEY")
+if not TOGETHER_API_KEY:
+ raise ValueError("TOGETHER_API_KEY environment variable not set. Please check your .env file.")
+
+VECTOR_DB_DIR = "vector_db_chroma"
+COLLECTION_NAME = "my_instrument_manual_chunks"
+
+LLM_MODEL_NAME = "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo"
+EMBEDDINGS_MODEL_NAME = "togethercomputer/m2-bert-80M-32k-retrieval"
+
+# --- 2. Lifespan Event Handler ---
+@asynccontextmanager
+async def lifespan(app: FastAPI):
+ global rag_chain, retriever, prompt, llm
+
+ print("--- Initializing RAG components ---")
+ try:
+ llm = ChatTogether(
+ model=LLM_MODEL_NAME,
+ temperature=0.3,
+ api_key=TOGETHER_API_KEY
+ )
+ print(f"LLM {LLM_MODEL_NAME} initialized.")
+
+ embeddings = TogetherEmbeddings(
+ model=EMBEDDINGS_MODEL_NAME,
+ api_key=TOGETHER_API_KEY
+ )
+ client = chromadb.PersistentClient(path=VECTOR_DB_DIR)
+ vectorstore = Chroma(
+ client=client,
+ collection_name=COLLECTION_NAME,
+ embedding_function=embeddings
+ )
+ retriever = vectorstore.as_retriever(search_kwargs={"k": 5})
+ print("Retriever initialized.")
+
+ answer_prompt = """ You are a professional HPLC instrument troubleshooting expert who specializes in helping junior researchers and students.
+ Your task is to answer the user's troubleshooting questions in detail and clearly based on the HPLC instrument knowledge provided below.
+ If there is no direct answer in the knowledge, please provide the most reasonable speculative suggestions based on your expert judgment, or ask further clarifying questions.
+ Please ensure that your answers are logically clear, easy to understand, and directly address the user's questions."""
+ prompt = ChatPromptTemplate.from_messages([
+ ("system", answer_prompt),
+ ("user", "context: {context}\n\nquestion: {question}"),
+ ])
+
+ def format_docs(docs: List[Document]) -> str:
+ return "\n\n".join(doc.page_content for doc in docs)
+
+ rag_chain = (
+ {"context": retriever | format_docs, "question": RunnablePassthrough()}
+ | prompt
+ | llm
+ | StrOutputParser()
+ )
+ print("RAG chain ready.")
+
+ except Exception as e:
+ raise RuntimeError(f"Failed to initialize RAG chain: {e}")
+
+ yield # Keep app running
+
+# --- 3. Initialize FastAPI App ---
+app = FastAPI(
+ title="LabAid AI",
+ description="API service for a Retrieval-Augmented Generation (RAG) AI assistant.",
+ version="1.0.0",
+ lifespan=lifespan # ✅ Updated lifespan hook
+)
+
+# --- 4. CORS Middleware ---
+origins = [
+ "http://localhost",
+ "http://localhost:3000",
+ "http://127.0.0.1:8000",
+]
+
+app.add_middleware(
+ CORSMiddleware,
+ allow_origins=origins,
+ allow_credentials=True,
+ allow_methods=["*"],
+ allow_headers=["*"],
+)
+
+# --- 5. Request/Response Models ---
+class QueryRequest(BaseModel):
+ query: str
+
+class QueryResponse(BaseModel):
+ answer: str
+ source_documents: List[str]
+
+# --- 6. RAG Query Endpoint ---
+@app.post("/ask", response_model=QueryResponse)
+async def ask_rag(request: QueryRequest):
+ if rag_chain is None or retriever is None:
+ raise HTTPException(status_code=500, detail="RAG chain not initialized.")
+
+ try:
+ user_query = request.query
+ print(f"Received query: {user_query}")
+
+ retrieved_docs = retriever.invoke(user_query)
+ formatted_context = "\n\n".join(doc.page_content for doc in retrieved_docs)
+
+ answer = (prompt | llm | StrOutputParser()).invoke({
+ "context": formatted_context,
+ "question": user_query
+ })
+
+ sources = [doc.page_content for doc in retrieved_docs]
+ return QueryResponse(answer=answer, source_documents=sources)
+
+ except Exception as e:
+ print(f"Error: {e}")
+ raise HTTPException(status_code=500, detail=f"Failed to process query: {e}")
+
+# --- 7. Run Command Hint ---
+# Run this API with:
+# uvicorn api_service:app --reload --port 8000
+# The --port 8000 parameter specifies the port where the service will run.
+# Open your browser at http://127.0.0.1:8000/docs#/default/ask_rag_ask_post
diff --git a/app.py b/app.py
new file mode 100644
index 0000000000000000000000000000000000000000..30cc12cbe0feaab5f5995266fe2867ef3fb26685
--- /dev/null
+++ b/app.py
@@ -0,0 +1,6 @@
+# app.py
+import uvicorn
+from api_service import app # 假設你目前這份程式碼存成 api_service.py
+
+if __name__ == "__main__":
+ uvicorn.run(app, host="0.0.0.0", port=7860)
diff --git a/build/asset-manifest.json b/build/asset-manifest.json
new file mode 100644
index 0000000000000000000000000000000000000000..b8dc431667e53504db4045db466e2d26de35fccc
--- /dev/null
+++ b/build/asset-manifest.json
@@ -0,0 +1,15 @@
+{
+ "files": {
+ "main.css": "./static/css/main.1eeb7222.css",
+ "main.js": "./static/js/main.d1af9f99.js",
+ "static/js/453.ed3810f9.chunk.js": "./static/js/453.ed3810f9.chunk.js",
+ "index.html": "./index.html",
+ "main.1eeb7222.css.map": "./static/css/main.1eeb7222.css.map",
+ "main.d1af9f99.js.map": "./static/js/main.d1af9f99.js.map",
+ "453.ed3810f9.chunk.js.map": "./static/js/453.ed3810f9.chunk.js.map"
+ },
+ "entrypoints": [
+ "static/css/main.1eeb7222.css",
+ "static/js/main.d1af9f99.js"
+ ]
+}
\ No newline at end of file
diff --git a/build/favicon.ico b/build/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a
Binary files /dev/null and b/build/favicon.ico differ
diff --git a/build/index.html b/build/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..6b1a526ed7a6d40a5a1657a7269cfac52dae972c
--- /dev/null
+++ b/build/index.html
@@ -0,0 +1 @@
+
React App
\ No newline at end of file
diff --git a/build/logo192.png b/build/logo192.png
new file mode 100644
index 0000000000000000000000000000000000000000..4652f36958ba722e822d2da52eb0e64ce4388341
--- /dev/null
+++ b/build/logo192.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c386396ec70db3608075b5fbfaac4ab1ccaa86ba05a68ab393ec551eb66c3e00
+size 5347
diff --git a/build/logo512.png b/build/logo512.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba6e512c930a5d395e72ef6a5daef2e83ac93586
--- /dev/null
+++ b/build/logo512.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9ea4f4da7050c0cc408926f6a39c253624e9babb1d43c7977cd821445a60b461
+size 9664
diff --git a/build/manifest.json b/build/manifest.json
new file mode 100644
index 0000000000000000000000000000000000000000..080d6c77ac21bb2ef88a6992b2b73ad93daaca92
--- /dev/null
+++ b/build/manifest.json
@@ -0,0 +1,25 @@
+{
+ "short_name": "React App",
+ "name": "Create React App Sample",
+ "icons": [
+ {
+ "src": "favicon.ico",
+ "sizes": "64x64 32x32 24x24 16x16",
+ "type": "image/x-icon"
+ },
+ {
+ "src": "logo192.png",
+ "type": "image/png",
+ "sizes": "192x192"
+ },
+ {
+ "src": "logo512.png",
+ "type": "image/png",
+ "sizes": "512x512"
+ }
+ ],
+ "start_url": ".",
+ "display": "standalone",
+ "theme_color": "#000000",
+ "background_color": "#ffffff"
+}
diff --git a/build/robots.txt b/build/robots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e9e57dc4d41b9b46e05112e9f45b7ea6ac0ba15e
--- /dev/null
+++ b/build/robots.txt
@@ -0,0 +1,3 @@
+# https://www.robotstxt.org/robotstxt.html
+User-agent: *
+Disallow:
diff --git a/build/static/css/main.1eeb7222.css b/build/static/css/main.1eeb7222.css
new file mode 100644
index 0000000000000000000000000000000000000000..9920caf8bb846ccab0e8a8d67d71dfc32fde63cb
--- /dev/null
+++ b/build/static/css/main.1eeb7222.css
@@ -0,0 +1,2 @@
+body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.chat-container{font-family:Arial,sans-serif;height:100vh;margin:auto;max-width:800px}.chat-header{background-color:#4a90e2;font-size:1.5rem;padding:16px}.chat-messages{background-color:#f5f5f5;padding:16px}.chat-bubble{word-wrap:break-word;border-radius:16px;max-width:70%;padding:12px;white-space:pre-wrap}.chat-bubble.user{align-self:flex-end;background-color:#dcf8c6}.chat-bubble.ai{align-self:flex-start;background-color:#fff;border:1px solid #ddd}.chat-bubble.loading{font-style:italic;opacity:.6}.chat-input-area{background-color:#fff;border-top:1px solid #ccc;padding:12px}.chat-input-area input{border:1px solid #ccc;margin-right:8px;padding:8px}.chat-input-area button{background-color:#4a90e2;padding:8px 16px}.chat-input-area button:disabled{background-color:#a0c4f2;cursor:not-allowed}.back-button{background-color:#f2f2f2;border:none;border-radius:8px;cursor:pointer;float:right;font-size:14px;margin-right:20px;padding:6px 12px}.back-button:hover{background-color:#ddd}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.landing-container{display:flex;flex-direction:column;font-family:Arial,sans-serif;min-height:100vh}.landing-footer,.landing-header{align-items:center;background:#f8f9fb;display:flex;justify-content:space-between;padding:20px 40px}.landing-main{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:40px}.landing-header .logo{font-size:1.5rem;font-weight:700}.landing-nav a,.lang-select{color:#222;margin:0 10px;text-decoration:none}.start-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;margin:24px 0;padding:14px 32px}.how-it-works{margin:40px 0;max-width:900px;width:100%}.how-it-works h2{text-align:center}.steps{display:flex;justify-content:space-between}.step{background:#fff;border-radius:12px;box-shadow:0 2px 8px #e5e7eb;flex:1 1;margin:0 10px;padding:24px;text-align:center}.step-number{align-items:center;background:#2563eb;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;height:40px;justify-content:center;margin:0 auto 12px;width:40px}.download-resources{margin:40px 0;max-width:900px;width:100%}.download-resources h2{text-align:center}.resources{display:flex;justify-content:space-between}.resource-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #e5e7eb;flex:1 1;margin:0 10px;padding:24px;text-align:center}.view-all{color:#2563eb;display:block;margin-top:16px;text-align:right;text-decoration:none}.chat-container{background:#f4f6fa;display:flex;flex-direction:column;min-height:100vh}.chat-header{background:#2563eb;color:#fff;font-size:1.3rem;padding:20px;text-align:center}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:24px}.chat-message{border-radius:16px;margin-bottom:8px;max-width:60%;padding:12px 18px}.chat-message.user{align-self:flex-end;background:#2563eb;color:#fff}.chat-message.ai{align-self:flex-start;background:#fff;border:1px solid #e5e7eb;color:#222}.chat-input-area{background:#fff;border-top:1px solid #e5e7eb;display:flex;padding:16px}.chat-input-area input{border:1px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:1rem;margin-right:10px;padding:10px}.chat-input-area button{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 24px}.labassist-footer{align-items:center;background-color:#112;display:flex;flex-direction:column;padding:60px 40px}.footer-main-content{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:50px;max-width:1200px;width:100%}.footer-column{flex-basis:22%;margin-bottom:20px}.footer-column h4{color:#fff;font-size:1.1em;font-weight:700;margin-bottom:15px}.footer-column ul{list-style:none}.footer-column ul li{margin-bottom:8px}.footer-column ul li a{color:#b0b0b0;font-size:.95em;text-decoration:none;transition:color .3s ease}.footer-column ul li a:hover{color:#fff}.company-info{flex-basis:30%;min-width:250px}.company-logo-section{align-items:center;display:flex;margin-bottom:15px}.footer-logo{height:30px;margin-right:10px}.company-logo-section span{color:#fff;font-size:1.2em;font-weight:700}.company-info p{color:#b0b0b0;font-size:.9em;line-height:1.6;margin-bottom:20px}.social-icons{display:flex;gap:15px}.social-icons a img{filter:invert(100%) brightness(80%);height:20px;transition:filter .3s ease;width:20px}.social-icons a:hover img{filter:invert(100%) brightness(100%)}.footer-bottom-bar{align-items:center;border-top:1px solid #334;color:#889;display:flex;font-size:.85em;justify-content:space-between;max-width:1200px;padding-top:30px;width:100%}.footer-legal-links a{color:#889;margin-left:20px;text-decoration:none;transition:color .3s ease}.footer-legal-links a:hover{color:#fff}@media (max-width:768px){.labassist-footer{padding:40px 20px}.footer-main-content{align-items:flex-start;flex-direction:column;gap:30px}.footer-column{flex-basis:100%;max-width:100%}.footer-bottom-bar{flex-direction:column;text-align:center}.footer-legal-links{margin-top:15px}.footer-legal-links a{margin:0 10px}}@media (max-width:480px){.labassist-footer{padding:30px 15px}.footer-main-content{gap:20px}.social-icons{gap:10px}}
+/*# sourceMappingURL=main.1eeb7222.css.map*/
\ No newline at end of file
diff --git a/build/static/css/main.1eeb7222.css.map b/build/static/css/main.1eeb7222.css.map
new file mode 100644
index 0000000000000000000000000000000000000000..ddd6f9dd0a63e90094712300e0c6b97623ef256e
--- /dev/null
+++ b/build/static/css/main.1eeb7222.css.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/css/main.1eeb7222.css","mappings":"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","sources":["index.css","ChatPage.css","App.css","foot.css"],"sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n",".chat-container {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100vh;\r\n max-width: 800px;\r\n margin: auto;\r\n font-family: Arial, sans-serif;\r\n}\r\n\r\n.chat-header {\r\n padding: 16px;\r\n background-color: #4a90e2;\r\n color: white;\r\n font-size: 1.5rem;\r\n text-align: center;\r\n}\r\n\r\n.chat-messages {\r\n flex: 1;\r\n padding: 16px;\r\n overflow-y: auto;\r\n background-color: #f5f5f5;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 12px;\r\n}\r\n\r\n.chat-bubble {\r\n max-width: 70%;\r\n padding: 12px;\r\n border-radius: 16px;\r\n white-space: pre-wrap;\r\n word-wrap: break-word;\r\n}\r\n\r\n.chat-bubble.user {\r\n align-self: flex-end;\r\n background-color: #dcf8c6;\r\n}\r\n\r\n.chat-bubble.ai {\r\n align-self: flex-start;\r\n background-color: #ffffff;\r\n border: 1px solid #ddd;\r\n}\r\n\r\n.chat-bubble.loading {\r\n font-style: italic;\r\n opacity: 0.6;\r\n}\r\n\r\n.chat-input-area {\r\n display: flex;\r\n padding: 12px;\r\n border-top: 1px solid #ccc;\r\n background-color: #fff;\r\n}\r\n\r\n.chat-input-area input {\r\n flex: 1;\r\n padding: 8px;\r\n border: 1px solid #ccc;\r\n border-radius: 8px;\r\n margin-right: 8px;\r\n}\r\n\r\n.chat-input-area button {\r\n padding: 8px 16px;\r\n background-color: #4a90e2;\r\n color: white;\r\n border: none;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n}\r\n\r\n.chat-input-area button:disabled {\r\n background-color: #a0c4f2;\r\n cursor: not-allowed;\r\n}\r\n\r\n.back-button {\r\n float: right;\r\n margin-right: 20px;\r\n background-color: #f2f2f2;\r\n border: none;\r\n padding: 6px 12px;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n font-size: 14px;\r\n}\r\n\r\n.back-button:hover {\r\n background-color: #ddd;\r\n}",".App {\n text-align: center;\n}\n\n.App-logo {\n height: 40vmin;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n .App-logo {\n animation: App-logo-spin infinite 20s linear;\n }\n}\n\n.App-header {\n background-color: #282c34;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n font-size: calc(10px + 2vmin);\n color: white;\n}\n\n.App-link {\n color: #61dafb;\n}\n\n@keyframes App-logo-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Landing Page Styles */\n.landing-container { font-family: Arial, sans-serif; min-height: 100vh; display: flex; flex-direction: column; }\n.landing-header, .landing-footer { background: #f8f9fb; padding: 20px 40px; display: flex; justify-content: space-between; align-items: center; }\n.landing-main { flex: 1; padding: 40px; display: flex; flex-direction: column; align-items: center; }\n.landing-header .logo { font-weight: bold; font-size: 1.5rem; }\n.landing-nav a, .lang-select { margin: 0 10px; text-decoration: none; color: #222; }\n.start-btn { background: #2563eb; color: #fff; border: none; padding: 14px 32px; border-radius: 8px; font-size: 1.1rem; margin: 24px 0; cursor: pointer; }\n.how-it-works { margin: 40px 0; width: 100%; max-width: 900px; }\n.how-it-works h2 {text-align: center; }\n.steps { display: flex; justify-content: space-between; }\n.step { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px #e5e7eb; padding: 24px; flex: 1; margin: 0 10px; text-align: center; }\n.step-number { background: #2563eb; color: #fff; border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; font-size: 1.2rem; }\n.download-resources { margin: 40px 0; width: 100%; max-width: 900px; }\n.download-resources h2 {text-align: center; }\n.resources { display: flex; justify-content: space-between; }\n.resource-card { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px #e5e7eb; padding: 24px; flex: 1; margin: 0 10px; text-align: center; }\n.view-all { display: block; margin-top: 16px; text-align: right; color: #2563eb; text-decoration: none; }\n\n/* Chat Page Styles */\n.chat-container { min-height: 100vh; display: flex; flex-direction: column; background: #f4f6fa; }\n.chat-header { background: #2563eb; color: #fff; padding: 20px; font-size: 1.3rem; text-align: center; }\n.chat-messages { flex: 1; padding: 24px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; }\n.chat-message { max-width: 60%; padding: 12px 18px; border-radius: 16px; margin-bottom: 8px; }\n.chat-message.user { align-self: flex-end; background: #2563eb; color: #fff; }\n.chat-message.ai { align-self: flex-start; background: #fff; color: #222; border: 1px solid #e5e7eb; }\n.chat-input-area { display: flex; padding: 16px; background: #fff; border-top: 1px solid #e5e7eb; }\n.chat-input-area input { flex: 1; padding: 10px; border-radius: 8px; border: 1px solid #e5e7eb; margin-right: 10px; font-size: 1rem; }\n.chat-input-area button { background: #2563eb; color: #fff; border: none; border-radius: 8px; padding: 10px 24px; font-size: 1rem; cursor: pointer; }\n",".labassist-footer {\r\n background-color: #111122; /* 頁腳背景色,比 body 略深 */\r\n padding: 60px 40px; /* 上下左右內邊距 */\r\n display: flex;\r\n flex-direction: column; /* 讓主要內容和底部版權資訊垂直堆疊 */\r\n align-items: center; /* 讓整個 footer 的內容水平居中(在有 max-width 的情況下) */\r\n}\r\n\r\n/* 主要內容區域:包含四個列 */\r\n.footer-main-content {\r\n display: flex;\r\n justify-content: space-between; /* 將四個列均勻分佈在水平空間 */\r\n width: 100%; /* 佔滿父容器寬度 */\r\n max-width: 1200px; /* 限制內容的最大寬度,使其不會太寬 */\r\n margin-bottom: 50px; /* 與底部版權資訊的間距 */\r\n flex-wrap: wrap; /* 允許在小螢幕上換行 */\r\n}\r\n\r\n/* 每一個列(公司資訊、Product、Support、Company) */\r\n.footer-column {\r\n flex-basis: 22%; /* 讓每列佔據大約 22% 的空間,以便容納 4 列並留有間距 */\r\n /* 可以根據內容調整 flex-basis,或者使用 flex-grow: 1; 讓它們自動分配空間 */\r\n margin-bottom: 20px; /* 小螢幕換行時的間距 */\r\n}\r\n\r\n.footer-column h4 {\r\n font-size: 1.1em;\r\n color: #FFFFFF; /* 標題文字白色 */\r\n margin-bottom: 15px; /* 標題與下方連結的間距 */\r\n font-weight: bold;\r\n}\r\n\r\n.footer-column ul {\r\n list-style: none; /* 移除列表點 */\r\n}\r\n\r\n.footer-column ul li {\r\n margin-bottom: 8px; /* 連結之間的間距 */\r\n}\r\n\r\n.footer-column ul li a {\r\n color: #B0B0B0; /* 連結文字顏色 */\r\n text-decoration: none; /* 移除下劃線 */\r\n font-size: 0.95em;\r\n transition: color 0.3s ease; /* 平滑過渡效果 */\r\n}\r\n\r\n.footer-column ul li a:hover {\r\n color: #FFFFFF; /* 鼠標懸停時變白 */\r\n}\r\n\r\n/* 左側公司資訊區塊特有樣式 */\r\n.company-info {\r\n flex-basis: 30%; /* 給公司資訊列更多空間 */\r\n min-width: 250px; /* 確保在小螢幕上有足夠寬度 */\r\n}\r\n\r\n.company-logo-section {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 15px;\r\n}\r\n\r\n.footer-logo {\r\n height: 30px; /* Logo 高度 */\r\n margin-right: 10px;\r\n}\r\n\r\n.company-logo-section span {\r\n font-size: 1.2em;\r\n font-weight: bold;\r\n color: #FFFFFF;\r\n}\r\n\r\n.company-info p {\r\n font-size: 0.9em;\r\n line-height: 1.6;\r\n margin-bottom: 20px;\r\n color: #B0B0B0;\r\n}\r\n\r\n.social-icons {\r\n display: flex;\r\n gap: 15px; /* 圖標間距 */\r\n}\r\n\r\n.social-icons a img {\r\n width: 20px; /* 圖標大小 */\r\n height: 20px;\r\n filter: invert(100%) brightness(80%); /* 將圖標顏色反轉為淺色 */\r\n transition: filter 0.3s ease;\r\n}\r\n\r\n.social-icons a:hover img {\r\n filter: invert(100%) brightness(100%); /* 鼠標懸停時變亮 */\r\n}\r\n\r\n\r\n/* 底部版權資訊區域 */\r\n.footer-bottom-bar {\r\n border-top: 1px solid #333344; /* 上方加一條細分隔線 */\r\n padding-top: 30px;\r\n width: 100%;\r\n max-width: 1200px; /* 與主要內容寬度保持一致 */\r\n display: flex;\r\n justify-content: space-between; /* 版權資訊靠左,法律連結靠右 */\r\n align-items: center; /* 垂直居中對齊 */\r\n font-size: 0.85em;\r\n color: #888899; /* 較淺的灰色 */\r\n}\r\n\r\n.footer-legal-links a {\r\n color: #888899;\r\n text-decoration: none;\r\n margin-left: 20px; /* 連結之間的間距 */\r\n transition: color 0.3s ease;\r\n}\r\n\r\n.footer-legal-links a:hover {\r\n color: #FFFFFF;\r\n}\r\n\r\n/* 響應式設計:小螢幕適應 */\r\n@media (max-width: 768px) {\r\n .labassist-footer {\r\n padding: 40px 20px;\r\n }\r\n\r\n .footer-main-content {\r\n flex-direction: column; /* 小螢幕時,列變成垂直堆疊 */\r\n align-items: flex-start; /* 讓每個列都靠左對齊 */\r\n gap: 30px; /* 列之間的間距 */\r\n }\r\n\r\n .footer-column {\r\n flex-basis: 100%; /* 每列佔據全部寬度 */\r\n max-width: 100%; /* 確保最大寬度 */\r\n }\r\n\r\n .footer-bottom-bar {\r\n flex-direction: column; /* 版權和法律連結垂直堆疊 */\r\n text-align: center;\r\n }\r\n\r\n .footer-legal-links {\r\n margin-top: 15px; /* 與版權資訊的間距 */\r\n }\r\n\r\n .footer-legal-links a {\r\n margin: 0 10px; /* 調整連結間距 */\r\n }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n .labassist-footer {\r\n padding: 30px 15px;\r\n }\r\n\r\n .footer-main-content {\r\n gap: 20px;\r\n }\r\n\r\n .social-icons {\r\n gap: 10px;\r\n }\r\n}"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/build/static/js/453.ed3810f9.chunk.js b/build/static/js/453.ed3810f9.chunk.js
new file mode 100644
index 0000000000000000000000000000000000000000..06e33f564c2b544658ff19624f887950b64e63d8
--- /dev/null
+++ b/build/static/js/453.ed3810f9.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_app=self.webpackChunkmy_app||[]).push([[453],{453:(e,t,n)=>{n.r(t),n.d(t,{getCLS:()=>y,getFCP:()=>g,getFID:()=>C,getLCP:()=>P,getTTFB:()=>D});var i,r,a,o,u=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:"v2-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if("first-input"===e&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},f=function(e,t){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(e(i),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(e){addEventListener("pageshow",(function(t){t.persisted&&e(t)}),!0)},m=function(e,t,n){var i;return function(r){t.value>=0&&(r||n)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},v=-1,p=function(){return"hidden"===document.visibilityState?0:1/0},d=function(){f((function(e){var t=e.timeStamp;v=t}),!0)},l=function(){return v<0&&(v=p(),d(),s((function(){setTimeout((function(){v=p(),d()}),0)}))),{get firstHiddenTime(){return v}}},g=function(e,t){var n,i=l(),r=u("FCP"),a=function(e){"first-contentful-paint"===e.name&&(f&&f.disconnect(),e.startTime-1&&e(t)},r=u("CLS",0),a=0,o=[],v=function(e){if(!e.hadRecentInput){var t=o[0],i=o[o.length-1];a&&e.startTime-i.startTime<1e3&&e.startTime-t.startTime<5e3?(a+=e.value,o.push(e)):(a=e.value,o=[e]),a>r.value&&(r.value=a,r.entries=o,n())}},p=c("layout-shift",v);p&&(n=m(i,r,t),f((function(){p.takeRecords().map(v),n(!0)})),s((function(){a=0,T=-1,r=u("CLS",0),n=m(i,r,t)})))},E={passive:!0,capture:!0},w=new Date,L=function(e,t){i||(i=t,r=e,a=new Date,F(removeEventListener),S())},S=function(){if(r>=0&&r1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){L(e,t),r()},i=function(){r()},r=function(){removeEventListener("pointerup",n,E),removeEventListener("pointercancel",i,E)};addEventListener("pointerup",n,E),addEventListener("pointercancel",i,E)}(t,e):L(t,e)}},F=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,b,E)}))},C=function(e,t){var n,a=l(),v=u("FID"),p=function(e){e.startTimeperformance.now())return;n.entries=[t],e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("load",(function(){return setTimeout(t,0)}))}}}]);
+//# sourceMappingURL=453.ed3810f9.chunk.js.map
\ No newline at end of file
diff --git a/build/static/js/453.ed3810f9.chunk.js.map b/build/static/js/453.ed3810f9.chunk.js.map
new file mode 100644
index 0000000000000000000000000000000000000000..eebfce639d7c43e6238ca14a9eabcbfb05047768
--- /dev/null
+++ b/build/static/js/453.ed3810f9.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/453.ed3810f9.chunk.js","mappings":"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","sources":["../node_modules/web-vitals/dist/web-vitals.js"],"sourcesContent":["var e,t,n,i,r=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:\"v2-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12)}},a=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if(\"first-input\"===e&&!(\"PerformanceEventTiming\"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},o=function(e,t){var n=function n(i){\"pagehide\"!==i.type&&\"hidden\"!==document.visibilityState||(e(i),t&&(removeEventListener(\"visibilitychange\",n,!0),removeEventListener(\"pagehide\",n,!0)))};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},u=function(e){addEventListener(\"pageshow\",(function(t){t.persisted&&e(t)}),!0)},c=function(e,t,n){var i;return function(r){t.value>=0&&(r||n)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},f=-1,s=function(){return\"hidden\"===document.visibilityState?0:1/0},m=function(){o((function(e){var t=e.timeStamp;f=t}),!0)},v=function(){return f<0&&(f=s(),m(),u((function(){setTimeout((function(){f=s(),m()}),0)}))),{get firstHiddenTime(){return f}}},d=function(e,t){var n,i=v(),o=r(\"FCP\"),f=function(e){\"first-contentful-paint\"===e.name&&(m&&m.disconnect(),e.startTime-1&&e(t)},f=r(\"CLS\",0),s=0,m=[],v=function(e){if(!e.hadRecentInput){var t=m[0],i=m[m.length-1];s&&e.startTime-i.startTime<1e3&&e.startTime-t.startTime<5e3?(s+=e.value,m.push(e)):(s=e.value,m=[e]),s>f.value&&(f.value=s,f.entries=m,n())}},h=a(\"layout-shift\",v);h&&(n=c(i,f,t),o((function(){h.takeRecords().map(v),n(!0)})),u((function(){s=0,l=-1,f=r(\"CLS\",0),n=c(i,f,t)})))},T={passive:!0,capture:!0},y=new Date,g=function(i,r){e||(e=r,t=i,n=new Date,w(removeEventListener),E())},E=function(){if(t>=0&&t1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,t){var n=function(){g(e,t),r()},i=function(){r()},r=function(){removeEventListener(\"pointerup\",n,T),removeEventListener(\"pointercancel\",i,T)};addEventListener(\"pointerup\",n,T),addEventListener(\"pointercancel\",i,T)}(t,e):g(t,e)}},w=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(t){return e(t,S,T)}))},L=function(n,f){var s,m=v(),d=r(\"FID\"),p=function(e){e.startTimeperformance.now())return;n.entries=[t],e(n)}catch(e){}},\"complete\"===document.readyState?setTimeout(t,0):addEventListener(\"load\",(function(){return setTimeout(t,0)}))};export{h as getCLS,d as getFCP,L as getFID,F as getLCP,P as getTTFB};\n"],"names":["e","t","n","i","r","name","value","delta","entries","id","concat","Date","now","Math","floor","random","a","PerformanceObserver","supportedEntryTypes","includes","self","getEntries","map","observe","type","buffered","o","document","visibilityState","removeEventListener","addEventListener","u","persisted","c","f","s","m","timeStamp","v","setTimeout","firstHiddenTime","d","disconnect","startTime","push","window","performance","getEntriesByName","requestAnimationFrame","p","l","h","hadRecentInput","length","takeRecords","T","passive","capture","y","g","w","E","entryType","target","cancelable","processingStart","forEach","S","L","b","F","once","P","getEntriesByType","timing","max","navigationStart","responseStart","readyState"],"sourceRoot":""}
\ No newline at end of file
diff --git a/build/static/js/main.d1af9f99.js b/build/static/js/main.d1af9f99.js
new file mode 100644
index 0000000000000000000000000000000000000000..ee4226fbdf3e93076438cb3b1d928a6cc8447a6b
--- /dev/null
+++ b/build/static/js/main.d1af9f99.js
@@ -0,0 +1,3 @@
+/*! For license information please see main.d1af9f99.js.LICENSE.txt */
+(()=>{"use strict";var e={4:(e,t,n)=>{var r=n(853),l=n(43),a=n(950);function o(e){var t="https://react.dev/errors/"+e;if(1M||(e.current=F[M],F[M]=null,M--)}function H(e,t){M++,F[M]=e.current,e.current=t}var $=I(null),B=I(null),V=I(null),W=I(null);function q(e,t){switch(H(V,t),H(B,e),H($,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?lf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=af(t=lf(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}U($),H($,e)}function Q(){U($),U(B),U(V)}function K(e){null!==e.memoizedState&&H(W,e);var t=$.current,n=af(t,e.type);t!==n&&(H(B,e),H($,n))}function G(e){B.current===e&&(U($),U(B)),W.current===e&&(U(W),Gf._currentValue=D)}var Y=Object.prototype.hasOwnProperty,X=r.unstable_scheduleCallback,J=r.unstable_cancelCallback,Z=r.unstable_shouldYield,ee=r.unstable_requestPaint,te=r.unstable_now,ne=r.unstable_getCurrentPriorityLevel,re=r.unstable_ImmediatePriority,le=r.unstable_UserBlockingPriority,ae=r.unstable_NormalPriority,oe=r.unstable_LowPriority,ie=r.unstable_IdlePriority,ue=r.log,se=r.unstable_setDisableYieldValue,ce=null,fe=null;function de(e){if("function"===typeof ue&&se(e),fe&&"function"===typeof fe.setStrictMode)try{fe.setStrictMode(ce,e)}catch(t){}}var pe=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(he(e)/me|0)|0},he=Math.log,me=Math.LN2;var ge=256,ve=4194304;function ye(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194048&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function be(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var l=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var i=134217727&r;return 0!==i?0!==(r=i&~a)?l=ye(r):0!==(o&=i)?l=ye(o):n||0!==(n=i&~e)&&(l=ye(n)):0!==(i=r&~a)?l=ye(i):0!==o?l=ye(o):n||0!==(n=r&~e)&&(l=ye(n)),0===l?0:0!==t&&t!==l&&0===(t&a)&&((a=l&-l)>=(n=t&-t)||32===a&&0!==(4194048&n))?t:l}function ke(e,t){return 0===(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function we(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function Se(){var e=ge;return 0===(4194048&(ge<<=1))&&(ge=256),e}function xe(){var e=ve;return 0===(62914560&(ve<<=1))&&(ve=4194304),e}function Ee(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ce(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Pe(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-pe(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194090&n}function _e(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-pe(n),l=1<)":-1--l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}}while(1<=r&&0<=l);break}}}finally{at=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?lt(n):""}function it(e){switch(e.tag){case 26:case 27:case 5:return lt(e.type);case 16:return lt("Lazy");case 13:return lt("Suspense");case 19:return lt("SuspenseList");case 0:case 15:return ot(e.type,!1);case 11:return ot(e.type.render,!1);case 1:return ot(e.type,!0);case 31:return lt("Activity");default:return""}}function ut(e){try{var t="";do{t+=it(e),e=e.return}while(e);return t}catch(n){return"\nError generating stack: "+n.message+"\n"+n.stack}}function st(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function ct(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function ft(e){e._valueTracker||(e._valueTracker=function(e){var t=ct(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var l=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function dt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ct(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function pt(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}var ht=/[\n"\\]/g;function mt(e){return e.replace(ht,(function(e){return"\\"+e.charCodeAt(0).toString(16)+" "}))}function gt(e,t,n,r,l,a,o,i){e.name="",null!=o&&"function"!==typeof o&&"symbol"!==typeof o&&"boolean"!==typeof o?e.type=o:e.removeAttribute("type"),null!=t?"number"===o?(0===t&&""===e.value||e.value!=t)&&(e.value=""+st(t)):e.value!==""+st(t)&&(e.value=""+st(t)):"submit"!==o&&"reset"!==o||e.removeAttribute("value"),null!=t?yt(e,o,st(t)):null!=n?yt(e,o,st(n)):null!=r&&e.removeAttribute("value"),null==l&&null!=a&&(e.defaultChecked=!!a),null!=l&&(e.checked=l&&"function"!==typeof l&&"symbol"!==typeof l),null!=i&&"function"!==typeof i&&"symbol"!==typeof i&&"boolean"!==typeof i?e.name=""+st(i):e.removeAttribute("name")}function vt(e,t,n,r,l,a,o,i){if(null!=a&&"function"!==typeof a&&"symbol"!==typeof a&&"boolean"!==typeof a&&(e.type=a),null!=t||null!=n){if(!("submit"!==a&&"reset"!==a||void 0!==t&&null!==t))return;n=null!=n?""+st(n):"",t=null!=t?""+st(t):n,i||t===e.value||(e.value=t),e.defaultValue=t}r="function"!==typeof(r=null!=r?r:l)&&"symbol"!==typeof r&&!!r,e.checked=i?e.checked:!!r,e.defaultChecked=!!r,null!=o&&"function"!==typeof o&&"symbol"!==typeof o&&"boolean"!==typeof o&&(e.name=o)}function yt(e,t,n){"number"===t&&pt(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function bt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l=xn),Pn=String.fromCharCode(32),_n=!1;function Nn(e,t){switch(e){case"keyup":return-1!==wn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Tn=!1;var Ln={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function On(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Ln[e.type]:"textarea"===t}function jn(e,t,n,r){Ot?jt?jt.push(r):jt=[r]:Ot=r,0<(t=Vc(t,"onChange")).length&&(n=new Zt("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Rn=null,An=null;function Dn(e){Dc(e,0)}function Fn(e){if(dt(Be(e)))return e}function Mn(e,t){if("change"===e)return t}var In=!1;if(Mt){var Un;if(Mt){var Hn="oninput"in document;if(!Hn){var $n=document.createElement("div");$n.setAttribute("oninput","return;"),Hn="function"===typeof $n.oninput}Un=Hn}else Un=!1;In=Un&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Xn(r)}}function Zn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Zn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function er(e){for(var t=pt((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=pt((e=t.contentWindow).document)}return t}function tr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nr=Mt&&"documentMode"in document&&11>=document.documentMode,rr=null,lr=null,ar=null,or=!1;function ir(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;or||null==rr||rr!==pt(r)||("selectionStart"in(r=rr)&&tr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},ar&&Yn(ar,r)||(ar=r,0<(r=Vc(lr,"onSelect")).length&&(t=new Zt("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=rr)))}function ur(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var sr={animationend:ur("Animation","AnimationEnd"),animationiteration:ur("Animation","AnimationIteration"),animationstart:ur("Animation","AnimationStart"),transitionrun:ur("Transition","TransitionRun"),transitionstart:ur("Transition","TransitionStart"),transitioncancel:ur("Transition","TransitionCancel"),transitionend:ur("Transition","TransitionEnd")},cr={},fr={};function dr(e){if(cr[e])return cr[e];if(!sr[e])return e;var t,n=sr[e];for(t in n)if(n.hasOwnProperty(t)&&t in fr)return cr[e]=n[t];return e}Mt&&(fr=document.createElement("div").style,"AnimationEvent"in window||(delete sr.animationend.animation,delete sr.animationiteration.animation,delete sr.animationstart.animation),"TransitionEvent"in window||delete sr.transitionend.transition);var pr=dr("animationend"),hr=dr("animationiteration"),mr=dr("animationstart"),gr=dr("transitionrun"),vr=dr("transitionstart"),yr=dr("transitioncancel"),br=dr("transitionend"),kr=new Map,wr="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Sr(e,t){kr.set(e,t),Ke(t,[e])}wr.push("scrollEnd");var xr=new WeakMap;function Er(e,t){if("object"===typeof e&&null!==e){var n=xr.get(e);return void 0!==n?n:(t={value:e,source:t,stack:ut(t)},xr.set(e,t),t)}return{value:e,source:t,stack:ut(t)}}var Cr=[],Pr=0,_r=0;function Nr(){for(var e=Pr,t=_r=Pr=0;t>=o,l-=o,Xr=1<<32-pe(t)+l|n<a?a:8;var o=R.T,i={};R.T=i,Ho(e,!1,t,n);try{var u=l(),s=R.S;if(null!==s&&s(i,u),null!==u&&"object"===typeof u&&"function"===typeof u.then)Uo(e,t,function(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(e){n.push(e)}};return e.then((function(){r.status="fulfilled",r.value=t;for(var e=0;eh?(m=f,f=null):m=f.sibling;var g=p(l,f,i[h],u);if(null===g){null===f&&(f=m);break}e&&f&&null===g.alternate&&t(l,f),o=a(g,o,h),null===c?s=g:c.sibling=g,c=g,f=m}if(h===i.length)return n(l,f),al&&Zr(l,h),s;if(null===f){for(;hm?(g=h,h=null):g=h.sibling;var b=p(l,h,y.value,s);if(null===b){null===h&&(h=g);break}e&&h&&null===b.alternate&&t(l,h),i=a(b,i,m),null===f?c=b:f.sibling=b,f=b,h=g}if(y.done)return n(l,h),al&&Zr(l,m),c;if(null===h){for(;!y.done;m++,y=u.next())null!==(y=d(l,y.value,s))&&(i=a(y,i,m),null===f?c=y:f.sibling=y,f=y);return al&&Zr(l,m),c}for(h=r(h);!y.done;m++,y=u.next())null!==(y=v(h,l,m,y.value,s))&&(e&&null!==y.alternate&&h.delete(null===y.key?m:y.key),i=a(y,i,m),null===f?c=y:f.sibling=y,f=y);return e&&h.forEach((function(e){return t(l,e)})),al&&Zr(l,m),c}(u,s,c=b.call(c),f)}if("function"===typeof c.then)return y(u,s,Xo(c),f);if(c.$$typeof===w)return y(u,s,_l(u,c),f);Zo(u,c)}return"string"===typeof c&&""!==c||"number"===typeof c||"bigint"===typeof c?(c=""+c,null!==s&&6===s.tag?(n(u,s.sibling),(f=l(s,c)).return=u,u=f):(n(u,s),(f=$r(c,u.mode,f)).return=u,u=f),i(u)):n(u,s)}return function(e,t,n,r){try{Yo=0;var l=y(e,t,n,r);return Go=null,l}catch(o){if(o===Wl||o===Ql)throw o;var a=Dr(29,o,null,e.mode);return a.lanes=r,a.return=e,a}}}var ni=ti(!0),ri=ti(!1),li=I(null),ai=null;function oi(e){var t=e.alternate;H(ci,1&ci.current),H(li,e),null===ai&&(null===t||null!==pa.current||null!==t.memoizedState)&&(ai=e)}function ii(e){if(22===e.tag){if(H(ci,ci.current),H(li,e),null===ai){var t=e.alternate;null!==t&&null!==t.memoizedState&&(ai=e)}}else ui()}function ui(){H(ci,ci.current),H(li,li.current)}function si(e){U(li),ai===e&&(ai=null),U(ci)}var ci=I(0);function fi(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||vf(n)))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function di(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:d({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var pi={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Rs(),l=la(r);l.payload=t,void 0!==n&&null!==n&&(l.callback=n),null!==(t=aa(e,l,r))&&(Ds(t,e,r),oa(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Rs(),l=la(r);l.tag=1,l.payload=t,void 0!==n&&null!==n&&(l.callback=n),null!==(t=aa(e,l,r))&&(Ds(t,e,r),oa(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Rs(),r=la(n);r.tag=2,void 0!==t&&null!==t&&(r.callback=t),null!==(t=aa(e,r,n))&&(Ds(t,e,n),oa(t,e,n))}};function hi(e,t,n,r,l,a,o){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,o):!t.prototype||!t.prototype.isPureReactComponent||(!Yn(n,r)||!Yn(l,a))}function mi(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&pi.enqueueReplaceState(t,t.state,null)}function gi(e,t){var n=t;if("ref"in t)for(var r in n={},t)"ref"!==r&&(n[r]=t[r]);if(e=e.defaultProps)for(var l in n===t&&(n=d({},n)),e)void 0===n[l]&&(n[l]=e[l]);return n}var vi="function"===typeof reportError?reportError:function(e){if("object"===typeof window&&"function"===typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"===typeof e&&null!==e&&"string"===typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"===typeof process&&"function"===typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)};function yi(e){vi(e)}function bi(e){console.error(e)}function ki(e){vi(e)}function wi(e,t){try{(0,e.onUncaughtError)(t.value,{componentStack:t.stack})}catch(n){setTimeout((function(){throw n}))}}function Si(e,t,n){try{(0,e.onCaughtError)(n.value,{componentStack:n.stack,errorBoundary:1===t.tag?t.stateNode:null})}catch(r){setTimeout((function(){throw r}))}}function xi(e,t,n){return(n=la(n)).tag=3,n.payload={element:null},n.callback=function(){wi(e,t)},n}function Ei(e){return(e=la(e)).tag=3,e}function Ci(e,t,n,r){var l=n.type.getDerivedStateFromError;if("function"===typeof l){var a=r.value;e.payload=function(){return l(a)},e.callback=function(){Si(t,n,r)}}var o=n.stateNode;null!==o&&"function"===typeof o.componentDidCatch&&(e.callback=function(){Si(t,n,r),"function"!==typeof l&&(null===Es?Es=new Set([this]):Es.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:null!==e?e:""})})}var Pi=Error(o(461)),_i=!1;function Ni(e,t,n,r){t.child=null===e?ri(t,null,n,r):ni(t,e.child,n,r)}function zi(e,t,n,r,l){n=n.render;var a=t.ref;if("ref"in r){var o={};for(var i in r)"ref"!==i&&(o[i]=r[i])}else o=r;return Cl(t),r=La(e,t,n,o,a,l),i=Aa(),null===e||_i?(al&&i&&tl(t),t.flags|=1,Ni(e,t,r,l),t.child):(Da(e,t,l),Gi(e,t,l))}function Ti(e,t,n,r,l){if(null===e){var a=n.type;return"function"!==typeof a||Fr(a)||void 0!==a.defaultProps||null!==n.compare?((e=Ur(n.type,null,r,t,t.mode,l)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Li(e,t,a,r,l))}if(a=e.child,!Yi(e,l)){var o=a.memoizedProps;if((n=null!==(n=n.compare)?n:Yn)(o,r)&&e.ref===t.ref)return Gi(e,t,l)}return t.flags|=1,(e=Mr(a,r)).ref=t.ref,e.return=t,t.child=e}function Li(e,t,n,r,l){if(null!==e){var a=e.memoizedProps;if(Yn(a,r)&&e.ref===t.ref){if(_i=!1,t.pendingProps=r=a,!Yi(e,l))return t.lanes=e.lanes,Gi(e,t,l);0!==(131072&e.flags)&&(_i=!0)}}return Ai(e,t,n,r,l)}function Oi(e,t,n){var r=t.pendingProps,l=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode){if(0!==(128&t.flags)){if(r=null!==a?a.baseLanes|n:n,null!==e){for(l=t.child=e.child,a=0;null!==l;)a=a|l.lanes|l.childLanes,l=l.sibling;t.childLanes=a&~r}else t.childLanes=0,t.child=null;return ji(e,t,r,n)}if(0===(536870912&n))return t.lanes=t.childLanes=536870912,ji(e,t,null!==a?a.baseLanes|n:n,n);t.memoizedState={baseLanes:0,cachePool:null},null!==e&&Bl(0,null!==a?a.cachePool:null),null!==a?ma(t,a):ga(),ii(t)}else null!==a?(Bl(0,a.cachePool),ma(t,a),ui(),t.memoizedState=null):(null!==e&&Bl(0,null),ga(),ui());return Ni(e,t,l,n),t.child}function ji(e,t,n,r){var l=$l();return l=null===l?null:{parent:Ol._currentValue,pool:l},t.memoizedState={baseLanes:n,cachePool:l},null!==e&&Bl(0,null),ga(),ii(t),null!==e&&xl(e,t,r,!0),null}function Ri(e,t){var n=t.ref;if(null===n)null!==e&&null!==e.ref&&(t.flags|=4194816);else{if("function"!==typeof n&&"object"!==typeof n)throw Error(o(284));null!==e&&e.ref===n||(t.flags|=4194816)}}function Ai(e,t,n,r,l){return Cl(t),n=La(e,t,n,r,void 0,l),r=Aa(),null===e||_i?(al&&r&&tl(t),t.flags|=1,Ni(e,t,n,l),t.child):(Da(e,t,l),Gi(e,t,l))}function Di(e,t,n,r,l,a){return Cl(t),t.updateQueue=null,n=ja(t,r,n,l),Oa(e),r=Aa(),null===e||_i?(al&&r&&tl(t),t.flags|=1,Ni(e,t,n,a),t.child):(Da(e,t,a),Gi(e,t,a))}function Fi(e,t,n,r,l){if(Cl(t),null===t.stateNode){var a=Rr,o=n.contextType;"object"===typeof o&&null!==o&&(a=Pl(o)),a=new n(r,a),t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,a.updater=pi,t.stateNode=a,a._reactInternals=t,(a=t.stateNode).props=r,a.state=t.memoizedState,a.refs={},na(t),o=n.contextType,a.context="object"===typeof o&&null!==o?Pl(o):Rr,a.state=t.memoizedState,"function"===typeof(o=n.getDerivedStateFromProps)&&(di(t,n,o,r),a.state=t.memoizedState),"function"===typeof n.getDerivedStateFromProps||"function"===typeof a.getSnapshotBeforeUpdate||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||(o=a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),o!==a.state&&pi.enqueueReplaceState(a,a.state,null),ca(t,r,a,l),sa(),a.state=t.memoizedState),"function"===typeof a.componentDidMount&&(t.flags|=4194308),r=!0}else if(null===e){a=t.stateNode;var i=t.memoizedProps,u=gi(n,i);a.props=u;var s=a.context,c=n.contextType;o=Rr,"object"===typeof c&&null!==c&&(o=Pl(c));var f=n.getDerivedStateFromProps;c="function"===typeof f||"function"===typeof a.getSnapshotBeforeUpdate,i=t.pendingProps!==i,c||"function"!==typeof a.UNSAFE_componentWillReceiveProps&&"function"!==typeof a.componentWillReceiveProps||(i||s!==o)&&mi(t,a,r,o),ta=!1;var d=t.memoizedState;a.state=d,ca(t,r,a,l),sa(),s=t.memoizedState,i||d!==s||ta?("function"===typeof f&&(di(t,n,f,r),s=t.memoizedState),(u=ta||hi(t,n,u,r,d,s,o))?(c||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||("function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"===typeof a.componentDidMount&&(t.flags|=4194308)):("function"===typeof a.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),a.props=r,a.state=s,a.context=o,r=u):("function"===typeof a.componentDidMount&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,ra(e,t),c=gi(n,o=t.memoizedProps),a.props=c,f=t.pendingProps,d=a.context,s=n.contextType,u=Rr,"object"===typeof s&&null!==s&&(u=Pl(s)),(s="function"===typeof(i=n.getDerivedStateFromProps)||"function"===typeof a.getSnapshotBeforeUpdate)||"function"!==typeof a.UNSAFE_componentWillReceiveProps&&"function"!==typeof a.componentWillReceiveProps||(o!==f||d!==u)&&mi(t,a,r,u),ta=!1,d=t.memoizedState,a.state=d,ca(t,r,a,l),sa();var p=t.memoizedState;o!==f||d!==p||ta||null!==e&&null!==e.dependencies&&El(e.dependencies)?("function"===typeof i&&(di(t,n,i,r),p=t.memoizedState),(c=ta||hi(t,n,c,r,d,p,u)||null!==e&&null!==e.dependencies&&El(e.dependencies))?(s||"function"!==typeof a.UNSAFE_componentWillUpdate&&"function"!==typeof a.componentWillUpdate||("function"===typeof a.componentWillUpdate&&a.componentWillUpdate(r,p,u),"function"===typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,p,u)),"function"===typeof a.componentDidUpdate&&(t.flags|=4),"function"===typeof a.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof a.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=u,r=c):("function"!==typeof a.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,Ri(e,t),r=0!==(128&t.flags),a||r?(a=t.stateNode,n=r&&"function"!==typeof n.getDerivedStateFromError?null:a.render(),t.flags|=1,null!==e&&r?(t.child=ni(t,e.child,null,l),t.child=ni(t,null,n,l)):Ni(e,t,n,l),t.memoizedState=a.state,e=t.child):e=Gi(e,t,l),e}function Mi(e,t,n,r){return pl(),t.flags|=256,Ni(e,t,n,r),t.child}var Ii={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ui(e){return{baseLanes:e,cachePool:Vl()}}function Hi(e,t,n){return e=null!==e?e.childLanes&~n:0,t&&(e|=gs),e}function $i(e,t,n){var r,l=t.pendingProps,a=!1,i=0!==(128&t.flags);if((r=i)||(r=(null===e||null!==e.memoizedState)&&0!==(2&ci.current)),r&&(a=!0,t.flags&=-129),r=0!==(32&t.flags),t.flags&=-33,null===e){if(al){if(a?oi(t):ui(),al){var u,s=ll;if(u=s){e:{for(u=s,s=il;8!==u.nodeType;){if(!s){s=null;break e}if(null===(u=yf(u.nextSibling))){s=null;break e}}s=u}null!==s?(t.memoizedState={dehydrated:s,treeContext:null!==Yr?{id:Xr,overflow:Jr}:null,retryLane:536870912,hydrationErrors:null},(u=Dr(18,null,null,0)).stateNode=s,u.return=t,t.child=u,rl=t,ll=null,u=!0):u=!1}u||sl(t)}if(null!==(s=t.memoizedState)&&null!==(s=s.dehydrated))return vf(s)?t.lanes=32:t.lanes=536870912,null;si(t)}return s=l.children,l=l.fallback,a?(ui(),s=Vi({mode:"hidden",children:s},a=t.mode),l=Hr(l,a,n,null),s.return=t,l.return=t,s.sibling=l,t.child=s,(a=t.child).memoizedState=Ui(n),a.childLanes=Hi(e,r,n),t.memoizedState=Ii,l):(oi(t),Bi(t,s))}if(null!==(u=e.memoizedState)&&null!==(s=u.dehydrated)){if(i)256&t.flags?(oi(t),t.flags&=-257,t=Wi(e,t,n)):null!==t.memoizedState?(ui(),t.child=e.child,t.flags|=128,t=null):(ui(),a=l.fallback,s=t.mode,l=Vi({mode:"visible",children:l.children},s),(a=Hr(a,s,n,null)).flags|=2,l.return=t,a.return=t,l.sibling=a,t.child=l,ni(t,e.child,null,n),(l=t.child).memoizedState=Ui(n),l.childLanes=Hi(e,r,n),t.memoizedState=Ii,t=a);else if(oi(t),vf(s)){if(r=s.nextSibling&&s.nextSibling.dataset)var c=r.dgst;r=c,(l=Error(o(419))).stack="",l.digest=r,ml({value:l,source:null,stack:null}),t=Wi(e,t,n)}else if(_i||xl(e,t,n,!1),r=0!==(n&e.childLanes),_i||r){if(null!==(r=rs)&&(0!==(l=0!==((l=0!==(42&(l=n&-n))?1:Ne(l))&(r.suspendedLanes|n))?0:l)&&l!==u.retryLane))throw u.retryLane=l,Lr(e,l),Ds(r,e,l),Pi;"$?"===s.data||Qs(),t=Wi(e,t,n)}else"$?"===s.data?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ll=yf(s.nextSibling),rl=t,al=!0,ol=null,il=!1,null!==e&&(Kr[Gr++]=Xr,Kr[Gr++]=Jr,Kr[Gr++]=Yr,Xr=e.id,Jr=e.overflow,Yr=t),(t=Bi(t,l.children)).flags|=4096);return t}return a?(ui(),a=l.fallback,s=t.mode,c=(u=e.child).sibling,(l=Mr(u,{mode:"hidden",children:l.children})).subtreeFlags=65011712&u.subtreeFlags,null!==c?a=Mr(c,a):(a=Hr(a,s,n,null)).flags|=2,a.return=t,l.return=t,l.sibling=a,t.child=l,l=a,a=t.child,null===(s=e.child.memoizedState)?s=Ui(n):(null!==(u=s.cachePool)?(c=Ol._currentValue,u=u.parent!==c?{parent:c,pool:c}:u):u=Vl(),s={baseLanes:s.baseLanes|n,cachePool:u}),a.memoizedState=s,a.childLanes=Hi(e,r,n),t.memoizedState=Ii,l):(oi(t),e=(n=e.child).sibling,(n=Mr(n,{mode:"visible",children:l.children})).return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Bi(e,t){return(t=Vi({mode:"visible",children:t},e.mode)).return=e,e.child=t}function Vi(e,t){return(e=Dr(22,e,null,t)).lanes=0,e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},e}function Wi(e,t,n){return ni(t,e.child,null,n),(e=Bi(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function qi(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),wl(e.return,t,n)}function Qi(e,t,n,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=l)}function Ki(e,t,n){var r=t.pendingProps,l=r.revealOrder,a=r.tail;if(Ni(e,t,r.children,n),0!==(2&(r=ci.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&qi(e,n,t);else if(19===e.tag)qi(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}switch(H(ci,r),l){case"forwards":for(n=t.child,l=null;null!==n;)null!==(e=n.alternate)&&null===fi(e)&&(l=n),n=n.sibling;null===(n=l)?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),Qi(t,!1,l,n,a);break;case"backwards":for(n=null,l=t.child,t.child=null;null!==l;){if(null!==(e=l.alternate)&&null===fi(e)){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}Qi(t,!0,n,null,a);break;case"together":Qi(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Gi(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),ps|=t.lanes,0===(n&t.childLanes)){if(null===e)return null;if(xl(e,t,n,!1),0===(n&t.childLanes))return null}if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Mr(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Mr(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Yi(e,t){return 0!==(e.lanes&t)||!(null===(e=e.dependencies)||!El(e))}function Xi(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps)_i=!0;else{if(!Yi(e,n)&&0===(128&t.flags))return _i=!1,function(e,t,n){switch(t.tag){case 3:q(t,t.stateNode.containerInfo),bl(0,Ol,e.memoizedState.cache),pl();break;case 27:case 5:K(t);break;case 4:q(t,t.stateNode.containerInfo);break;case 10:bl(0,t.type,t.memoizedProps.value);break;case 13:var r=t.memoizedState;if(null!==r)return null!==r.dehydrated?(oi(t),t.flags|=128,null):0!==(n&t.child.childLanes)?$i(e,t,n):(oi(t),null!==(e=Gi(e,t,n))?e.sibling:null);oi(t);break;case 19:var l=0!==(128&e.flags);if((r=0!==(n&t.childLanes))||(xl(e,t,n,!1),r=0!==(n&t.childLanes)),l){if(r)return Ki(e,t,n);t.flags|=128}if(null!==(l=t.memoizedState)&&(l.rendering=null,l.tail=null,l.lastEffect=null),H(ci,ci.current),r)break;return null;case 22:case 23:return t.lanes=0,Oi(e,t,n);case 24:bl(0,Ol,e.memoizedState.cache)}return Gi(e,t,n)}(e,t,n);_i=0!==(131072&e.flags)}else _i=!1,al&&0!==(1048576&t.flags)&&el(t,Qr,t.index);switch(t.lanes=0,t.tag){case 16:e:{e=t.pendingProps;var r=t.elementType,l=r._init;if(r=l(r._payload),t.type=r,"function"!==typeof r){if(void 0!==r&&null!==r){if((l=r.$$typeof)===S){t.tag=11,t=zi(null,t,r,e,n);break e}if(l===C){t.tag=14,t=Ti(null,t,r,e,n);break e}}throw t=O(r)||r,Error(o(306,t,""))}Fr(r)?(e=gi(r,e),t.tag=1,t=Fi(null,t,r,e,n)):(t.tag=0,t=Ai(null,t,r,e,n))}return t;case 0:return Ai(e,t,t.type,t.pendingProps,n);case 1:return Fi(e,t,r=t.type,l=gi(r,t.pendingProps),n);case 3:e:{if(q(t,t.stateNode.containerInfo),null===e)throw Error(o(387));r=t.pendingProps;var a=t.memoizedState;l=a.element,ra(e,t),ca(t,r,null,n);var i=t.memoizedState;if(r=i.cache,bl(0,Ol,r),r!==a.cache&&Sl(t,[Ol],n,!0),sa(),r=i.element,a.isDehydrated){if(a={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=a,t.memoizedState=a,256&t.flags){t=Mi(e,t,r,n);break e}if(r!==l){ml(l=Er(Error(o(424)),t)),t=Mi(e,t,r,n);break e}if(9===(e=t.stateNode.containerInfo).nodeType)e=e.body;else e="HTML"===e.nodeName?e.ownerDocument.body:e;for(ll=yf(e.firstChild),rl=t,al=!0,ol=null,il=!0,n=ri(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(pl(),r===l){t=Gi(e,t,n);break e}Ni(e,t,r,n)}t=t.child}return t;case 26:return Ri(e,t),null===e?(n=zf(t.type,null,t.pendingProps,null))?t.memoizedState=n:al||(n=t.type,e=t.pendingProps,(r=rf(V.current).createElement(n))[Oe]=t,r[je]=e,ef(r,n,e),We(r),t.stateNode=r):t.memoizedState=zf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return K(t),null===e&&al&&(r=t.stateNode=wf(t.type,t.pendingProps,V.current),rl=t,il=!0,l=ll,hf(t.type)?(bf=l,ll=yf(r.firstChild)):ll=l),Ni(e,t,t.pendingProps.children,n),Ri(e,t),null===e&&(t.flags|=4194304),t.child;case 5:return null===e&&al&&((l=r=ll)&&(null!==(r=function(e,t,n,r){for(;1===e.nodeType;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&("INPUT"!==e.nodeName||"hidden"!==e.type))break}else if(r){if(!e[Ie])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if("stylesheet"===(a=e.getAttribute("rel"))&&e.hasAttribute("data-precedence"))break;if(a!==l.rel||e.getAttribute("href")!==(null==l.href||""===l.href?null:l.href)||e.getAttribute("crossorigin")!==(null==l.crossOrigin?null:l.crossOrigin)||e.getAttribute("title")!==(null==l.title?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(((a=e.getAttribute("src"))!==(null==l.src?null:l.src)||e.getAttribute("type")!==(null==l.type?null:l.type)||e.getAttribute("crossorigin")!==(null==l.crossOrigin?null:l.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else{if("input"!==t||"hidden"!==e.type)return e;var a=null==l.name?null:""+l.name;if("hidden"===l.type&&e.getAttribute("name")===a)return e}if(null===(e=yf(e.nextSibling)))break}return null}(r,t.type,t.pendingProps,il))?(t.stateNode=r,rl=t,ll=yf(r.firstChild),il=!1,l=!0):l=!1),l||sl(t)),K(t),l=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,r=a.children,of(l,a)?r=null:null!==i&&of(l,i)&&(t.flags|=32),null!==t.memoizedState&&(l=La(e,t,Ra,null,null,n),Gf._currentValue=l),Ri(e,t),Ni(e,t,r,n),t.child;case 6:return null===e&&al&&((e=n=ll)&&(null!==(n=function(e,t,n){if(""===t)return null;for(;3!==e.nodeType;){if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!n)return null;if(null===(e=yf(e.nextSibling)))return null}return e}(n,t.pendingProps,il))?(t.stateNode=n,rl=t,ll=null,e=!0):e=!1),e||sl(t)),null;case 13:return $i(e,t,n);case 4:return q(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=ni(t,null,r,n):Ni(e,t,r,n),t.child;case 11:return zi(e,t,t.type,t.pendingProps,n);case 7:return Ni(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ni(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,bl(0,t.type,r.value),Ni(e,t,r.children,n),t.child;case 9:return l=t.type._context,r=t.pendingProps.children,Cl(t),r=r(l=Pl(l)),t.flags|=1,Ni(e,t,r,n),t.child;case 14:return Ti(e,t,t.type,t.pendingProps,n);case 15:return Li(e,t,t.type,t.pendingProps,n);case 19:return Ki(e,t,n);case 31:return r=t.pendingProps,n=t.mode,r={mode:r.mode,children:r.children},null===e?((n=Vi(r,n)).ref=t.ref,t.child=n,n.return=t,t=n):((n=Mr(e.child,r)).ref=t.ref,t.child=n,n.return=t,t=n),t;case 22:return Oi(e,t,n);case 24:return Cl(t),r=Pl(Ol),null===e?(null===(l=$l())&&(l=rs,a=jl(),l.pooledCache=a,a.refCount++,null!==a&&(l.pooledCacheLanes|=n),l=a),t.memoizedState={parent:r,cache:l},na(t),bl(0,Ol,l)):(0!==(e.lanes&n)&&(ra(e,t),ca(t,null,null,n),sa()),l=e.memoizedState,a=t.memoizedState,l.parent!==r?(l={parent:r,cache:r},t.memoizedState=l,0===t.lanes&&(t.memoizedState=t.updateQueue.baseState=l),bl(0,Ol,r)):(r=a.cache,bl(0,Ol,r),r!==l.cache&&Sl(t,[Ol],n,!0))),Ni(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function Ji(e){e.flags|=4}function Zi(e,t){if("stylesheet"!==t.type||0!==(4&t.state.loading))e.flags&=-16777217;else if(e.flags|=16777216,!$f(t)){if(null!==(t=li.current)&&((4194048&as)===as?null!==ai:(62914560&as)!==as&&0===(536870912&as)||t!==ai))throw Jl=Kl,ql;e.flags|=8192}}function eu(e,t){null!==t&&(e.flags|=4),16384&e.flags&&(t=22!==e.tag?xe():536870912,e.lanes|=t,vs|=t)}function tu(e,t){if(!al)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function nu(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;null!==l;)n|=l.lanes|l.childLanes,r|=65011712&l.subtreeFlags,r|=65011712&l.flags,l.return=e,l=l.sibling;else for(l=e.child;null!==l;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function ru(e,t,n){var r=t.pendingProps;switch(nl(t),t.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 1:return nu(t),null;case 3:return n=t.stateNode,r=null,null!==e&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),kl(Ol),Q(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(dl(t)?Ji(t):null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,hl())),nu(t),null;case 26:return n=t.memoizedState,null===e?(Ji(t),null!==n?(nu(t),Zi(t,n)):(nu(t),t.flags&=-16777217)):n?n!==e.memoizedState?(Ji(t),nu(t),Zi(t,n)):(nu(t),t.flags&=-16777217):(e.memoizedProps!==r&&Ji(t),nu(t),t.flags&=-16777217),null;case 27:G(t),n=V.current;var l=t.type;if(null!==e&&null!=t.stateNode)e.memoizedProps!==r&&Ji(t);else{if(!r){if(null===t.stateNode)throw Error(o(166));return nu(t),null}e=$.current,dl(t)?cl(t):(e=wf(l,r,n),t.stateNode=e,Ji(t))}return nu(t),null;case 5:if(G(t),n=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==r&&Ji(t);else{if(!r){if(null===t.stateNode)throw Error(o(166));return nu(t),null}if(e=$.current,dl(t))cl(t);else{switch(l=rf(V.current),e){case 1:e=l.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:e=l.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":e=l.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":e=l.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":(e=l.createElement("div")).innerHTML="