@askly/widget 2.11.0 → 3.0.0

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 (46) hide show
  1. package/MIGRATION-3.0.md +58 -0
  2. package/README.md +87 -3
  3. package/dist/app/HelpTab-jjw4cF1_.js +1 -0
  4. package/dist/app/VoiceRecorder-CMc1Bz14.js +1 -0
  5. package/dist/app/askly-app.js +1 -0
  6. package/dist/app/shared-C0Z29aNi.js +1 -0
  7. package/dist/app/speech-8iAgRQFA.js +1 -0
  8. package/dist/index.esm.js +1 -1
  9. package/dist/index.umd.js +1 -1
  10. package/dist/loader.js +1 -0
  11. package/dist/types/app.d.ts +3 -0
  12. package/dist/types/core/api.d.ts +30 -0
  13. package/dist/types/core/config.d.ts +44 -0
  14. package/dist/types/core/html.d.ts +2 -0
  15. package/dist/{core → types/core}/speech.d.ts +2 -7
  16. package/dist/{core → types/core}/types.d.ts +1 -0
  17. package/dist/types/core/voice.d.ts +7 -0
  18. package/dist/types/index.d.ts +7 -0
  19. package/dist/types/loader/attrs.d.ts +4 -0
  20. package/dist/types/loader/core.d.ts +26 -0
  21. package/dist/types/widget-entry.d.ts +1 -0
  22. package/dist/{widget.d.ts → types/widget.d.ts} +1 -2
  23. package/dist/widget.js +1 -10
  24. package/package.json +32 -21
  25. package/dist/index.d.ts +0 -124
  26. /package/dist/{core → types/core}/events.d.ts +0 -0
  27. /package/dist/{core → types/core}/format.d.ts +0 -0
  28. /package/dist/{core → types/core}/greeting.d.ts +0 -0
  29. /package/dist/{core → types/core}/session.d.ts +0 -0
  30. /package/dist/{core → types/core}/storage.d.ts +0 -0
  31. /package/dist/{icons.d.ts → types/icons.d.ts} +0 -0
  32. /package/dist/{identity.d.ts → types/identity.d.ts} +0 -0
  33. /package/dist/{markdown.d.ts → types/markdown.d.ts} +0 -0
  34. /package/dist/{pathRules.d.ts → types/pathRules.d.ts} +0 -0
  35. /package/dist/{realtime.d.ts → types/realtime.d.ts} +0 -0
  36. /package/dist/{ui → types/ui}/ChatTerms.d.ts +0 -0
  37. /package/dist/{ui → types/ui}/Composer.d.ts +0 -0
  38. /package/dist/{ui → types/ui}/ConversationList.d.ts +0 -0
  39. /package/dist/{ui → types/ui}/ExploreTab.d.ts +0 -0
  40. /package/dist/{ui → types/ui}/GreetingBubble.d.ts +0 -0
  41. /package/dist/{ui → types/ui}/HelpTab.d.ts +0 -0
  42. /package/dist/{ui → types/ui}/Launcher.d.ts +0 -0
  43. /package/dist/{ui → types/ui}/MessageList.d.ts +0 -0
  44. /package/dist/{ui → types/ui}/NavTabs.d.ts +0 -0
  45. /package/dist/{ui → types/ui}/PanelHeader.d.ts +0 -0
  46. /package/dist/{ui → types/ui}/VoiceRecorder.d.ts +0 -0
@@ -0,0 +1,58 @@
1
+ # Migrating to @askly/widget 3.0
2
+
3
+ 3.0 changes how the widget is delivered, not what it does. Every option, method and event from
4
+ 2.x still works. Most sites have nothing to do.
5
+
6
+ ## Script tag
7
+
8
+ Nothing to change if you load it from a CDN. `dist/widget.js` is now a loader of under 5 KB
9
+ that fetches the widget on demand from the `app/` directory next to it, so the existing
10
+ one-line embed keeps working, including on `@latest`. We recommend pinning the major version:
11
+
12
+ ```html
13
+ <script src="https://unpkg.com/@askly/widget@3/dist/widget.js" data-app-id="…" async></script>
14
+ ```
15
+
16
+ If you copied `widget.js` to your own server, copy the whole `dist/` directory this time
17
+ (`widget.js` and `app/`), and keep old `app/` files around for a while after each update:
18
+ a visitor who already has the main file may still fetch its chunks.
19
+
20
+ ## npm
21
+
22
+ `react` and `react-dom` are no longer peer dependencies; you can remove them if the widget was
23
+ the only reason you had them. `import Askly from "@askly/widget"` still works and still gives
24
+ you the same API. What you import is now the loader; the widget's code is fetched from the CDN,
25
+ for your exact package version, when first needed. To keep everything on your own origin, copy
26
+ `dist/app/` to your static assets and pass its URL as `appUrl` (see the README).
27
+
28
+ If you rendered the React component directly (`import { ChatWidget } from "@askly/widget"`),
29
+ that export is gone. Use `Askly.init()`, or `<AsklyProvider>` from the new `@askly/react`.
30
+
31
+ ## Styling
32
+
33
+ The widget now renders in a Shadow DOM. CSS on your page that targeted the widget's class names
34
+ (`.askly-chat-modal`, `.askly-chat-button`, …) no longer reaches it. Colours and fonts come from
35
+ the portal; for per-page adjustments set these properties on the host elements:
36
+
37
+ ```css
38
+ askly-widget, askly-loader { --askly-brand: #0f766e; --askly-font-family: "Inter", sans-serif; }
39
+ ```
40
+
41
+ ## Content Security Policy
42
+
43
+ The widget's code is now a module that the loader imports, so a nonce on the `<script>` tag is
44
+ no longer enough on its own: add `'strict-dynamic'` to `script-src`, or list the origin you load
45
+ the widget from. If your page enforces Trusted Types, allow the policy name `askly`. With
46
+ Turnstile on, allow `https://challenges.cloudflare.com` in `script-src` and `frame-src`.
47
+
48
+ ## New
49
+
50
+ - `Askly.unmount()` removes the widget without forgetting the visitor (use it where a framework
51
+ mounts and unmounts; `shutdown()` still also resets identity, for logout).
52
+ - `<askly-chat app-id="…">` element, `appUrl` option, `@askly/react`.
53
+
54
+ ## Removed
55
+
56
+ - The `readAloud` option (removed in 2.11.0; still accepted and ignored).
57
+ - The `ChatWidget` React component export.
58
+ - Internet Explorer 11: the build targets ES2019 and needs dynamic `import()` (Chrome 73, Safari 12.1, Firefox 67 and later).
package/README.md CHANGED
@@ -22,14 +22,30 @@ Askly is an **embeddable AI support chat widget** for React and plain HTML. Drop
22
22
 
23
23
  ### Script tag (any website)
24
24
 
25
- One line, before `</body>`. The bundle is self-contained — no React or other dependencies on your page:
25
+ One line, before `</body>`:
26
26
 
27
27
  ```html
28
- <script src="https://unpkg.com/@askly/widget@latest/dist/widget.js" data-app-id="YOUR_APP_ID" async></script>
28
+ <script src="https://unpkg.com/@askly/widget@3/dist/widget.js" data-app-id="YOUR_APP_ID" async></script>
29
29
  ```
30
30
 
31
31
  That's the whole install. Your branding — name, logo, theme, welcome message — loads automatically from your Askly portal settings.
32
32
 
33
+ What the page downloads is a loader of under 5 KB. It paints the launcher at once and fetches the
34
+ widget itself (about 40 KB, from the same place as the loader) only when it is about to be
35
+ needed: when the visitor moves to the launcher, when the greeting bubble is due, when a
36
+ conversation from an earlier visit may have replies waiting, or when your code calls the API.
37
+ Voice input and the help centre are fetched separately, the first time they are used.
38
+
39
+ The widget renders inside a Shadow DOM, so your site's CSS cannot affect it and its CSS cannot
40
+ affect your site. Pin a major version (`@3`) rather than `@latest`, so a future major release
41
+ cannot change your embed without you.
42
+
43
+ You can also place it as an element, with the same attributes minus the `data-` prefix:
44
+
45
+ ```html
46
+ <askly-chat app-id="YOUR_APP_ID" position="left"></askly-chat>
47
+ ```
48
+
33
49
  ### NPM (React / bundlers)
34
50
 
35
51
  ```bash
@@ -42,7 +58,62 @@ import Askly from '@askly/widget';
42
58
  Askly.init({ appId: "YOUR_APP_ID" });
43
59
  ```
44
60
 
45
- The npm builds (`index.esm.js` / `index.umd.js`) treat React as a peer dependency, so your bundle isn't double-shipping it.
61
+ The package has no dependencies and no React peer dependency. What you import is the same small
62
+ loader as the script tag; the widget's code is fetched from the CDN, for exactly the package
63
+ version you installed, when it is first needed. It adds about 3 KB to your bundle.
64
+
65
+ To serve the widget from your own origin instead, copy `node_modules/@askly/widget/dist/app/` to
66
+ your static assets and point the loader at it:
67
+
68
+ ```javascript
69
+ Askly.init({ appId: "YOUR_APP_ID", appUrl: "/static/askly/app/askly-app.js" });
70
+ ```
71
+
72
+ ### React
73
+
74
+ ```bash
75
+ npm install @askly/widget @askly/react
76
+ ```
77
+
78
+ ```tsx
79
+ import { AsklyProvider, useAskly } from "@askly/react";
80
+
81
+ <AsklyProvider appId="YOUR_APP_ID">
82
+ <App />
83
+ </AsklyProvider>
84
+
85
+ // anywhere below the provider
86
+ const askly = useAskly();
87
+ askly.showNewMessage("Hi, I have a question about billing.");
88
+ ```
89
+
90
+ `AsklyProvider` initialises the widget on mount and removes it on unmount; `useAsklyEvent(name, handler)`
91
+ and `useAsklyIdentity(identity)` wrap `Askly.on()` and `Askly.identify()`.
92
+
93
+ ### Theming from your page
94
+
95
+ Colours come from the portal. If you need to adjust them per page, set these two custom
96
+ properties on the widget's host elements; they are the one thing that crosses into the widget
97
+ and they win over the portal's values:
98
+
99
+ ```css
100
+ askly-widget, askly-loader { --askly-brand: #0f766e; --askly-font-family: "Inter", sans-serif; }
101
+ ```
102
+
103
+ (`askly-loader` is the launcher shown before the widget's code has been fetched.)
104
+
105
+ ### Content Security Policy
106
+
107
+ With a strict CSP:
108
+
109
+ - `script-src` must allow the origin the widget is loaded from (the loader and the widget come
110
+ from the same place). A nonce on the `<script>` tag alone is not enough, because the widget's
111
+ code is a module the loader imports: add `'strict-dynamic'`, or list the origin.
112
+ - `connect-src` must include the Askly API, and `media-src` needs `blob:` if voice input is on.
113
+ - With Cloudflare Turnstile on, `script-src` and `frame-src` must allow `https://challenges.cloudflare.com`.
114
+ - Pages that enforce Trusted Types must allow the policy name `askly` (`trusted-types askly`).
115
+ - Styles use constructed stylesheets, so `style-src` needs no `'unsafe-inline'` in current
116
+ browsers. Safari and iOS before 16.4 fall back to a `<style>` element, which does need it.
46
117
 
47
118
  ## Quick Start
48
119
 
@@ -373,11 +444,24 @@ npm install
373
444
  npm run build
374
445
  ```
375
446
 
447
+ `npm run build` produces:
448
+
449
+ | File | What |
450
+ | :--- | :--- |
451
+ | `dist/widget.js` (= `dist/loader.js`) | The script-tag loader. |
452
+ | `dist/app/askly-app.js` | The widget, an ES module the loader imports; `dist/app/*-[hash].js` are its lazy chunks. |
453
+ | `dist/index.esm.js`, `dist/index.umd.js` | The npm entry (the loader as a module). |
454
+ | `dist/types/` | Type declarations. |
455
+ | `packages/react/dist/` | `@askly/react`. |
456
+
457
+ `npm run size` checks the budgets: 5 KB for the loader, 42 KB for the app (gzip).
458
+
376
459
  ### Releasing
377
460
 
378
461
  ```bash
379
462
  npm version <patch|minor|major>
380
463
  npm publish # prepublishOnly rebuilds dist/
464
+ cd packages/react && npm version <same> && npm publish
381
465
  ```
382
466
 
383
467
  **Publishing is not the last step.** The tenant portal bundles this package
@@ -0,0 +1 @@
1
+ import{g as e,j as t,t as a,a1 as l,a2 as c,C as s,b as n,B as r}from"./shared-C0Z29aNi.js";function i(i){const{allArticles:o,articleFeedback:m,articlesLoading:d,handleSearchChange:p,handleSelectArticle:u,organizationLogo:h,organizationName:E,searchError:N,searchLoading:f,searchQuery:y,searchResults:g,selectedArticle:v,selectedCollection:k,setActiveTab:b,setArticleFeedback:x,setInput:w,setSelectedArticle:C,setSelectedCollection:S,themeColor:z}=i;return e.createElement("div",{className:"chat-body help-layout"},v?e.createElement("div",{className:"help-article-reader"},e.createElement("div",{className:"article-breadcrumb"},e.createElement("button",{className:"article-breadcrumb-link",onClick:()=>{C(null),S(null)}},"Help Center"),e.createElement("span",null,"/"),e.createElement("span",{className:"article-breadcrumb-type"},v.document_type||"Guide")),e.createElement("button",{className:"help-back-btn",onClick:()=>C(null),style:{marginBottom:14}},e.createElement(t,{size:16}),e.createElement("span",null,"Back to articles")),e.createElement("div",{className:"help-article-heading"},v.title),e.createElement("div",{className:"article-author-bar"},e.createElement("img",{src:h||"https://askly.co.in/logo-small.png",alt:E,className:"article-author-avatar"}),e.createElement("div",{className:"article-author-text"},e.createElement("span",{className:"article-author-name"},"Written by ",E," Support Team"),e.createElement("span",{className:"article-author-meta"},"Updated recently • ⏱ ",Math.max(1,Math.ceil((v.content||"").split(/\s+/).length/180))," min read"))),e.createElement("div",{className:"help-article-body",dangerouslySetInnerHTML:{__html:a(l(v.content))}}),e.createElement("div",{className:"article-feedback"},e.createElement("div",{className:"article-feedback-title"},"Did this answer your question?"),m[v.id]?e.createElement("div",{className:"article-feedback-thanks"},"🎉 Thank you for your feedback!"):e.createElement("div",{className:"article-feedback-options"},e.createElement("button",{className:"article-feedback-btn",onClick:()=>x(e=>({...e,[v.id]:"yes"}))},"😃 Yes"),e.createElement("button",{className:"article-feedback-btn",onClick:()=>x(e=>({...e,[v.id]:"somewhat"}))},"😐 Somewhat"),e.createElement("button",{className:"article-feedback-btn",onClick:()=>x(e=>({...e,[v.id]:"no"}))},"😞 No")),e.createElement("button",{className:"article-handoff",onClick:()=>{w(`I have a question about article "${v.title}": `),b("messages")}},e.createElement("div",{className:"article-handoff-text"},e.createElement("span",{className:"article-handoff-title"},e.createElement(c,{size:13})," Still have questions?"),e.createElement("span",{className:"article-handoff-desc"},"Ask our AI Agent for instant answers")),e.createElement(s,{size:16,className:"article-handoff-chevron"})))):e.createElement("div",null,e.createElement("div",{className:"home-search-input-wrapper",style:{marginBottom:14}},e.createElement(n,{size:14,className:"search-icon-svg"}),e.createElement("input",{type:"text",value:y,onChange:p,placeholder:"Search for articles..."}),f&&e.createElement("span",{className:"search-loader"})),k&&e.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:12}},e.createElement("button",{onClick:()=>S(null),style:{all:"unset",cursor:"pointer",fontSize:12,color:z,fontWeight:500,display:"flex",alignItems:"center",gap:4}},e.createElement(t,{size:14}),e.createElement("span",null,"All Collections")),e.createElement("span",{style:{fontSize:12,color:"var(--text-4)"}},"/"),e.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--text-1)",textTransform:"capitalize"}},k)),e.createElement("div",{className:"help-articles-list"},""===y.trim()?k?(()=>{const t=o.filter(e=>(e.document_type||"guide").toLowerCase()===k.toLowerCase());return e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10,width:"100%"}},e.createElement("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-3)",textTransform:"uppercase",letterSpacing:"0.5px"}},k," Articles (",t.length,")"),e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},t.map(t=>e.createElement("button",{key:t.id,className:"help-article-row",onClick:()=>u(t)},e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:3,alignItems:"flex-start",textAlign:"left"}},e.createElement("span",{className:"article-row-title"},t.title),t.content&&e.createElement("span",{className:"article-row-preview"},t.content.replace(/[\n\r]+/g," ").slice(0,85),"...")),e.createElement(s,{size:14,className:"article-row-chevron"})))))})():e.createElement("div",{className:"help-collections"},(()=>{if(d)return[0,1,2].map(t=>e.createElement("div",{key:t,className:"help-collection-card is-skeleton"},e.createElement("div",{className:"help-collection-left"},e.createElement("span",{className:"askly-skeleton help-collection-icon-skel"}),e.createElement("div",{className:"help-collection-text"},e.createElement("span",{className:"askly-skeleton askly-skeleton-line",style:{width:"60%"}}),e.createElement("span",{className:"askly-skeleton askly-skeleton-line",style:{width:"90%"}})))));const t={};o.forEach(e=>{const a=(e.document_type||"guide").toLowerCase();t[a]||(t[a]=[]),t[a].push(e)});const a=Object.keys(t);return 0===a.length?e.createElement("div",{className:"askly-empty-state"},e.createElement("div",{className:"askly-empty-icon"},e.createElement(r,{size:22})),e.createElement("div",{className:"askly-empty-title"},"Help Documentation"),e.createElement("div",{className:"askly-empty-desc"},"Search above to fetch instant solutions from our knowledge base.")):a.map(a=>{const l=t[a],c="guide"===a?"Guides & Tutorials":"faq"===a?"Frequently Asked Questions":"troubleshooting"===a?"Troubleshooting & Support":"Rules & Documentation",n="guide"===a?"Setup walkthroughs, rules, and getting started guides":"faq"===a?"Quick answers to common account and service questions":"troubleshooting"===a?"Step-by-step solutions for technical issues":"Official terms, rules, and policy documentation";return e.createElement("button",{key:a,className:"help-collection-card",onClick:()=>S(a)},e.createElement("div",{className:"help-collection-left"},e.createElement("div",{className:"help-collection-icon"},e.createElement(r,{size:16})),e.createElement("div",{className:"help-collection-text"},e.createElement("div",{className:"help-collection-title"},c),e.createElement("div",{className:"help-collection-desc"},n),e.createElement("div",{className:"help-collection-count"},l.length," ",1===l.length?"article":"articles"))),e.createElement(s,{size:16,className:"help-collection-chevron"}))})})()):N?e.createElement("div",{className:"no-search-results"},N):0!==g.length||f?g.map(t=>e.createElement("button",{key:t.id,className:"help-article-row",onClick:()=>u(t)},e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:3,alignItems:"flex-start"}},e.createElement("span",{className:"article-row-title"},t.title),e.createElement("span",{className:"article-row-preview"},t.content.slice(0,80),"...")),e.createElement(s,{size:14,className:"article-row-chevron"}))):e.createElement("div",{className:"no-search-results"},'No articles matching "',y,'"'))))}export{i as HelpTab};
@@ -0,0 +1 @@
1
+ import{p as e,q as a,g as t,X as n}from"./shared-C0Z29aNi.js";function s({phase:s,meterRef:c,maxMs:l,onStop:r,onCancel:i}){const[o,m]=e([]),[p,u]=e(0);a(()=>{if("recording"!==s)return;const e=setInterval(()=>{const{level:e,elapsedMs:a}=c.current;u(a),m(a=>(a.length>=80?a.slice(1):a).concat(e))},100);return()=>clearInterval(e)},[s]);const b="recording"===s,d=l-p,v="transcribing"===s?"Transcribing…":b?"Listening…":"Waiting for the microphone…";return t.createElement("div",{className:`askly-voice ${s}`},t.createElement("button",{type:"button",className:"askly-voice-btn",onClick:i,title:"Cancel","aria-label":"Cancel voice input"},t.createElement(n,{size:20})),t.createElement("span",{className:"askly-voice-meter","aria-hidden":"true"},o.map((e,a)=>t.createElement("i",{key:a,style:{height:`${Math.round(2+22*Math.min(1,e))}px`}}))),t.createElement("span",{className:"askly-voice-status",role:"status"},v),b&&d<=1e4&&t.createElement("span",{className:"askly-voice-time"},Math.max(0,Math.ceil(d/1e3)),"s"),b?t.createElement("button",{type:"button",className:"askly-voice-btn done",onClick:r,title:"Stop and transcribe","aria-label":"Stop and transcribe"},t.createElement("span",{className:"askly-voice-stop"})):t.createElement("span",{className:"askly-voice-btn done busy","aria-hidden":"true"},t.createElement("span",{className:"askly-voice-spinner"})))}export{s as VoiceRecorder};
@@ -0,0 +1 @@
1
+ import{g as e,T as t,s as a,f as r,C as n,a as o,L as s,G as l,X as i,b as c,B as d,c as p,P as u,S as m,M as g,A as h,d as f,z as y,e as x,h as b,i as v,j as k,t as w,k as E,l as N,m as z,n as I,r as S,o as C,p as A,q as T,u as q,W as M,v as j,w as _,x as $,y as D,D as R,E as U,F as O,H as L,_ as P,I as V,J as F,K as H,N as Y,O as B,Q as G,R as J,U as W,V as X,Y as K,Z as Q,$ as Z,a0 as ee}from"./shared-C0Z29aNi.js";function te(e,t=[],a=[]){return t.length>0?t.some(t=>e.startsWith(t)):!(a.length>0)||!a.some(t=>e.startsWith(t))}const ae=[1e3,2e3,5e3,15e3,3e4,6e4];function re(e){let t,a="message";const r=[];for(const n of e.split("\n")){if(!n||":"===n.charAt(0))continue;const e=n.indexOf(":"),o=-1===e?n:n.slice(0,e),s=-1===e?"":n.slice(e+1).replace(/^ /,"");"event"===o?a=s:"id"===o?t=s:"data"===o&&r.push(s)}if(0===r.length)return null;try{return{type:a,id:t,data:JSON.parse(r.join("\n"))}}catch{return null}}const ne="askly_visitor_",oe="askly_scope_",se={};function le(e){var t;try{const t=window.localStorage.getItem(e);if(null!==t)return t}catch{}return null!==(t=se[e])&&void 0!==t?t:null}function ie(e,t){se[e]=t;try{window.localStorage.setItem(e,t)}catch{}}function ce(e){delete se[e];try{window.localStorage.removeItem(e)}catch{}}function de(e,t){const a=ne+(e||"detect"),r=le(a);if(r)return r;if(t&&t!==e){const e=le(ne+t);if(e)return ie(a,e),e}const n=function(){try{if("undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID();if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues){const e=crypto.getRandomValues(new Uint8Array(16));e[6]=15&e[6]|64,e[8]=63&e[8]|128;const t=Array.from(e,e=>e.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}();return ie(a,n),n}function pe(e){const t=e||"detect",a=le(oe+t);a&&a!==t&&pe(a),ce(ne+t),ce("askly_threads_"+t);for(const e of Object.keys(se))e.includes(t)&&!e.startsWith(oe)&&delete se[e];try{const e=[];for(let a=0;a<window.localStorage.length;a++){const r=window.localStorage.key(a);r&&r.startsWith(`askly_conversations_${t}`)&&e.push(r)}e.forEach(e=>window.localStorage.removeItem(e))}catch{}}function ue(){return`chat_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}let me=null;const ge=new Set;function he(e){me=e,ge.forEach(t=>{try{t(e)}catch(e){console.error("[Askly] identify listener failed:",e)}})}const fe=new Set;let ye=0;function xe(){return ye}function be(o){const{conversations:s,setActiveChatId:l,startNewChat:i}=o;return e.createElement("div",{className:"conversations-list-container"},e.createElement("div",{className:"conversations-scrollable"},0===s.length&&e.createElement("div",{className:"askly-empty-state"},e.createElement("div",{className:"askly-empty-icon"},e.createElement(t,{size:22})),e.createElement("div",{className:"askly-empty-title"},"No conversations yet"),e.createElement("div",{className:"askly-empty-desc"},"Start a chat and our AI agent & team will help you out.")),s.map((t,o)=>{const i=t.messages[t.messages.length-1],c=i?i.content:"No messages yet",d=t.lastUpdated?new Date(t.lastUpdated):new Date;return e.createElement("button",{key:t.id,className:"conversation-list-item",onClick:()=>l(t.id)},e.createElement("div",{className:"conversation-item-left"},e.createElement("div",{className:"conversation-item-details"},e.createElement("span",{className:"conversation-item-title"},"Chat #",s.length-o),e.createElement("span",{className:"conversation-item-preview"},a(c).slice(0,50)))),e.createElement("div",{className:"conversation-item-right"},e.createElement("span",{className:"conversation-item-time"},r(d)),e.createElement(n,{size:14})))})),e.createElement("button",{className:"start-new-chat-btn",onClick:()=>i()},"Ask a Question"))}function ve(t){const{open:a,setOpen:r,buttonIcon:n,buttonShape:l,buttonStyle:i,launcherUnread:c,resolvedTheme:d,setActiveChatId:p,setActiveTab:u,unreadChatId:m}=t;return e.createElement("div",{className:`askly-chat-button shape-${l} ${a?"open":""}`,"data-askly-theme":d,style:i,onClick:()=>{!a&&m&&(u("messages"),p(m)),r(!a)},title:"Support Center"},a?e.createElement(o,{size:24}):"💬"===n?e.createElement(s,{size:32}):n,!a&&c>0&&e.createElement("span",{className:"askly-launcher-badge",role:"status","aria-label":1===c?"1 new message":`${c} new messages`},c>9?"9+":c))}function ke(t){const{accentVars:a,aiAnswering:r,aiAvatarUrl:n,dismissGreeting:o,faqs:s,greetingText:c,openFromGreeting:d,organizationLogo:p,position:u,resolvedTheme:m}=t;return e.createElement("div",{className:`askly-greeting askly-greeting-${u}`,"data-askly-theme":m,style:a,role:"status"},e.createElement("div",{className:"askly-greeting-card"},e.createElement("button",{type:"button",className:"askly-greeting-body",onClick:()=>d()},(r&&n||p)&&e.createElement("img",{src:r&&n||p,alt:"",className:"askly-greeting-avatar"}),e.createElement("span",{className:"askly-greeting-text"},c)),e.createElement("button",{type:"button",className:"askly-greeting-close",onClick:o,"aria-label":"Dismiss greeting",title:"Dismiss"},e.createElement(i,{size:14}))),s.length>0&&e.createElement("div",{className:"askly-greeting-chips"},s.slice(0,l).map((t,a)=>e.createElement("button",{type:"button",key:a,className:"quick-reply-chip askly-greeting-chip",onClick:()=>d(t.question)},t.question))))}function we(a){const{allArticles:r,articlesLoading:s,expandedFaqIndex:l,faqs:i,handleSearchChange:p,handleSelectArticle:u,organizationLogo:m,organizationName:g,searchError:h,searchLoading:f,searchQuery:y,searchResults:x,setActiveTab:b,setExpandedFaqIndex:v,setInput:k}=a;return e.createElement("div",{className:"chat-body home-layout"},e.createElement("div",{className:"home-hero"},e.createElement("div",{className:"home-hero-brand"},e.createElement("img",{src:m||"https://askly.co.in/logo-small.png",alt:g,className:"home-hero-logo"})),e.createElement("div",{className:"home-hero-title"},"Hello there"),e.createElement("div",{className:"home-hero-subtitle"},"How can we help?")),e.createElement("div",{className:"home-content"},e.createElement("div",{className:"explore-search"},e.createElement(c,{size:16,className:"explore-search-icon"}),e.createElement("input",{type:"text",value:y,onChange:p,placeholder:"Search for help…"}),f&&e.createElement("span",{className:"search-loader"})),""!==y.trim()?e.createElement("div",{className:"explore-search-panel"},h?e.createElement("div",{className:"no-search-results"},h):0!==x.length||f?x.map(t=>e.createElement("button",{key:t.id,className:"search-result-item",onClick:()=>{u(t),b("help")}},e.createElement(d,{size:13,style:{flexShrink:0}}),e.createElement("span",{className:"search-result-title"},t.title),e.createElement(n,{size:14,style:{marginLeft:"auto",flexShrink:0}}))):e.createElement("div",{className:"no-search-results"},'No articles matching "',y,'"')):e.createElement(e.Fragment,null,e.createElement("button",{className:"explore-cta",onClick:()=>b("messages")},e.createElement("span",{className:"explore-cta-orbs","aria-hidden":"true"}),e.createElement("span",{className:"explore-cta-text"},e.createElement("span",{className:"explore-cta-title"},"Ask our AI Agent"),e.createElement("span",{className:"explore-cta-sub"},"Instant answers, 24/7 — or reach the team")),e.createElement("span",{className:"explore-cta-arrow"},e.createElement(n,{size:18}))),e.createElement("div",{className:"explore-tiles"},e.createElement("button",{className:"explore-tile",onClick:()=>b("help")},e.createElement("span",{className:"explore-tile-icon"},e.createElement(d,{size:18})),e.createElement("span",{className:"explore-tile-title"},"Help Center"),e.createElement("span",{className:"explore-tile-sub"},"Guides & docs")),e.createElement("button",{className:"explore-tile",onClick:()=>b("messages")},e.createElement("span",{className:"explore-tile-icon"},e.createElement(t,{size:18})),e.createElement("span",{className:"explore-tile-title"},"Messages"),e.createElement("span",{className:"explore-tile-sub"},"Your conversations"))),i.length>0&&e.createElement("div",{className:"explore-section"},e.createElement("div",{className:"explore-section-head"},e.createElement("span",null,"Popular questions"),e.createElement("span",{className:"explore-section-count"},i.length)),e.createElement("div",{className:"explore-faq-list"},i.map((t,a)=>{const r=l===a;return e.createElement("div",{key:a,className:"explore-faq "+(r?"open":"")},e.createElement("button",{className:"explore-faq-q",onClick:()=>v(r?null:a)},e.createElement("span",null,t.question),e.createElement(o,{size:15,className:"explore-faq-chevron"})),r&&e.createElement("div",{className:"explore-faq-a"},e.createElement("div",null,t.answer),e.createElement("button",{className:"faq-ask-link",onClick:()=>{k(t.question),b("messages")}},e.createElement("span",null,"Ask AI Agent about this"),e.createElement(n,{size:12}))))}))),(s||r.length>0)&&e.createElement("div",{className:"explore-section"},e.createElement("div",{className:"explore-section-head"},e.createElement("span",null,"Recommended reading")),e.createElement("div",{className:"recommended-articles-list"},s?[0,1,2].map(t=>e.createElement("div",{key:t,className:"rec-article-skeleton"},e.createElement("span",{className:"askly-skeleton askly-skeleton-chip"}),e.createElement("span",{className:"askly-skeleton askly-skeleton-line"}))):r.slice(0,3).map(t=>e.createElement("button",{key:t.id,className:"rec-article-row",onClick:()=>{u(t),b("help")}},e.createElement(d,{size:13,className:"rec-article-icon"}),e.createElement("span",{className:"rec-article-title"},t.title),e.createElement(n,{size:14,className:"rec-article-chevron"}))))))))}function Ee(a){const{activeTab:r,setActiveTab:n,setSelectedArticle:o}=a;return e.createElement("div",{className:"chat-nav-tabs"},e.createElement("button",{className:"nav-tab-btn "+("explore"===r?"active":""),onClick:()=>{n("explore"),o(null)}},e.createElement("span",{className:"nav-tab-icon"},e.createElement(c,{active:"explore"===r})),e.createElement("span",null,"Explore")),e.createElement("button",{className:"nav-tab-btn "+("messages"===r?"active":""),onClick:()=>n("messages")},e.createElement("span",{className:"nav-tab-icon"},e.createElement(t,{active:"messages"===r})),e.createElement("span",null,"Messages")),e.createElement("button",{className:"nav-tab-btn "+("help"===r?"active":""),onClick:()=>n("help")},e.createElement("span",{className:"nav-tab-icon"},e.createElement(p,{active:"help"===r})),e.createElement("span",null,"Help")))}const Ne=y(()=>import("./VoiceRecorder-CMc1Bz14.js").then(e=>({default:e.VoiceRecorder})).catch(()=>({default:ze})));function ze({onCancel:t}){return e.useEffect(()=>{t()},[]),null}const Ie=["😀","😃","😄","😁","😆","😅","😂","🤣","😊","😇","🙂","🙃","😉","😌","😍","🥰","😘","😗","😙","😚","😋","😛","😝","😜","🤪","🤠","🥳","😎","🤓","🧐","👍","👎","👌","✌️","🤞","🤟","🤘","🤙","👋","👏"];function Se(t){const{cancelVoiceInput:a,fileInputRef:r,handleEmojiClick:n,handleFileChange:o,handleFileUploadClick:s,input:l,inputRef:i,isTyping:c,leadRequired:d,placeholderText:p,sendMessage:y,setInput:x,setShowEmojiPicker:b,showEmojiPicker:v,startVoiceInput:k,stopVoiceInput:w,turnstileBlocked:E,uploadingFile:N,voiceInputEnabled:z,voiceMaxMs:I,voiceMeterRef:S,voicePhase:C}=t,A="idle"!==C,T=c||N||d||E||A;return e.createElement("div",{className:"chat-footer "+(A?"voice-active":"")},A&&e.createElement(f,{fallback:e.createElement("div",{className:"askly-voice"})},e.createElement(Ne,{phase:C,meterRef:S,maxMs:I,onStop:w,onCancel:a})),e.createElement("div",{className:"composer-input-row",style:A?{display:"none"}:void 0},e.createElement("textarea",{ref:i,rows:1,value:l,onChange:e=>x(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||229===e.nativeEvent.keyCode||(e.preventDefault(),y())},"aria-label":"Message",placeholder:d?"Add your email above to continue…":E?"Verify security check to chat...":p,disabled:T})),e.createElement("input",{type:"file",ref:r,style:{display:"none"},onChange:o}),e.createElement("div",{className:"composer-actions-row",style:A?{display:"none"}:void 0},e.createElement("div",{className:"composer-actions-left"},e.createElement("button",{className:"footer-action-btn",onClick:s,disabled:T,title:"Upload attachment (Max 10MB)"},e.createElement(u,{size:18})),e.createElement("button",{className:"footer-action-btn "+(v?"active":""),onClick:()=>b(!v),disabled:T,title:"Insert emoji"},e.createElement(m,{size:18})),z&&e.createElement("button",{className:"voice-btn "+("recording"===C?"listening":""),onClick:"recording"===C?w:k,title:"recording"===C?"Finish recording":"Voice input","aria-label":"recording"===C?"Finish recording":"Voice input","aria-pressed":"recording"===C,disabled:"recording"!==C&&T},e.createElement(g,{size:18}))),e.createElement("button",{onClick:()=>y(),disabled:T||!l.trim(),className:"send-btn"},e.createElement(h,{size:18}))),v&&e.createElement("div",{className:"askly-emoji-picker"},Ie.map(t=>e.createElement("button",{key:t,onClick:()=>n(t),className:"emoji-item"},t))))}function Ce(t){const{activeChatId:a,activeTab:r,aiAnswering:n,aiAvatarUrl:o,aiName:s,headerStyle:l,isExpanded:i,organizationLogo:c,organizationName:d,setActiveChatId:p,setIsExpanded:u,setOpen:m}=t,g=e.createElement("div",{style:{display:"flex",gap:8,alignItems:"center"}},e.createElement("button",{className:"header-action-btn",onClick:()=>u(!i),title:i?"Collapse window":"Expand window"},i?e.createElement(b,{size:16}):e.createElement(v,{size:16})),e.createElement("button",{className:"header-action-btn",onClick:()=>m(!1)},e.createElement(x,{size:18})));if("explore"===r)return e.createElement("div",{className:"chat-header chat-header-floating"},e.createElement("div",{className:"header-content"}),g);if("messages"===r&&null!==a)return e.createElement("div",{className:"chat-header",style:l},e.createElement("div",{className:"header-content"},e.createElement("button",{className:"header-back-arrow-btn",onClick:()=>p(null),title:"Back to conversations"},e.createElement(k,{size:20})),(()=>{const t=n&&o||c,a=n&&s||d;return e.createElement(e.Fragment,null,e.createElement("img",{src:t||"https://askly.co.in/logo-small.png",alt:a,className:"header-avatar "+(t?"":"is-default-logo")}),n&&s&&e.createElement("div",{className:"header-title"},s))})()),g);const h="help"===r?"Help Center":"Messages";return e.createElement("div",{className:"chat-header",style:l},e.createElement("div",{className:"header-content"},e.createElement("div",{className:"header-title header-title-lg"},h)),g)}function Ae(e){var t;return"markdown"===(null!==(t=e.format)&&void 0!==t?t:"agent"===e.role?"markdown":"text")?S(e.content):C(e.content)}const Te=e.memo(function(t){const{copiedMsgIndex:a,messages:n,msgReactions:o,setCopiedMsgIndex:s,setMsgReactions:l,showTimestamp:i}=t;return e.createElement(e.Fragment,null,n.map((t,c)=>{const d="agent"===t.role;d&&(0===c||n[c-1].role);const p=o[c];return e.createElement("div",{key:c,className:`msg-wrapper ${t.role}`},e.createElement("div",{className:"msg-column"},e.createElement("div",{className:`msg ${t.role}`},e.createElement("div",{className:"msg-content",dangerouslySetInnerHTML:{__html:w(Ae(t))}}),i&&t.timestamp&&e.createElement("div",{className:"msg-time"},r(t.timestamp))),d&&t.content&&e.createElement("div",{className:"msg-reactions"},e.createElement("button",{className:"msg-reaction-btn "+("up"===p?"active":""),title:"Helpful",onClick:()=>l(e=>({...e,[c]:"up"===e[c]?void 0:"up"}))},e.createElement(E,{size:13})),e.createElement("button",{className:"msg-reaction-btn "+("down"===p?"active":""),title:"Not helpful",onClick:()=>l(e=>({...e,[c]:"down"===e[c]?void 0:"down"}))},e.createElement(N,{size:13})),e.createElement("button",{className:"msg-reaction-btn",title:a===c?"Copied":"Copy",onClick:()=>{var e;try{null===(e=navigator.clipboard)||void 0===e||e.writeText(t.content)}catch(e){}s(c),setTimeout(()=>s(e=>e===c?null:e),1500)}},a===c?e.createElement(z,{size:13}):e.createElement(I,{size:13})))))}))});function qe(){return e.createElement("div",{className:"chat-terms-notice"},e.createElement("span",null,"By chatting, you agree to our"," ",e.createElement("a",{href:"https://askly.co.in/terms",target:"_blank",rel:"noopener noreferrer",className:"askly-terms-link"},"Terms")),e.createElement("span",{className:"chat-terms-divider"},"·"),e.createElement("span",null,"Powered by"," ",e.createElement("a",{href:"https://askly.co.in",target:"_blank",rel:"noopener noreferrer",className:"askly-powered-link"},"Askly")))}const Me=y(()=>import("./HelpTab-jjw4cF1_.js").then(e=>({default:e.HelpTab})).catch(()=>({default:je})));function je(){return e.createElement("div",{className:"askly-lead-error askly-composer-notice",role:"alert"},"The help centre couldn't be loaded. Check your connection and try again.")}const _e=({orgId:t,organizationName:a="Askly",themeColor:r="#0f172a",theme:n="auto",position:s="right",orgServerRoute:l,enableVoiceChat:i,voiceInput:c,welcomeMessage:d="Hi! How can I help you today?",placeholderText:p="Type your message...",organizationLogo:u,buttonIcon:m="💬",buttonShape:g="round",autoOpen:h=!1,greeting:y,showTimestamp:x=!1,soundEnabled:b=!1,soundVolume:v=.4,poweredBy:k="Team Askly",userId:w,timestamp:E,signature:N,turnstileSiteKey:z,excludePaths:I=[],includePaths:S=[],configOverride:C,resetGeneration:J,greetingStartedAt:W,onMessageSent:X,onMessageReceived:K,onChatOpened:Q,onChatClosed:Z,onEscalation:ee})=>{var ne,se,ce;const[he,ye]=A("undefined"!=typeof window?window.location.pathname:""),[Ne,ze]=A(a),[Ie,Ae]=A(u),[je,_e]=A(r),[$e,De]=A(n),[Re,Ue]=A(g),[Oe,Le]=A("off"),[Pe,Ve]=A(V(c)||(!1===i?"off":void 0)),[Fe,He]=A(null),[Ye,Be]=A(null),Ge="object"==typeof y&&null!==y?y:null,[Je,We]=A(!0),[Xe,Ke]=A(null),[Qe,Ze]=A(G),[et,tt]=A(!1),[at,rt]=A(!0),[nt,ot]=A("smart"),[st,lt]=A("Leave your email and we'll reply there if you've gone."),[it,ct]=A(!1),[dt,pt]=A(!1),[ut,mt]=A(!1),[gt,ht]=A(!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-color-scheme: dark)").matches);T(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),t=e=>ht(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);const ft="auto"===$e?gt?"dark":"light":$e,[yt,xt]=A(d),[bt,vt]=A(t),kt=e=>{if(!e)return;var a,r;e.orgId&&(vt(e.orgId),a=t||"detect",(r=e.orgId)&&r!==a&&le(oe+a)!==r&&ie(oe+a,r),jr.current=!0),e.organizationName&&ze(e.organizationName),e.logoUrl&&Ae(e.logoUrl),e.themeColor&&_e(e.themeColor),"light"!==e.theme&&"dark"!==e.theme&&"auto"!==e.theme||De(e.theme),"round"!==e.buttonShape&&"square"!==e.buttonShape||Ue(e.buttonShape);const n=V(e.voiceInput);if(n&&Le(n),void 0!==e.ai_name&&He(e.ai_name||null),void 0!==e.ai_avatar_url&&Be(e.ai_avatar_url||null),void 0!==e.greetingEnabled&&We(!!e.greetingEnabled),void 0!==e.greetingMessage&&Ke("string"==typeof e.greetingMessage&&e.greetingMessage.trim()?e.greetingMessage:null),"number"==typeof e.greetingDelayMs&&e.greetingDelayMs>=0&&Ze(e.greetingDelayMs),void 0!==e.ai_answering&&rt(e.ai_answering),e.leadCapture&&ot(e.leadCapture),e.leadCapturePrompt&&lt(e.leadCapturePrompt),e.welcomeMessage&&xt(e.welcomeMessage),e.faqs&&Array.isArray(e.faqs)&&At(e.faqs),e.featured_articles&&Array.isArray(e.featured_articles)){const t=e.featured_articles.map((e,t)=>({id:e.id||`featured_${t}`,title:e.title||"Featured Article",content:e.content||"",document_type:e.document_type||"guide",score:1}));jt(t)}};T(()=>{const e=`askly_config_${t||"detect"}`;let a=null;try{a="undefined"!=typeof window?window.sessionStorage:null}catch{a=null}if(a)try{const t=a.getItem(e);t&&(kt(JSON.parse(t)),tt(!0))}catch{}C&&kt(C);(async()=>{try{const r=l.replace(/\/messages\/widget$/,"")+"/messages/widget/config",n=t?`?org_id=${t}`:"",o=await fetch(`${r}${n}`);if(o.ok){const t=await o.json();if(kt(t),a)try{a.setItem(e,JSON.stringify(t))}catch{}C&&kt(C),kt(Fn.current),tt(!0)}}catch(e){console.warn("[Askly] Failed to load remote widget config, using local properties:",e)}finally{Pn(!0)}})()},[t,l,a,r,i,d,C]),T(()=>{if("undefined"==typeof window)return;const e=()=>{ye(window.location.pathname)},t=window.history.pushState,a=window.history.replaceState;let r=!0;const n=function(...a){t.apply(this,a),r&&e()},o=function(...t){a.apply(this,t),r&&e()};return window.history.pushState=n,window.history.replaceState=o,window.addEventListener("popstate",e),()=>{r=!1,window.removeEventListener("popstate",e),window.history.pushState===n&&(window.history.pushState=t),window.history.replaceState===o&&(window.history.replaceState=a)}},[]);const[wt,Et]=A(h),[Nt,zt]=A("messages");T(()=>{const e=()=>Et(!0),t=()=>Et(!1),a=()=>Et(e=>!e);return window.addEventListener("askly:open",e),window.addEventListener("askly:close",t),window.addEventListener("askly:toggle",a),()=>{window.removeEventListener("askly:open",e),window.removeEventListener("askly:close",t),window.removeEventListener("askly:toggle",a)}},[]);const[It,St]=A(!1),[Ct,At]=A([]),[Tt,qt]=A(null),[Mt,jt]=A([]),[_t,$t]=A("all"),[Dt,Rt]=A({}),[Ut,Ot]=A(null),Lt=te(he,S,I),[Pt,Vt]=A(0),Ft=bt||"detect",Ht=q(void 0),Yt=q(!1),Bt=e.useMemo(()=>{if("undefined"==typeof window)return"";Yt.current&&Ht.current&&Ht.current!==Ft&&(Yt.current=!1,pe(Ft));const e=de(Ft,Ht.current);return Ht.current=Ft,e},[Ft,Pt]),Gt=q(Bt);Gt.current=Bt;const[Jt,Wt]=A(!1),Xt=q(bt);Xt.current=bt;const Kt=q(l);Kt.current=l;const Qt=e=>Kt.current.replace(/\/messages\/widget$/,"")+"/messages/widget"+e,Zt=q(null);Zt.current||(Zt.current=new M({api:Qt,getOrganizationId:()=>Xt.current,getVisitorId:()=>Gt.current,onChange:()=>Wt(!!Zt.current&&Zt.current.human)}));const ea=Zt.current;T(()=>()=>ea.clear(),[Bt]);const[ta,aa]=A(null),[ra,na]=A(!0),oa=ra?w:void 0,sa=ra?N:void 0,la=ra?E:void 0,ia=(null==ta?void 0:ta.userId)||oa,ca=`askly_conversations_${Ft}_${ia||Bt||"guest"}`,[da,pa]=A(()=>"undefined"!=typeof window?j(ca):[]),ua=q(da);ua.current=da;const ma=q(Ft),ga=q(ia||Bt);T(()=>{if("undefined"==typeof window)return;const e=j(ca),t=ia||Bt,a=ma.current!==Ft,r=ga.current===t;ma.current=Ft,ga.current=t,a&&r&&0===e.length&&ua.current.length>0||pa(e)},[ca]);const[ha,fa]=A(null),ya=q(ha);ya.current=ha;const[xa,ba]=A([]),[va,ka]=A(""),[wa,Ea]=A([]),Na=wa.includes(ha||"primary"),[za,Ia]=A(null),Sa="off"===Oe||"off"===Pe?"off":Pe||Oe,[Ca,Aa]=A("idle"),[Ta,qa]=A(null),[Ma,ja]=A(!1),_a=q({level:0,elapsedMs:0}),$a=q(null),Da=q(null),Ra=q(null),Ua=q(0),Oa=q(!1),La=q(()=>{}),[Pa,Va]=A(!1),[Fa,Ha]=A(null),[Ya,Ba]=A(0),[Ga,Ja]=A(!1),Wa=q(!1),Xa=q(null),Ka=!(!(null==ta?void 0:ta.hash)&&!sa||Ga),Qa=!!z&&!Ka&&!Jt,Za=Qa&&!Fa,[er,tr]=A(""),[ar,rr]=A([]),[nr,or]=A(!1),[sr,lr]=A(null),[ir,cr]=A(null),[dr,pr]=A([]),[ur,mr]=A(!0),[gr,hr]=A({}),[fr,yr]=A(null),xr=q(null);T(()=>{(async()=>{if(bt){mr(!0);try{const e=l.replace(/\/messages\/widget$/,"")+"/knowledge/widget/list",t=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({organization_id:bt,limit:20})});if(t.ok){const e=await t.json(),a=(e.results||e.documents||[]).map(e=>({id:e.id||e._id,title:e.title||e.filename||"Untitled Article",content:e.content||"",document_type:e.document_type||"guide",score:e.score||0}));pr(a)}}catch(e){console.error("Failed to load article catalog:",e)}finally{mr(!1)}}})()},[bt,l]);const[br,vr]=A(!1),[kr,wr]=A(!1),Er=q(null),Nr=q(!0),zr=q(!1),Ir=q(0),[Sr,Cr]=A(0),Ar=q(null),Tr=q(null),qr=q(null),Mr=q(Ft);Mr.current=Ft;const jr=q(!1),_r=q(0),$r=_r.current;T(()=>{"undefined"!=typeof window&&$r===_r.current&&_(ca,da)},[da,ca]),T(()=>{const e=()=>{_r.current+=1,La.current(),ea.clear(),Wa.current=!1,Ja(!1),Kr.current=new Set,an([]),ja(!1),Oa.current=!1,pe(Mr.current),jr.current||(Yt.current=!0),Gt.current=de(Mr.current),aa(null),na(!1),pa([]),fa(null),ba([]),ka(""),Ea([]),ct(!1),pt(!1),mt(!1),wn(""),In(null),tr(""),rr([]),cr(null),hr({}),yr(null),Ia(null),Vt(e=>e+1)},t=(a=e,fe.add(a),()=>{fe.delete(a)});var a;return void 0!==J&&xe()!==J&&e(),()=>{t(),_r.current+=1,La.current()}},[]);const[Dr,Rr]=A(null);T(()=>{if(ha){const e=da.find(e=>e.id===ha);ba(e?e.messages:[])}else ba([]);Rr(ha)},[ha]),T(()=>{ha&&xa.length>0&&pa(e=>{const t=e.find(e=>e.id===ha);return t&&JSON.stringify(t.messages)===JSON.stringify(xa)?e:t?e.map(e=>e.id===ha?{...e,messages:xa,lastUpdated:(new Date).toISOString()}:e):xa.some(e=>"user"===e.role)?[{id:ha,messages:xa,lastUpdated:(new Date).toISOString()},...e]:e})},[xa,ha]),T(()=>{var e;if(bt&&Bt)return e=async e=>{if(aa(e),!e.hash)return void console.warn("[Askly] identify() called without `hash`. The user will not be linked server-side. Generate the HMAC on your backend — see the Askly docs.");e.timestamp||console.warn("[Askly] identify() called with `hash` but no `timestamp`. The server recomputes the HMAC from the timestamp it was signed with, so verification will fail without it."),ea.userId&&ea.userId!==e.userId&&ea.clear(),Wa.current=!1,Ja(!1);let t=()=>{};const a=new Promise(e=>{t=e});Xa.current=a;try{const t=Gt.current,a=ea.token,r=await fetch(Qt("/identify"),{method:"POST",headers:{"Content-Type":"application/json",...a?{Authorization:`Bearer ${a}`}:{}},body:JSON.stringify({organization_id:bt,visitor_id:t,user_id:e.userId,timestamp:e.timestamp||Math.floor(Date.now()/1e3),signature:e.hash,email:e.email,name:e.name,phone:e.phone,attributes:e.attributes||{}})});r.ok?t===Gt.current&&(O("identify:success",{userId:e.userId}),ea.apply(await r.json().catch(()=>null))):(console.error(`[Askly] identify() was rejected by the server (HTTP ${r.status}). The user is not linked to their Askly profile, and messages are sent as an anonymous visitor.`),400!==r.status&&403!==r.status||(Wa.current=!0,Ja(!0)),O("identify:error",{userId:e.userId,status:r.status}))}catch(t){console.error("[Askly] identify() request failed:",t),O("identify:error",{userId:e.userId})}finally{t(),Xa.current===a&&(Xa.current=null)}},ge.add(e),me&&e(me),()=>{ge.delete(e)}},[bt,Bt,l]);const Ur=()=>{const e=ue(),t={id:e,messages:yt?[{role:"agent",content:yt,timestamp:new Date,format:"markdown"}]:[],lastUpdated:(new Date).toISOString()};return pa(e=>[t,...e]),fa(e),e},Or=$(null!==(ne=null==Ge?void 0:Ge.message)&&void 0!==ne?ne:Xe,at?Fe:null,Ne),Lr=null!==(se=null==Ge?void 0:Ge.delayMs)&&void 0!==se?se:Qe,Pr=!1!==y&&(!0===y||Je)&&!h,Vr=t||"detect",Fr=da.some(e=>e.messages.some(e=>"user"===e.role)),[Hr,Yr]=A(!1),[Br,Gr]=A("undefined"==typeof document||!document.hidden),Jr=da.reduce((e,t)=>e+(t.unread||0),0),Wr=null===(ce=da.filter(e=>(e.unread||0)>0).sort((e,t)=>e.lastUpdated<t.lastUpdated?1:-1)[0])||void 0===ce?void 0:ce.id,Xr=q(Nt);Xr.current=Nt;const Kr=q(new Set);T(()=>{wt&&"messages"===Nt&&ha&&da.some(e=>e.id===ha&&(e.unread||0)>0)&&pa(e=>e.map(e=>e.id===ha?{...e,unread:0}:e))},[wt,Nt,ha,da]);const[Qr,Zr]=A(!1),en=q(!1);T(()=>{if(!Pr||!et||wt||!Lt||en.current)return;if(Fr)return;if("undefined"==typeof window||D(Vr))return;const e=W?Date.now()-W:0,t=setTimeout(()=>{en.current=!0,Zr(!0),R("shown")},Math.max(0,Lr-e));return()=>clearTimeout(t)},[Pr,et,wt,Lt,Lr,Vr,Fr]),T(()=>{wt&&(en.current=!0,Qr&&Zr(!1),Pr&&"undefined"!=typeof window&&U(Vr))},[wt]);const[tn,an]=A([]),[rn,nn]=A(0),on=q(null),sn=q(0);T(()=>{rn!==sn.current&&wt&&qr.current&&(sn.current=rn,qr.current.focus())},[rn,wt,Nt,ha,xa.length]),T(()=>{"messages"!==Nt||0!==da.length||ha||Ur()},[Nt,da.length,ha]),T(()=>{const e=e=>1===e.length&&"agent"===e[0].role&&!e[0].messageId&&"greeting"!==e[0].kind&&e[0].content!==yt;pa(t=>t.some(t=>e(t.messages))?t.map(t=>e(t.messages)?{...t,messages:[{...t.messages[0],content:yt}]}:t):t),ba(t=>e(t)?[{...t[0],content:yt}]:t)},[yt]);const ln=(e,t)=>{e!==ya.current?pa(a=>a.map(a=>a.id===e?{...a,messages:[...a.messages,t],lastUpdated:(new Date).toISOString()}:a)):ba(e=>[...e,t])},cn=q(xa);T(()=>{cn.current=xa},[xa]);const dn=q({chatId:null,ids:new Set});T(()=>{if(!(wt&&Lt&&"messages"===Nt&&ha&&bt&&Bt))return;let e=!1;const t=e=>`${Qt("/conversation")}?org_id=${encodeURIComponent(bt)}`+(e?"":`&visitor_id=${encodeURIComponent(Bt)}`)+`&thread_key=${encodeURIComponent(ha)}`,a=async()=>{if("undefined"==typeof document||!document.hidden)try{const a=await ea.fetch(t);if(!a.ok)return;const r=await a.json();if(e)return;void 0!==r.contact_known&&ct(r.contact_known);const n=(r.messages||[]).filter(e=>"human"===e.role&&e.message_id),o=dn.current;o.chatId!==ha&&(o.chatId=ha,o.ids=new Set);const s=new Set(cn.current.map(e=>e.messageId).filter(Boolean));o.ids.forEach(e=>s.add(e)),Kr.current.forEach(e=>s.add(e));const l=n.filter(e=>!s.has(e.message_id)).map(e=>({role:"agent",content:e.content,timestamp:e.timestamp?new Date(e.timestamp):new Date,messageId:e.message_id,format:"markdown"===e.format?"markdown":"text"}));if(!e&&l.length>0){const e=l.filter(e=>!Kr.current.has(e.messageId));l.forEach(e=>{o.ids.add(e.messageId),Kr.current.add(e.messageId)}),e.length>0&&(ba(t=>{const a=new Set(t.map(e=>e.messageId).filter(Boolean)),r=e.filter(e=>!a.has(e.messageId));return r.length?[...t,...r]:t}),fn("received"),e.forEach(e=>{null==K||K(e.content),O("message:received",{text:e.content,conversationId:ha,from:"agent",messageId:e.messageId})}))}}catch{}},r=setInterval(a,Hr?3e4:4e3);a();const n=()=>{document.hidden||a()};return document.addEventListener("visibilitychange",n),()=>{e=!0,clearInterval(r),document.removeEventListener("visibilitychange",n)}},[wt,Lt,Nt,ha,bt,l,Bt,Hr]),T(()=>{if("undefined"==typeof document)return;let e;const t=()=>{clearTimeout(e),document.hidden?e=setTimeout(()=>Gr(!1),15e3):Gr(!0)};return document.addEventListener("visibilitychange",t),()=>{clearTimeout(e),document.removeEventListener("visibilitychange",t)}},[]),T(()=>{if(!(bt&&Bt&&Lt&&Br&&Fr))return;if("undefined"==typeof fetch||"undefined"==typeof AbortController||"undefined"==typeof TextDecoder)return;const e=e=>e&&"human"===e.role&&e.message_id?{role:"agent",content:e.content,timestamp:e.timestamp?new Date(e.timestamp):new Date,messageId:e.message_id,format:"markdown"===e.format?"markdown":"text"}:null,t=(e,t)=>{var a;const r=t.messageId;if(Kr.current.has(r))return;Kr.current.add(r);const n=e===ya.current;if((n?cn.current:(null===(a=ua.current.find(t=>t.id===e))||void 0===a?void 0:a.messages)||[]).some(e=>e.messageId===r))return;const o=xn.current&&n&&"messages"===Xr.current;n&&ba(e=>e.some(e=>e.messageId===r)?e:[...e,t]),pa(a=>{const s=a.find(t=>t.id===e),l=(new Date).toISOString();return s?a.map(a=>{if(a.id!==e)return a;const s=n||a.messages.some(e=>e.messageId===r)?a.messages:[...a.messages,t];return{...a,messages:s,lastUpdated:l,unread:o?a.unread:(a.unread||0)+1}}):n?a:[{id:e,messages:[t],lastUpdated:l,unread:1},...a]}),fn("received"),null==K||K(t.content),O("message:received",{text:t.content,conversationId:e,from:"agent",messageId:r})};let a=!1;const r=function(e){let t=!1,a=null,r=null;const n=e=>new Promise(t=>{const a=setTimeout(t,e);r=()=>{clearTimeout(a),t()}});return(async()=>{let r=0;for(;!t;){let o,s=0,l=!1;a=new AbortController;const i=()=>{clearTimeout(o),o=setTimeout(()=>a&&a.abort(),45e3)};try{const r=await e.connect(a.signal);if(t)return;if(!r||404===r.status||405===r.status)return void e.onDown("unsupported");if(!r.ok)throw new Error(`stream HTTP ${r.status}`);if(!r.body||"function"!=typeof r.body.getReader)return void e.onDown("unsupported");const n=r.body.getReader(),o=new TextDecoder;let c="";for(i();;){const{value:a,done:r}=await n.read();if(r)break;i(),c+=o.decode(a,{stream:!0}).replace(/\r\n/g,"\n");let d=c.indexOf("\n\n");for(;-1!==d;){const a=re(c.slice(0,d));c=c.slice(d+2),d=c.indexOf("\n\n"),a&&!t&&("ready"===a.type?(s=Date.now(),e.onLive()):"reconnect"===a.type?l=!0:e.onEvent(a))}if(l)break}}catch{}finally{clearTimeout(o);try{a.abort()}catch{}}if(t)return;e.onDown("down");const c=s>0&&Date.now()-s>=3e4;c?r=0:r+=1;const d=c&&l?500:ae[Math.min(r,ae.length-1)];await n(d/2+Math.random()*(d/2))}})(),{close:()=>{if(t=!0,a)try{a.abort()}catch{}r&&r()},kick:()=>{if(!t){if(a)try{a.abort()}catch{}r&&r()}}}}({connect:async e=>{var t;if(!ea.supported)return null;if(!(null!==(t=ea.token)&&void 0!==t?t:await ea.start())){if(!ea.supported)return null;throw new Error("no session yet")}const{res:a,token:r}=await ea.request(`${Qt("/events")}?org_id=${encodeURIComponent(bt)}`,{headers:{Accept:"text/event-stream"},signal:e});if(!r)throw new Error("session lost");return a},onEvent:a=>{if("message"!==a.type||!a.data||"string"!=typeof a.data.thread_key)return;const r=e(a.data.message);r&&t(a.data.thread_key,r)},onLive:()=>{Yr(!0),(async()=>{const r=ua.current.filter(e=>e.messages.some(e=>"user"===e.role)).slice(0,5);for(const n of r){if(a)return;try{const r=await ea.fetch(e=>`${Qt("/conversation")}?org_id=${encodeURIComponent(bt)}`+(e?"":`&visitor_id=${encodeURIComponent(Bt)}`)+`&thread_key=${encodeURIComponent(n.id)}`);if(!r.ok||a)continue;const o=await r.json();for(const r of o.messages||[]){const o=e(r);o&&!a&&t(n.id,o)}}catch{}}})()},onDown:()=>Yr(!1)});let n=!0;const o=setInterval(async()=>{if(n&&ea.token)try{const e=await ea.fetch(`${Qt("/presence")}?org_id=${encodeURIComponent(bt)}`,{method:"POST"});404!==e.status&&405!==e.status||(n=!1)}catch{}},45e3),s=()=>r.kick();return window.addEventListener("online",s),()=>{a=!0,clearInterval(o),window.removeEventListener("online",s),r.close(),Yr(!1)}},[bt,Bt,Lt,Br,Fr,l]),T(()=>{if(wt&&Qa&&"undefined"!=typeof window&&!document.getElementById("cloudflare-turnstile-script")){const e=document.createElement("script");e.id="cloudflare-turnstile-script",e.src=L("https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"),e.async=!0,e.defer=!0,document.head.appendChild(e)}},[wt,Qa]);const pn=wt&&Lt&&"messages"===Nt&&null!==ha;T(()=>{if(!Qa||!pn||"undefined"==typeof window)return;let e,t=!1;const a=()=>{if(t)return;const r=window.turnstile,n=document.getElementById("askly-turnstile-container");if(r&&n)try{Ar.current=r.render(n,{sitekey:z,callback:e=>{Ha(e),Ia(null)},"expired-callback":()=>{Ha(null)},"error-callback":()=>{Ha(null)}})}catch(e){console.error("[Askly] Turnstile render error:",e)}else e=setTimeout(a,300)};return e=setTimeout(a,150),()=>{t=!0,clearTimeout(e);const a=Ar.current;if(Ar.current=null,a&&window.turnstile)try{window.turnstile.remove(a)}catch{}Ha(null)}},[Qa,pn,ha,z]),T(()=>{if(0===Ya)return;const e=Ar.current;if(e&&window.turnstile)try{window.turnstile.reset(e)}catch(e){console.error("[Askly] Turnstile reset error:",e)}},[Ya]);const un=q(null),mn=()=>{if("undefined"==typeof window)return null;if(!un.current){const e=window.AudioContext||window.webkitAudioContext;if(!e)return null;try{un.current=new e}catch{return null}}return un.current},gn=()=>{const e=mn();e&&"suspended"===e.state&&e.resume().catch(()=>{})},hn={sent:[{freq:392,start:0,duration:.08}],received:[{freq:587.33,start:0,duration:.09},{freq:783.99,start:.09,duration:.14}],error:[{freq:311.13,start:0,duration:.14,type:"sawtooth"},{freq:233.08,start:.12,duration:.18,type:"sawtooth"}],escalation:[{freq:880,start:0,duration:.12},{freq:1174.66,start:.11,duration:.2,type:"triangle"}]},fn=e=>{if(!b)return;const t=mn();if(!t)return;"suspended"===t.state&&t.resume().catch(()=>{});const a=hn[e]||hn.received,r=t.currentTime,n=.35*Math.max(0,Math.min(1,v));for(const e of a){const a=t.createOscillator(),o=t.createGain();a.type=e.type||"sine",a.frequency.value=e.freq;const s=r+e.start;o.gain.setValueAtTime(1e-4,s),o.gain.exponentialRampToValueAtTime(n,s+.012),o.gain.exponentialRampToValueAtTime(1e-4,s+e.duration),a.connect(o).connect(t.destination),a.start(s),a.stop(s+e.duration+.03)}},yn=q(!1);T(()=>{yn.current?wt&&Lt?(gn(),null==Q||Q(),O("open")):(La.current(),null==Z||Z(),O("close")):yn.current=!0},[wt&&Lt]);const xn=q(wt);xn.current=wt;T(()=>()=>{xr.current&&clearTimeout(xr.current)},[]);const bn=e=>{const t=e.target.value;if(tr(t),xr.current&&clearTimeout(xr.current),!t.trim())return rr([]),lr(null),void or(!1);or(!0),xr.current=setTimeout(()=>(async e=>{if(!e.trim())return rr([]),void lr(null);or(!0),lr(null);try{const t=l.replace(/\/messages\/widget$/,"")+"/knowledge/widget/search",a=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({organization_id:bt||"",query:e,top_k:5})});if(a.ok){const e=await a.json();rr(e.results||[])}else rr([]),lr(429===a.status?"You're searching too fast — please wait a moment and try again.":"Search is unavailable right now. Please try again shortly.")}catch(e){console.error("RAG search failed:",e),rr([]),lr("Search is unavailable right now. Please try again shortly.")}finally{or(!1)}})(t),350)},vn=e=>{cr(e)},[kn,wn]=A(""),[En,Nn]=A(!1),[zn,In]=A(null),Sn=!it&&("always"===nt?0===xa.filter(e=>"user"===e.role).length:"smart"===nt&&(dt||!at));T(()=>{var e;Sn&&(null===(e=on.current)||void 0===e||e.focus())},[Sn]);const Cn=xa[xa.length-1],An="smart"===nt&&!it&&!Sn&&!ut&&!Na&&xa.some(e=>"user"===e.role)&&"agent"===(null==Cn?void 0:Cn.role),Tn=(e="smooth")=>{const t=Er.current;if(!t)return;const a="undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":e;"function"==typeof t.scrollTo?t.scrollTo({top:t.scrollHeight,behavior:a}):t.scrollTop=t.scrollHeight,Nr.current=!0,Cr(0)};P(()=>{if(Ir.current=0,Nr.current=!0,Cr(0),null===ha)return;zr.current=!0;const e=Er.current;e&&(e.scrollTop=e.scrollHeight)},[ha]),T(()=>{var e;if(!Er.current||null===ha)return;const t=xa.length-Ir.current;Ir.current=xa.length;const a=t>0&&"user"===(null===(e=xa[xa.length-1])||void 0===e?void 0:e.role);Nr.current||a?(Tn(zr.current?"auto":"smooth"),zr.current=!1):t>0&&Cr(e=>e+t)},[xa,Na,kr,Sn,ha]),T(()=>{const e=Er.current;if(!e||"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(()=>{Nr.current&&(e.scrollTop=e.scrollHeight)});return t.observe(e),()=>t.disconnect()},[ha]);P(()=>{const e=qr.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,120)}px`,e.style.overflowY=e.scrollHeight>120?"auto":"hidden")},[va,ha]);const qn=async()=>{const e=kn.trim();if(e&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)){if(bt&&Bt){Nn(!0),In(null);try{if(!(await ea.fetch(Qt("/contact-details"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({organization_id:bt,visitor_id:Bt,email:e,timestamp:Math.floor(Date.now()/1e3)})})).ok)throw new Error("Could not save that address.");ct(!0),O("lead:captured"),wn("")}catch{In("Couldn't save that just now. You can carry on chatting.")}finally{Nn(!1)}}}else In("That doesn't look like an email address.")},Mn=async(e,t)=>{const a=("string"==typeof e?e:va).trim();if(!a)return;if(Sn)return;if(Za)return void Ia("Please complete the security check first.");const r=ha,n=r||"primary",o=_r.current,s=Ar.current,i=(null==ta?void 0:ta.timestamp)||la||Math.floor(Date.now()/1e3),c=!(!t||!t.voice)||"string"!=typeof e&&Oa.current;Oa.current=!1;const d={role:"user",content:a,timestamp:new Date,format:"text"};ba(e=>[...e,d]),ka(""),Ia(null),Da.current=null,qa(null),Ea(e=>e.includes(n)?e:[...e,n]),gn(),fn("sent"),null==X||X(a),O("message:sent",{text:a,conversationId:n});try{Xa.current&&await Xa.current,ea.token||await ea.start();const e={organization_id:bt||"",visitor_id:Gt.current,thread_key:n,message:a,timestamp:i,context:{url:"undefined"!=typeof window?window.location.href:void 0,title:"undefined"!=typeof document?document.title:void 0,referrer:"undefined"!=typeof document&&document.referrer||void 0,locale:"undefined"!=typeof navigator?navigator.language:void 0,screen:"undefined"!=typeof window&&window.screen?`${window.screen.width}x${window.screen.height}`:void 0}};c&&(e.metadata={input_mode:"voice"}),ia&&(e.user_id=ia);const t=(null==ta?void 0:ta.hash)||sa,s=!!ea.userId&&ea.userId===ia;!t||s||Wa.current?e.timestamp=Math.floor(Date.now()/1e3):e.signature=t,Fa&&(e.turnstile_token=Fa);const{res:d,token:p}=await ea.request(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!d.ok){const e=await d.json().catch(()=>({})),t=new Error(e.detail||`HTTP ${d.status}`);throw t.status=d.status,t}const u=await d.json();if(o!==_r.current)return;if(ea.token&&ea.token!==p||ea.apply(u),u.reply){const e={role:"agent",content:u.reply,timestamp:new Date,format:"text"===u.format?"text":"markdown"};ln(r,e)}void 0!==u.contact_known&&ct(u.contact_known),u.escalated||u.should_escalate?(pt(!0),fn("escalation"),null==ee||ee(u),O("escalated",{conversationId:n})):u.reply&&fn("received"),u.reply&&(null==K||K(u.reply),O("message:received",{text:u.reply,conversationId:n,from:"ai",messageId:u.message_id}))}catch(e){if(o!==_r.current)return;console.error("[Askly] Message failed:",e),O("error",{message:"Message could not be sent",status:null==e?void 0:e.status}),ln(r,{role:"agent",content:429===(null==e?void 0:e.status)?"You're sending messages too quickly. Please wait a moment and try again.":"Sorry, something went wrong. Please try again.",timestamp:new Date,format:"text"}),fn("error"),Va(!0),setTimeout(()=>Va(!1),500)}finally{Ea(e=>e.filter(e=>e!==n)),Qa&&Ar.current===s&&(Ha(null),Ba(e=>e+1))}},jn=q(null);jn.current={sendMessage:Mn,voiceInput:Sa,leadRequired:Sn,turnstileBlocked:Za,isTyping:Na,uploadingFile:kr,input:va};const _n=(e,t=!1)=>{const a=B(e);Aa("idle"),qa(t?a:null),Ia(a),O("voice:error",{code:e})},$n=async e=>{const t=Ua.current,a=_r.current,r=ya.current;Da.current=e,Aa("transcribing"),qa(null);const n="undefined"!=typeof AbortController?new AbortController:null;Ra.current=n;const o=setTimeout(()=>null==n?void 0:n.abort(),3e4);try{ea.token||await ea.start();const o=new FormData;o.append("organization_id",bt||""),o.append("file",e.blob,-1!==e.blob.type.indexOf("mp4")?"clip.mp4":"clip.webm"),o.append("duration_ms",String(Math.round(e.durationMs))),"undefined"!=typeof navigator&&navigator.language&&o.append("language",navigator.language);const s=await ea.fetch(Qt("/transcribe"),{method:"POST",body:o,signal:n?n.signal:void 0});if(t!==Ua.current||a!==_r.current)return;if(!s.ok){const e=(await s.json().catch(()=>({}))).detail;return console.error("[Askly] Transcription failed:",s.status,e),void("voice_disabled"===e?_n("disabled"):429===s.status?_n("limit"):_n("failed",s.status>=500))}const l=await s.json();if(t!==Ua.current||a!==_r.current)return;Da.current=null;const i="string"==typeof l.text?l.text.trim():"";if(!i)return void _n("no-speech");Aa("idle"),Ia(null),O("voice:transcript",{text:i,language:l.language||void 0});const c=jn.current;!("auto-send"!==c.voiceInput||c.leadRequired||c.turnstileBlocked||c.isTyping||c.uploadingFile||c.input.trim()||r!==ya.current)?c.sendMessage(i,{voice:!0}):(Oa.current=!0,ka(e=>e+(""===e||/\s$/.test(e)?"":" ")+i))}catch(e){if(t!==Ua.current||a!==_r.current)return;console.error("[Askly] Transcription failed:",e),_n("network",!0)}finally{clearTimeout(o),Ra.current===n&&(Ra.current=null)}},Dn=async()=>{if("off"===Sa||"idle"!==Ca)return;if(Sn||Za||Na||kr)return;const e=++Ua.current;Da.current=null,_a.current={level:0,elapsedMs:0},qa(null),Ia(null),vr(!1),Aa("starting");try{const{startRecording:t}=await(import("./speech-8iAgRQFA.js"));if(e!==Ua.current)return;const a=await t({maxMs:6e4,silenceMs:2e3,noSpeechMs:8e3,onMeter:(e,t)=>{_a.current={level:e,elapsedMs:t}},onDone:t=>{e===Ua.current&&($a.current=null,O("voice:stop",{durationMs:t.durationMs}),"ok"!==t.outcome?_n(t.outcome):t.blob.size<200?_n("no-speech"):$n(t))}});if(e!==Ua.current)return void a.cancel();$a.current=a,Aa("recording"),O("voice:start")}catch(t){if(e!==Ua.current)return;_n(t&&t.code||"failed")}},Rn=()=>{var e;null===(e=$a.current)||void 0===e||e.stop()},Un=()=>{var e,t;Ua.current+=1,null===(e=$a.current)||void 0===e||e.cancel(),$a.current=null,null===(t=Ra.current)||void 0===t||t.abort(),Ra.current=null,Da.current=null,qa(null),Aa("idle")};La.current=Un;T(()=>{"idle"!==Ca&&Un()},[pn,ha]);const On=q(Ca);T(()=>{const e=On.current;On.current=Ca,"idle"!==e&&"idle"===Ca&&pn&&nn(e=>e+1)},[Ca]),T(()=>{""===va&&(Oa.current=!1)},[va]),T(()=>{if("idle"===Ca)return;if("off"===Sa)return void Un();const e=e=>{"Escape"===e.key&&Un()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[Ca,Sa]),T(()=>{var e;const t=tn[0];if(!t||!wt||!Lt||"messages"!==Nt)return;const a=null!==(e=t.chatId)&&void 0!==e?e:ha;if(!a)return void(da.length>0&&fa(da[0].id));if(ha!==a||Dr!==a)return;const r=()=>{const e=tn.map(e=>e.text).filter(e=>!!e);an([]),e.length&&ka(e.join("\n")),nn(e=>e+1)};if(!t.send)return an(e=>e.slice(1)),null!==t.text&&ka(t.text),void nn(e=>e+1);if(Sn)return r();if(Za){const e=setTimeout(r,1e4);return()=>clearTimeout(e)}Na||(an(e=>e.slice(1)),Mn(t.text))},[tn,wt,Lt,Nt,ha,Dr,da.length,Sn,Za,Na]);const[Ln,Pn]=A(!1);T(()=>{if(Ma&&Ln)return"off"===Sa?(ja(!1),console.warn("[Askly] startVoiceInput() ignored: voice input is turned off."),void O("voice:error",{code:"disabled"})):void(!pn||Dr!==ha||tn.length>0||(ja(!1),Sn||Za||Na||kr?console.warn("[Askly] startVoiceInput() ignored: the message box is not available yet."):Dn()))},[Ma,Ln,Sa,pn,Dr,ha,tn.length]);const Vn=q(()=>{}),Fn=q({}),[Hn,Yn]=A(null);Vn.current=e=>{if(Lt||"close"===e.type||"update"===e.type)switch(e.type){case"open":Et(!0);break;case"close":Et(!1);break;case"toggle":Et(e=>!e);break;case"showSpace":zt("home"===e.space?"explore":"help"===e.space?"help":"messages"),Et(!0);break;case"showNewMessage":case"sendMessage":{const t="sendMessage"===e.type,a="string"==typeof e.text?e.text:null;if(t&&!(a||"").trim())break;zt("messages"),Et(!0),an(e=>[...e,{chatId:null,text:t?a.trim():a,send:t}]);break}case"showArticle":Yn(e.articleId);break;case"startVoiceInput":Ln&&"off"===Sa||(zt("messages"),Et(!0),an(e=>[...e,{chatId:null,text:null,send:!1}])),ja(!0);break;case"stopVoiceInput":Rn();break;case"update":{const t=["organizationName","logoUrl","themeColor","theme","buttonShape","welcomeMessage","ai_name","ai_avatar_url","greetingEnabled","greetingMessage","greetingDelayMs","faqs"],a={};for(const r of t)e.config&&void 0!==e.config[r]&&(a[r]=e.config[r]);const r=V(e.config&&e.config.voiceInput)||(e.config&&!1===e.config.enableVoiceChat?"off":void 0);r&&Ve(r),Fn.current={...Fn.current,...a},kt(a);break}}else console.warn(`[Askly] ${e.type}() ignored: the widget is hidden on this path.`)},T(()=>{if(!Hn)return;const e=dr.concat(Mt).find(e=>e.id===Hn);e?(Yn(null),cr(e),zt("help"),Et(!0)):Ln&&!ur&&bt&&(Yn(null),console.warn(`[Askly] showArticle(): no article with id "${Hn}".`))},[Hn,dr,Mt,ur,bt]),T(()=>F(e=>Vn.current(e)),[]);const Bn=wt&&Lt;T(()=>{H.open=Bn},[Bn]),T(()=>{H.visitorId=Bt},[Bt]),T(()=>{H.unread!==Jr&&(H.unread=Jr,O("unread",{count:Jr}))},[Jr]),T(()=>{Ln&&!H.ready&&(H.ready=!0,O("ready",{visitorId:Gt.current}))},[Ln]),T(()=>()=>{H.open&&O("close"),H.unread>0&&O("unread",{count:0}),Y()},[]);const Gn="#0f172a"===je||"#6366f1"===je||"#2563eb"===je?{}:{"--askly-accent":`var(--askly-brand, ${je})`},Jn={right:"right"===s?"24px":void 0,left:"left"===s?"24px":void 0,...Gn},Wn={right:"right"===s?"24px":void 0,left:"left"===s?"24px":void 0,...Gn},Xn={conversations:da,setActiveChatId:fa,startNewChat:Ur},Kn={open:wt,setOpen:Et,buttonIcon:m,buttonShape:Re,buttonStyle:Jn,launcherUnread:Jr,resolvedTheme:ft,setActiveChatId:fa,setActiveTab:zt,unreadChatId:Wr},Qn={accentVars:Gn,aiAnswering:at,aiAvatarUrl:Ye,dismissGreeting:()=>{en.current=!0,Zr(!1),U(Vr),R("dismissed")},faqs:Ct,greetingText:Or,openFromGreeting:e=>{const t={role:"agent",content:Or,timestamp:new Date,format:"text",kind:"greeting"},a=da.find(e=>!e.messages.some(e=>"user"===e.role)),r=a?a.id:ue();pa(e=>a?e.map(e=>e.id===r?{...e,messages:[t],lastUpdated:(new Date).toISOString()}:e):[{id:r,messages:[t],lastUpdated:(new Date).toISOString()},...e]),ha===r&&ba([t]),fa(r),zt("messages"),Et(!0),e&&an(t=>[...t,{chatId:r,text:e,send:!0}]),nn(e=>e+1),R("clicked")},organizationLogo:Ie,position:s,resolvedTheme:ft},Zn={allArticles:dr,articlesLoading:ur,expandedFaqIndex:Tt,faqs:Ct,handleSearchChange:bn,handleSelectArticle:vn,organizationLogo:Ie,organizationName:Ne,searchError:sr,searchLoading:nr,searchQuery:er,searchResults:ar,setActiveTab:zt,setExpandedFaqIndex:qt,setInput:ka},eo={allArticles:dr,articleFeedback:Dt,articlesLoading:ur,handleSearchChange:bn,handleSelectArticle:vn,organizationLogo:Ie,organizationName:Ne,searchError:sr,searchLoading:nr,searchQuery:er,searchResults:ar,selectedArticle:ir,selectedCollection:Ut,setActiveTab:zt,setArticleFeedback:Rt,setInput:ka,setSelectedArticle:cr,setSelectedCollection:Ot,themeColor:je},to={activeTab:Nt,setActiveTab:zt,setSelectedArticle:cr},ao={cancelVoiceInput:Un,fileInputRef:Tr,handleEmojiClick:e=>{var t;ka(t=>t+e),vr(!1),null===(t=qr.current)||void 0===t||t.focus()},handleFileChange:async e=>{var t,a;const r=null===(t=e.target.files)||void 0===t?void 0:t[0];if(r){wr(!0);try{const e=l.replace(/\/widget$/,"")+"/widget/upload",t=new FormData;t.append("organization_id",bt||""),t.append("file",r);const n=await ea.fetch(e,{method:"POST",body:t});if(!n.ok){const e=await n.json().catch(()=>({})),t=new Error(e.detail||"Upload failed");throw t.status=n.status,t}const o=await n.json(),s=r.type.startsWith("image/")?`![Image attachment](${o.blob_url})`:`[File attachment: ${r.name}](${o.blob_url})`;ka(e=>e+(e.endsWith(" ")||""===e?"":" ")+s),null===(a=qr.current)||void 0===a||a.focus(),Ia(null)}catch(e){console.error("[Askly] Attachment upload failed:",e),Ia(400===(null==e?void 0:e.status)?"That file can't be attached. It may be too large (10 MB limit) or a type that isn't allowed.":"That attachment couldn't be uploaded. Please try again.")}finally{wr(!1),e.target&&(e.target.value="")}}},handleFileUploadClick:()=>{var e;null===(e=Tr.current)||void 0===e||e.click()},input:va,inputRef:qr,isTyping:Na,leadRequired:Sn,placeholderText:p,sendMessage:Mn,setInput:ka,setShowEmojiPicker:vr,showEmojiPicker:br,startVoiceInput:Dn,stopVoiceInput:Rn,turnstileBlocked:Za,uploadingFile:kr,voiceInputEnabled:"off"!==Sa,voiceMaxMs:6e4,voiceMeterRef:_a,voicePhase:Ca},ro={activeChatId:ha,activeTab:Nt,aiAnswering:at,aiAvatarUrl:Ye,aiName:Fe,headerStyle:{},isExpanded:It,organizationLogo:Ie,organizationName:Ne,setActiveChatId:fa,setIsExpanded:St,setOpen:Et},no={copiedMsgIndex:fr,messages:xa,msgReactions:gr,setCopiedMsgIndex:yr,setMsgReactions:hr,showTimestamp:x};return Lt?e.createElement(e.Fragment,null,e.createElement(ve,{...Kn}),Qr&&!wt&&e.createElement(ke,{...Qn}),wt&&e.createElement("div",{className:`askly-chat-modal ${It?"expanded":""} ${Pa?"askly-shake":""}`,"data-askly-theme":ft,style:Wn},e.createElement(Ce,{...ro}),"explore"===Nt&&e.createElement(we,{...Zn}),"messages"===Nt&&(null===ha?e.createElement(be,{...Xn}):e.createElement("div",{className:"chat-screen"},e.createElement("div",{className:"chat-stream"},e.createElement("div",{className:"chat-body",ref:Er,onScroll:()=>{const e=Er.current;if(!e)return;const t=e.scrollHeight-e.scrollTop-e.clientHeight<=80;Nr.current=t,t&&Cr(0)},onLoadCapture:()=>{Nr.current&&Tn("auto")}},e.createElement(Te,{...no}),Ct.length>0&&xa.length<=1&&!Na&&!Sn&&e.createElement("div",{className:"quick-replies"},Ct.slice(0,4).map((t,a)=>e.createElement("button",{key:a,className:"quick-reply-chip",onClick:()=>Mn(t.question)},t.question))),An&&e.createElement("div",{className:"askly-lead-card"},e.createElement("div",{className:"askly-lead-copy"},st),e.createElement("div",{className:"askly-lead-row"},e.createElement("input",{type:"email",value:kn,onChange:e=>{wn(e.target.value),In(null)},onKeyDown:e=>{"Enter"===e.key&&qn()},placeholder:"you@example.com",disabled:En,"aria-label":"Your email address"}),e.createElement("button",{className:"askly-lead-submit",onClick:()=>{qn()},disabled:En||!kn.trim()},En?"…":"Save")),zn&&e.createElement("div",{className:"askly-lead-error"},zn),e.createElement("button",{className:"askly-lead-dismiss",onClick:()=>mt(!0)},"No thanks")),Na&&e.createElement("div",{className:"msg-wrapper agent"},at?e.createElement("div",{className:"typing-indicator"},e.createElement("span",null),e.createElement("span",null),e.createElement("span",null)):e.createElement("div",{className:"msg agent",style:{opacity:.75,fontStyle:"italic"}},"Sending to the team…")),kr&&e.createElement("div",{className:"msg-wrapper user"},e.createElement("div",{className:"msg user",style:{opacity:.7,display:"flex",alignItems:"center",gap:8}},e.createElement("span",{className:"search-loader",style:{borderColor:"#fff",borderTopColor:"transparent"}}),e.createElement("span",null,"Uploading attachment..."))),Qa&&e.createElement("div",{className:"askly-turnstile-wrapper",style:Fa?{display:"none"}:void 0},e.createElement("slot",{name:"turnstile"}))),Sr>0&&e.createElement("button",{type:"button",className:"askly-jump-latest",onClick:()=>Tn("smooth"),"aria-live":"polite"},e.createElement(o,{size:14}),1===Sr?"1 new message":`${Sr} new messages`,e.createElement("span",{className:"askly-jump-badge"},Sr))),Sn&&e.createElement("div",{className:"askly-lead-card askly-lead-required"},e.createElement("div",{className:"askly-lead-copy"},st),e.createElement("div",{className:"askly-lead-row"},e.createElement("input",{type:"email",value:kn,onChange:e=>{wn(e.target.value),In(null)},onKeyDown:e=>{"Enter"===e.key&&qn()},placeholder:"you@example.com",disabled:En,ref:on,"aria-label":"Your email address"}),e.createElement("button",{className:"askly-lead-submit",onClick:()=>{qn()},disabled:En||!kn.trim()},En?"…":"Save")),zn&&e.createElement("div",{className:"askly-lead-error"},zn)),za&&e.createElement("div",{className:"askly-lead-error askly-composer-notice",role:"alert"},za,null!==Ta&&Ta===za&&e.createElement("button",{type:"button",className:"askly-notice-action",onClick:()=>{const e=Da.current;e&&"idle"===Ca&&(Ua.current+=1,Ia(null),$n(e))}},"Try again")),e.createElement(Se,{...ao}),e.createElement(qe,null))),"help"===Nt&&e.createElement(f,{fallback:null},e.createElement(Me,{...eo})),!("messages"===Nt&&null!==ha)&&e.createElement(Ee,{...to}))):null};var $e=':host{all:initial;display:block}.askly-chat-button,.askly-chat-modal,.askly-greeting{--askly-bg:#fff;--askly-surface:#fff;--askly-surface-2:#f6f7f9;--askly-surface-3:#eef0f4;--askly-header-bg:hsla(0,0%,100%,.82);--askly-header-fg:#0f172a;--askly-accent:var(--askly-brand,#2563eb);--askly-accent-contrast:#fff;--askly-border:rgba(15,23,42,.08);--askly-border-strong:#e2e5ea;--text-1:#0f172a;--text-2:#334155;--text-3:#64748b;--text-4:#94a3b8;--askly-online:#22c55e;--askly-danger:#ef4444;--askly-danger-bg:#fee2e2;--askly-success:#16a34a;--askly-success-bg:rgba(22,163,74,.09);--askly-link:#2563eb;--askly-scrollbar:#cbd5e1;--askly-scrollbar-hover:#94a3b8;--askly-accent-strong:color-mix(in srgb,var(--askly-accent) 92%,#000);--askly-accent-soft:color-mix(in srgb,var(--askly-accent) 12%,transparent);--askly-accent-ring:color-mix(in srgb,var(--askly-accent) 22%,transparent);--askly-elev-1:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.05);--askly-elev-2:0 4px 12px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);--askly-elev-3:0 18px 48px rgba(15,23,42,.18),0 6px 16px rgba(15,23,42,.1);--askly-elev-launch:0 10px 30px rgba(15,23,42,.28),0 4px 10px rgba(15,23,42,.18);--askly-radius-sm:10px;--askly-radius-md:14px;--askly-radius-lg:20px;--askly-radius-xl:22px;--askly-ease:cubic-bezier(0.16,1,0.3,1);--askly-ease-snappy:cubic-bezier(0.4,0,0.2,1);--askly-font:var(--askly-font-family,"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)}.askly-chat-button[data-askly-theme=dark],.askly-chat-modal[data-askly-theme=dark],.askly-greeting[data-askly-theme=dark]{--askly-bg:#0f1115;--askly-surface:#181b21;--askly-surface-2:#21252d;--askly-surface-3:#2b303a;--askly-header-bg:rgba(15,17,21,.78);--askly-header-fg:#f4f5f7;--askly-accent:var(--askly-brand,#3b82f6);--askly-accent-contrast:#fff;--askly-border:hsla(0,0%,100%,.09);--askly-border-strong:#333944;--text-1:#f3f4f6;--text-2:#d2d6dd;--text-3:#9aa2af;--text-4:#6b7280;--askly-online:#4ade80;--askly-danger:#f87171;--askly-danger-bg:hsla(0,91%,71%,.15);--askly-success:#4ade80;--askly-success-bg:rgba(74,222,128,.12);--askly-link:#7cb0ff;--askly-scrollbar:#3a3f4a;--askly-scrollbar-hover:#4d5462;--askly-accent-strong:color-mix(in srgb,var(--askly-accent) 90%,#fff);--askly-elev-1:0 1px 2px rgba(0,0,0,.4);--askly-elev-2:0 6px 16px rgba(0,0,0,.45);--askly-elev-3:0 20px 55px rgba(0,0,0,.62),0 6px 16px rgba(0,0,0,.5);--askly-elev-launch:0 12px 34px rgba(0,0,0,.55)}.askly-chat-button{align-items:center;background:var(--askly-accent);border:none;border-radius:23%;bottom:24px;box-shadow:var(--askly-elev-launch);color:var(--askly-accent-contrast);cursor:pointer;display:flex;font-family:var(--askly-font);font-size:28px;height:60px;justify-content:center;position:fixed;right:24px;transition:transform .28s var(--askly-ease),box-shadow .28s var(--askly-ease),border-radius .28s var(--askly-ease);width:60px;z-index:99999}.askly-chat-button:hover{box-shadow:0 18px 40px rgba(15,23,42,.34),0 6px 14px rgba(15,23,42,.22);transform:translateY(-3px) scale(1.05)}.askly-chat-button:active{transform:scale(.94)}.askly-launcher-badge{background:#dc2626;border-radius:999px;box-shadow:0 0 0 2px var(--askly-bg);box-sizing:border-box;color:#fff;font-size:11px;font-weight:600;height:20px;line-height:20px;min-width:20px;padding:0 5px;position:absolute;right:-4px;text-align:center;top:-4px}.askly-chat-button.shape-square{border-radius:23%}.askly-chat-button.shape-round{border-radius:50%}.askly-chat-modal{-webkit-font-smoothing:antialiased;animation:slideUp .36s var(--askly-ease);background:var(--askly-bg);border:none;border-radius:var(--askly-radius-lg);bottom:100px;box-shadow:var(--askly-elev-3);color:var(--text-1);display:flex;flex-direction:column;font-family:var(--askly-font);height:min(704px,100vh - 120px);height:min(704px,100dvh - 120px);max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);max-width:calc(100vw - 48px);overflow:hidden;position:fixed;right:24px;width:min(384px,100vw - 48px);z-index:99998}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes asklyShake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.askly-chat-modal.askly-shake{animation:asklyShake .45s cubic-bezier(.36,.07,.19,.97)}.chat-header{align-items:center;backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);background:var(--askly-header-bg);border-bottom:1px solid var(--askly-border);color:var(--askly-header-fg,inherit);display:flex;flex-shrink:0;justify-content:space-between;padding:15px 18px}.chat-header.chat-header-floating{backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;border-bottom:none!important;left:0;padding:12px 14px;pointer-events:none;position:absolute;right:0;top:0;z-index:5}.chat-header-floating .header-action-btn{color:#fff;opacity:.92;pointer-events:auto}.chat-header-floating .header-action-btn:hover{background:hsla(0,0%,100%,.22);color:#fff;opacity:1}.header-title.header-title-lg{font-size:18px;font-weight:700;letter-spacing:-.02em}.header-content{align-items:center;display:flex;gap:12px}.header-avatar{border:none;border-radius:0;box-shadow:none;max-height:32px;max-width:120px;object-fit:contain}.header-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.header-status{align-items:center;display:flex;font-size:11px;gap:6px;opacity:.9}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.chat-body{background:var(--askly-bg);display:flex;flex:1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:20px}.chat-body,.chat-footer textarea,.conversations-scrollable,.help-layout,.home-layout,.home-search-results{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-color:var(--askly-scrollbar) transparent;scrollbar-width:thin}.chat-body:hover,.chat-footer textarea:hover,.conversations-scrollable:hover,.help-layout:hover,.home-layout:hover,.home-search-results:hover{scrollbar-color:var(--askly-scrollbar-hover) transparent}.chat-body::-webkit-scrollbar,.chat-footer textarea::-webkit-scrollbar,.conversations-scrollable::-webkit-scrollbar,.help-layout::-webkit-scrollbar,.home-layout::-webkit-scrollbar,.home-search-results::-webkit-scrollbar{width:8px}.chat-body::-webkit-scrollbar-track,.chat-footer textarea::-webkit-scrollbar-track,.conversations-scrollable::-webkit-scrollbar-track,.help-layout::-webkit-scrollbar-track,.home-layout::-webkit-scrollbar-track,.home-search-results::-webkit-scrollbar-track{background:transparent}.chat-body::-webkit-scrollbar-thumb,.chat-footer textarea::-webkit-scrollbar-thumb,.conversations-scrollable::-webkit-scrollbar-thumb,.help-layout::-webkit-scrollbar-thumb,.home-layout::-webkit-scrollbar-thumb,.home-search-results::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--askly-scrollbar);border:2px solid transparent;border-radius:10px}.chat-body::-webkit-scrollbar-thumb:hover,.chat-footer textarea::-webkit-scrollbar-thumb:hover,.conversations-scrollable::-webkit-scrollbar-thumb:hover,.help-layout::-webkit-scrollbar-thumb:hover,.home-layout::-webkit-scrollbar-thumb:hover,.home-search-results::-webkit-scrollbar-thumb:hover{background-color:var(--askly-scrollbar-hover)}.msg-wrapper{align-items:flex-end;animation:fadeIn .32s var(--askly-ease);display:flex;gap:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-wrapper.user{flex-direction:row-reverse}.msg-column{display:flex;flex-direction:column;gap:4px;max-width:78%;min-width:0}.msg-wrapper.user .msg-column{align-items:flex-end}.msg-avatar{align-items:center;align-self:flex-start;background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));border-radius:50%;box-shadow:var(--askly-elev-1);color:var(--askly-accent-contrast);display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;overflow:hidden;width:28px}.msg-avatar img{height:100%;object-fit:cover;width:100%}.msg-avatar.msg-avatar-hidden{visibility:hidden}.msg{word-wrap:break-word;border-radius:18px;max-width:100%;padding:10px 14px;position:relative;width:fit-content}.msg,.msg-content{overflow-wrap:anywhere}.msg-content{font-size:13.5px;line-height:1.55}.msg-content p{margin:0 0 8px}.msg-content ol,.msg-content ul{margin:4px 0 8px;padding-left:20px}.msg-content li{margin-top:3px}.msg-content>:last-child{margin-bottom:0}.msg-content strong{font-weight:650}.msg-content code.inline-code{background:var(--askly-surface-3);border:1px solid var(--askly-border);border-radius:5px;padding:1px 5px}.msg-content code.inline-code,.msg-content pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.msg-content pre{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:8px;box-sizing:border-box;display:block;line-height:1.5;margin:6px 0 8px;max-width:100%;overflow-x:auto;padding:8px 10px;white-space:pre}.msg-content pre code{background:none;border:0;font:inherit;padding:0}.askly-chat-modal[data-askly-theme=dark] .msg.agent .msg-content pre{background:var(--askly-surface-2)}.msg.user .msg-content code.inline-code,.msg.user .msg-content pre{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.28);color:inherit}.msg.user{background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));border-bottom-right-radius:6px;box-shadow:var(--askly-elev-1);color:var(--askly-accent-contrast)}.msg.agent{background:var(--askly-surface-2);border:1px solid var(--askly-border);border-bottom-left-radius:6px;color:var(--text-1)}.askly-chat-modal[data-askly-theme=dark] .msg.agent{background:var(--askly-surface)}.msg-time{font-size:10px;margin-top:5px;opacity:.6;text-align:right}.msg-reactions{display:flex;gap:2px;opacity:0;padding-left:4px;transform:translateY(-2px);transition:opacity .18s var(--askly-ease),transform .18s var(--askly-ease)}.msg-reactions:focus-within,.msg-wrapper:hover .msg-reactions{opacity:1;transform:translateY(0)}.msg-reaction-btn{all:unset;align-items:center;border-radius:7px;color:var(--text-4);cursor:pointer;display:flex;height:24px;justify-content:center;transition:background .15s,color .15s;width:26px}.msg-reaction-btn:hover{background:var(--askly-surface-2);color:var(--text-2)}.msg-reaction-btn.active{background:var(--askly-accent-soft);color:var(--askly-accent)}.quick-replies{animation:fadeIn .32s var(--askly-ease);display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 2px 36px}.quick-reply-chip{all:unset;background:var(--askly-surface);border:1px solid var(--askly-border-strong);border-radius:999px;box-sizing:border-box;color:var(--askly-accent);cursor:pointer;font-size:12.5px;font-weight:500;line-height:1.2;max-width:100%;padding:8px 14px;transition:all .16s var(--askly-ease)}.quick-reply-chip:hover{background:var(--askly-accent-soft);border-color:var(--askly-accent);transform:translateY(-1px)}.typing-indicator{align-items:center;background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:18px;border-bottom-left-radius:6px;display:flex;gap:4px;padding:12px 16px;width:fit-content}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite both;background:var(--text-4);border-radius:50%;height:6px;width:6px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.4;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.chat-footer{background:var(--askly-surface);border:1px solid var(--askly-border-strong);border-radius:var(--askly-radius-lg);box-shadow:var(--askly-elev-1);display:flex;flex-direction:column;flex-shrink:0;gap:6px;margin:10px 16px 12px;padding:10px 12px 8px;position:relative;transition:border-color .2s var(--askly-ease),box-shadow .2s var(--askly-ease)}.chat-footer:hover{border-color:var(--text-3)}.chat-footer:focus-within{border-color:var(--askly-accent);box-shadow:0 0 0 3px var(--askly-accent-ring)}.composer-input-row{align-items:stretch;display:flex;width:100%}.chat-footer textarea{background:transparent;border:none;border-radius:0;box-sizing:border-box;color:var(--text-1);display:block;flex:1;font-family:inherit;font-size:14px;line-height:20px;margin:0;max-height:120px;min-height:32px;min-width:0;outline:none;overflow-y:hidden;padding:6px 8px;resize:none;width:100%}.chat-footer textarea::placeholder{color:var(--text-4)}.chat-footer textarea:disabled{cursor:not-allowed;opacity:.6}.chat-screen,.chat-stream{display:flex;flex:1;flex-direction:column;min-height:0}.chat-stream{position:relative}.askly-jump-latest{align-items:center;animation:fadeIn .2s var(--askly-ease);background:var(--askly-surface);border:1px solid var(--askly-border-strong);border-radius:999px;bottom:12px;box-shadow:var(--askly-elev-2);box-sizing:border-box;color:var(--text-2);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:600;gap:6px;left:50%;line-height:1;padding:6px 12px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:6}.askly-jump-latest:hover{border-color:var(--text-3);color:var(--text-1)}.askly-jump-badge{align-items:center;background:var(--askly-accent);border-radius:999px;box-sizing:border-box;color:var(--askly-accent-contrast);display:inline-flex;font-size:11px;height:18px;justify-content:center;min-width:18px;padding:0 5px}.composer-actions-row{align-items:center;display:flex;justify-content:space-between;width:100%}.composer-actions-left{align-items:center;display:flex;gap:2px}.voice-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-4);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .2s;width:34px}.voice-btn:hover{background:var(--askly-accent-soft);color:var(--askly-accent)}.voice-btn.listening{animation:pulseRed 1.5s ease-in-out infinite;background:var(--askly-danger-bg);color:var(--askly-danger)}@keyframes pulseRed{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.4)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}.chat-footer.voice-active{border-color:var(--text-3);border-radius:999px;padding:8px 10px}.askly-voice{align-items:center;display:flex;gap:10px;height:44px}.askly-voice-meter{align-items:center;display:flex;flex:1;gap:3px;height:26px;justify-content:flex-end;min-width:0;overflow:hidden}.askly-voice-meter i{background:var(--text-1);border-radius:1px;display:block;flex-shrink:0;min-height:2px;width:2px}.askly-voice.transcribing .askly-voice-meter{opacity:.4}.askly-voice-status{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.askly-voice-time{color:var(--text-3);flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums}.askly-voice-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-1);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:0;width:40px}.askly-voice-btn.done,.askly-voice-btn:hover{background:var(--askly-accent-soft)}.askly-voice-btn.done{box-shadow:inset 0 0 0 2px var(--askly-border-strong)}.askly-voice-btn.done:hover{box-shadow:inset 0 0 0 2px var(--text-3)}.askly-voice-btn.busy{cursor:default}.askly-voice-stop{background:var(--text-1);border-radius:3px;height:13px;width:13px}.askly-voice-spinner{animation:asklyVoiceSpin .8s linear infinite;border:2px solid var(--askly-border-strong);border-radius:50%;border-top-color:var(--text-1);height:16px;width:16px}@keyframes asklyVoiceSpin{to{transform:rotate(1turn)}}.askly-notice-action{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-weight:600;margin-left:8px;padding:0;text-decoration:underline}@media (prefers-reduced-motion:reduce){.askly-voice-spinner{animation-duration:2.4s}}.send-btn{align-items:center;background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));border:none;border-radius:50%;box-shadow:var(--askly-elev-1);color:var(--askly-accent-contrast);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s var(--askly-ease);width:36px}.send-btn:hover:not(:disabled){filter:brightness(1.06);transform:scale(1.08)}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.footer-action-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-4);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .2s;width:34px}.footer-action-btn.active,.footer-action-btn:hover{background:var(--askly-surface-2);color:var(--text-1)}.chat-powered-by{background:var(--askly-bg);border-top:1px solid var(--askly-border);color:var(--text-4);font-size:11px;padding:8px 16px;text-align:center}.chat-powered-by strong{color:var(--text-2);font-weight:600}.chat-terms-notice{align-items:center;background:var(--askly-bg);border-top:1px solid var(--askly-border);color:var(--text-4);display:flex;flex-shrink:0;font-size:10px;gap:4px;justify-content:center;padding:5px 10px;text-align:center;white-space:nowrap}.chat-terms-divider{color:var(--text-4);opacity:.5}.askly-powered-link,.askly-terms-link{color:var(--text-3);font-weight:600;text-decoration:none;transition:color .15s var(--askly-ease)}.askly-powered-link:hover,.askly-terms-link:hover{color:var(--askly-accent);text-decoration:underline}.askly-turnstile-wrapper{background:var(--askly-bg);border-bottom:1px solid var(--askly-border);border-top:1px solid var(--askly-border);display:flex;justify-content:center;margin:10px 0;padding:12px 16px}.askly-lead-card{background:var(--askly-surface-2);border:1px solid var(--askly-border-strong);border-radius:14px;display:flex;flex-direction:column;gap:8px;margin:10px 0;padding:12px 14px}.askly-lead-required{background:var(--askly-bg);border-bottom:none;border-left:none;border-radius:0;border-right:none;flex-shrink:0;margin:0}.askly-lead-copy{color:var(--text-2);font-size:12.5px;line-height:1.5}.askly-lead-row{align-items:center;display:flex;gap:8px}.askly-lead-row input{background:var(--askly-bg);border:1.5px solid var(--askly-border-strong);border-radius:999px;box-sizing:border-box;color:var(--text-1);flex:1;font-family:inherit;font-size:13px;height:38px;min-width:0;outline:none;padding:0 12px;transition:all .2s var(--askly-ease)}.askly-lead-row input::placeholder{color:var(--text-4)}.askly-lead-row input:focus{background:var(--askly-surface);border-color:var(--askly-accent);box-shadow:0 0 0 3px var(--askly-accent-ring)}.askly-lead-row input:disabled{cursor:not-allowed;opacity:.6}.askly-lead-submit{all:unset;background:var(--askly-accent);border-radius:999px;color:var(--askly-accent-contrast);cursor:pointer;flex-shrink:0;font-size:12.5px;font-weight:600;height:38px;padding:0 16px;text-align:center;transition:all .2s var(--askly-ease)}.askly-lead-submit:hover:not(:disabled){background:var(--askly-accent-strong)}.askly-lead-submit:disabled{cursor:not-allowed;opacity:.5}.askly-lead-error{color:#dc2626;font-size:11.5px;line-height:1.45}.askly-lead-dismiss{all:unset;align-self:flex-start;color:var(--text-4);cursor:pointer;font-size:11.5px;text-decoration:underline}.askly-lead-dismiss:hover{color:var(--text-2)}@media (min-width:601px){.askly-chat-modal.expanded{max-width:calc(100vw - 48px);width:min(700px,100vw - 48px)}}.home-layout{background:var(--askly-bg);gap:0;overflow-y:auto;padding:0}.home-hero,.home-layout{display:flex;flex-direction:column}.home-hero{background:radial-gradient(120% 90% at 15% 0,color-mix(in srgb,var(--askly-accent) 94%,#fff) 0,transparent 55%),linear-gradient(150deg,var(--askly-accent),var(--askly-accent-strong));color:var(--askly-accent-contrast);flex-shrink:0;gap:4px;overflow:hidden;padding:34px 24px 28px;position:relative}.home-hero:before{inset:0;mask-image:linear-gradient(180deg,#000 40%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent)}.home-hero:after,.home-hero:before{content:"";pointer-events:none;position:absolute}.home-hero:after{background:linear-gradient(120deg,hsla(0,0%,100%,.18),transparent 60%);height:160%;right:-20%;top:-40%;transform:rotate(18deg);width:70%}.home-hero>*{position:relative;z-index:1}.home-hero-brand{align-items:center;display:flex;gap:9px;margin-bottom:18px}.home-hero-logo{max-height:34px;max-width:124px;object-fit:contain;object-position:left center;opacity:.96}.home-hero-title{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.home-hero-wave{animation:wave 2.4s ease-in-out infinite;display:inline-block;transform-origin:70% 70%}@keyframes wave{0%,60%,to{transform:rotate(0deg)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.home-hero-subtitle{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.2;opacity:.72}.home-content{display:flex;flex-direction:column;flex-shrink:0;gap:12px;margin-top:0;padding:16px 16px 20px;position:relative;z-index:2}.home-action-card{all:unset;align-items:center;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-2);box-sizing:border-box;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:16px 18px;transition:transform .2s var(--askly-ease),box-shadow .2s var(--askly-ease),border-color .2s var(--askly-ease)}.home-action-card:hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-3);transform:translateY(-2px)}.card-title{color:var(--text-1);font-size:14.5px;font-weight:600;margin-bottom:2px}.card-desc{color:var(--text-3);font-size:12px;line-height:1.4}.card-icon-chip{align-items:center;background:var(--askly-accent-soft);border-radius:12px;color:var(--askly-accent);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.faq-card{align-items:stretch;cursor:default;flex-direction:column;gap:10px}.faq-card:hover{border-color:var(--askly-border);box-shadow:var(--askly-elev-2);transform:none}.faq-card-head{align-items:center;display:flex;justify-content:space-between}.faq-count-badge{background:var(--askly-accent-soft);border-radius:999px;color:var(--askly-accent);font-size:10px;font-weight:600;padding:3px 8px}.faq-list{display:flex;flex-direction:column;gap:6px}.faq-item{background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:var(--askly-radius-sm);overflow:hidden;transition:border-color .2s var(--askly-ease),background .2s var(--askly-ease)}.faq-item.open{background:var(--askly-surface);border-color:var(--askly-accent)}.faq-question{all:unset;align-items:center;box-sizing:border-box;color:var(--text-1);cursor:pointer;display:flex;font-size:12.5px;font-weight:500;gap:8px;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.faq-chevron{color:var(--text-3);flex-shrink:0;transition:transform .22s var(--askly-ease)}.faq-item.open .faq-chevron{color:var(--askly-accent);transform:rotate(180deg)}.faq-answer{border-top:1px solid var(--askly-border);color:var(--text-2);font-size:12px;line-height:1.55;padding:8px 12px 12px}.faq-ask-link{all:unset;align-items:center;color:var(--askly-accent);cursor:pointer;display:inline-flex;font-size:11.5px;font-weight:600;gap:4px;margin-top:10px}.faq-ask-link:hover{text-decoration:underline}.home-search-card{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-2);padding:16px 18px}.home-search-input-wrapper{align-items:center;display:flex;position:relative;width:100%}.home-search-input-wrapper input{background:var(--askly-bg);border:1.5px solid var(--askly-border-strong);border-radius:999px;box-sizing:border-box;color:var(--text-1);font-size:13px;height:40px;outline:none;padding:0 12px 0 36px;transition:all .2s var(--askly-ease);width:100%}.home-search-input-wrapper input::placeholder{color:var(--text-4)}.home-search-input-wrapper input:focus{background:var(--askly-surface);border-color:var(--askly-accent);box-shadow:0 0 0 3px var(--askly-accent-ring)}.search-icon-svg{color:var(--text-4);left:13px;pointer-events:none;position:absolute}.search-loader{animation:spin .6s linear infinite;border:2px solid var(--askly-border-strong);border-radius:50%;border-top-color:var(--askly-accent);height:14px;position:absolute;right:12px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.home-search-results{border-top:1px solid var(--askly-border);display:flex;flex-direction:column;gap:4px;margin-top:10px;max-height:200px;overflow-y:auto;padding-top:10px}.search-result-item{all:unset;align-items:center;border-radius:var(--askly-radius-sm);box-sizing:border-box;color:var(--text-2);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:9px 10px;text-align:left;transition:background .15s,color .15s;width:100%}.search-result-item:hover{background:var(--askly-surface-2);color:var(--text-1)}.search-result-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-search-results{color:var(--text-4);font-size:12.5px;padding:14px;text-align:center}.recommended-articles{border-top:1px solid var(--askly-border);margin-top:12px;padding-top:12px}.recommended-articles-head{color:var(--text-3);font-size:10.5px;font-weight:700;letter-spacing:.6px;margin-bottom:8px;text-transform:uppercase}.recommended-articles-list{display:flex;flex-direction:column;gap:6px}.rec-article-row{all:unset;align-items:center;background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:var(--askly-radius-sm);box-sizing:border-box;cursor:pointer;display:flex;gap:8px;padding:9px 11px;transition:all .16s var(--askly-ease)}.rec-article-row:hover{background:var(--askly-accent-soft);border-color:var(--askly-accent)}.rec-article-icon{color:var(--text-3);flex-shrink:0}.rec-article-row:hover .rec-article-icon{color:var(--askly-accent)}.rec-article-title{color:var(--text-1);flex:1;font-size:12px;font-weight:500;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.rec-article-chevron{color:var(--text-4);flex-shrink:0}.rec-article-skeleton{background:var(--askly-surface-2);border-radius:var(--askly-radius-sm);gap:8px;padding:9px 11px}.explore-search,.rec-article-skeleton{align-items:center;border:1px solid var(--askly-border);display:flex}.explore-search{background:var(--askly-surface);border-radius:999px;box-shadow:var(--askly-elev-2);box-sizing:border-box;height:46px;padding:0 14px;position:relative;transition:border-color .2s var(--askly-ease),box-shadow .2s var(--askly-ease);width:100%}.explore-search:focus-within{border-color:var(--askly-accent);box-shadow:0 0 0 3px var(--askly-accent-ring),var(--askly-elev-2)}.explore-search-icon{color:var(--text-4);flex-shrink:0}.explore-search input{background:transparent;border:none;color:var(--text-1);flex:1;font-family:inherit;font-size:13.5px;min-width:0;outline:none;padding:0 10px}.explore-search input::placeholder{color:var(--text-4)}.explore-search .search-loader{margin-left:auto;position:static}.explore-search-panel{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);display:flex;flex-direction:column;gap:4px;padding:6px}.explore-cta{all:unset;align-items:center;background:linear-gradient(135deg,var(--askly-accent),var(--askly-accent-strong));border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-2);box-sizing:border-box;color:var(--askly-accent-contrast);cursor:pointer;display:flex;gap:13px;overflow:hidden;padding:16px;position:relative;transition:transform .2s var(--askly-ease),box-shadow .2s var(--askly-ease)}.explore-cta:hover{box-shadow:var(--askly-elev-3);transform:translateY(-2px)}.explore-cta:active{transform:scale(.99)}.explore-cta-orbs{background:radial-gradient(60px 60px at 88% -10%,hsla(0,0%,100%,.28),transparent 70%),radial-gradient(80px 80px at 108% 120%,hsla(0,0%,100%,.16),transparent 70%);inset:0;pointer-events:none;position:absolute}.explore-cta-icon{align-items:center;backdrop-filter:blur(4px);background:hsla(0,0%,100%,.18);border-radius:13px;display:flex;flex-shrink:0;height:42px;justify-content:center;position:relative;width:42px}.explore-cta-icon svg{animation:askly-twinkle 3.2s var(--askly-ease) infinite}@keyframes askly-twinkle{0%,to{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.75;transform:scale(1.12) rotate(8deg)}}.explore-cta-text{display:flex;flex-direction:column;gap:2px;min-width:0;position:relative}.explore-cta-title{font-size:15px;font-weight:700;letter-spacing:-.01em}.explore-cta-sub{font-size:11.5px;line-height:1.35;opacity:.82}.explore-cta-arrow{align-items:center;display:flex;margin-left:auto;opacity:.85;position:relative;transition:transform .2s var(--askly-ease)}.explore-cta:hover .explore-cta-arrow{opacity:1;transform:translateX(3px)}.explore-tiles{display:grid;gap:10px;grid-template-columns:1fr 1fr}.explore-tile{all:unset;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:14px;transition:transform .18s var(--askly-ease),box-shadow .18s var(--askly-ease),border-color .18s var(--askly-ease)}.explore-tile:hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-2);transform:translateY(-2px)}.explore-tile-icon{align-items:center;background:var(--askly-accent-soft);border-radius:11px;color:var(--askly-accent);display:flex;height:36px;justify-content:center;margin-bottom:5px;width:36px}.explore-tile-title{color:var(--text-1);font-size:13.5px;font-weight:600}.explore-tile-sub{color:var(--text-3);font-size:11px}.explore-section{display:flex;flex-direction:column;gap:8px}.explore-section-head{align-items:center;color:var(--text-3);display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.6px;padding:0 2px;text-transform:uppercase}.explore-section-count{background:var(--askly-accent-soft);border-radius:999px;color:var(--askly-accent);font-size:10px;font-weight:700;letter-spacing:0;padding:1px 7px;text-transform:none}.explore-faq-list{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);display:flex;flex-direction:column;overflow:hidden}.explore-faq{border-bottom:1px solid var(--askly-border)}.explore-faq:last-child{border-bottom:none}.explore-faq-q{all:unset;align-items:center;box-sizing:border-box;color:var(--text-1);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;justify-content:space-between;padding:13px 14px;transition:background .15s;width:100%}.explore-faq-q:hover{background:var(--askly-surface-2)}.explore-faq-chevron{color:var(--text-4);flex-shrink:0;transition:transform .22s var(--askly-ease),color .15s}.explore-faq.open .explore-faq-q{background:var(--askly-surface-2)}.explore-faq.open .explore-faq-chevron{color:var(--askly-accent);transform:rotate(180deg)}.explore-faq-a{background:var(--askly-surface-2);color:var(--text-2);font-size:12.5px;line-height:1.55;padding:0 14px 14px}.explore-faq-a>div:first-child{padding-top:2px}.askly-skeleton{background:var(--askly-surface-3);border-radius:6px;display:block;overflow:hidden;position:relative}.askly-skeleton:after{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text-4) 22%,transparent),transparent);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes shimmer{to{transform:translateX(100%)}}.askly-skeleton-line{height:10px;width:100%}.askly-skeleton-chip{border-radius:5px;flex-shrink:0;height:16px;width:16px}.askly-empty-state{align-items:center;display:flex;flex-direction:column;gap:6px;margin:auto 0;padding:44px 24px;text-align:center}.askly-empty-icon{align-items:center;background:var(--askly-accent-soft);border-radius:16px;color:var(--askly-accent);display:flex;height:52px;justify-content:center;margin-bottom:8px;width:52px}.askly-empty-title{color:var(--text-1);font-size:14px;font-weight:600}.askly-empty-desc{color:var(--text-3);font-size:12px;line-height:1.5;max-width:240px}.chat-nav-tabs{background:var(--askly-surface);border-top:1px solid var(--askly-border);display:flex;flex-shrink:0;gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom, 0px))}.nav-tab-btn{all:unset;align-items:center;border-radius:var(--askly-radius-md);box-sizing:border-box;color:var(--text-4);cursor:pointer;display:flex;flex:1;flex-direction:column;font-size:11px;font-weight:500;gap:4px;padding:7px 6px;transition:color .2s var(--askly-ease),background .2s var(--askly-ease)}.nav-tab-btn:hover{color:var(--text-2)}.nav-tab-btn:hover .nav-tab-icon{transform:translateY(-1px)}.nav-tab-icon{align-items:center;display:flex;justify-content:center;transition:transform .2s var(--askly-ease)}.nav-tab-btn.active{color:var(--askly-accent);font-weight:600}.nav-tab-btn.active .nav-tab-icon svg{animation:navTabPop .3s var(--askly-ease)}@keyframes navTabPop{0%{transform:scale(.85)}55%{transform:scale(1.1)}to{transform:scale(1)}}.askly-emoji-picker{background:var(--askly-surface);border:1px solid var(--askly-border-strong);border-radius:var(--askly-radius-md);bottom:calc(100% + 8px);box-shadow:var(--askly-elev-3);display:grid;gap:4px;grid-template-columns:repeat(6,1fr);height:180px;overflow-y:auto;padding:10px;position:absolute;right:20px;width:240px;z-index:10}.emoji-item{all:unset;align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:4px;transition:background .15s}.emoji-item:hover{background:var(--askly-surface-2)}.header-action-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--askly-header-fg,var(--text-2));cursor:pointer;display:flex;height:28px;justify-content:center;opacity:.7;transition:all .15s;width:28px}.header-action-btn:hover{background:rgba(0,0,0,.06);color:var(--askly-header-fg,var(--text-1));opacity:1}.askly-chat-modal[data-askly-theme=dark] .header-action-btn:hover{background:hsla(0,0%,100%,.14)}.header-back-arrow-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--askly-header-fg,var(--text-1));cursor:pointer;display:flex;justify-content:center;margin-right:-4px;outline:none;padding:4px;transition:background .2s}.header-back-arrow-btn:hover{background:rgba(0,0,0,.06)}.askly-chat-modal[data-askly-theme=dark] .header-back-arrow-btn:hover{background:hsla(0,0%,100%,.14)}.help-layout{background:var(--askly-bg);overflow-x:hidden;overflow-y:auto;padding:20px}.help-collections{display:flex;flex-direction:column;gap:12px}.help-collection-card{all:unset;align-items:center;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);box-sizing:border-box;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px;text-align:left;transition:transform .16s var(--askly-ease),box-shadow .16s var(--askly-ease),border-color .16s var(--askly-ease)}.help-collection-card:not(.is-skeleton):hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-2);transform:translateY(-2px)}.help-collection-left{align-items:flex-start;display:flex;gap:12px;min-width:0}.help-collection-icon{align-items:center;background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));box-shadow:var(--askly-elev-1);color:#fff;display:flex;justify-content:center}.help-collection-icon,.help-collection-icon-skel{border-radius:10px;flex-shrink:0;height:36px;width:36px}.help-collection-text{display:flex;flex-direction:column;gap:3px;min-width:0}.help-collection-title{color:var(--text-1);font-size:13.5px;font-weight:600}.help-collection-desc{color:var(--text-3);font-size:11.5px;line-height:1.4}.help-collection-count{color:var(--askly-accent);font-size:10.5px;font-weight:600;margin-top:3px}.help-collection-chevron{color:var(--text-4);flex-shrink:0}.help-articles-list{display:flex;flex-direction:column;gap:10px}.help-article-row{all:unset;align-items:center;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);box-sizing:border-box;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 16px;text-align:left;transition:transform .18s var(--askly-ease),box-shadow .18s var(--askly-ease),border-color .18s var(--askly-ease);width:100%}.help-article-row:hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-2);transform:translateY(-1px)}.help-article-row>div:first-child{flex:1;min-width:0}.article-row-title{color:var(--text-1);font-size:13.5px;font-weight:600;overflow-wrap:anywhere}.article-row-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-3);display:-webkit-box;font-size:12px;line-height:1.4;overflow:hidden;overflow-wrap:anywhere}.help-collection-desc,.help-collection-title{overflow-wrap:anywhere}.article-row-chevron{color:var(--text-4);flex-shrink:0;transition:color .15s}.help-article-row:hover .article-row-chevron{color:var(--askly-accent)}.help-article-reader{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0}.article-breadcrumb{align-items:center;color:var(--text-3);display:flex;font-size:11px;gap:6px;margin-bottom:12px}.article-breadcrumb-link{all:unset;color:var(--askly-accent);cursor:pointer;font-weight:600}.article-breadcrumb-link:hover{text-decoration:underline}.article-breadcrumb-type{text-transform:capitalize}.help-back-btn{all:unset;align-items:center;color:var(--text-3);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;transition:color .15s}.help-back-btn:hover{color:var(--askly-accent)}.help-article-heading{color:var(--text-1);font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.32;margin-bottom:10px}.article-author-bar{align-items:center;border-bottom:1px solid var(--askly-border);display:flex;gap:10px;margin-bottom:18px;padding-bottom:14px}.article-author-avatar{border:1px solid var(--askly-border);border-radius:50%;flex-shrink:0;height:30px;object-fit:cover;width:30px}.article-author-text{display:flex;flex-direction:column;gap:2px}.article-author-name{color:var(--text-1);font-size:11.5px;font-weight:600}.article-author-meta{color:var(--text-3);font-size:10.5px}.help-article-body{color:var(--text-2);font-size:13.5px;line-height:1.65;overflow-wrap:anywhere}.help-article-body h1,.help-article-body h2,.help-article-body h3{color:var(--text-1);font-weight:700;letter-spacing:-.01em;margin:18px 0 8px}.help-article-body p{margin:0 0 12px}.help-article-body ol,.help-article-body ul{margin:0 0 12px;padding-left:22px}.help-article-body li{margin-top:4px}.help-article-body pre{background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:8px;box-sizing:border-box;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;margin:0 0 12px;max-width:100%;overflow-x:auto;padding:10px 12px;white-space:pre}.help-article-body pre code{background:none;border:0;font:inherit;padding:0}.help-article-body blockquote{border-left:3px solid var(--askly-border-strong);color:var(--text-3);margin:0 0 12px;padding:2px 0 2px 12px}.help-article-body code.inline-code{background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:2px 6px}.article-feedback{border-top:1px solid var(--askly-border);display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:16px}.article-feedback-title{color:var(--text-1);font-size:12.5px;font-weight:600;text-align:center}.article-feedback-thanks{background:var(--askly-success-bg);border:1px solid color-mix(in srgb,var(--askly-success) 25%,transparent);border-radius:var(--askly-radius-sm);color:var(--askly-success);font-size:12px;font-weight:600;padding:10px 14px;text-align:center}.article-feedback-options{display:flex;gap:10px;justify-content:center}.article-feedback-btn{all:unset;align-items:center;background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:var(--askly-radius-sm);color:var(--text-1);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s var(--askly-ease)}.article-feedback-btn:hover{background:var(--askly-accent-soft);border-color:var(--askly-accent)}.article-handoff{all:unset;align-items:center;background:var(--askly-accent-soft);border:1px solid color-mix(in srgb,var(--askly-accent) 40%,transparent);border-radius:var(--askly-radius-sm);box-sizing:border-box;cursor:pointer;display:flex;gap:10px;justify-content:space-between;margin-top:10px;padding:11px 13px;transition:all .16s var(--askly-ease)}.article-handoff:hover{background:color-mix(in srgb,var(--askly-accent) 16%,transparent);border-color:var(--askly-accent)}.article-handoff-text{display:flex;flex-direction:column;gap:2px}.article-handoff-title{align-items:center;color:var(--text-1);display:inline-flex;font-size:12px;font-weight:600;gap:6px}.article-handoff-title svg{color:var(--askly-accent)}.article-handoff-desc{color:var(--text-3);font-size:11px}.article-handoff-chevron{color:var(--askly-accent);flex-shrink:0}.help-catalog-intro{color:var(--text-4);padding:40px 20px;text-align:center}.message-inline-image{border:1px solid var(--askly-border);border-radius:10px;margin-top:6px;max-width:100%}.message-inline-link{color:inherit;font-weight:500;text-decoration:underline}.msg.agent .message-inline-link{color:var(--askly-link)}.conversations-list-container{background:var(--askly-bg);box-sizing:border-box;display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:20px}.conversations-scrollable{display:flex;flex:1;flex-direction:column;gap:8px;margin-bottom:16px;min-height:0;overflow-y:auto;padding-right:2px}.conversation-list-item{all:unset;align-items:center;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;padding:12px 14px;transition:transform .18s var(--askly-ease),box-shadow .18s var(--askly-ease),border-color .18s var(--askly-ease);width:100%}.conversation-list-item:hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-2);transform:translateY(-1px)}.conversation-item-left{align-items:center;display:flex;gap:12px;overflow:hidden;text-align:left}.conversation-item-icon{align-items:center;background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;object-fit:cover;width:36px}.conversation-item-details{align-items:flex-start;display:flex;flex-direction:column;gap:2px;overflow:hidden}.conversation-item-title{color:var(--text-1);font-size:13px;font-weight:600}.conversation-item-preview{color:var(--text-3);font-size:11.5px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item-right{align-items:center;color:var(--text-4);display:flex;flex-shrink:0;gap:6px}.conversation-item-time{font-size:10px}.start-new-chat-btn{all:unset;align-items:center;background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-2);box-sizing:border-box;color:var(--askly-accent-contrast);cursor:pointer;display:flex;flex-shrink:0;font-size:13.5px;font-weight:600;height:44px;justify-content:center;text-align:center;transition:transform .18s var(--askly-ease),box-shadow .18s var(--askly-ease),filter .18s var(--askly-ease);width:100%}.start-new-chat-btn:hover{box-shadow:var(--askly-elev-3);filter:brightness(1.05);transform:translateY(-1px)}.start-new-chat-btn:active{transform:scale(.98)}.askly-greeting{-webkit-font-smoothing:antialiased;animation:asklyGreetingIn .32s var(--askly-ease);bottom:98px;display:flex;flex-direction:column;font-family:var(--askly-font);gap:8px;max-width:min(300px,calc(100vw - 48px));position:fixed;z-index:99998}.askly-greeting-right{align-items:flex-end;right:24px}.askly-greeting-left{align-items:flex-start;left:24px}@keyframes asklyGreetingIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.askly-greeting-card{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:16px;box-shadow:var(--askly-elev-3);color:var(--text-1);position:relative}.askly-greeting-body{all:unset;align-items:center;border-radius:16px;box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font-size:13.5px;gap:10px;line-height:1.45;padding:12px 34px 12px 14px}.askly-greeting-body:focus-visible,.askly-greeting-chip:focus-visible,.askly-greeting-close:focus-visible{outline:2px solid var(--askly-accent);outline-offset:2px}.askly-greeting-avatar{border-radius:50%;flex-shrink:0;height:28px;object-fit:cover;width:28px}.askly-greeting-close{all:unset;align-items:center;border-radius:50%;box-sizing:border-box;color:var(--text-3);cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:6px;top:6px;width:24px}.askly-greeting-close:hover{background:var(--askly-surface-2);color:var(--text-1)}.askly-greeting-chips{align-items:inherit;display:flex;flex-direction:column;gap:6px}.askly-greeting-chip{box-shadow:var(--askly-elev-1,0 1px 2px rgba(15,23,42,.08))}@media (max-width:600px){.askly-chat-modal,.askly-chat-modal.expanded{border:none!important;border-radius:0!important;bottom:0!important;height:100dvh!important;left:0!important;max-height:100dvh!important;max-width:100vw!important;right:0!important;width:100vw!important}.chat-header{border-radius:0!important}.askly-chat-button{bottom:16px;right:16px}.askly-greeting{bottom:88px;max-width:calc(100vw - 32px)}.askly-greeting-right{right:16px}.askly-greeting-left{left:16px}.askly-greeting-chips{display:none}.askly-greeting-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.askly-chat-button.open{display:none}}@media (prefers-reduced-motion:reduce){.askly-chat-modal,.askly-greeting,.askly-jump-latest,.askly-skeleton:after,.home-hero-wave,.msg-wrapper,.quick-replies{animation:none!important}.askly-chat-button,.conversation-list-item,.help-article-row,.home-action-card,.send-btn{transition:none!important}}.askly-composer-notice{padding:6px 16px}';const De="askly-widget";let Re,Ue;let Oe=null,Le=null,Pe=0,Ve=!1;const Fe=(...e)=>{Ve&&console.log("[Askly]",...e)},He={init:(t={})=>{Ve=!!t.debug,Fe("Initializing...");const a=t.orgServerRoute||"https://api.askly.co.in/api/messages/widget",r=t.appId||t.widgetId||t.orgId;if(Ue=r,r||console.error("[Askly] Missing required `appId`. The widget cannot load without it."),te("undefined"!=typeof window?window.location.pathname:"",t.includePaths,t.excludePaths)||Fe("Hidden on this path until navigation allows it."),document.querySelector(De))return void console.warn("[Askly] Widget already initialized on this page; ignoring duplicate init().");const n=document.createElement(De),o=n.attachShadow({mode:"open"});!function(e){if(void 0===Re)try{Re=new CSSStyleSheet,Re.replaceSync($e)}catch{Re=null}if(Re&&"adoptedStyleSheets"in e)try{return void(e.adoptedStyleSheets=[Re])}catch{}const t=document.createElement("style");t.textContent=$e,e.appendChild(t)}(o);const s=document.createElement("div");o.appendChild(s);const l=document.createElement("div");l.id="askly-turnstile-container",l.slot="turnstile",n.appendChild(l),document.body.appendChild(n),ee();const i=Q(s);i.render(e.createElement(_e,{...t,orgId:r,orgServerRoute:a,resetGeneration:xe(),greetingStartedAt:Pe||Date.now()})),Oe=i,Le=n,Fe("ChatWidget rendered."),t.userId&&he({userId:t.userId,hash:t.signature,timestamp:t.timestamp})},identify:e=>{e&&e.userId?he(e):console.error("[Askly] identify() requires a `userId`.")},reset:()=>{me=null,pe(Ue||"detect"),ye+=1,fe.forEach(e=>{try{e()}catch(e){console.error("[Askly] reset listener failed:",e)}})},shutdown:()=>{He.reset(),He.unmount()},unmount:()=>{if(Oe){try{Oe.unmount()}catch{}Oe=null}Z();const e=Le||document.querySelector(De);e&&e.remove(),Le=null},open:()=>J({type:"open"}),close:()=>J({type:"close"}),toggle:()=>J({type:"toggle"}),show:()=>J({type:"open"}),hide:()=>J({type:"close"}),isOpen:()=>H.open,getUnreadCount:()=>H.unread,getVisitorId:()=>H.visitorId,on:(e,t)=>K(e,t),off:(e,t)=>X(e,t),once:(e,t)=>W(e,t),ready:()=>new Promise(e=>{H.ready?e():W("ready",()=>e())}),showSpace:e=>J({type:"showSpace",space:e}),showNewMessage:e=>J({type:"showNewMessage",text:e}),sendMessage:e=>J({type:"sendMessage",text:e}),showArticle:e=>J({type:"showArticle",articleId:e}),startVoiceInput:()=>J({type:"startVoiceInput"}),stopVoiceInput:()=>J({type:"stopVoiceInput"}),update:e=>J({type:"update",config:e})};if("undefined"!=typeof window){const e=window,t=e.Askly&&3===e.Askly.v&&Array.isArray(e.Askly.q)?e.Askly:void 0;if(t){const e=t.q||[];t.q=null,Pe=t._t||0,t._unpaint&&t._unpaint(),Object.keys(He).forEach(e=>{t[e]=He[e]}),e.filter(e=>"on"===e[0]||"once"===e[0]).forEach(([e,t])=>He[e](...t)),e.filter(e=>"on"!==e[0]&&"once"!==e[0]).forEach(([e,t])=>{try{He[e](...t)}catch(t){console.error(`[Askly] ${e}() failed:`,t)}});const a=t._r;t._r=[],a.length&&He.ready().then(()=>a.forEach(e=>e()))}else e.Askly||(e.Askly=He)}
@@ -0,0 +1 @@
1
+ var e,t,n,r,o,i,_,u,l,s,a,c,f,p,h,d={},m=[],v=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function y(e,t){for(var n in t)e[n]=t[n];return e}function k(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function w(t,n,r){var o,i,_,u={};for(_ in n)"key"==_?o=n[_]:"ref"==_?i=n[_]:u[_]=n[_];if(arguments.length>2&&(u.children=arguments.length>3?e.call(arguments,2):r),"function"==typeof t&&null!=t.defaultProps)for(_ in t.defaultProps)void 0===u[_]&&(u[_]=t.defaultProps[_]);return b(t,u,o,i,null)}function b(e,r,o,i,_){var u={type:e,props:r,key:o,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==_?++n:_,__i:-1,__u:0};return null==_&&null!=t.vnode&&t.vnode(u),u}function C(e){return e.children}function S(e,t){this.props=e,this.context=t}function x(e,t){if(null==t)return e.__?x(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?x(e):null}function N(e){if(e.__P&&e.__d){var n=e.__v,r=n.__e,o=[],i=[],_=y({},n);_.__v=n.__v+1,t.vnode&&t.vnode(_),A(e.__P,_,n,e.__n,e.__P.namespaceURI,32&n.__u?[r]:null,o,null==r?x(n):r,!!(32&n.__u),i),_.__v=n.__v,_.__.__k[_.__i]=_,O(o,_,i),n.__e=n.__=null,_.__e!=r&&M(_)}}function M(e){if(null!=(e=e.__)&&null!=e.__c)return e.__e=e.__c.base=null,e.__k.some(function(t){if(null!=t&&null!=t.__e)return e.__e=e.__c.base=t.__e}),M(e)}function E(e){(!e.__d&&(e.__d=!0)&&r.push(e)&&!$.__r++||o!=t.debounceRendering)&&((o=t.debounceRendering)||i)($)}function $(){try{for(var e,t=1;r.length;)r.length>t&&r.sort(_),e=r.shift(),t=r.length,N(e)}finally{r.length=$.__r=0}}function H(e,t,n,r,o,i,_,u,l,s,a){var c,f,p,h,v,y,k=r&&r.__k||m,w=t.length;for(l=function(e,t,n,r,o){var i,_,u,l,s,a=n.length,c=a,f=0;for(e.__k=new Array(o),i=0;i<o;i++)null!=(_=t[i])&&"boolean"!=typeof _&&"function"!=typeof _?("string"==typeof _||"number"==typeof _||"bigint"==typeof _||_.constructor==String?_=e.__k[i]=b(null,_,null,null,null):g(_)?_=e.__k[i]=b(C,{children:_},null,null,null):void 0===_.constructor&&_.__b>0?_=e.__k[i]=b(_.type,_.props,_.key,_.ref?_.ref:null,_.__v):e.__k[i]=_,l=i+f,_.__=e,_.__b=e.__b+1,u=null,-1!=(s=_.__i=I(_,n,l,c))&&(c--,(u=n[s])&&(u.__u|=2)),null==u||null==u.__v?(-1==s&&(o>a?f--:o<a&&f++),"function"!=typeof _.type&&(_.__u|=4)):s!=l&&(s==l-1?f--:s==l+1?f++:(s>l?f--:f++,_.__u|=4))):e.__k[i]=null;if(c)for(i=0;i<a;i++)null!=(u=n[i])&&!(2&u.__u)&&(u.__e==r&&(r=x(u)),z(u,u));return r}(n,t,k,l,w),c=0;c<w;c++)null!=(p=n.__k[c])&&(f=-1!=p.__i&&k[p.__i]||d,p.__i=c,y=A(e,p,f,o,i,_,u,l,s,a),h=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&W(f.ref,null,p),a.push(p.ref,p.__c||h,p)),null==v&&null!=h&&(v=h),4&p.__u?(l=P(p,l,e),f.__e&&(f.__e=null)):"function"==typeof p.type&&void 0!==y?l=y:h&&(l=h.nextSibling),p.__u&=-7);return n.__e=v,l}function P(e,t,n){var r,o;if("function"==typeof e.type){for(r=e.__k,o=0;r&&o<r.length;o++)r[o]&&(r[o].__=e,t=P(r[o],t,n));return t}e.__e!=t&&(t&&e.type&&!t.parentNode&&(t=x(e)),t=n.insertBefore(e.__e,t||null));do{t=t&&t.nextSibling}while(null!=t&&8==t.nodeType);return t}function U(e,t){return t=t||[],null==e||"boolean"==typeof e||(g(e)?e.some(function(e){U(e,t)}):t.push(e)),t}function I(e,t,n,r){var o,i,_,u=e.key,l=e.type,s=t[n],a=null!=s&&!(2&s.__u);if(null===s&&null==u||a&&u==s.key&&l==s.type)return n;if(r>(a?1:0))for(o=n-1,i=n+1;o>=0||i<t.length;)if(null!=(s=t[_=o>=0?o--:i++])&&!(2&s.__u)&&u==s.key&&l==s.type)return _;return-1}function R(e,t,n){"-"==t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||v.test(t)?n:n+"px"}function L(e,t,n,r,o){var i,_;e:if("style"==t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||R(e.style,t,"");if(n)for(t in n)r&&n[t]==r[t]||R(e.style,t,n[t])}else if("o"==t[0]&&"n"==t[1])i=t!=(t=t.replace(a,"$1")),_=t.toLowerCase(),t=_ in e||"onFocusOut"==t||"onFocusIn"==t?_.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?r?n[s]=r[s]:(n[s]=c,e.addEventListener(t,i?p:f,i)):e.removeEventListener(t,i?p:f,i);else{if("http://www.w3.org/2000/svg"==o)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=t&&"height"!=t&&"href"!=t&&"list"!=t&&"form"!=t&&"tabIndex"!=t&&"download"!=t&&"rowSpan"!=t&&"colSpan"!=t&&"role"!=t&&"popover"!=t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!=t[4]?e.removeAttribute(t):e.setAttribute(t,"popover"==t&&1==n?"":n))}}function T(e){return function(n){if(this.l){var r=this.l[n.type+e];if(null==n[l])n[l]=c++;else if(n[l]<r[s])return;return r(t.event?t.event(n):n)}}}function A(e,n,r,o,i,_,u,l,s,a){var c,f,p,h,d,v,w,b,N,M,E,$,P,U,I,R,L=n.type;if(void 0!==n.constructor)return null;128&r.__u&&(s=!!(32&r.__u),_=[l=n.__e=r.__e]),(c=t.__b)&&c(n);e:if("function"==typeof L){f=u.length;try{if(N=n.props,M=L.prototype&&L.prototype.render,E=(c=L.contextType)&&o[c.__c],$=c?E?E.props.value:c.__:o,r.__c?b=(p=n.__c=r.__c).__=p.__E:(M?n.__c=p=new L(N,$):(n.__c=p=new S(N,$),p.constructor=L,p.render=j),E&&E.sub(p),p.state||(p.state={}),p.__n=o,h=p.__d=!0,p.__h=[],p._sb=[]),M&&null==p.__s&&(p.__s=p.state),M&&null!=L.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=y({},p.__s)),y(p.__s,L.getDerivedStateFromProps(N,p.__s))),d=p.props,v=p.state,p.__v=n,h)M&&null==L.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),M&&null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else{if(M&&null==L.getDerivedStateFromProps&&N!==d&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(N,$),n.__v==r.__v||!p.__e&&null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(N,p.__s,$)){n.__v!=r.__v&&(p.props=N,p.state=p.__s,p.__d=!1),n.__e=r.__e,n.__k=r.__k,n.__k.some(function(e){e&&(e.__=n)}),m.push.apply(p.__h,p._sb),p._sb=[],p.__h.length&&u.push(p),l=x(r);break e}null!=p.componentWillUpdate&&p.componentWillUpdate(N,p.__s,$),M&&null!=p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(d,v,w)})}if(p.context=$,p.props=N,p.__P=e,p.__e=!1,P=t.__r,U=0,M)p.state=p.__s,p.__d=!1,P&&P(n),c=p.render(p.props,p.state,p.context),m.push.apply(p.__h,p._sb),p._sb=[];else do{p.__d=!1,P&&P(n),c=p.render(p.props,p.state,p.context),p.state=p.__s}while(p.__d&&++U<25);p.state=p.__s,null!=p.getChildContext&&(o=y(y({},o),p.getChildContext())),M&&!h&&null!=p.getSnapshotBeforeUpdate&&(w=p.getSnapshotBeforeUpdate(d,v)),I=null!=c&&c.type===C&&null==c.key?D(c.props.children):c,l=H(e,g(I)?I:[I],n,r,o,i,_,u,l,s,a),p.base=n.__e,n.__u&=-161,p.__h.length&&u.push(p),b&&(p.__E=p.__=null)}catch(e){if(u.length=f,n.__v=null,s||null!=_){if(e.then){for(n.__u|=s?160:128;l&&8==l.nodeType&&l.nextSibling;)l=l.nextSibling;null!=_&&(_[_.indexOf(l)]=null),n.__e=l}else if(null!=_)for(R=_.length;R--;)k(_[R])}else n.__e=r.__e;null==n.__k&&(n.__k=r.__k||[]),e.then||V(n),t.__e(e,n,r)}}else null==_&&n.__v==r.__v?(n.__k=r.__k,n.__e=r.__e):l=n.__e=F(r.__e,n,r,o,i,_,u,s,a);return(c=t.diffed)&&c(n),128&n.__u?void 0:l}function V(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(V))}function O(e,n,r){for(var o=0;o<r.length;o++)W(r[o],r[++o],r[++o]);t.__c&&t.__c(n,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(e){e.call(n)})}catch(e){t.__e(e,n.__v)}})}function D(e){return"object"!=typeof e||null==e||e.__b>0?e:g(e)?e.map(D):void 0!==e.constructor?null:y({},e)}function F(n,r,o,i,_,u,l,s,a){var c,f,p,h,m,v,y,w=o.props||d,b=r.props,C=r.type;if("svg"==C?_="http://www.w3.org/2000/svg":"math"==C?_="http://www.w3.org/1998/Math/MathML":_||(_="http://www.w3.org/1999/xhtml"),null!=u)for(c=0;c<u.length;c++)if((m=u[c])&&"setAttribute"in m==!!C&&(C?m.localName==C:3==m.nodeType)){n=m,u[c]=null;break}if(null==n){if(null==C)return document.createTextNode(b);n=document.createElementNS(_,C,b.is&&b),s&&(t.__m&&t.__m(r,u),s=!1),u=null}if(null==C)w===b||s&&n.data==b||(n.data=b);else{if(u="textarea"==C&&null!=b.defaultValue?null:u&&e.call(n.childNodes),!s&&null!=u)for(w={},c=0;c<n.attributes.length;c++)w[(m=n.attributes[c]).name]=m.value;for(c in w)m=w[c],"dangerouslySetInnerHTML"==c?p=m:"children"==c||c in b||"value"==c&&"defaultValue"in b||"checked"==c&&"defaultChecked"in b||L(n,c,null,m,_);for(c in b)m=b[c],"children"==c?h=m:"dangerouslySetInnerHTML"==c?f=m:"value"==c?v=m:"checked"==c?y=m:s&&"function"!=typeof m||w[c]===m||L(n,c,m,w[c],_);if(f)s||p&&(f.__html==p.__html||f.__html==n.innerHTML)||(n.innerHTML=f.__html),r.__k=[];else if(p&&(n.innerHTML=""),H("template"==r.type?n.content:n,g(h)?h:[h],r,o,i,"foreignObject"==C?"http://www.w3.org/1999/xhtml":_,u,l,u?u[0]:o.__k&&x(o,0),s,a),null!=u)for(c=u.length;c--;)k(u[c]);s&&"textarea"!=C||(c="value","progress"==C&&null==v?n.removeAttribute("value"):null!=v&&(v!==n[c]||"progress"==C&&!v||"option"==C&&v!=w[c])&&L(n,c,v,w[c],_),c="checked",null!=y&&y!=n[c]&&L(n,c,y,w[c],_))}return n}function W(e,n,r){try{if("function"==typeof e){var o="function"==typeof e.__u;o&&e.__u(),o&&null==n||(e.__u=e(n))}else e.current=n}catch(e){t.__e(e,r)}}function z(e,n,r){var o,i;if(t.unmount&&t.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||W(o,null,n)),null!=(o=e.__c)){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(e){t.__e(e,n)}o.base=o.__P=o.__n=null}if(o=e.__k)for(i=0;i<o.length;i++)o[i]&&z(o[i],n,r||"function"!=typeof e.type);r||k(e.__e),e.__c=e.__=e.__e=void 0}function j(e,t,n){return this.constructor(e,n)}function q(n,r,o){var i,_,u,l;r==document&&(r=document.documentElement),t.__&&t.__(n,r),_=(i="function"==typeof o)?null:o&&o.__k||r.__k,u=[],l=[],A(r,n=(!i&&o||r).__k=w(C,null,[n]),_||d,d,r.namespaceURI,!i&&o?[o]:_?null:r.firstChild?e.call(r.childNodes):null,u,!i&&o?o:_?_.__e:r.firstChild,i,l),O(u,n,l),n.props.children=null}function B(e,t){q(e,t,B)}function Z(t,n,r){var o,i,_,u,l=y({},t.props);for(_ in t.type&&t.type.defaultProps&&(u=t.type.defaultProps),n)"key"==_?o=n[_]:"ref"==_?i=n[_]:l[_]=void 0===n[_]&&null!=u?u[_]:n[_];return arguments.length>2&&(l.children=arguments.length>3?e.call(arguments,2):r),b(t.type,l,o||t.key,i||t.ref,null)}e=m.slice,t={__e:function(e,t,n,r){for(var o,i,_;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),_=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),_=o.__d),_)return o.__E=o}catch(t){e=t}throw e}},n=0,S.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=y({},this.state),"function"==typeof e&&(e=e(y({},n),this.props)),e&&y(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),E(this))},S.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),E(this))},S.prototype.render=C,r=[],i="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,_=function(e,t){return e.__v.__b-t.__v.__b},$.__r=0,u=Math.random().toString(8),l="__d"+u,s="__a"+u,a=/(PointerCapture)$|Capture$/i,c=0,f=T(!1),p=T(!0),h=0;var J,Y,G,K,Q=0,X=[],ee=t,te=ee.__b,ne=ee.__r,re=ee.diffed,oe=ee.__c,ie=ee.unmount,_e=ee.__;function ue(e,t){ee.__h&&ee.__h(Y,e,Q||t),Q=0;var n=Y.__H||(Y.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function le(e){return Q=1,se(xe,e)}function se(e,t,n){var r=ue(J++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):xe(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=Y,!Y.__f)){var o=function(e,t,n){if(!r.__c.__H)return!0;var o=!1,_=r.__c.props!==e;if(r.__c.__H.__.some(function(e){if(e.__N){o=!0;var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(_=!0)}}),i){var u=i.call(this,e,t,n);return o?u||_:u}return!o||_};Y.__f=!0;var i=Y.shouldComponentUpdate,_=Y.componentWillUpdate;Y.componentWillUpdate=function(e,t,n){if(this.__e){var r=i;i=void 0,o(e,t,n),i=r}_&&_.call(this,e,t,n)},Y.shouldComponentUpdate=o}return r.__N||r.__}function ae(e,t){var n=ue(J++,3);!ee.__s&&Se(n.__H,t)&&(n.__=e,n.u=t,Y.__H.__h.push(n))}function ce(e,t){var n=ue(J++,4);!ee.__s&&Se(n.__H,t)&&(n.__=e,n.u=t,Y.__h.push(n))}function fe(e){return Q=5,he(function(){return{current:e}},[])}function pe(e,t,n){Q=6,ce(function(){if("function"==typeof e){var n=e(t());return function(){e(null),n&&"function"==typeof n&&n()}}if(e)return e.current=t(),function(){return e.current=null}},null==n?n:n.concat(e))}function he(e,t){var n=ue(J++,7);return Se(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function de(e,t){return Q=8,he(function(){return e},t)}function me(e){var t=Y.context[e.__c],n=ue(J++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(Y)),t.props.value):e.__}function ve(e,t){ee.useDebugValue&&ee.useDebugValue(t?t(e):e)}function ge(){var e=ue(J++,11);if(!e.__){for(var t=Y.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function ye(){for(var e;e=X.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(be),t.__h.some(Ce),t.__h=[]}catch(n){t.__h=[],ee.__e(n,e.__v)}}}ee.__b=function(e){Y=null,te&&te(e)},ee.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),_e&&_e(e,t)},ee.__r=function(e){ne&&ne(e),J=0;var t=(Y=e.__c).__H;t&&(G===Y?(t.__h=[],Y.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(be),t.__h.some(Ce),t.__h=[],J=0)),G=Y},ee.diffed=function(e){re&&re(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==X.push(t)&&K===ee.requestAnimationFrame||((K=ee.requestAnimationFrame)||we)(ye)),t.__H.__.some(function(e){e.u&&(e.__H=e.u,e.u=void 0)})),G=Y=null},ee.__c=function(e,t){t.some(function(e){try{e.__h.some(be),e.__h=e.__h.filter(function(e){return!e.__||Ce(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],ee.__e(n,e.__v)}}),oe&&oe(e,t)},ee.unmount=function(e){ie&&ie(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{be(e)}catch(e){t=e}}),n.__H=void 0,t&&ee.__e(t,n.__v))};var ke="function"==typeof requestAnimationFrame;function we(e){var t,n=function(){clearTimeout(r),ke&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);ke&&(t=requestAnimationFrame(n))}function be(e){var t=Y,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),Y=t}function Ce(e){var t=Y;e.__c=e.__(),Y=t}function Se(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function xe(e,t){return"function"==typeof t?t(e):t}function Ne(e,t){for(var n in t)e[n]=t[n];return e}function Me(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function Ee(e,t){var n=t(),r=le({t:{__:n,u:t}}),o=r[0].t,i=r[1];return ce(function(){o.__=n,o.u=t,$e(o)&&i({t:o})},[e,n,t]),ae(function(){return $e(o)&&i({t:o}),e(function(){$e(o)&&i({t:o})})},[e]),n}function $e(e){try{return!((t=e.__)===(n=e.u())&&(0!==t||1/t==1/n)||t!=t&&n!=n)}catch(e){return!0}var t,n}function He(e){e()}function Pe(e){return e}function Ue(){return[!1,He]}var Ie=ce;function Re(e,t){this.props=e,this.context=t}(Re.prototype=new S).isPureReactComponent=!0,Re.prototype.shouldComponentUpdate=function(e,t){return Me(this.props,e)||Me(this.state,t)};var Le=t.__b;t.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Le&&Le(e)};var Te="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;var Ae=function(e,t){return null==e?null:U(U(e).map(t))},Ve={map:Ae,forEach:Ae,count:function(e){return e?U(e).length:0},only:function(e){var t=U(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:U},Oe=t.__e;t.__e=function(e,t,n,r){if(e.then)for(var o,i=t;i=i.__;)if((o=i.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k||[]),o.__c(e,t);Oe(e,t,n,r)};var De=t.unmount;function Fe(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){"function"==typeof e.__c&&e.__c()}),e.__c.__H=null),null!=(e=Ne({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return Fe(e,t,n)})),e}function We(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return We(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function ze(){this.__u=0,this.o=null,this.__b=null}function je(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function qe(e){var t,n,r,o=null;function i(i){if(t||(t=e()).then(function(e){e&&(o=e.default||e),r=!0},function(e){n=e,r=!0}),n)throw n;if(!r)throw t;return o?w(o,i):null}return i.displayName="Lazy",i.__f=!0,i}function Be(){this.i=null,this.l=null}t.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),De&&De(e)},(ze.prototype=new S).__c=function(e,t){var n=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(n);var o=je(r.__v),i=!1,_=function(){i||r.__z||(i=!0,n.__R=null,o?o(l):l())};n.__R=_;var u=n.__P;n.__P=null;var l=function(){if(! --r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=We(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=u,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(_,_)},ze.prototype.componentWillUnmount=function(){this.o=[]},ze.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Fe(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__a&&w(C,null,e.fallback);return o&&(o.__u&=-33),[w(C,null,t.__a?null:e.children),o]};var Ze=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};function Je(e){return this.getChildContext=function(){return e.context},e.children}function Ye(e){var t=this,n=e.h;if(t.componentWillUnmount=function(){q(null,t.v),t.v=null,t.h=null},t.h&&t.h!==n&&t.componentWillUnmount(),!t.v){for(var r=t.__v;null!==r&&!r.__m&&null!==r.__;)r=r.__;t.h=n,t.v={nodeType:1,parentNode:n,childNodes:[],__k:{__m:r.__m},contains:function(){return!0},namespaceURI:n.namespaceURI,insertBefore:function(e,n){this.childNodes.push(e),t.h.insertBefore(e,n)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.h.removeChild(e)}}}q(w(Je,{context:t.context},e.__v),t.v)}(Be.prototype=new S).__a=function(e){var t=this,n=je(t.__v),r=t.l.get(e);return r[0]++,function(o){var i=function(){t.props.revealOrder?(r.push(o),Ze(t,e,r)):o()};n?n(i):i()}},Be.prototype.render=function(e){this.i=null,this.l=new Map;var t=U(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},Be.prototype.componentDidUpdate=Be.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Ze(e,n,t)})};var Ge="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,Ke=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Qe=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Xe=/[A-Z0-9]/g,et="undefined"!=typeof document,tt=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};function nt(e,t,n){return null==t.__k&&(t.textContent=""),q(e,t),"function"==typeof n&&n(),e?e.__c:null}S.prototype.isReactComponent=!0,["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(S.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var rt=t.event;t.event=function(e){return rt&&(e=rt(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var ot,it={configurable:!0,get:function(){return this.class}},_t=t.vnode;t.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,r={},o=-1==n.indexOf("-");for(var i in t){var _=t[i];if(!("value"===i&&"defaultValue"in t&&null==_||et&&"children"===i&&"noscript"===n||"class"===i||"className"===i)){var u=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===_?_="":"translate"===u&&"no"===_?_=!1:"o"===u[0]&&"n"===u[1]?"ondoubleclick"===u?i="ondblclick":"onchange"!==u||"input"!==n&&"textarea"!==n||tt(t.type)?"onfocus"===u?i="onfocusin":"onblur"===u?i="onfocusout":Qe.test(i)&&(i=u):u=i="oninput":o&&Ke.test(i)?i=i.replace(Xe,"-$&").toLowerCase():null===_&&(_=void 0),"oninput"===u&&r[i=u]&&(i="oninputCapture"),r[i]=_}}"select"==n&&(r.multiple&&Array.isArray(r.value)&&(r.value=U(t.children).forEach(function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)})),null!=r.defaultValue&&(r.value=U(t.children).forEach(function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,"className",it)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=Ge,_t&&_t(e)};var ut=t.__r;t.__r=function(e){ut&&ut(e),ot=e.__c};var lt=t.diffed;t.diffed=function(e){lt&&lt(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value),ot=null};var st={ReactCurrentDispatcher:{current:{readContext:function(e){return ot.__n[e.__c].props.value},useCallback:de,useContext:me,useDebugValue:ve,useDeferredValue:Pe,useEffect:ae,useId:ge,useImperativeHandle:pe,useInsertionEffect:Ie,useLayoutEffect:ce,useMemo:he,useReducer:se,useRef:fe,useState:le,useSyncExternalStore:Ee,useTransition:Ue}}};function at(e){return!!e&&e.$$typeof===Ge}function ct(e){return!!e.__k&&(q(null,e),!0)}var ft={useState:le,useId:ge,useReducer:se,useEffect:ae,useLayoutEffect:ce,useInsertionEffect:Ie,useTransition:Ue,useDeferredValue:Pe,useSyncExternalStore:Ee,startTransition:He,useRef:fe,useImperativeHandle:pe,useMemo:he,useCallback:de,useContext:me,useDebugValue:ve,version:"18.3.1",Children:Ve,render:nt,hydrate:function(e,t,n){return B(e,t),"function"==typeof n&&n(),e?e.__c:null},unmountComponentAtNode:ct,createPortal:function(e,t){var n=w(Ye,{__v:e,h:t});return n.containerInfo=t,n},createElement:w,createContext:function(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,E(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c="__cC"+h++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t},createFactory:function(e){return w.bind(null,e)},cloneElement:function(e){return at(e)?Z.apply(null,arguments):e},createRef:function(){return{current:null}},Fragment:C,isValidElement:at,isElement:at,isFragment:function(e){return at(e)&&e.type===C},isMemo:function(e){return!!e&&"string"==typeof e.displayName&&0==e.displayName.indexOf("Memo(")},findDOMNode:function(e){return e&&(e.base||1===e.nodeType&&e)||null},Component:S,PureComponent:Re,memo:function(e,t){function n(e){var n=this.props.ref;return n!=e.ref&&n&&("function"==typeof n?n(null):n.current=null),t?!t(this.props,e)||n!=e.ref:Me(this.props,e)}function r(t){return this.shouldComponentUpdate=n,w(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.__f=r.prototype.isReactComponent=!0,r.type=e,r},forwardRef:function(e){function t(t){var n=Ne({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Te,t.render=e,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t},flushSync:function(e,n){var r,o=t.debounceRendering;t.debounceRendering=function(e){r=e};try{var i=e(n);return r&&r(),i}finally{t.debounceRendering=o}},unstable_batchedUpdates:function(e,t){return e(t)},StrictMode:C,Suspense:ze,SuspenseList:Be,lazy:qe,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:st};function pt(e){return{render:function(t){nt(t,e)},unmount:function(){ct(e)}}}const ht=e=>({size:t=24,color:n="currentColor",strokeWidth:r=2,...o})=>ft.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:r,strokeLinecap:"round",strokeLinejoin:"round",...o},e.map(([e,t],n)=>ft.createElement(e,{key:n,...t}))),dt=ht([["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]]),mt=ht([["path",{d:"M5 12h14"}]]),vt=ht([["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]]),gt=ht([["path",{d:"M12 19v3"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3"}]]),yt=ht([["path",{d:"M15 3h6v6"}],["path",{d:"m21 3-7 7"}],["path",{d:"m3 21 7-7"}],["path",{d:"M9 21H3v-6"}]]),kt=ht([["path",{d:"m14 10 7-7"}],["path",{d:"M20 10h-6V4"}],["path",{d:"m3 21 7-7"}],["path",{d:"M4 14h6v6"}]]),wt=ht([["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"}]]),bt=ht([["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9"}]]),Ct=ht([["path",{d:"m9 18 6-6-6-6"}]]),St=ht([["path",{d:"m15 18-6-6 6-6"}]]),xt=ht([["path",{d:"M12 7v14"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}]]),Nt=ht([["path",{d:"m6 9 6 6 6-6"}]]),Mt=ht([["path",{d:"M7 10v12"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"}]]),Et=ht([["path",{d:"M17 14V2"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"}]]),$t=ht([["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]]),Ht=ht([["path",{d:"M20 6 9 17l-5-5"}]]),Pt=ht([["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .962 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.962 0z"}],["path",{d:"M20 3v4"}],["path",{d:"M22 5h-4"}]]),Ut=({size:e=22,className:t,style:n},r,o)=>ft.createElement("svg",{width:e,height:e,viewBox:r,fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,style:n},o),It=e=>Ut(e,"0 0 128 128",ft.createElement("g",{fill:"currentColor"},ft.createElement("path",{d:"M109,55c0-29.8-24.2-54-54-54C25.2,1,1,25.2,1,55s24.2,54,54,54c13.5,0,25.8-5,35.2-13.1l25.4,25.4l5.7-5.7L95.9,90.2C104,80.8,109,68.5,109,55z M55,101C29.6,101,9,80.4,9,55S29.6,9,55,9s46,20.6,46,46S80.4,101,55,101z"}),ft.createElement("path",{d:"M25.6,30.9l6.2,5.1C37.5,29,46,25,55,25v-8C43.6,17,32.9,22.1,25.6,30.9z"}),ft.createElement("path",{d:"M17,55h8c0-2.1,0.2-4.1,0.6-6.1l-7.8-1.6C17.3,49.8,17,52.4,17,55z"}))),Rt=e=>Ut(e,"0 0 24 24",ft.createElement("path",{fill:"currentColor",d:"M16 2H8C4 2 2 4 2 8V21C2 21.55 2.45 22 3 22H16C20 22 22 20 22 16V8C22 4 20 2 16 2ZM14 15.25H7C6.59 15.25 6.25 14.91 6.25 14.5C6.25 14.09 6.59 13.75 7 13.75H14C14.41 13.75 14.75 14.09 14.75 14.5C14.75 14.91 14.41 15.25 14 15.25ZM17 10.25H7C6.59 10.25 6.25 9.91 6.25 9.5C6.25 9.09 6.59 8.75 7 8.75H17C17.41 8.75 17.75 9.09 17.75 9.5C17.75 9.91 17.41 10.25 17 10.25Z"})),Lt=({size:e=26,className:t,style:n})=>ft.createElement("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,style:n},ft.createElement("g",{transform:"translate(24 0) scale(-1 1)"},ft.createElement("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M16 2H8C4 2 2 4 2 8V21C2 21.55 2.45 22 3 22H16C20 22 22 20 22 16V8C22 4 20 2 16 2ZM15.5 12.75H8.5C8.09 12.75 7.75 12.41 7.75 12C7.75 11.59 8.09 11.25 8.5 11.25H15.5C15.91 11.25 16.25 11.59 16.25 12C16.25 12.41 15.91 12.75 15.5 12.75Z"}))),Tt=e=>Ut(e,"0 0 24 24",ft.createElement(ft.Fragment,null,ft.createElement("path",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",d:"M12 20H12.01"}),ft.createElement("path",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",d:"M7 9C7 7.87439 7.37194 6.83566 7.99963 6C8.91184 4.78555 10.3642 4 12 4C14.7614 4 17 6.23858 17 9C17 11.4212 15.279 13.4405 12.9936 13.9013C12.4522 14.0104 12 14.4477 12 15V15V16"}))),At={};function Vt(e,t){return(At[e]=At[e]||[]).push(t),()=>Ot(e,t)}function Ot(e,t){const n=At[e];if(n)for(let e=n.length-1;e>=0;e--)n[e]!==t&&n[e].original!==t||n.splice(e,1)}function Dt(e,t){const n=r=>{Ot(e,n),t(r)};return n.original=t,Vt(e,n)}function Ft(e,...t){const n=At[e];if(n)for(const r of n.slice())try{r(t[0])}catch(t){console.error(`[Askly] "${e}" handler failed:`,t)}}let Wt=null,zt=[],jt=!1;function qt(){jt=!0}function Bt(e){Wt?Wt(e):jt?zt.push(e):console.warn(`[Askly] ${e.type}() ignored: the widget is not initialised on this page.`)}function Zt(e){Wt=e,jt=!1;const t=zt;return zt=[],t.forEach(e),()=>{Wt===e&&(Wt=null)}}function Jt(){zt=[],jt=!1}const Yt={ready:!1,open:!1,unread:0,visitorId:""};function Gt(){Yt.ready=!1,Yt.open=!1,Yt.unread=0,Yt.visitorId=""}function Kt(e){try{const t=window.localStorage.getItem(e),n=t?JSON.parse(t):[];return Array.isArray(n)?n:[]}catch{return[]}}function Qt(e,t){try{return void window.localStorage.setItem(e,JSON.stringify(t))}catch{}try{const n=t.filter(e=>e.messages.some(e=>"user"===e.role)).slice(0,30).map(e=>e.messages.length>200?{...e,messages:e.messages.slice(-200)}:e);window.localStorage.setItem(e,JSON.stringify(n))}catch{}}class Xt{constructor(e){this.options=e,this.token=null,this.supported=!0,this.userId=null,this.human=!1,this.pending=null,this.lastFailure=null}apply(e){e&&"string"==typeof e.session_token&&(this.token=e.session_token,this.userId=e.session_verified&&"string"==typeof e.session_user_id?e.session_user_id:null,this.human=!!e.session_human,this.options.onChange())}clear(){this.token=null,this.pending=null,this.userId=null,this.human=!1,this.options.onChange()}start(e){const t=this.options.getOrganizationId();if(!this.supported||!t)return Promise.resolve(null);if(this.pending)return this.pending;const n=this.options.getVisitorId();let r=null;return r=(async()=>{try{const r=await fetch(this.options.api("/session"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?{organization_id:t,token:e}:{organization_id:t,visitor_id:n})});if(404===r.status||405===r.status)return this.supported=!1,null;if(!r.ok)return this.lastFailure=401===r.status?"rejected":"transient",null;this.lastFailure=null;const o=await r.json();return n!==this.options.getVisitorId()?null:(this.token&&this.token!==e||this.apply(o),this.token)}catch{return this.lastFailure="transient",null}finally{this.pending===r&&(this.pending=null)}})(),this.pending=r,r}async request(e,t={}){var n;const r=n=>fetch("function"==typeof e?e(!!n):e,{...t,headers:{...t.headers,...n?{Authorization:`Bearer ${n}`}:{}}}),o=null!==(n=this.token)&&void 0!==n?n:await this.start(),i=await r(o);if(401!==i.status||!o)return{res:i,token:o};let _=await this.start(o);if(!_||_===o){const e=this.token;if(e&&e!==o)_=e;else{if("rejected"!==this.lastFailure)return{res:i,token:o};this.clear(),_=await this.start()}}return{res:await r(_),token:_}}async fetch(e,t={}){return(await this.request(e,t)).res}}let en;function tn(){if(void 0===en){const e="undefined"!=typeof window?window.trustedTypes:void 0;if(en=null,e&&e.createPolicy)try{en=e.createPolicy("askly",{createHTML:e=>e,createScriptURL:e=>e})}catch{en=null}}return en}function nn(e){const t=tn();return t?t.createHTML(e):e}function rn(e){const t=tn();return t?t.createScriptURL(e):e}function on(e){return!1===e||"off"===e?"off":!0===e||"review"===e?"review":"auto-send"===e?"auto-send":void 0}function _n(e){switch(e){case"insecure":return"Voice input needs a secure (https) page.";case"unsupported":return"Voice input isn't supported in this browser.";case"denied":return"Microphone access is blocked. Allow it in your browser's site settings to use voice input.";case"no-microphone":return"No microphone was found.";case"no-speech":return"I didn't catch that. Please try again.";case"no-audio":return"No sound is coming from your microphone. Check that it isn't muted and that the right one is selected.";case"limit":return"Voice input isn't available right now. Please type your message.";case"disabled":return"Voice input is turned off.";case"network":return"Your recording couldn't be transcribed. Check your connection and try again.";default:return"Your recording couldn't be transcribed. Please try again or type your message."}}const un=3e3,ln=3;function sn(e,t,n){const r="Hi from {organizationName}. How can we help?";let o="string"==typeof e&&e.trim()?e:t?"Hi, I'm {ai_name} from {organizationName}. How can I help?":r;return t||-1===o.indexOf("{ai_name}")||(o=r),o.replace(/\{ai_name\}/g,()=>t||"").replace(/\{organizationName\}/g,()=>n).trim()}function an(e){try{return"1"===window.sessionStorage.getItem(`askly_greeting_dismissed_${e}`)}catch{return!1}}function cn(e){try{window.sessionStorage.setItem(`askly_greeting_dismissed_${e}`,"1")}catch{}}function fn(e){Ft("shown"===e?"greeting:shown":"clicked"===e?"greeting:clicked":"greeting:dismissed");try{window.dispatchEvent(new Event(`askly:greeting:${e}`))}catch{}}const pn={headings:!1,blockquotes:!1,images:!1},hn={headings:!0,blockquotes:!0,images:!0};function dn(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function mn(e){const t=e.trim();return/^(https?:\/\/|mailto:|tel:)/i.test(t)&&!/[\s\0-]/.test(t)}function vn(e,t){return`<a href="${dn(e.trim())}" target="_blank" rel="noopener noreferrer" class="message-inline-link">${t}</a>`}class gn{constructor(){this.items=[]}put(e){return this.items.push(e),`${this.items.length-1}`}restore(e){return e.replace(/(\d+)/g,(e,t)=>this.items[Number(t)])}}const yn=/`([^`\n]+)`/g,kn=/!\[([^\]\n]*)\]\(((?:[^()\s]|\([^()\s]*\))+)\)/g,wn=/\[([^\]\n]+)\]\(((?:[^()\s]|\([^()\s]*\))+)\)/g,bn=/(^|[^\w"'=/\]\(])(https?:\/\/[^\s<>()]*[^\s<>().,;:!?'"])/g,Cn=/\*\*(?=\S)([\s\S]*?\S)\*\*/g,Sn=/(^|[^\w*])\*(?=\S)([^*\n]*?\S)\*(?![\w*])/g,xn=/(^|[^\w_])_(?=\S)([^_\n]*?\S)_(?![\w_])/g;function Nn(e,t){const n=new gn;let r=e;return t.emphasis&&(r=r.replace(yn,(e,t)=>n.put(`<code class="inline-code">${dn(t)}</code>`))),t.images?r=r.replace(kn,(e,t,r)=>function(e){const t=e.trim();return/^https:\/\//i.test(t)&&!/[\s\0-]/.test(t)}(r)?n.put(`<img src="${dn(r.trim())}" alt="${dn(t)}" class="message-inline-image" />`):n.put(dn(t))):t.links&&(r=r.replace(kn,(e,t,r)=>n.put(mn(r)?vn(r,dn(t||r)):dn(t||r)))),t.links&&(r=r.replace(wn,(e,t,r)=>n.put(mn(r)?vn(r,dn(t)):dn(t)))),r=r.replace(bn,(e,t,r)=>t+n.put(vn(r,dn(r)))),r=dn(r),t.emphasis&&(r=r.replace(Cn,"<strong>$1</strong>"),r=r.replace(Sn,"$1<em>$2</em>"),r=r.replace(xn,"$1<em>$2</em>")),r=r.replace(/\n/g,"<br />"),n.restore(r)}const Mn=/^\s{0,3}```\s*([\w+-]*)\s*$/,En=/^\s{0,3}```\s*$/,$n=/^\s{0,3}(#{1,3})\s+(.+?)\s*#*\s*$/,Hn=/^\s{0,3}>\s?(.*)$/,Pn=/^\s*([-*+]|\d{1,3}[.)])\s+(.*)$/,Un=/^\s{2,}\S/;function In(e,t){const n={emphasis:!0,links:!0,images:t.images},r=e.replace(/\r\n?/g,"\n").split("\n"),o=[];let i=0;const _=e=>Mn.test(e)||Pn.test(e)||t.headings&&$n.test(e)||t.blockquotes&&Hn.test(e);for(;i<r.length;){const e=r[i];if(""===e.trim()){i++;continue}const u=e.match(Mn);if(u){const e=u[1],t=[];for(i++;i<r.length&&!En.test(r[i]);)t.push(r[i]),i++;for(i++;t.length&&""===t[t.length-1].trim();)t.pop();const n=e?` class="language-${e}"`:"";o.push(`<pre><code${n}>${dn(t.join("\n"))}</code></pre>`);continue}if(t.headings){const t=e.match($n);if(t){const e=t[1].length;o.push(`<h${e}>${Nn(t[2],n)}</h${e}>`),i++;continue}}if(t.blockquotes&&Hn.test(e)){const e=[];for(;i<r.length;){const t=r[i].match(Hn);if(!t)break;e.push(t[1]),i++}o.push(`<blockquote><p>${Nn(e.join("\n"),n)}</p></blockquote>`);continue}const l=e.match(Pn);if(l){const e=/\d/.test(l[1]),t=e?parseInt(l[1],10):1,_=[];for(;i<r.length;){const e=r[i].match(Pn);if(e)_.push(e[2]),i++;else{if(!_.length||!Un.test(r[i]))break;_[_.length-1]+=" "+r[i].trim(),i++}}const u=e?"ol":"ul",s=e&&1!==t?` start="${t}"`:"";o.push(`<${u}${s}>${_.map(e=>`<li>${Nn(e,n)}</li>`).join("")}</${u}>`);continue}const s=[e];for(i++;i<r.length&&""!==r[i].trim()&&!_(r[i]);)s.push(r[i]),i++;o.push(`<p>${Nn(s.join("\n"),n)}</p>`)}return o.join("")}function Rn(e){return e?In(e,pn):""}function Ln(e){return e?In(e,hn):""}function Tn(e){return e?Nn(e,{emphasis:!1,links:!1,images:!1}):""}function An(e){return e?e.replace(/```[\s\S]*?```/g," [Code] ").replace(/!\[[^\]]*\]\([^)]*\)/g,"[Image]").replace(/\[[^\]]*\]\([^)]*\)/g,"[Link]").replace(/`([^`]*)`/g,"$1").replace(/\*\*([^*]*)\*\*/g,"$1").replace(/(^|[^\w*])\*([^*\n]+)\*(?![\w*])/g,"$1$2").replace(/(^|[^\w_])_([^_\n]+)_(?![\w_])/g,"$1$2").replace(/^\s{0,3}#{1,6}\s+/gm,"").replace(/^\s*(?:[-*+]|\d{1,3}[.)])\s+/gm,"").replace(/^\s{0,3}>\s?/gm,"").replace(/\s+/g," ").trim():""}function Vn(e){if(!e)return"";try{const t=new Date(e);return isNaN(t.getTime())?"":t.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}catch(e){return""}}export{Jt as $,vt as A,xt as B,Ct as C,fn as D,cn as E,Ft as F,ln as G,rn as H,on as I,Zt as J,Yt as K,Lt as L,gt as M,Gt as N,_n as O,wt as P,un as Q,Bt as R,bt as S,Rt as T,Dt as U,Ot as V,Xt as W,dt as X,Vt as Y,pt as Z,ce as _,Nt as a,qt as a0,Ln as a1,Pt as a2,It as b,Tt as c,ze as d,mt as e,Vn as f,ft as g,kt as h,yt as i,St as j,Mt as k,Et as l,Ht as m,$t as n,Tn as o,le as p,ae as q,Rn as r,An as s,nn as t,fe as u,Kt as v,Qt as w,sn as x,an as y,qe as z};
@@ -0,0 +1 @@
1
+ function e(){return"undefined"==typeof window||"undefined"==typeof navigator?"unsupported":navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?void 0===window.MediaRecorder?"unsupported":null:!1===window.isSecureContext?"insecure":"unsupported"}const t=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus"];function o(e){const t=e&&e.name;return"NotAllowedError"===t||"SecurityError"===t||"PermissionDeniedError"===t?"denied":"NotFoundError"===t||"DevicesNotFoundError"===t||"OverconstrainedError"===t?"no-microphone":"failed"}async function n(n){const r=e();if(r)throw{code:r};let a;try{a=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0}})}catch(e){throw{code:o(e)}}const i=()=>{try{a.getTracks().forEach(e=>e.stop())}catch{}};let c;try{const e=function(){const e=window.MediaRecorder;if(e&&"function"==typeof e.isTypeSupported)for(const o of t)try{if(e.isTypeSupported(o))return o}catch{}}(),o={audioBitsPerSecond:32e3};e&&(o.mimeType=e),c=new window.MediaRecorder(a,o)}catch(e){throw i(),{code:"unsupported"}}let s=null,d=null,u=null;try{const e=window.AudioContext||window.webkitAudioContext;if(e){s=new e,d=s.createAnalyser(),d.fftSize=1024,s.createMediaStreamSource(a).connect(d);const t=s.createGain();t.gain.value=0,d.connect(t),t.connect(s.destination),"suspended"===s.state&&s.resume&&s.resume().catch(()=>{}),u=new Uint8Array(d.fftSize)}}catch{d=null}const l=[],p=Date.now();let w=!1,f=!1,h=-1,m=0,y=!1,M=p,v=!1,g=!1,D=!1,S=null;const b=()=>{if(S&&clearInterval(S),S=null,i(),s)try{s.close()}catch{}s=null},x=()=>{if(!D){D=!0;try{"inactive"!==c.state?c.stop():c.onstop()}catch{c.onstop()}}};c.ondataavailable=e=>{e.data&&e.data.size>0&&l.push(e.data)},c.onstop=()=>{if(g)return;g=!0;const e=Date.now()-p;if(b(),v)return;const t=(c.mimeType||l[0]&&l[0].type||"audio/webm").split(";")[0],o=f&&m<.0015?"no-audio":y?"no-speech":"ok";n.onDone({blob:new Blob(l,{type:t}),durationMs:e,outcome:o})},c.onerror=()=>x(),S=setInterval(()=>{const e=Date.now(),t=e-p;let o=0;const r=d&&u&&s&&"running"===s.state;if(r){if(d&&u){f=!0,d.getByteTimeDomainData(u);let t=0;for(let e=0;e<u.length;e++){const o=(u[e]-128)/128;t+=o*o}o=Math.sqrt(t/u.length),m=Math.max(m,o),h=h<0?o:Math.min(o,1.05*h+3e-4),o>Math.max(.008,3*h+.004)&&(w=!0,M=e)}}else M=e;n.onMeter(Math.min(1,o/Math.max(.04,m)),t),t>=n.maxMs||r&&w&&e-M>=n.silenceMs?x():f&&!w&&t>=n.noSpeechMs&&(y=!0,x())},100);try{c.start()}catch(e){throw v=!0,g=!0,b(),{code:"failed"}}return{stop:x,cancel:()=>{v=!0,x()}}}export{n as startRecording,e as voiceInputBlocker};