khoj 2.0.0b8.dev3__py3-none-any.whl → 2.0.0b9.dev7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. khoj/database/adapters/__init__.py +3 -2
  2. khoj/database/models/__init__.py +28 -0
  3. khoj/interface/compiled/404/index.html +1 -1
  4. khoj/interface/compiled/_next/static/chunks/5477-c4209b72942d3038.js +1 -0
  5. khoj/interface/compiled/_next/static/chunks/9139-ce1ae935dac9c871.js +1 -0
  6. khoj/interface/compiled/_next/static/chunks/app/agents/layout-4e2a134ec26aa606.js +1 -0
  7. khoj/interface/compiled/_next/static/chunks/app/chat/layout-d6acbba22ccac0ff.js +1 -0
  8. khoj/interface/compiled/_next/static/chunks/app/chat/page-4408125f66c165cf.js +1 -0
  9. khoj/interface/compiled/_next/static/chunks/app/search/layout-484d34239ed0f2b1.js +1 -0
  10. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-b3f7ae1ef8871d30.js +1 -0
  11. khoj/interface/compiled/_next/static/css/1e9b757ee2a2b34b.css +1 -0
  12. khoj/interface/compiled/agents/index.html +2 -2
  13. khoj/interface/compiled/agents/index.txt +1 -1
  14. khoj/interface/compiled/automations/index.html +2 -2
  15. khoj/interface/compiled/automations/index.txt +1 -1
  16. khoj/interface/compiled/chat/index.html +2 -2
  17. khoj/interface/compiled/chat/index.txt +2 -2
  18. khoj/interface/compiled/index.html +2 -2
  19. khoj/interface/compiled/index.txt +2 -2
  20. khoj/interface/compiled/search/index.html +2 -2
  21. khoj/interface/compiled/search/index.txt +1 -1
  22. khoj/interface/compiled/settings/index.html +2 -2
  23. khoj/interface/compiled/settings/index.txt +1 -1
  24. khoj/interface/compiled/share/chat/index.html +2 -2
  25. khoj/interface/compiled/share/chat/index.txt +2 -2
  26. khoj/main.py +11 -1
  27. khoj/processor/conversation/utils.py +6 -6
  28. khoj/processor/operator/__init__.py +16 -1
  29. khoj/routers/api_chat.py +822 -682
  30. khoj/routers/helpers.py +101 -2
  31. khoj/routers/research.py +26 -1
  32. khoj/utils/rawconfig.py +0 -1
  33. {khoj-2.0.0b8.dev3.dist-info → khoj-2.0.0b9.dev7.dist-info}/METADATA +1 -1
  34. {khoj-2.0.0b8.dev3.dist-info → khoj-2.0.0b9.dev7.dist-info}/RECORD +39 -39
  35. khoj/interface/compiled/_next/static/chunks/5477-18323501c445315e.js +0 -1
  36. khoj/interface/compiled/_next/static/chunks/9568-0d60ac475f4cc538.js +0 -1
  37. khoj/interface/compiled/_next/static/chunks/app/agents/layout-e49165209d2e406c.js +0 -1
  38. khoj/interface/compiled/_next/static/chunks/app/chat/layout-d5ae861e1ade9d08.js +0 -1
  39. khoj/interface/compiled/_next/static/chunks/app/chat/page-b371304895e54627.js +0 -1
  40. khoj/interface/compiled/_next/static/chunks/app/search/layout-f5881c7ae3ba0795.js +0 -1
  41. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-64a53f8ec4afa6b3.js +0 -1
  42. khoj/interface/compiled/_next/static/css/fbacbdfd5e7f3f0e.css +0 -1
  43. /khoj/interface/compiled/_next/static/{RrD-yExRLXeXG-f3lGWYq → j6hqMrHT_uO81BNrhFQkJ}/_buildManifest.js +0 -0
  44. /khoj/interface/compiled/_next/static/{RrD-yExRLXeXG-f3lGWYq → j6hqMrHT_uO81BNrhFQkJ}/_ssgManifest.js +0 -0
  45. {khoj-2.0.0b8.dev3.dist-info → khoj-2.0.0b9.dev7.dist-info}/WHEEL +0 -0
  46. {khoj-2.0.0b8.dev3.dist-info → khoj-2.0.0b9.dev7.dist-info}/entry_points.txt +0 -0
  47. {khoj-2.0.0b8.dev3.dist-info → khoj-2.0.0b9.dev7.dist-info}/licenses/LICENSE +0 -0
khoj/routers/helpers.py CHANGED
@@ -33,7 +33,7 @@ from apscheduler.job import Job
33
33
  from apscheduler.triggers.cron import CronTrigger
34
34
  from asgiref.sync import sync_to_async
35
35
  from django.utils import timezone as django_timezone
36
- from fastapi import Depends, Header, HTTPException, Request, UploadFile
36
+ from fastapi import Depends, Header, HTTPException, Request, UploadFile, WebSocket
37
37
  from pydantic import BaseModel, EmailStr, Field
38
38
  from starlette.authentication import has_required_scope
39
39
  from starlette.requests import URL
@@ -1936,6 +1936,53 @@ class ApiUserRateLimiter:
1936
1936
  # Add the current request to the cache
1937
1937
  UserRequests.objects.create(user=user, slug=self.slug)
1938
1938
 
1939
+ def check_websocket(self, websocket: WebSocket):
1940
+ """WebSocket-specific rate limiting method"""
1941
+ # Rate limiting disabled if billing is disabled
1942
+ if state.billing_enabled is False:
1943
+ return
1944
+
1945
+ # Rate limiting is disabled if user unauthenticated.
1946
+ if not websocket.scope.get("user") or not websocket.scope["user"].is_authenticated:
1947
+ return
1948
+
1949
+ user: KhojUser = websocket.scope["user"].object
1950
+ subscribed = has_required_scope(websocket, ["premium"])
1951
+
1952
+ # Remove requests outside of the time window
1953
+ cutoff = django_timezone.now() - timedelta(seconds=self.window)
1954
+ count_requests = UserRequests.objects.filter(user=user, created_at__gte=cutoff, slug=self.slug).count()
1955
+
1956
+ # Check if the user has exceeded the rate limit
1957
+ if subscribed and count_requests >= self.subscribed_requests:
1958
+ logger.info(
1959
+ f"Rate limit: {count_requests}/{self.subscribed_requests} requests not allowed in {self.window} seconds for subscribed user: {user}."
1960
+ )
1961
+ raise HTTPException(
1962
+ status_code=429,
1963
+ detail="I'm glad you're enjoying interacting with me! You've unfortunately exceeded your usage limit for today. But let's chat more tomorrow?",
1964
+ )
1965
+ if not subscribed and count_requests >= self.requests:
1966
+ if self.requests >= self.subscribed_requests:
1967
+ logger.info(
1968
+ f"Rate limit: {count_requests}/{self.subscribed_requests} requests not allowed in {self.window} seconds for user: {user}."
1969
+ )
1970
+ raise HTTPException(
1971
+ status_code=429,
1972
+ detail="I'm glad you're enjoying interacting with me! You've unfortunately exceeded your usage limit for today. But let's chat more tomorrow?",
1973
+ )
1974
+
1975
+ logger.info(
1976
+ f"Rate limit: {count_requests}/{self.requests} requests not allowed in {self.window} seconds for user: {user}."
1977
+ )
1978
+ raise HTTPException(
1979
+ status_code=429,
1980
+ detail="I'm glad you're enjoying interacting with me! You've unfortunately exceeded your usage limit for today. You can subscribe to increase your usage limit via [your settings](https://app.khoj.dev/settings) or we can continue our conversation tomorrow?",
1981
+ )
1982
+
1983
+ # Add the current request to the cache
1984
+ UserRequests.objects.create(user=user, slug=self.slug)
1985
+
1939
1986
 
1940
1987
  class ApiImageRateLimiter:
1941
1988
  def __init__(self, max_images: int = 10, max_combined_size_mb: float = 10):
@@ -1983,6 +2030,47 @@ class ApiImageRateLimiter:
1983
2030
  detail=f"Those images are way too large for me! I can handle up to {self.max_combined_size_mb}MB of images per message.",
1984
2031
  )
1985
2032
 
2033
+ def check_websocket(self, websocket: WebSocket, body: ChatRequestBody):
2034
+ """WebSocket-specific image rate limiting method"""
2035
+ if state.billing_enabled is False:
2036
+ return
2037
+
2038
+ # Rate limiting is disabled if user unauthenticated.
2039
+ if not websocket.scope.get("user") or not websocket.scope["user"].is_authenticated:
2040
+ return
2041
+
2042
+ if not body.images:
2043
+ return
2044
+
2045
+ # Check number of images
2046
+ if len(body.images) > self.max_images:
2047
+ logger.info(f"Rate limit: {len(body.images)}/{self.max_images} images not allowed per message.")
2048
+ raise HTTPException(
2049
+ status_code=429,
2050
+ detail=f"Those are way too many images for me! I can handle up to {self.max_images} images per message.",
2051
+ )
2052
+
2053
+ # Check total size of images
2054
+ total_size_mb = 0.0
2055
+ for image in body.images:
2056
+ # Unquote the image in case it's URL encoded
2057
+ image = unquote(image)
2058
+ # Assuming the image is a base64 encoded string
2059
+ # Remove the data:image/jpeg;base64, part if present
2060
+ if "," in image:
2061
+ image = image.split(",", 1)[1]
2062
+
2063
+ # Decode base64 to get the actual size
2064
+ image_bytes = base64.b64decode(image)
2065
+ total_size_mb += len(image_bytes) / (1024 * 1024) # Convert bytes to MB
2066
+
2067
+ if total_size_mb > self.max_combined_size_mb:
2068
+ logger.info(f"Data limit: {total_size_mb}MB/{self.max_combined_size_mb}MB size not allowed per message.")
2069
+ raise HTTPException(
2070
+ status_code=429,
2071
+ detail=f"Those images are way too large for me! I can handle up to {self.max_combined_size_mb}MB of images per message.",
2072
+ )
2073
+
1986
2074
 
1987
2075
  class ConversationCommandRateLimiter:
1988
2076
  def __init__(self, trial_rate_limit: int, subscribed_rate_limit: int, slug: str):
@@ -1991,7 +2079,7 @@ class ConversationCommandRateLimiter:
1991
2079
  self.subscribed_rate_limit = subscribed_rate_limit
1992
2080
  self.restricted_commands = [ConversationCommand.Research]
1993
2081
 
1994
- async def update_and_check_if_valid(self, request: Request, conversation_command: ConversationCommand):
2082
+ async def update_and_check_if_valid(self, request: Request | WebSocket, conversation_command: ConversationCommand):
1995
2083
  if state.billing_enabled is False:
1996
2084
  return
1997
2085
 
@@ -2512,6 +2600,17 @@ async def read_chat_stream(response_iterator: AsyncGenerator[str, None]) -> Dict
2512
2600
  }
2513
2601
 
2514
2602
 
2603
+ def get_message_from_queue(queue: asyncio.Queue) -> Optional[str]:
2604
+ """Get any message in queue if available."""
2605
+ if not queue:
2606
+ return None
2607
+ try:
2608
+ # Non-blocking check for message in the queue
2609
+ return queue.get_nowait()
2610
+ except asyncio.QueueEmpty:
2611
+ return None
2612
+
2613
+
2515
2614
  def get_user_config(user: KhojUser, request: Request, is_detailed: bool = False):
2516
2615
  user_picture = request.session.get("user", {}).get("picture")
2517
2616
  is_active = has_required_scope(request, ["premium"])
khoj/routers/research.py CHANGED
@@ -15,6 +15,7 @@ from khoj.processor.conversation.utils import (
15
15
  ResearchIteration,
16
16
  ToolCall,
17
17
  construct_iteration_history,
18
+ construct_structured_message,
18
19
  construct_tool_chat_history,
19
20
  load_complex_json,
20
21
  )
@@ -24,6 +25,7 @@ from khoj.processor.tools.run_code import run_code
24
25
  from khoj.routers.helpers import (
25
26
  ChatEvent,
26
27
  generate_summary_from_files,
28
+ get_message_from_queue,
27
29
  grep_files,
28
30
  list_files,
29
31
  search_documents,
@@ -74,7 +76,7 @@ async def apick_next_tool(
74
76
  ):
75
77
  previous_iteration = previous_iterations[-1]
76
78
  yield ResearchIteration(
77
- query=query,
79
+ query=ToolCall(name=previous_iteration.query.name, args={"query": query}, id=previous_iteration.query.id), # type: ignore
78
80
  context=previous_iteration.context,
79
81
  onlineContext=previous_iteration.onlineContext,
80
82
  codeContext=previous_iteration.codeContext,
@@ -221,6 +223,8 @@ async def research(
221
223
  tracer: dict = {},
222
224
  query_files: str = None,
223
225
  cancellation_event: Optional[asyncio.Event] = None,
226
+ interrupt_queue: Optional[asyncio.Queue] = None,
227
+ abort_message: str = "␃🔚␗",
224
228
  ):
225
229
  max_document_searches = 7
226
230
  max_online_searches = 3
@@ -241,6 +245,26 @@ async def research(
241
245
  logger.debug(f"Research cancelled. User {user} disconnected client.")
242
246
  break
243
247
 
248
+ # Update the query for the current research iteration
249
+ if interrupt_query := get_message_from_queue(interrupt_queue):
250
+ if interrupt_query == abort_message:
251
+ cancellation_event.set()
252
+ logger.debug(f"Research cancelled by user {user} via interrupt queue.")
253
+ break
254
+ # Add the interrupt query as a new user message to the research conversation history
255
+ logger.info(
256
+ f"Continuing research with the previous {len(previous_iterations)} iterations and new instruction: {interrupt_query}"
257
+ )
258
+ previous_iterations_history = construct_iteration_history(
259
+ previous_iterations, query, query_images, query_files
260
+ )
261
+ research_conversation_history += previous_iterations_history
262
+ query = interrupt_query
263
+ previous_iterations = []
264
+
265
+ async for result in send_status_func(f"**Incorporate New Instruction**: {interrupt_query}"):
266
+ yield result
267
+
244
268
  online_results: Dict = dict()
245
269
  code_results: Dict = dict()
246
270
  document_results: List[Dict[str, str]] = []
@@ -428,6 +452,7 @@ async def research(
428
452
  agent=agent,
429
453
  query_files=query_files,
430
454
  cancellation_event=cancellation_event,
455
+ interrupt_queue=interrupt_queue,
431
456
  tracer=tracer,
432
457
  ):
433
458
  if isinstance(result, dict) and ChatEvent.STATUS in result:
khoj/utils/rawconfig.py CHANGED
@@ -168,7 +168,6 @@ class ChatRequestBody(BaseModel):
168
168
  images: Optional[list[str]] = None
169
169
  files: Optional[list[FileAttachment]] = []
170
170
  create_new: Optional[bool] = False
171
- interrupt: Optional[bool] = False
172
171
 
173
172
 
174
173
  class Entry:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: khoj
3
- Version: 2.0.0b8.dev3
3
+ Version: 2.0.0b9.dev7
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -1,6 +1,6 @@
1
1
  khoj/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  khoj/configure.py,sha256=Z3c3cE4-pqZ5eqGA8lRqcpNlDRby4cjtcFYVD2RD4i8,18994
3
- khoj/main.py,sha256=IGqt13JZoGLWYsSWM8bv-ChJSEFJwpN1zL5bX3GhIOo,8638
3
+ khoj/main.py,sha256=1Ev5jWhfZRr1rOXtUMaCSmzt-dp_VIOIcYXT9aAzTA8,8855
4
4
  khoj/manage.py,sha256=njo6uLxGaMamTPesHjFEOIBJbpIUrz39e1V59zKj544,664
5
5
  khoj/app/README.md,sha256=PSQjKCdpU2hgszLVF8yEhV7TWhbEEb-1aYLTRuuAsKI,2832
6
6
  khoj/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -11,7 +11,7 @@ khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  khoj/database/admin.py,sha256=CfIAnwxV_HfbnhyjVqk9wtrz8hHnStFu-7ap82x6lYU,13256
12
12
  khoj/database/apps.py,sha256=pM4tkX5Odw4YW_hLLKK8Nd5kqGddf1en0oMCea44RZw,153
13
13
  khoj/database/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
14
- khoj/database/adapters/__init__.py,sha256=b1PZyRqnlJrVqaB98ChsiW7ajrFoJXpE4rEZ5BoXNt8,83018
14
+ khoj/database/adapters/__init__.py,sha256=vayHgJl5Lj403gVs6YS4nMPK_X6hOimM6YN9qkTmiXM,83112
15
15
  khoj/database/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  khoj/database/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  khoj/database/management/commands/change_default_model.py,sha256=6QXJttG58gpU7vZApQEeEPVNAuhjU2xa6_BwJsfz320,4877
@@ -124,24 +124,22 @@ khoj/database/migrations/0089_chatmodel_price_tier_and_more.py,sha256=EJ1Yf6MMzh
124
124
  khoj/database/migrations/0090_alter_khojuser_uuid.py,sha256=2h9v-DiuqFuZKpAyWYwueqZkBHvxZbm-_guRjNaZzxg,3802
125
125
  khoj/database/migrations/0091_chatmodel_friendly_name_and_more.py,sha256=e-2DQhyW9kMxMg7ItGSyCKE5GQFI0ZSuyfD8CdfVa0k,1758
126
126
  khoj/database/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
- khoj/database/models/__init__.py,sha256=1LyF9X3vSGrlowBM4fT312OzLwjcux1igFzXlwNQq98,31816
127
+ khoj/database/models/__init__.py,sha256=GPdyWFq8YoHsjj-GJaR4QPvh7W9E2lWrJQe8YpXJyPk,33145
128
128
  khoj/interface/compiled/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
129
129
  khoj/interface/compiled/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
130
130
  khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
131
131
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
132
132
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
133
133
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
134
- khoj/interface/compiled/index.html,sha256=Q95tqLUn3aHys1xjGkM6OUDxcNgY22FdjNjq5Iu0B6k,53660
135
- khoj/interface/compiled/index.txt,sha256=Sh4YotwiG1kKDNTPNtEUCt8Ur-pcCvw_-mMd2QTC3to,7880
134
+ khoj/interface/compiled/index.html,sha256=JLYbRdp3JO4aJV5gxj7g3bF02W9O3iqZxiJJlZIPMj0,53660
135
+ khoj/interface/compiled/index.txt,sha256=JUYz58usCdCyGWPvmwGqyfn2os4RbwaIgENASnDSDBY,7880
136
136
  khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
137
137
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
138
138
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
139
139
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
140
140
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
141
141
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
142
- khoj/interface/compiled/404/index.html,sha256=EO1bL5VywGZZURuh7Yxx6ZspC37_-A6wBmxZeQwqGfg,17407
143
- khoj/interface/compiled/_next/static/RrD-yExRLXeXG-f3lGWYq/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
144
- khoj/interface/compiled/_next/static/RrD-yExRLXeXG-f3lGWYq/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
142
+ khoj/interface/compiled/404/index.html,sha256=OH1_vwUay55fnoUcEPp39yhjOeslQ0gOIMT6qwhE-9E,17407
145
143
  khoj/interface/compiled/_next/static/chunks/1191.b547ec13349b4aed.js,sha256=3qtdOft2SSaGT0qhyPunEraJEZUxIqDV4q3ULnFantg,10913
146
144
  khoj/interface/compiled/_next/static/chunks/1327-3b1a41af530fa8ee.js,sha256=7NmSOycXRGHpTN98sMAirnWN8ZUL971FsQpWmOs4Fxs,442974
147
145
  khoj/interface/compiled/_next/static/chunks/1588.f0558a0bdffc4761.js,sha256=ZSpLe7ui7FG7AvK00JHPg1YjYz8R9l1Obzu1mYHpzjo,89845
@@ -170,7 +168,7 @@ khoj/interface/compiled/_next/static/chunks/5210.cd35a1c1ec594a20.js,sha256=sz7i
170
168
  khoj/interface/compiled/_next/static/chunks/5303-c65c9c6aeb263a0d.js,sha256=M3E1iLGUW0xbsmV6JMVQBNFlptBYWK8fhfYQattqRXw,143857
171
169
  khoj/interface/compiled/_next/static/chunks/5329.f8b3c5b3d16159cd.js,sha256=452Bf2U_iLUeM0vZce-s1k75k_osL4kVm7uG72xPER8,418
172
170
  khoj/interface/compiled/_next/static/chunks/5427-13d6ffd380fdfab7.js,sha256=gGx3O30h-Rb3MDqcMeD3wmOZnauuOIkz4Cv-NnVEjIE,32619
173
- khoj/interface/compiled/_next/static/chunks/5477-18323501c445315e.js,sha256=LFubirJCnLYJ0yoo6pEx1P42_jRjj1JsZX4akdVmjew,14599
171
+ khoj/interface/compiled/_next/static/chunks/5477-c4209b72942d3038.js,sha256=LkXuXSSFpmu1ZZUR2ZdV9b6aFHQUb4krBJjf5aeUI0k,14624
174
172
  khoj/interface/compiled/_next/static/chunks/558-c14e76cff03f6a60.js,sha256=8fgZkhFBwG3NfWM3P65XkA7ffRg3vDEhwjyiWLiXMBg,87244
175
173
  khoj/interface/compiled/_next/static/chunks/5639-09e2009a2adedf8b.js,sha256=GCw1uURL3cSixZZf0mf_4rRpTj0-law3ww4MBk9OC78,1635449
176
174
  khoj/interface/compiled/_next/static/chunks/5830.8876eccb82da9b7d.js,sha256=JRJTpsXUOOcNum5Vx6qd0mAGcts6WLOiLpLkPHK5QHQ,42176
@@ -192,6 +190,7 @@ khoj/interface/compiled/_next/static/chunks/8888.ebe0e552b59e7fed.js,sha256=c5ic
192
190
  khoj/interface/compiled/_next/static/chunks/8890.6e8a59e4de6978bc.js,sha256=UgHpyhvA3s1knHgPf3oPgvJ6bqStNOv-6uhQUHBtOGE,36317
193
191
  khoj/interface/compiled/_next/static/chunks/8950.5f2272e0ac923f9e.js,sha256=pxyd8W7Yv79gp8mslLSR_We6gpJOc-JoNkRbM7rgZ94,412
194
192
  khoj/interface/compiled/_next/static/chunks/90542734.2c21f16f18b22411.js,sha256=mFFt4YDMnvCB84YuPgH0V6wX9UvHwoztnhHgL6cad-g,426479
193
+ khoj/interface/compiled/_next/static/chunks/9139-ce1ae935dac9c871.js,sha256=uwVs14McY01hs1lkHG2t8Z_z2EC11NConM1NJPuMXbc,48934
195
194
  khoj/interface/compiled/_next/static/chunks/9202.c703864fcedc8d1f.js,sha256=q728YuRC6vTO64ARqaguEZH6Udhdu6IU3rDGmfdtN6I,24367
196
195
  khoj/interface/compiled/_next/static/chunks/9245.a04e92d034540234.js,sha256=NH1VEr8vi6CkKDFpPgGimz2jfNwpoE4AUFQ86SKmRwg,145680
197
196
  khoj/interface/compiled/_next/static/chunks/9320.6aca4885d541aa44.js,sha256=mMJG3Ncy8a0GVDZPNPan_vWjjYTrr6R8PRFHo1MAXBI,4207
@@ -199,7 +198,6 @@ khoj/interface/compiled/_next/static/chunks/945-74376499b067d28e.js,sha256=e_lXz
199
198
  khoj/interface/compiled/_next/static/chunks/94ca1967.1b3402358e0e1255.js,sha256=WJXEIy24FD6PNQePg-uahendJMNc03GgnVveitFeshI,1174524
200
199
  khoj/interface/compiled/_next/static/chunks/9535.f78cd92d03331e55.js,sha256=nr2CB4ZZ2hZInusLxQMZGBad68a-3Imn3UDSwAe-WKs,178
201
200
  khoj/interface/compiled/_next/static/chunks/9537-d9ab442ce15d1e20.js,sha256=vMeeHKfwjLAljpwwlIoNfgwDsm8gZyqLA5PnStKIWPU,42469
202
- khoj/interface/compiled/_next/static/chunks/9568-0d60ac475f4cc538.js,sha256=j2gSoGMavadS0jshP5omkzr1K_FwQFclrzXhLOUETFc,26845
203
201
  khoj/interface/compiled/_next/static/chunks/964ecbae.d5be7c49c320d695.js,sha256=Dp7-5a_bYiET4lBiy1sTrb1cQnE3_TC0f1EQCD2Coko,1175124
204
202
  khoj/interface/compiled/_next/static/chunks/9968.b111fc002796da81.js,sha256=uaKF_VIHPSnjwK6NPXwWaolJo_1d-E43rADivNbk4RA,180
205
203
  khoj/interface/compiled/_next/static/chunks/d3ac728e-4c56e7f41db266b7.js,sha256=KH2S98yagVOcqDG836x8mxIFFjrq11AdYodjBurPvmg,268514
@@ -213,20 +211,21 @@ khoj/interface/compiled/_next/static/chunks/webpack-c375c47fee5a4dda.js,sha256=k
213
211
  khoj/interface/compiled/_next/static/chunks/app/layout-c2de87a25fededbb.js,sha256=jcU3C37p73V24B118uVRQffNaQES9jihsTGYF4fZ_8o,3949
214
212
  khoj/interface/compiled/_next/static/chunks/app/page-85b9b416898738f7.js,sha256=nmB2Y8B2kX88X2yiH6Un8L0REBEn3Ar2iOoe3TK7dJw,29935
215
213
  khoj/interface/compiled/_next/static/chunks/app/_not-found/page-84f94d15b2da4eac.js,sha256=zElhiTkdu2JqrEvJ8Lrxh4HCyfLmPllBHHWOuDtrVlw,1755
216
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-e49165209d2e406c.js,sha256=WFG6nsdtjnYHsKazIx5-xBXemVzEKXfW_U6Q9dnc7CU,180
214
+ khoj/interface/compiled/_next/static/chunks/app/agents/layout-4e2a134ec26aa606.js,sha256=B3HJ6CKzJccEIOk54Erl1FtKUxGJq2p-ch932X1vjwE,180
217
215
  khoj/interface/compiled/_next/static/chunks/app/agents/page-0006674668eb5a4d.js,sha256=JZZS6jOjzfVYE6E76Fl0iou8Jc_1T_-PzPh6rCAYOjY,17488
218
216
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-63603d2cb33279f7.js,sha256=4OX_fcTQdNVs6HxDdJVWdadMVC_gM86Tkqo2TjBA4gw,5143
219
217
  khoj/interface/compiled/_next/static/chunks/app/automations/page-4c465cde2d14cb52.js,sha256=X--w9ZCke8H6d-oGLF97ihEA3E5_lIusQlwDeb80CMI,34834
220
- khoj/interface/compiled/_next/static/chunks/app/chat/layout-d5ae861e1ade9d08.js,sha256=oe6TgLOEOch5Nr3Z-DEdMIp3MD5vd0rH7dTp-mdEXYg,180
221
- khoj/interface/compiled/_next/static/chunks/app/chat/page-b371304895e54627.js,sha256=GI-TI0zUbkP-tp1XHqGJRNpFnIjWSsowBBh8d4_ZUpo,29355
222
- khoj/interface/compiled/_next/static/chunks/app/search/layout-f5881c7ae3ba0795.js,sha256=Bm4Y73ylR-j9_LdKXVUjgLppZJ6JRdLTUgYAsZCOBkQ,180
218
+ khoj/interface/compiled/_next/static/chunks/app/chat/layout-d6acbba22ccac0ff.js,sha256=mqE48lzQOL2jdwqhCf_GMnt6gEt2nX8VxbwF4WFD2TI,180
219
+ khoj/interface/compiled/_next/static/chunks/app/chat/page-4408125f66c165cf.js,sha256=M6okICNevJb7092Qs0BYvG6KcNX5xKXtaIZ_DwR5hIA,29313
220
+ khoj/interface/compiled/_next/static/chunks/app/search/layout-484d34239ed0f2b1.js,sha256=L7gJxQXczJP6c7e8t24p_RirmegDRuyJRiGQg364TM4,180
223
221
  khoj/interface/compiled/_next/static/chunks/app/search/page-883b7d8d2e3abe3e.js,sha256=GCSw4fBzRPRnj9YKz1lwEpVbwwOfWmp8p3n-jDeTGGk,30929
224
222
  khoj/interface/compiled/_next/static/chunks/app/settings/layout-f88cedfe9ad4df7c.js,sha256=aFBEgUCsKnoeyULmh7g-DmaznQ0ztcq6y2pj4bSMCIY,6132
225
223
  khoj/interface/compiled/_next/static/chunks/app/settings/page-95e994ddac31473f.js,sha256=bUMhd4ALsGVOaMrH-n0wxsDNtAmaZvMaQbK_K9C-Osk,27897
226
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-64a53f8ec4afa6b3.js,sha256=vSWDZtrfHaKt9-zHQXCliMs5g3Ivwli2qaH83lo6x_4,180
224
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-b3f7ae1ef8871d30.js,sha256=JsEyiIoEsN1WLgEjun_x908uUc85ve2k3cNY4YF2yyw,180
227
225
  khoj/interface/compiled/_next/static/chunks/app/share/chat/page-c062269e6906ef22.js,sha256=LPSBHopvAhYz9BXWDq0H8Tw927QYMQQNQ9NSPV3dZ64,5568
228
226
  khoj/interface/compiled/_next/static/chunks/pages/_app-3c9ca398d360b709.js,sha256=UqtikLsCsOWtDUJOW6Tuk9P-bV1V3MhYd3ghrQuEmfs,286
229
227
  khoj/interface/compiled/_next/static/chunks/pages/_error-cf5ca766ac8f493f.js,sha256=w_It3VzKT8O1M3CrJ_hZHsaU7M7dq3EAaVG8KvJ-fhU,253
228
+ khoj/interface/compiled/_next/static/css/1e9b757ee2a2b34b.css,sha256=9TB4U1wbKtOA-SphUhahi-6WeepK7lOWRKvX3bJW2C0,6795
230
229
  khoj/interface/compiled/_next/static/css/3090706713c12a32.css,sha256=lHBNcr2SPiAMdZQONh2MMlVM_huteuNSM9jCqGkS2d0,3075782
231
230
  khoj/interface/compiled/_next/static/css/5b28ced915454767.css,sha256=Bk56AIRHovIWNUw8QWvMbXIxxPiyWEiObkMA7RwpMrs,4842
232
231
  khoj/interface/compiled/_next/static/css/76c658ee459140a9.css,sha256=7tI24VB66ZUsAPUxRdQhboopun0AXLUnF64uv9RkC08,1833
@@ -235,7 +234,8 @@ khoj/interface/compiled/_next/static/css/a0c2fd63bb396f04.css,sha256=8q0xBA3l7uP
235
234
  khoj/interface/compiled/_next/static/css/db7d90554f3ab82b.css,sha256=A3ZAf0StEG3sr_LxAIizczSTYRe1NbtNUpfslvmkqgk,17713
236
235
  khoj/interface/compiled/_next/static/css/ea5485b3f3859a5a.css,sha256=tn6qi2xSLTWhtzDUE8UlC8iipH9QGV6A9oGj1ap-Sk4,1659
237
236
  khoj/interface/compiled/_next/static/css/ee66643a6a5bf71c.css,sha256=3JbJLrnwlX_IHdvjmS3l9y3Vgp5_V0XbfFI44ekLh9E,3106
238
- khoj/interface/compiled/_next/static/css/fbacbdfd5e7f3f0e.css,sha256=83EGhzX5xQHd-qC-hAcrRUaUAHJJBowDdzi-7Lp81v8,6795
237
+ khoj/interface/compiled/_next/static/j6hqMrHT_uO81BNrhFQkJ/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
238
+ khoj/interface/compiled/_next/static/j6hqMrHT_uO81BNrhFQkJ/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
239
239
  khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
240
240
  khoj/interface/compiled/_next/static/media/2aa11a72f7f24b58-s.woff2,sha256=QjuuSKmViymmy-itXLB1UbSARxFNHWuMiPpCrYqClFI,22728
241
241
  khoj/interface/compiled/_next/static/media/383a65b63658737d-s.woff2,sha256=VH1XkI87HdFVhsurH5D5ekEjG_ZORTVBVg6xz7p87C8,16704
@@ -313,8 +313,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
313
313
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
314
314
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
315
315
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
316
- khoj/interface/compiled/agents/index.html,sha256=GLpg55Y7XXYbdzvJ0UMaz1ecQhmFqYcRppgYIOEJubE,16842
317
- khoj/interface/compiled/agents/index.txt,sha256=hDFr6_EBIqxUGO4eWml1RpSRfUixOG_6YF3XR3lvGwA,7484
316
+ khoj/interface/compiled/agents/index.html,sha256=tNdCQgA-SiCvpAFXV4fKOtC0tDdiTFO7zrAMUSnWMGA,16842
317
+ khoj/interface/compiled/agents/index.txt,sha256=cNSKn87l4eF05y9Cn8Q8K0wLPL8pI1exMT0b-huaP1g,7484
318
318
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
319
319
  khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
320
320
  khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
@@ -329,16 +329,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
329
329
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
330
330
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
331
331
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
332
- khoj/interface/compiled/automations/index.html,sha256=b0J3p8-sqmqPJEfJKICKyzQx3uAHYnWREYaPenvsnec,54712
333
- khoj/interface/compiled/automations/index.txt,sha256=IcqNPdgaQh83lbd5Of0Dd0G1hPwzQ6kkD4dhIVVVYbI,7713
334
- khoj/interface/compiled/chat/index.html,sha256=uKprq9pwT9EojFJIkgqSTx6uMKWEU2Rf_YmMMe7eo04,53842
335
- khoj/interface/compiled/chat/index.txt,sha256=Ndr3NU2i996x8hQp_luZdwae4oLqCR206jJyV6S8JcM,8124
336
- khoj/interface/compiled/search/index.html,sha256=6Uh0lGnSwXJZ8DqH1os_uCawzdN1Ag90nTFmi8usf1Q,55611
337
- khoj/interface/compiled/search/index.txt,sha256=_qQXlsw84njI3dkYx2z8J_rM2ye3XNG-g7t3155C5uM,6698
338
- khoj/interface/compiled/settings/index.html,sha256=m0kIt28b_jlU2JdkQR3kGsW6_q-Wo6gjLn15Nql5UjE,53360
339
- khoj/interface/compiled/settings/index.txt,sha256=_nTsvcft82nPczt3hBMND18c_7jW31yAtui1BmOY7hk,7967
340
- khoj/interface/compiled/share/chat/index.html,sha256=HMr9i6VmIoOnX3z7g6x964O4vVN2Ls-fSrsuM0Y-hNU,54422
341
- khoj/interface/compiled/share/chat/index.txt,sha256=THHKz1RUZtrZ07JpRvRbElKiR0rNbzMcEiZm44Ix29M,8586
332
+ khoj/interface/compiled/automations/index.html,sha256=2BMWrEPcvINauotGjxpW9b-4ujXdNZ3R9SWJi3dvN3w,54712
333
+ khoj/interface/compiled/automations/index.txt,sha256=RLXlGcb4JrrdCDwfLl5ZA8PGCeECYa0uFYDbfDo_vCY,7713
334
+ khoj/interface/compiled/chat/index.html,sha256=bgUWggssp-BPozNorfcSiTKYZ3DbQz3ZdVX1E6-KfVw,53842
335
+ khoj/interface/compiled/chat/index.txt,sha256=RTbYywqYx3hnRLzPYVo9kNJ1HLDRUwR5Y1ZXT52iP70,8124
336
+ khoj/interface/compiled/search/index.html,sha256=te8bp7We95ebCHV0Rogu1tY9w4iDiB6tDQe3-OSz6Ow,55611
337
+ khoj/interface/compiled/search/index.txt,sha256=kKpzmvN2Qx4TTnR2AjngS587Pvb470RpMeaqZHY1-gc,6698
338
+ khoj/interface/compiled/settings/index.html,sha256=_9J79gOBEEKXGmM1ldgNeCuYR5NnVff2sZPy8lnqWV0,53360
339
+ khoj/interface/compiled/settings/index.txt,sha256=s9G6dh1AxgaMt_m487D_wXWU6V7C5-cOWwfIPDkV2CY,7967
340
+ khoj/interface/compiled/share/chat/index.html,sha256=wS0k8Nqtbdv92JfirtLr9tKfEL7zmzJvCXhfMuXvYnU,54422
341
+ khoj/interface/compiled/share/chat/index.txt,sha256=0fMiVtr11NVso_Yc1sLhZR0pYZ8EaVL7xGcr8j_9dNo,8586
342
342
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
343
343
  khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
344
344
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -391,7 +391,7 @@ khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
391
391
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
392
392
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
393
393
  khoj/processor/conversation/prompts.py,sha256=F0MVg81Tr7L4W7ubx_UJ-D4PqgGCElTg8KLpQjdPuIk,54207
394
- khoj/processor/conversation/utils.py,sha256=bnJeBZkcwVMYHpidnAEt2g0oOSlx8p1Lv-UDgP-YonY,48645
394
+ khoj/processor/conversation/utils.py,sha256=bpl6y5CWqVShE8fBbpZSl9-aOTGNiBjwXXAORy5ebck,48589
395
395
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
396
396
  khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=6IG-YlpFx86EgW3PdGuv4xGMRzvHx4xVUcQMqkKn4vs,5358
397
397
  khoj/processor/conversation/anthropic/utils.py,sha256=Z7mz-LnunLHubZvdzNEAozlJxukl2eNoLvYzeYzsglc,16568
@@ -408,7 +408,7 @@ khoj/processor/conversation/openai/utils.py,sha256=0P-vjY4ip4T3ZZg-VI0y8WgOzppr7
408
408
  khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
409
409
  khoj/processor/image/generate.py,sha256=bF80fjsHKkU2f2ADiXJei8-ViqcT0EHaM0wH78KPUC8,12199
410
410
  khoj/processor/operator/README.md,sha256=QaV00W1IB7i8ZrvhNkpjmFMVDtORFt-OASieRQGE_UE,2308
411
- khoj/processor/operator/__init__.py,sha256=ZdB1LfYBGiKC7Zrd97jRkMuGfCDJpyb2uwHY9zk8ap4,10198
411
+ khoj/processor/operator/__init__.py,sha256=NXvGaW3wvWH1WpYq7uABPThXgkabLlp3ijnFPf5QRn8,11182
412
412
  khoj/processor/operator/grounding_agent.py,sha256=eyWCaIHg12Ak2SbCl7aiiFSoDZ88-AlrqQElRDdDXDE,18917
413
413
  khoj/processor/operator/grounding_agent_uitars.py,sha256=Ujdug_Z2_r1tZmy5kBtHbZcqOp0jSH-7ZnYo1fVdcDQ,42261
414
414
  khoj/processor/operator/operator_actions.py,sha256=eJHxs6idstIbGzzRPHsveuJxl5jH9dHvBhOxuAqjg7M,4268
@@ -428,16 +428,16 @@ khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
428
428
  khoj/routers/api.py,sha256=BFiKwdYjkR-4aHBumM7Hu4XdN2RvQ0Z9V4_2Wd8aPiM,8633
429
429
  khoj/routers/api_agents.py,sha256=QcognyY9FwClgOZw21BF9K7IX16i2070kRoM7c_bKn8,17264
430
430
  khoj/routers/api_automation.py,sha256=ux990dRLbcFadV01T-1McPwvFeR0KLyrWAVpCJ3YLvk,9399
431
- khoj/routers/api_chat.py,sha256=wvmzmOni1vTslOtXUcITQ62OJhO25U_Y6YhyMmYugNI,58970
431
+ khoj/routers/api_chat.py,sha256=wrWjUiFqmrJgnkyOqVolsS9JGnVwbj2yDZHt-qzYeI4,62210
432
432
  khoj/routers/api_content.py,sha256=GFChoWm4nYdilhzB1ElbJjaJJRfLn8XtkKmLnZOUHrU,24580
433
433
  khoj/routers/api_model.py,sha256=hjIgOQqva4YVv1osQK8p-317_oSKsv1mHbAYFQICxnM,5273
434
434
  khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
435
435
  khoj/routers/api_subscription.py,sha256=_Z3gwW5348qrF7sF9rqwkeG291KX5olr9Fd_-ri9faE,6480
436
436
  khoj/routers/auth.py,sha256=jk2lqAS_650lQsoaOFTlZd9W_LL8HbN5zhHTZza_lqs,11258
437
437
  khoj/routers/email.py,sha256=wvr6_fpk0RuKcTPC6suI8JDZPLYzJ9hAhz_G41yZytc,3923
438
- khoj/routers/helpers.py,sha256=mwRiVdmJ9A1blkwFlohrFq8Mm09wL9yox10urTbLZuo,116467
438
+ khoj/routers/helpers.py,sha256=P2LfulomKWV47PE79-wMeD33bBXwq5I03OzbT7DStdo,121091
439
439
  khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
440
- khoj/routers/research.py,sha256=PoEWW89iR9BrnQlp8lDWV2VeB9zJ5SoLHZr6ABr3nws,25007
440
+ khoj/routers/research.py,sha256=b5u7rSV5vPnnIFI3T6HQlgEM4Ra1s9WnnyppVe6XPvg,26364
441
441
  khoj/routers/storage.py,sha256=lao0DvsF49QleZvOdjKM98RU2cGfCJDBb7WeoI7Rr3I,2172
442
442
  khoj/routers/twilio.py,sha256=MLsuCm4--ETvr3sLxbF0CL_ehlg_l2rKBSLR2Qh2Xls,1081
443
443
  khoj/routers/web_client.py,sha256=_vyfDaHZZjNoI2LwGNQFRiFmGLkNcgYJe7dOr3mrxH8,4386
@@ -457,11 +457,11 @@ khoj/utils/helpers.py,sha256=tLO-rn0eThQVuomSxCMtlEN0WKsSaOZw23-4SCRRwy8,42593
457
457
  khoj/utils/initialization.py,sha256=_KslgIsoo-1A_ZuouHH3WDbV-TpqBSaID_0b-1xXE0U,15169
458
458
  khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
459
459
  khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
460
- khoj/utils/rawconfig.py,sha256=U8tOr7FPPzn0h-oyK_8Wqlp2ZrnxpFp44iifcTbltqs,5444
460
+ khoj/utils/rawconfig.py,sha256=lgq0FfJOkdALLkoISjmBSEnzuaTPShsTuFUbXlf6brk,5406
461
461
  khoj/utils/state.py,sha256=s_GFWOqRzpEDx0eCPStuzBTK2VEw-qgRpH0aiEdGnDo,1791
462
462
  khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
463
- khoj-2.0.0b8.dev3.dist-info/METADATA,sha256=TLJRQMqkGPaXiTrUKvy_3NvAh4RsatU5R1k35XfoGpU,8973
464
- khoj-2.0.0b8.dev3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
465
- khoj-2.0.0b8.dev3.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
466
- khoj-2.0.0b8.dev3.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
467
- khoj-2.0.0b8.dev3.dist-info/RECORD,,
463
+ khoj-2.0.0b9.dev7.dist-info/METADATA,sha256=BoReCpRO2p05gm7cOBla0DBqt48l-ZFqOm4WdWiEVF8,8973
464
+ khoj-2.0.0b9.dev7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
465
+ khoj-2.0.0b9.dev7.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
466
+ khoj-2.0.0b9.dev7.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
467
+ khoj-2.0.0b9.dev7.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5477],{5477:function(e,t,a){"use strict";a.d(t,{$:function(){return r},a:function(){return A}});var s,r,n=a(57437),l=a(26442),o=a.n(l),i=a(2265),c=a(18848);a(2446);var d=a(50513),u=a(7751),h=a(26963),f=a(807),g=a(87907),x=a(46743),m=a(53288),p=a(23518),j=a(37099),b=a(62869),v=a(32759),w=a(57054),y=a(27312),N=a(76818),k=a(81103),C=a(84671),E=a(39535),D=a(14308),S=a(42225),T=a(59199),M=a(7436),R=a(26110),z=a(19378);(s=r||(r={})).MESSAGE="message",s.FILE="file",s.RESEARCH="research";let A=(0,i.forwardRef)((e,t)=>{let[a,s]=(0,i.useState)(""),r=(0,i.useRef)(null),l=(0,i.useRef)(null),A=(0,i.useRef)(null),[O,I]=(0,i.useState)(null),[L,_]=(0,i.useState)(null),[P,F]=(0,i.useState)(!1),[W,U]=(0,i.useState)(null),[$,H]=(0,i.useState)(!1),[J,B]=(0,i.useState)(!1),[K,Y]=(0,i.useState)([]),[Z,X]=(0,i.useState)([]),[q,G]=(0,i.useState)(null),[V,Q]=(0,i.useState)([]),[ee,et]=(0,i.useState)(!1),[ea,es]=(0,i.useState)(null),[er,en]=(0,i.useState)(0),[el,eo]=(0,i.useState)(!1),[ei,ec]=(0,i.useState)(!1),[ed,eu]=(0,i.useState)(e.isResearchModeEnabled||!1);function eh(){if(!a.trim()&&0===Z.length)return;if(!e.isLoggedIn){U("Hey there, you need to be signed in to send messages to Khoj AI"),H(!0);return}e.sendDisabled&&e.setTriggeredAbort(!0),J&&(B(!1),Y([]),Z.forEach(t=>e.sendImage(t)));let t=a.trim(),r=e.chatOptionsData&&Object.keys(e.chatOptionsData).some(e=>t.startsWith("/".concat(e)));ed&&!r&&(t="/research ".concat(t)),e.sendMessage(t),G(null),Q([]),s("")}function ef(a){var s,r;if(!e.isLoggedIn){U("Please login to chat with your files"),H(!0);return}let n=["jpg","jpeg","png","webp"],l=[];for(let e=0;e<a.length;e++){let t=a[e],s=t.name.split(".").pop();n.includes(s||"")&&l.push(c.Z.sanitize(URL.createObjectURL(t)))}l.length>0&&(B(!0),Y(e=>[...e,...l]),null==t||null===(r=t.current)||void 0===r||r.focus());let o=Array.from(a).filter(e=>!n.includes(e.name.split(".").pop()||"")),i=o?Array.from(o).concat(Array.from(q||[])):Array.from(q||[]);if(i.length>0){for(let e=0;e<i.length;e++)if(i[e].size>10485760){I("File ".concat(i[e].name," is too large. Please upload files smaller than 10 MB."));return}let t=new DataTransfer;i.forEach(e=>t.items.add(e)),eg(t.files).then(a=>{e.setUploadedFiles(a),G(t.files),Q(a)})}null==t||null===(s=t.current)||void 0===s||s.focus()}async function eg(e){let t=await (0,T.M1)(e);F(!0);try{let e=await fetch("/api/content/convert",{method:"POST",body:t});if(F(!1),!e.ok)throw Error("HTTP error! status: ".concat(e.status));return await e.json()}catch(e){return _("Error converting files. "+e+". Please try again, or contact team@khoj.dev if the issue persists."),console.error("Error converting files:",e),[]}}async function ex(){try{let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new MediaRecorder(e,{mimeType:"audio/webm"}),a=[];t.ondataavailable=async e=>{a.push(e.data);let t=new Blob(a,{type:"audio/webm"}),r=new FormData;r.append("file",t);try{let e=await fetch("/api/transcribe",{method:"POST",body:r});if(!e.ok)throw Error("Network response was not ok");let t=await e.json();s(t.text.trim())}catch(e){console.error("Error sending audio to server:",e)}},t.start(1500),t.onstop=async()=>{let e=new Blob(a,{type:"audio/webm"}),r=new FormData;r.append("file",e);try{let e=await fetch("/api/transcribe",{method:"POST",body:r});if(!e.ok)throw Error("Network response was not ok");let a=await e.json();t.stream.getTracks().forEach(e=>e.stop()),es(null),s(a.text.trim())}catch(e){console.error("Error sending audio to server:",e)}},es(t)}catch(e){console.error("Error getting microphone",e)}}return(0,i.useEffect)(()=>{if(P||en(0),P){let e=setInterval(()=>{en(e=>{let t=e+(Math.floor(5*Math.random())+1);return t<100?t:100})},800);return()=>clearInterval(e)}},[P]),(0,i.useEffect)(()=>{var a;void 0!==e.prefillMessage&&(s(e.prefillMessage),null==t||null===(a=t.current)||void 0===a||a.focus())},[e.prefillMessage]),(0,i.useEffect)(()=>{var a,s,r;"message"===e.focus?null==t||null===(a=t.current)||void 0===a||a.focus():"file"===e.focus?null===(s=l.current)||void 0===s||s.focus():"research"===e.focus&&(null===(r=A.current)||void 0===r||r.focus())},[e.focus]),(0,i.useEffect)(()=>{async function e(){K.length>0&&X(await Promise.all(K.map(async e=>{let t=await fetch(e),a=await t.blob();return new Promise(e=>{let t=new FileReader;t.onload=()=>e(t.result),t.readAsDataURL(a)})}))),F(!1)}F(!0),e()},[K]),(0,i.useEffect)(()=>{e.isResearchModeEnabled&&eu(e.isResearchModeEnabled)},[e.isResearchModeEnabled]),(0,i.useEffect)(()=>{!ee&&ea&&ea.stop(),ee&&!ea&&ex()},[ee,ea]),(0,i.useEffect)(()=>{(null==t?void 0:t.current)&&(t.current.style.height="auto",t.current.style.height=Math.max(t.current.scrollHeight-24,64)+"px",a.startsWith("/")&&1===a.split(" ").length?ec(!0):ec(!1))},[a]),(0,n.jsxs)(n.Fragment,{children:[$&&W&&(0,n.jsx)(E.Z,{onOpenChange:H,isMobileWidth:e.isMobileWidth}),P&&(0,n.jsx)(j.aR,{open:P,children:(0,n.jsxs)(j._T,{children:[(0,n.jsx)(j.fY,{children:(0,n.jsx)(j.f$,{children:"Uploading data. Please wait."})}),(0,n.jsx)(j.yT,{children:(0,n.jsx)(v.E,{indicatorColor:"bg-slate-500",className:"w-full h-2 rounded-full",value:er})}),(0,n.jsx)(j.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>F(!1),children:"Dismiss"})]})}),O&&(0,n.jsx)(j.aR,{open:null!==O,children:(0,n.jsxs)(j._T,{children:[(0,n.jsx)(j.fY,{children:(0,n.jsx)(j.f$,{children:"Data Upload Warning"})}),(0,n.jsx)(j.yT,{children:O}),(0,n.jsx)(j.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>I(null),children:"Close"})]})}),L&&(0,n.jsx)(j.aR,{open:null!==L,children:(0,n.jsxs)(j._T,{children:[(0,n.jsxs)(j.fY,{children:[(0,n.jsx)(j.f$,{children:"Oh no!"}),(0,n.jsx)(j.yT,{children:"Something went wrong while uploading your data"})]}),(0,n.jsx)(j.yT,{children:L}),(0,n.jsx)(j.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>_(null),children:"Close"})]})}),ei&&(0,n.jsx)("div",{className:"flex justify-center text-center",children:(0,n.jsxs)(w.J2,{open:ei,onOpenChange:ec,children:[(0,n.jsx)(y.xo,{className:"flex justify-center text-center"}),(0,n.jsx)(w.yk,{onOpenAutoFocus:e=>e.preventDefault(),className:"".concat(e.isMobileWidth?"w-[100vw]":"w-full"," rounded-md"),side:"bottom",align:"center",sideOffset:e.conversationId?0:80,alignOffset:0,children:(0,n.jsxs)(p.mY,{className:"max-w-full",children:[(0,n.jsx)(p.sZ,{placeholder:"Type a command or search...",value:a,className:"hidden"}),(0,n.jsxs)(p.e8,{children:[(0,n.jsx)(p.rb,{children:"No matching commands."}),(0,n.jsx)(p.fu,{heading:"Agent Tools",children:e.chatOptionsData&&Object.entries(e.chatOptionsData).map(e=>{let[t,a]=e;return(0,n.jsx)(p.di,{className:"text-md",onSelect:()=>{s("/".concat(t," "))},children:(0,n.jsxs)("div",{className:"grid grid-cols-1 gap-1",children:[(0,n.jsxs)("div",{className:"font-bold flex items-center",children:[(0,S.vH)(t,"h-4 w-4 mr-2"),"/",t]}),(0,n.jsx)("div",{children:a})]})},t)})}),(0,n.jsx)(p.zz,{})]})]})})]})}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 overflow-x-auto",children:[J&&K.map((e,t)=>(0,n.jsxs)("div",{className:"relative flex-shrink-0 pb-3 pt-2 group",children:[(0,n.jsx)("img",{src:e,alt:"img-".concat(t),className:"w-auto h-16 object-cover rounded-xl"}),(0,n.jsx)(b.z,{variant:"ghost",size:"icon",className:"absolute -top-0 -right-2 h-5 w-5 rounded-full bg-neutral-200 dark:bg-neutral-600 hover:bg-neutral-300 dark:hover:bg-neutral-500 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>{Y(e=>e.filter((e,a)=>a!==t)),X(e=>e.filter((e,a)=>a!==t)),1===K.length&&B(!1)},children:(0,n.jsx)(d.X,{className:"h-3 w-3"})})]},t)),V&&Array.from(V).map((t,a)=>(0,n.jsxs)(R.Vq,{children:[(0,n.jsx)(R.hg,{asChild:!0,children:(0,n.jsxs)("div",{className:"relative flex-shrink-0 p-2 group",children:[(0,n.jsx)("div",{className:"w-auto h-16 object-cover rounded-xl ".concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," bg-opacity-15"),children:(0,n.jsxs)("div",{className:"flex p-2 flex-col justify-start items-start h-full",children:[(0,n.jsx)("span",{className:"text-sm font-bold text-neutral-500 dark:text-neutral-400 text-ellipsis truncate max-w-[200px] break-words",children:t.name}),(0,n.jsxs)("span",{className:"flex items-center gap-1",children:[(0,S.Le)(t.file_type),(0,n.jsx)("span",{className:"text-xs text-neutral-500 dark:text-neutral-400",children:(0,M.xq)(t.size)})]})]})}),(0,n.jsx)(b.z,{variant:"ghost",size:"icon",className:"absolute -top-0 -right-2 h-5 w-5 rounded-full bg-neutral-200 dark:bg-neutral-600 hover:bg-neutral-300 dark:hover:bg-neutral-500 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>{G(a=>{let s=t.name;if(!a)return null;let r=Array.from(a).filter(e=>e.name!==s),n=new DataTransfer;r.forEach(e=>n.items.add(e));let l=V.filter(e=>e.name!==s);return e.setUploadedFiles(l),Q(l),n.files})},children:(0,n.jsx)(d.X,{className:"h-3 w-3"})})]},a)}),(0,n.jsxs)(R.cZ,{children:[(0,n.jsx)(R.fK,{children:(0,n.jsx)(R.$N,{children:t.name})}),(0,n.jsx)(R.Be,{children:(0,n.jsx)(z.x,{className:"h-72 w-full rounded-md",children:t.content})})]})]},a))]}),(0,n.jsxs)("div",{className:"".concat(o().actualInputArea," justify-between dark:bg-neutral-700 relative ").concat(el&&"animate-pulse"),onDragOver:function(e){e.preventDefault(),eo(!0)},onDragLeave:function(e){e.preventDefault(),eo(!1)},onDrop:function(e){e.preventDefault(),eo(!1),e.dataTransfer.files&&ef(e.dataTransfer.files)},children:[(0,n.jsx)("input",{type:"file",accept:".pdf,.doc,.docx,.txt,.md,.org,.jpg,.jpeg,.png,.webp,.py,.tsx,.js,.json,.html,.css,.ipynb",multiple:!0,ref:r,onChange:function(e){e.target.files&&ef(e.target.files)},style:{display:"none"}}),(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsx)(k.pn,{children:(0,n.jsxs)(k.u,{children:[(0,n.jsx)(k.aJ,{asChild:!0,children:(0,n.jsx)(b.z,{variant:"ghost",className:"!bg-none p-0 m-2 h-auto text-3xl rounded-full text-gray-300 hover:text-gray-500",disabled:!e.isLoggedIn,onClick:function(){r.current&&r.current.click()},ref:l,children:(0,n.jsx)(u.p,{className:"w-8 h-8"})})}),(0,n.jsx)(k._v,{children:"Attach a PDF, plain text file, or image"})]})})}),(0,n.jsx)("div",{className:"flex-grow flex flex-col w-full gap-1.5 relative",children:(0,n.jsx)(N.g,{ref:t,className:"border-none focus:border-none\n focus:outline-none focus-visible:ring-transparent\n w-full h-16 min-h-16 max-h-[128px] md:py-4 rounded-lg resize-none dark:bg-neutral-700\n ".concat(e.isMobileWidth?"text-md":"text-lg"),placeholder:"Type / to see a list of commands",id:"message",autoFocus:!0,value:a,onKeyDown:t=>{"Enter"!==t.key||t.shiftKey||e.isMobileWidth||ee||!a||(B(!1),Y([]),t.preventDefault(),eh())},onChange:e=>s(e.target.value),disabled:ee})}),(0,n.jsxs)("div",{className:"flex items-end pb-2",children:[ee?(0,n.jsx)(k.pn,{children:(0,n.jsxs)(k.u,{children:[(0,n.jsx)(k.aJ,{asChild:!0,children:(0,n.jsx)(b.z,{variant:"default",className:"".concat(!ee&&"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:()=>{et(!ee)},disabled:e.sendDisabled||!e.isLoggedIn,children:(0,n.jsx)(h.d,{weight:"fill",className:"w-6 h-6"})})}),(0,n.jsx)(k._v,{children:"Click to stop recording and transcribe your voice."})]})}):ea?(0,n.jsx)(D.l,{}):(0,n.jsx)(k.pn,{children:(0,n.jsxs)(k.u,{children:[(0,n.jsx)(k.aJ,{asChild:!0,children:e.sendDisabled&&!a?(0,n.jsx)(b.z,{variant:"default",className:"".concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:()=>{e.setTriggeredAbort(!0)},children:(0,n.jsx)(h.d,{weight:"fill",className:"w-6 h-6"})}):(0,n.jsx)(b.z,{variant:"default",className:"".concat(!a||ee||"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),disabled:e.sendDisabled||!e.isLoggedIn,onClick:()=>{s("Listening..."),et(!ee)},children:(0,n.jsx)(f.P,{weight:"fill",className:"w-6 h-6"})})}),(0,n.jsx)(k._v,{children:e.sendDisabled?"Click here to stop the streaming.":"Click to transcribe your message with voice."})]})}),(0,n.jsx)(b.z,{className:"".concat((!a||ee)&&"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),disabled:!a||ee||!e.isLoggedIn,onClick:eh,children:(0,n.jsx)(g.a,{className:"w-6 h-6",weight:"bold"})})]})]}),(0,n.jsx)(k.pn,{children:(0,n.jsxs)(k.u,{children:[(0,n.jsx)(k.aJ,{asChild:!0,children:(0,n.jsxs)(b.z,{variant:"ghost",className:"float-right justify-center gap-1 flex items-center p-1.5 mr-2 h-fit",disabled:e.sendDisabled||!e.isLoggedIn,ref:A,onClick:()=>{var e;eu(!ed),null==t||null===(e=t.current)||void 0===e||e.focus()},children:[(0,n.jsx)("span",{className:"text-muted-foreground text-sm",children:"Research Mode"}),ed?(0,n.jsx)(x.W,{weight:"fill",className:"w-6 h-6 inline-block ".concat(e.agentColor?(0,C.oz)(e.agentColor):(0,C.oz)("orange")," rounded-full")}):(0,n.jsx)(m.$,{weight:"fill",className:"w-6 h-6 inline-block ".concat((0,C.oz)("gray")," rounded-full")})]})}),(0,n.jsx)(k._v,{className:"text-xs",children:"Research Mode allows you to get more deeply researched, detailed responses. Response times may be longer."})]})})]})]})});A.displayName="ChatInputArea"},32759:function(e,t,a){"use strict";a.d(t,{E:function(){return o}});var s=a(57437),r=a(2265),n=a(60610),l=a(94508);let o=r.forwardRef((e,t)=>{let{className:a,value:r,indicatorColor:o,...i}=e;return(0,s.jsx)(n.fC,{ref:t,className:(0,l.cn)("relative h-4 w-full overflow-hidden rounded-full bg-secondary",a),...i,children:(0,s.jsx)(n.z$,{className:"h-full w-full flex-1 bg-primary transition-all ".concat(o),style:{transform:"translateX(-".concat(100-(r||0),"%)")}})})});o.displayName=n.fC.displayName},76818:function(e,t,a){"use strict";a.d(t,{g:function(){return l}});var s=a(57437),r=a(2265),n=a(94508);let l=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("textarea",{className:(0,n.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),ref:t,...r})});l.displayName="Textarea"},26442:function(e){e.exports={actualInputArea:"chatInputArea_actualInputArea__Ha6cN"}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9568],{99376:function(e,a,t){var n=t(35475);t.o(n,"useRouter")&&t.d(a,{useRouter:function(){return n.useRouter}}),t.o(n,"useSearchParams")&&t.d(a,{useSearchParams:function(){return n.useSearchParams}})},5223:function(e,a,t){t.d(a,{Z:function(){return o}});var n=t(2265),l=t(4992);let r=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M120.49,167.51a12,12,0,0,1,0,17l-32,32a12,12,0,0,1-17,0l-32-32a12,12,0,1,1,17-17L68,179V48a12,12,0,0,1,24,0V179l11.51-11.52A12,12,0,0,1,120.49,167.51Zm96-96-32-32a12,12,0,0,0-17,0l-32,32a12,12,0,0,0,17,17L164,77V208a12,12,0,0,0,24,0V77l11.51,11.52a12,12,0,0,0,17-17Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M176,48V208H80V48Z",opacity:"0.2"}),n.createElement("path",{d:"M117.66,170.34a8,8,0,0,1,0,11.32l-32,32a8,8,0,0,1-11.32,0l-32-32a8,8,0,0,1,11.32-11.32L72,188.69V48a8,8,0,0,1,16,0V188.69l18.34-18.35A8,8,0,0,1,117.66,170.34Zm96-96-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32L168,67.31V208a8,8,0,0,0,16,0V67.31l18.34,18.35a8,8,0,0,0,11.32-11.32Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M119.39,172.94a8,8,0,0,1-1.73,8.72l-32,32a8,8,0,0,1-11.32,0l-32-32A8,8,0,0,1,48,168H72V48a8,8,0,0,1,16,0V168h24A8,8,0,0,1,119.39,172.94Zm94.27-98.6-32-32a8,8,0,0,0-11.32,0l-32,32A8,8,0,0,0,144,88h24V208a8,8,0,0,0,16,0V88h24a8,8,0,0,0,5.66-13.66Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M116.24,171.76a6,6,0,0,1,0,8.48l-32,32a6,6,0,0,1-8.48,0l-32-32a6,6,0,0,1,8.48-8.48L74,193.51V48a6,6,0,0,1,12,0V193.51l21.76-21.75A6,6,0,0,1,116.24,171.76Zm96-96-32-32a6,6,0,0,0-8.48,0l-32,32a6,6,0,0,0,8.48,8.48L170,62.49V208a6,6,0,0,0,12,0V62.49l21.76,21.75a6,6,0,0,0,8.48-8.48Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M117.66,170.34a8,8,0,0,1,0,11.32l-32,32a8,8,0,0,1-11.32,0l-32-32a8,8,0,0,1,11.32-11.32L72,188.69V48a8,8,0,0,1,16,0V188.69l18.34-18.35A8,8,0,0,1,117.66,170.34Zm96-96-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32L168,67.31V208a8,8,0,0,0,16,0V67.31l18.34,18.35a8,8,0,0,0,11.32-11.32Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M114.83,173.17a4,4,0,0,1,0,5.66l-32,32a4,4,0,0,1-5.66,0l-32-32a4,4,0,0,1,5.66-5.66L76,198.34V48a4,4,0,0,1,8,0V198.34l25.17-25.17A4,4,0,0,1,114.83,173.17Zm96-96-32-32a4,4,0,0,0-5.66,0l-32,32a4,4,0,0,0,5.66,5.66L172,57.66V208a4,4,0,0,0,8,0V57.66l25.17,25.17a4,4,0,1,0,5.66-5.66Z"}))]]),c=n.forwardRef((e,a)=>n.createElement(l.Z,{ref:a,...e,weights:r}));c.displayName="ArrowsDownUpIcon";let o=c},32046:function(e,a,t){t.d(a,{_:function(){return o}});var n=t(2265),l=t(4992);let r=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm48.49-108.49a12,12,0,0,1,0,17l-40,40a12,12,0,0,1-17,0l-40-40a12,12,0,0,1,17-17L128,135l31.51-31.52A12,12,0,0,1,176.49,103.51Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),n.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm45.66-109.66a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L128,140.69l34.34-34.35A8,8,0,0,1,173.66,106.34Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm45.66,93.66-40,40a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L128,140.69l34.34-34.35a8,8,0,0,1,11.32,11.32Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm44.24-110.24a6,6,0,0,1,0,8.48l-40,40a6,6,0,0,1-8.48,0l-40-40a6,6,0,0,1,8.48-8.48L128,143.51l35.76-35.75A6,6,0,0,1,172.24,107.76Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm45.66-109.66a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L128,140.69l34.34-34.35A8,8,0,0,1,173.66,106.34Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm42.83-110.83a4,4,0,0,1,0,5.66l-40,40a4,4,0,0,1-5.66,0l-40-40a4,4,0,0,1,5.66-5.66L128,146.34l37.17-37.17A4,4,0,0,1,170.83,109.17Z"}))]]),c=n.forwardRef((e,a)=>n.createElement(l.Z,{ref:a,...e,weights:r}));c.displayName="CaretCircleDownIcon";let o=c},75256:function(e,a,t){t.d(a,{K:function(){return o}});var n=t(2265),l=t(4992);let r=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M184.49,167.51a12,12,0,0,1,0,17l-48,48a12,12,0,0,1-17,0l-48-48a12,12,0,0,1,17-17L128,207l39.51-39.52A12,12,0,0,1,184.49,167.51Zm-96-79L128,49l39.51,39.52a12,12,0,0,0,17-17l-48-48a12,12,0,0,0-17,0l-48,48a12,12,0,0,0,17,17Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M80,176h96l-48,48ZM128,32,80,80h96Z",opacity:"0.2"}),n.createElement("path",{d:"M176,168H80a8,8,0,0,0-5.66,13.66l48,48a8,8,0,0,0,11.32,0l48-48A8,8,0,0,0,176,168Zm-48,44.69L99.31,184h57.38ZM80,88h96a8,8,0,0,0,5.66-13.66l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,80,88Zm48-44.69L156.69,72H99.31Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M72.61,83.06a8,8,0,0,1,1.73-8.72l48-48a8,8,0,0,1,11.32,0l48,48A8,8,0,0,1,176,88H80A8,8,0,0,1,72.61,83.06ZM176,168H80a8,8,0,0,0-5.66,13.66l48,48a8,8,0,0,0,11.32,0l48-48A8,8,0,0,0,176,168Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M180.24,171.76a6,6,0,0,1,0,8.48l-48,48a6,6,0,0,1-8.48,0l-48-48a6,6,0,0,1,8.48-8.48L128,215.51l43.76-43.75A6,6,0,0,1,180.24,171.76Zm-96-87.52L128,40.49l43.76,43.75a6,6,0,0,0,8.48-8.48l-48-48a6,6,0,0,0-8.48,0l-48,48a6,6,0,0,0,8.48,8.48Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M181.66,170.34a8,8,0,0,1,0,11.32l-48,48a8,8,0,0,1-11.32,0l-48-48a8,8,0,0,1,11.32-11.32L128,212.69l42.34-42.35A8,8,0,0,1,181.66,170.34Zm-96-84.68L128,43.31l42.34,42.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,85.66Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M178.83,173.17a4,4,0,0,1,0,5.66l-48,48a4,4,0,0,1-5.66,0l-48-48a4,4,0,0,1,5.66-5.66L128,218.34l45.17-45.17A4,4,0,0,1,178.83,173.17Zm-96-90.34L128,37.66l45.17,45.17a4,4,0,1,0,5.66-5.66l-48-48a4,4,0,0,0-5.66,0l-48,48a4,4,0,0,0,5.66,5.66Z"}))]]),c=n.forwardRef((e,a)=>n.createElement(l.Z,{ref:a,...e,weights:r}));c.displayName="CaretUpDownIcon";let o=c},68772:function(e,a,t){t.d(a,{f:function(){return o}});var n=t(2265),l=t(4992);let r=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M176.49,95.51a12,12,0,0,1,0,17l-56,56a12,12,0,0,1-17,0l-24-24a12,12,0,1,1,17-17L112,143l47.51-47.52A12,12,0,0,1,176.49,95.51ZM236,128A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),n.createElement("path",{d:"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm45.66,85.66-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M172.24,99.76a6,6,0,0,1,0,8.48l-56,56a6,6,0,0,1-8.48,0l-24-24a6,6,0,0,1,8.48-8.48L112,151.51l51.76-51.75A6,6,0,0,1,172.24,99.76ZM230,128A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M170.83,101.17a4,4,0,0,1,0,5.66l-56,56a4,4,0,0,1-5.66,0l-24-24a4,4,0,0,1,5.66-5.66L112,154.34l53.17-53.17A4,4,0,0,1,170.83,101.17ZM228,128A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z"}))]]),c=n.forwardRef((e,a)=>n.createElement(l.Z,{ref:a,...e,weights:r}));c.displayName="CheckCircleIcon";let o=c},79603:function(e,a,t){t.d(a,{C:function(){return o}});var n=t(2265),l=t(4992);let r=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),n.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M232,128A104,104,0,1,1,128,24,104.13,104.13,0,0,1,232,128Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Z"}))]]),c=n.forwardRef((e,a)=>n.createElement(l.Z,{ref:a,...e,weights:r}));c.displayName="CircleIcon";let o=c},91890:function(e,a,t){t.d(a,{T:function(){return o}});var n=t(2265),l=t(4992);let r=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M208,144H140V98.32a44,44,0,1,0-24,0V144H48a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V164A20,20,0,0,0,208,144ZM108,56a20,20,0,1,1,20,20A20,20,0,0,1,108,56Zm96,148H52V168H204ZM172,104h32a12,12,0,0,1,0,24H172a12,12,0,0,1,0-24Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M216,160v48a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V160a8,8,0,0,1,8-8H208A8,8,0,0,1,216,160ZM128,88A32,32,0,1,0,96,56,32,32,0,0,0,128,88Z",opacity:"0.2"}),n.createElement("path",{d:"M208,144H136V95.19a40,40,0,1,0-16,0V144H48a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V160A16,16,0,0,0,208,144ZM104,56a24,24,0,1,1,24,24A24,24,0,0,1,104,56ZM208,208H48V160H208v48Zm-40-96h32a8,8,0,0,1,0,16H168a8,8,0,0,1,0-16Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M224,160v48a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V160a16,16,0,0,1,16-16h72V95.19a40,40,0,1,1,16,0V144h72A16,16,0,0,1,224,160Zm-64-40a8,8,0,0,0,8,8h32a8,8,0,0,0,0-16H168A8,8,0,0,0,160,120Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M208,146H134V93.52a38,38,0,1,0-12,0V146H48a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V160A14,14,0,0,0,208,146ZM102,56a26,26,0,1,1,26,26A26,26,0,0,1,102,56ZM210,208a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V160a2,2,0,0,1,2-2H208a2,2,0,0,1,2,2Zm-42-94h32a6,6,0,0,1,0,12H168a6,6,0,0,1,0-12Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M208,144H136V95.19a40,40,0,1,0-16,0V144H48a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V160A16,16,0,0,0,208,144ZM104,56a24,24,0,1,1,24,24A24,24,0,0,1,104,56ZM208,208H48V160H208v48Zm-40-96h32a8,8,0,0,1,0,16H168a8,8,0,0,1,0-16Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M208,148H132V91.77a36,36,0,1,0-8,0V148H48a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V160A12,12,0,0,0,208,148ZM100,56a28,28,0,1,1,28,28A28,28,0,0,1,100,56ZM212,208a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V160a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-48-88a4,4,0,0,1,4-4h32a4,4,0,0,1,0,8H168A4,4,0,0,1,164,120Z"}))]]),c=n.forwardRef((e,a)=>n.createElement(l.Z,{ref:a,...e,weights:r}));c.displayName="JoystickIcon";let o=c},34153:function(e,a,t){t.d(a,{R:function(){return o}});var n=t(2265),l=t(4992);let r=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,84A36,36,0,1,0,92,48,36,36,0,0,0,128,84Zm0-48a12,12,0,1,1-12,12A12,12,0,0,1,128,36Zm100,72a12,12,0,0,1-12,12H140v16.09L188.73,157A12,12,0,0,1,196,168v48a12,12,0,0,1-24,0V175.91l-41.67-17.86L56,224.92A12,12,0,0,1,40,207.08l76-68.42V120H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,108Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M152,48a24,24,0,1,1-24-24A24,24,0,0,1,152,48Z",opacity:"0.2"}),n.createElement("path",{d:"M128,80A32,32,0,1,0,96,48,32,32,0,0,0,128,80Zm0-48a16,16,0,1,1-16,16A16,16,0,0,1,128,32Zm96,72a8,8,0,0,1-8,8H136v26.72l51.15,21.93A8,8,0,0,1,192,168v48a8,8,0,0,1-16,0V173.28l-46.45-19.91L53.35,222a8,8,0,1,1-10.7-11.9L120,140.44V112H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,104Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M96,48a32,32,0,1,1,32,32A32,32,0,0,1,96,48ZM216,96H40a8,8,0,0,0,0,16h80v28.44L42.65,210.05A8,8,0,0,0,53.35,222l76.2-68.58L176,173.28V216a8,8,0,0,0,16,0V168a8,8,0,0,0-4.85-7.35L136,138.72V112h80a8,8,0,0,0,0-16Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,78A30,30,0,1,0,98,48,30,30,0,0,0,128,78Zm0-48a18,18,0,1,1-18,18A18,18,0,0,1,128,30Zm94,74a6,6,0,0,1-6,6H134v30l52.36,22.45A6,6,0,0,1,190,168v48a6,6,0,0,1-12,0V172L129.16,151,52,220.46a6,6,0,0,1-8-8.92l78-70.21V110H40a6,6,0,0,1,0-12H216A6,6,0,0,1,222,104Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,80A32,32,0,1,0,96,48,32,32,0,0,0,128,80Zm0-48a16,16,0,1,1-16,16A16,16,0,0,1,128,32Zm96,72a8,8,0,0,1-8,8H136v26.72l51.15,21.93A8,8,0,0,1,192,168v48a8,8,0,0,1-16,0V173.28l-46.45-19.91L53.35,222a8,8,0,1,1-10.7-11.9L120,140.44V112H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,104Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M128,76a28,28,0,1,0-28-28A28,28,0,0,0,128,76Zm0-48a20,20,0,1,1-20,20A20,20,0,0,1,128,28Zm92,76a4,4,0,0,1-4,4H132v33.36l53.58,23A4,4,0,0,1,188,168v48a4,4,0,0,1-8,0V170.64l-51.22-22L50.68,219A4,4,0,1,1,45.32,213L124,142.22V108H40a4,4,0,0,1,0-8H216A4,4,0,0,1,220,104Z"}))]]),c=n.forwardRef((e,a)=>n.createElement(l.Z,{ref:a,...e,weights:r}));c.displayName="PersonSimpleTaiChiIcon";let o=c},43551:function(e,a,t){t.d(a,{J:function(){return o}});var n=t(2265),l=t(4992);let r=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M199,125.31l-49.88-18.39L130.69,57a19.92,19.92,0,0,0-37.38,0L74.92,106.92,25,125.31a19.92,19.92,0,0,0,0,37.38l49.88,18.39L93.31,231a19.92,19.92,0,0,0,37.38,0l18.39-49.88L199,162.69a19.92,19.92,0,0,0,0-37.38Zm-63.38,35.16a12,12,0,0,0-7.11,7.11L112,212.28l-16.47-44.7a12,12,0,0,0-7.11-7.11L43.72,144l44.7-16.47a12,12,0,0,0,7.11-7.11L112,75.72l16.47,44.7a12,12,0,0,0,7.11,7.11L180.28,144ZM140,40a12,12,0,0,1,12-12h12V16a12,12,0,0,1,24,0V28h12a12,12,0,0,1,0,24H188V64a12,12,0,0,1-24,0V52H152A12,12,0,0,1,140,40ZM252,88a12,12,0,0,1-12,12h-4v4a12,12,0,0,1-24,0v-4h-4a12,12,0,0,1,0-24h4V72a12,12,0,0,1,24,0v4h4A12,12,0,0,1,252,88Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M194.82,151.43l-55.09,20.3-20.3,55.09a7.92,7.92,0,0,1-14.86,0l-20.3-55.09-55.09-20.3a7.92,7.92,0,0,1,0-14.86l55.09-20.3,20.3-55.09a7.92,7.92,0,0,1,14.86,0l20.3,55.09,55.09,20.3A7.92,7.92,0,0,1,194.82,151.43Z",opacity:"0.2"}),n.createElement("path",{d:"M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M208,144a15.78,15.78,0,0,1-10.42,14.94L146,178l-19,51.62a15.92,15.92,0,0,1-29.88,0L78,178l-51.62-19a15.92,15.92,0,0,1,0-29.88L78,110l19-51.62a15.92,15.92,0,0,1,29.88,0L146,110l51.62,19A15.78,15.78,0,0,1,208,144ZM152,48h16V64a8,8,0,0,0,16,0V48h16a8,8,0,0,0,0-16H184V16a8,8,0,0,0-16,0V32H152a8,8,0,0,0,0,16Zm88,32h-8V72a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0V96h8a8,8,0,0,0,0-16Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M196.89,130.94,144.4,111.6,125.06,59.11a13.92,13.92,0,0,0-26.12,0L79.6,111.6,27.11,130.94a13.92,13.92,0,0,0,0,26.12L79.6,176.4l19.34,52.49a13.92,13.92,0,0,0,26.12,0L144.4,176.4l52.49-19.34a13.92,13.92,0,0,0,0-26.12Zm-4.15,14.86-55.08,20.3a6,6,0,0,0-3.56,3.56l-20.3,55.08a1.92,1.92,0,0,1-3.6,0L89.9,169.66a6,6,0,0,0-3.56-3.56L31.26,145.8a1.92,1.92,0,0,1,0-3.6l55.08-20.3a6,6,0,0,0,3.56-3.56l20.3-55.08a1.92,1.92,0,0,1,3.6,0l20.3,55.08a6,6,0,0,0,3.56,3.56l55.08,20.3a1.92,1.92,0,0,1,0,3.6ZM146,40a6,6,0,0,1,6-6h18V16a6,6,0,0,1,12,0V34h18a6,6,0,0,1,0,12H182V64a6,6,0,0,1-12,0V46H152A6,6,0,0,1,146,40ZM246,88a6,6,0,0,1-6,6H230v10a6,6,0,0,1-12,0V94H208a6,6,0,0,1,0-12h10V72a6,6,0,0,1,12,0V82h10A6,6,0,0,1,246,88Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M196.2,132.81l-53.36-19.65L123.19,59.8a11.93,11.93,0,0,0-22.38,0L81.16,113.16,27.8,132.81a11.93,11.93,0,0,0,0,22.38l53.36,19.65,19.65,53.36a11.93,11.93,0,0,0,22.38,0l19.65-53.36,53.36-19.65a11.93,11.93,0,0,0,0-22.38Zm-2.77,14.87L138.35,168a4,4,0,0,0-2.37,2.37l-20.3,55.08a3.92,3.92,0,0,1-7.36,0L88,170.35A4,4,0,0,0,85.65,168l-55.08-20.3a3.92,3.92,0,0,1,0-7.36L85.65,120A4,4,0,0,0,88,117.65l20.3-55.08a3.92,3.92,0,0,1,7.36,0L136,117.65a4,4,0,0,0,2.37,2.37l55.08,20.3a3.92,3.92,0,0,1,0,7.36ZM148,40a4,4,0,0,1,4-4h20V16a4,4,0,0,1,8,0V36h20a4,4,0,0,1,0,8H180V64a4,4,0,0,1-8,0V44H152A4,4,0,0,1,148,40Zm96,48a4,4,0,0,1-4,4H228v12a4,4,0,0,1-8,0V92H208a4,4,0,0,1,0-8h12V72a4,4,0,0,1,8,0V84h12A4,4,0,0,1,244,88Z"}))]]),c=n.forwardRef((e,a)=>n.createElement(l.Z,{ref:a,...e,weights:r}));c.displayName="SparkleIcon";let o=c},9270:function(e,a,t){t.d(a,{fC:function(){return v},z$:function(){return L}});var n=t(2265),l=t(98575),r=t(73966),c=t(6741),o=t(80886),m=t(6718),u=t(90420),i=t(71599),d=t(66840),h=t(57437),s="Checkbox",[p,Z]=(0,r.b)(s),[f,E]=p(s);function A(e){let{__scopeCheckbox:a,checked:t,children:l,defaultChecked:r,disabled:c,form:m,name:u,onCheckedChange:i,required:d,value:p="on",internal_do_not_use_render:Z}=e,[E,A]=(0,o.T)({prop:t,defaultProp:null!=r&&r,onChange:i,caller:s}),[M,V]=n.useState(null),[v,g]=n.useState(null),L=n.useRef(!1),H=!M||!!m||!!M.closest("form"),w={checked:E,disabled:c,setChecked:A,control:M,setControl:V,name:u,form:m,value:p,hasConsumerStoppedPropagationRef:L,required:d,defaultChecked:!F(r)&&r,isFormControl:H,bubbleInput:v,setBubbleInput:g};return(0,h.jsx)(f,{scope:a,...w,children:"function"==typeof Z?Z(w):l})}var M="CheckboxTrigger",V=n.forwardRef((e,a)=>{let{__scopeCheckbox:t,onKeyDown:r,onClick:o,...m}=e,{control:u,value:i,disabled:s,checked:p,required:Z,setControl:f,setChecked:A,hasConsumerStoppedPropagationRef:V,isFormControl:v,bubbleInput:g}=E(M,t),L=(0,l.e)(a,f),H=n.useRef(p);return n.useEffect(()=>{let e=null==u?void 0:u.form;if(e){let a=()=>A(H.current);return e.addEventListener("reset",a),()=>e.removeEventListener("reset",a)}},[u,A]),(0,h.jsx)(d.WV.button,{type:"button",role:"checkbox","aria-checked":F(p)?"mixed":p,"aria-required":Z,"data-state":y(p),"data-disabled":s?"":void 0,disabled:s,value:i,...m,ref:L,onKeyDown:(0,c.M)(r,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,c.M)(o,e=>{A(e=>!!F(e)||!e),g&&v&&(V.current=e.isPropagationStopped(),V.current||e.stopPropagation())})})});V.displayName=M;var v=n.forwardRef((e,a)=>{let{__scopeCheckbox:t,name:n,checked:l,defaultChecked:r,required:c,disabled:o,value:m,onCheckedChange:u,form:i,...d}=e;return(0,h.jsx)(A,{__scopeCheckbox:t,checked:l,defaultChecked:r,disabled:o,required:c,onCheckedChange:u,name:n,form:i,value:m,internal_do_not_use_render:e=>{let{isFormControl:n}=e;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(V,{...d,ref:a,__scopeCheckbox:t}),n&&(0,h.jsx)(w,{__scopeCheckbox:t})]})}})});v.displayName=s;var g="CheckboxIndicator",L=n.forwardRef((e,a)=>{let{__scopeCheckbox:t,forceMount:n,...l}=e,r=E(g,t);return(0,h.jsx)(i.z,{present:n||F(r.checked)||!0===r.checked,children:(0,h.jsx)(d.WV.span,{"data-state":y(r.checked),"data-disabled":r.disabled?"":void 0,...l,ref:a,style:{pointerEvents:"none",...e.style}})})});L.displayName=g;var H="CheckboxBubbleInput",w=n.forwardRef((e,a)=>{let{__scopeCheckbox:t,...r}=e,{control:c,hasConsumerStoppedPropagationRef:o,checked:i,defaultChecked:s,required:p,disabled:Z,name:f,value:A,form:M,bubbleInput:V,setBubbleInput:v}=E(H,t),g=(0,l.e)(a,v),L=(0,m.D)(i),w=(0,u.t)(c);n.useEffect(()=>{if(!V)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,a=!o.current;if(L!==i&&e){let t=new Event("click",{bubbles:a});V.indeterminate=F(i),e.call(V,!F(i)&&i),V.dispatchEvent(t)}},[V,L,i,o]);let y=n.useRef(!F(i)&&i);return(0,h.jsx)(d.WV.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=s?s:y.current,required:p,disabled:Z,name:f,value:A,form:M,...r,tabIndex:-1,ref:g,style:{...r.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function F(e){return"indeterminate"===e}function y(e){return F(e)?"indeterminate":e?"checked":"unchecked"}w.displayName=H},16605:function(e,a,t){t.d(a,{VY:function(){return R},fC:function(){return b},xz:function(){return x}});var n,l=t(2265),r=t(6741),c=t(73966),o=t(80886),m=t(98575),u=t(26008),i=(t(83832),t(71599)),d=t(66840),h=t(15278),s=t(57437),p="HoverCard",[Z,f]=(0,c.b)(p,[u.D7]),E=(0,u.D7)(),[A,M]=Z(p),V=e=>{let{__scopeHoverCard:a,children:t,open:n,defaultOpen:r,onOpenChange:c,openDelay:m=700,closeDelay:i=300}=e,d=E(a),h=l.useRef(0),Z=l.useRef(0),f=l.useRef(!1),M=l.useRef(!1),[V,v]=(0,o.T)({prop:n,defaultProp:null!=r&&r,onChange:c,caller:p}),g=l.useCallback(()=>{clearTimeout(Z.current),h.current=window.setTimeout(()=>v(!0),m)},[m,v]),L=l.useCallback(()=>{clearTimeout(h.current),f.current||M.current||(Z.current=window.setTimeout(()=>v(!1),i))},[i,v]),H=l.useCallback(()=>v(!1),[v]);return l.useEffect(()=>()=>{clearTimeout(h.current),clearTimeout(Z.current)},[]),(0,s.jsx)(A,{scope:a,open:V,onOpenChange:v,onOpen:g,onClose:L,onDismiss:H,hasSelectionRef:f,isPointerDownOnContentRef:M,children:(0,s.jsx)(u.fC,{...d,children:t})})};V.displayName=p;var v="HoverCardTrigger",g=l.forwardRef((e,a)=>{let{__scopeHoverCard:t,...n}=e,l=M(v,t),c=E(t);return(0,s.jsx)(u.ee,{asChild:!0,...c,children:(0,s.jsx)(d.WV.a,{"data-state":l.open?"open":"closed",...n,ref:a,onPointerEnter:(0,r.M)(e.onPointerEnter,C(l.onOpen)),onPointerLeave:(0,r.M)(e.onPointerLeave,C(l.onClose)),onFocus:(0,r.M)(e.onFocus,l.onOpen),onBlur:(0,r.M)(e.onBlur,l.onClose),onTouchStart:(0,r.M)(e.onTouchStart,e=>e.preventDefault())})})});g.displayName=v;var[L,H]=Z("HoverCardPortal",{forceMount:void 0}),w="HoverCardContent",F=l.forwardRef((e,a)=>{let t=H(w,e.__scopeHoverCard),{forceMount:n=t.forceMount,...l}=e,c=M(w,e.__scopeHoverCard);return(0,s.jsx)(i.z,{present:n||c.open,children:(0,s.jsx)(y,{"data-state":c.open?"open":"closed",...l,onPointerEnter:(0,r.M)(e.onPointerEnter,C(c.onOpen)),onPointerLeave:(0,r.M)(e.onPointerLeave,C(c.onClose)),ref:a})})});F.displayName=w;var y=l.forwardRef((e,a)=>{let{__scopeHoverCard:t,onEscapeKeyDown:c,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:d,...p}=e,Z=M(w,t),f=E(t),A=l.useRef(null),V=(0,m.e)(a,A),[v,g]=l.useState(!1);return l.useEffect(()=>{if(v){let e=document.body;return n=e.style.userSelect||e.style.webkitUserSelect,e.style.userSelect="none",e.style.webkitUserSelect="none",()=>{e.style.userSelect=n,e.style.webkitUserSelect=n}}},[v]),l.useEffect(()=>{if(A.current){let e=()=>{g(!1),Z.isPointerDownOnContentRef.current=!1,setTimeout(()=>{var e;(null===(e=document.getSelection())||void 0===e?void 0:e.toString())!==""&&(Z.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",e),()=>{document.removeEventListener("pointerup",e),Z.hasSelectionRef.current=!1,Z.isPointerDownOnContentRef.current=!1}}},[Z.isPointerDownOnContentRef,Z.hasSelectionRef]),l.useEffect(()=>{A.current&&(function(e){let a=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();)a.push(t.currentNode);return a})(A.current).forEach(e=>e.setAttribute("tabindex","-1"))}),(0,s.jsx)(h.XB,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:d,onEscapeKeyDown:c,onPointerDownOutside:o,onFocusOutside:(0,r.M)(i,e=>{e.preventDefault()}),onDismiss:Z.onDismiss,children:(0,s.jsx)(u.VY,{...f,...p,onPointerDown:(0,r.M)(p.onPointerDown,e=>{e.currentTarget.contains(e.target)&&g(!0),Z.hasSelectionRef.current=!1,Z.isPointerDownOnContentRef.current=!0}),ref:V,style:{...p.style,userSelect:v?"text":void 0,WebkitUserSelect:v?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})});function C(e){return a=>"touch"===a.pointerType?void 0:e()}l.forwardRef((e,a)=>{let{__scopeHoverCard:t,...n}=e,l=E(t);return(0,s.jsx)(u.Eh,{...l,...n,ref:a})}).displayName="HoverCardArrow";var b=V,x=g,R=F}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8459,244,3317,7138],{63521:function(){}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3317,244,8459,7138],{63521:function(){}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);