@liip/liipgpt 3.2.4 → 3.2.5
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.
- package/button/liipgpt-button.iife.js +2 -2
- package/chat/liipgpt-chat.iife.js +3 -3
- package/configurator/_app/env.js +1 -1
- package/configurator/_app/immutable/chunks/-SuUzcLl.js +3 -0
- package/configurator/_app/immutable/chunks/{DtizvAR3.js → 4Bj_aAxI.js} +1 -1
- package/configurator/_app/immutable/chunks/{CH59pkDp.js → BFyTjJX5.js} +1 -1
- package/configurator/_app/immutable/chunks/BZFduDCC.js +1 -0
- package/configurator/_app/immutable/chunks/{AjvNvpcS.js → CQ_QazGM.js} +1 -1
- package/configurator/_app/immutable/chunks/{DUzWHrw7.js → Cpbg6gqo.js} +1 -1
- package/configurator/_app/immutable/chunks/{B2WYFJPx.js → D88z-8NL.js} +1 -1
- package/configurator/_app/immutable/chunks/{CwoM9ZsT.js → P3S4YAQG.js} +1 -1
- package/configurator/_app/immutable/chunks/{DNPn_ns0.js → l4sPpI_i.js} +18 -18
- package/configurator/_app/immutable/entry/{app.r6kVRVEe.js → app.Cu0QvATM.js} +2 -2
- package/configurator/_app/immutable/entry/start.fNYeeeTK.js +1 -0
- package/configurator/_app/immutable/nodes/{0.Cb7Wwl1_.js → 0.CrU899yL.js} +1 -1
- package/configurator/_app/immutable/nodes/{1.BNEGtkzm.js → 1.BD_SDJXL.js} +1 -1
- package/configurator/_app/immutable/nodes/{2.vvNnVFR_.js → 2.ugxPosyc.js} +3 -3
- package/configurator/_app/immutable/nodes/{3.DnT0Omxv.js → 3.CNAbn5jO.js} +1 -1
- package/configurator/_app/version.json +1 -1
- package/configurator/index.html +6 -6
- package/configurator/sidebar.html +6 -6
- package/package.json +1 -1
- package/configurator/_app/immutable/chunks/DsuhXmiJ.js +0 -3
- package/configurator/_app/immutable/chunks/o0VLopO-.js +0 -1
- package/configurator/_app/immutable/entry/start.zygD77td.js +0 -1
|
@@ -73,7 +73,7 @@ Please report this to https://github.com/markedjs/marked.`,t){const n="<p>An err
|
|
|
73
73
|
`+c:n[s]=c)}).bind(this)),n.data===null)return null;n.id!==null&&(this.lastEventId=n.id);const a=new CustomEvent(n.event||"message");return a.id=n.id,a.data=n.data||"",a.lastEventId=this.lastEventId,a},this._onReadyStateChange=function(){if(this.xhr&&this.xhr.readyState===XMLHttpRequest.HEADERS_RECEIVED){const r={},n=this.xhr.getAllResponseHeaders().trim().split(`\r
|
|
74
74
|
`);for(const i of n){const[o,...s]=i.split(":"),c=s.join(":").trim();r[o.trim().toLowerCase()]=r[o.trim().toLowerCase()]||[],r[o.trim().toLowerCase()].push(c)}const a=new CustomEvent("open");a.responseCode=this.xhr.status,a.headers=r,this.dispatchEvent(a),this._setReadyState(Xe.OPEN)}},this.stream=function(){if(!this.xhr){this._setReadyState(Xe.CONNECTING),this.xhr=new XMLHttpRequest,this.xhr.addEventListener("progress",this._onStreamProgress.bind(this)),this.xhr.addEventListener("load",this._onStreamLoaded.bind(this)),this.xhr.addEventListener("readystatechange",this._onReadyStateChange.bind(this)),this.xhr.addEventListener("error",this._onStreamFailure.bind(this)),this.xhr.addEventListener("abort",this._onStreamAbort.bind(this)),this.xhr.open(this.method,this.url);for(let r in this.headers)this.xhr.setRequestHeader(r,this.headers[r]);this.useLastEventId&&this.lastEventId.length>0&&this.xhr.setRequestHeader("Last-Event-ID",this.lastEventId),this.xhr.withCredentials=this.withCredentials,this.xhr.send(this.payload)}},this.close=function(){this.readyState!==Xe.CLOSED&&(this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.autoReconnect=!1,this.xhr.abort())},(e.start===void 0||e.start)&&this.stream()};Xe.INITIALIZING=-1,Xe.CONNECTING=0,Xe.OPEN=1,Xe.CLOSED=2,typeof rn<"u"&&(rn.SSE=Xe);class Mf{constructor(e,r,n){this.options=r,this.payload=n;const a={headers:{"content-type":"application/json"}};n&&(a.payload=JSON.stringify(n)),r.apiKey&&(a.headers["api-key"]=r.apiKey),this.eventSource=new(r.EventSource??Xe)(e,a),this.eventSource.onmessage=i=>{try{const o=JSON.parse(i.data);r.onMessage(o)}catch(o){r.onError(new CustomEvent("parse-error",{detail:o}))}},this.eventSource.onerror=i=>{r.onError(i),this.isClosed()&&this.close()}}eventSource;triggeredOnClose=!1;isClosed(){return this.eventSource.readyState===EventSource.CLOSED}close(){this.isClosed()||this.eventSource.close(),this.triggeredOnClose||(this.triggeredOnClose=!0,this.options.onClose())}}const Ul=t=>Object.fromEntries(Object.entries(t).filter(([e,r])=>r!=null));class Pf{constructor(e){this.options=e}getDefaultHeaders(e={}){const r={"Content-Type":"application/json",...e};return this.options.apiKey&&(r["api-key"]=this.options.apiKey),r}get speechRecognitionApiKey(){return this.options.speechRecognitionApiKey}async subscribeSse(e,r={},n){const a=Ul(r);return this.options.apiKey&&(n.apiKey=this.options.apiKey),new Mf(`${this.options.apiUrl}${e}`,n,a)}async fetchData(e,r,n={},a={}){const i=`${this.options.apiUrl}${e}?${new URLSearchParams(Ul(n)).toString()}`,o={...a,headers:this.getDefaultHeaders(a?.headers)},s=await fetch(i,o);if(!s.ok){const h=await s.text();throw new Error(`API request failed: ${s.status} - ${h}`)}const c=await s.json(),{success:l,data:u,error:p}=r.safeParse(c);if(this.options.strict){if(!l)throw console.error(`Server response has wrong type:
|
|
75
75
|
`,{error:p,url:i,opts:o,data:c}),new Error(`Server response has wrong type: ${p.message}`);return u}else return l||console.warn(`Server response has wrong type:
|
|
76
|
-
`,{error:p,url:i,opts:o,data:c}),c}async postData(e,r){const n=await fetch(`${this.options.apiUrl}${e}`,{method:"POST",headers:this.getDefaultHeaders(),body:JSON.stringify(r)});if(!n.ok){const a=await n.text();throw new Error(`${n.status} - ${a}`)}return n}async postFormData(e,r){const n=await fetch(`${this.options.apiUrl}${e}`,{method:"POST",body:r});if(!n.ok){const a=await n.text();throw new Error(`${n.status} - ${a}`)}return n}}const Nf=Cn([d(),Ke(),te(),Ce(d()),Ce(Ke()),Ce(te())]),Df=z({title:d(),description:d().optional(),badge:d().optional(),breadcrumbs:Ce(d()).optional(),previewImage:d().optional(),date:d().datetime().optional()}),$f=z({url:d().url(),score:Ke(),metadata:lt(d(),Nf),language:d().optional()}).merge(Df),zf=z({url:d().url(),title:d(),considered:te(),orgMetadata:z({authors:Ce(d())}),type:d(),date:d().datetime(),similarity:Ke(),content:d(),fromFullTextSearch:te(),rerank:z({index:Ke().int(),adjustment:Ke(),score:Ke(),similarityOld:Ke()})}).deepPartial().or($f),Ff=z({links:Ce(zf)}),Bf=t=>{if("metadata"in t)return t;console.warn("Please upgrade your backend you are currently using an old api feature.");const e=t.orgMetadata??{};t?.fromFullTextSearch&&(e.fromFullTextSearch=t?.fromFullTextSearch),t?.rerank&&(e.rerank=t?.rerank);let r=[],n=t.title??"";if(t.title&&t.title.includes(" > ")){const a=t.title.split(" > ");n=a.pop()??"",r=a}return{url:t.url??"",title:n,score:t.similarity||0,breadcrumbs:r,metadata:e,description:t.content,date:t.date}};class jf{constructor(e){this.results=e}}class Uf{internalData;renderers=new Map;markedExtensions=[];constructor(e){const r={apiUrl:e.apiUrl,apiKey:e.apiKey,speechRecognitionApiKey:e.speechRecognitionApiKey,strict:e.strict??!1,EventSource:e.EventSource??EventSource},n=new Pf(r);this.internalData={restClient:n,metadata:Of(n),searchResponseMap:new Map,chatResponseMap:new Map,conversationMap:new Map}}setMarkedExtensions(...e){this.markedExtensions=e}getMetadata(){return this.internalData.metadata}createConversationId(){const e=jl();return this.renderers.set(e,new ul({extensions:this.markedExtensions})),e}chat(e,r,n={}){const a=new Si,i=jl(),o=new dl,s=this.renderers.get(e)??new ul({extensions:this.markedExtensions}),c=new $h({id:i,onError:h=>{n.onError?.(h)},onFinish:h=>{a.setValue(h)},markdownRenderer:s,userQuestion:r}),l=async()=>{await o,(await u).close()},u=new Si;(async()=>{const h=await this.internalData.metadata;if(h.mode==="maintenance")throw new Error("Can not chat in maintenance mode");const v=await this.internalData.restClient.subscribeSse("/assistant/sse",{query:r,uID:h.userId,cID:e,rID:i,lang:n.lang,feature:n.features?.join(","),referrer:n.referrer,...n.selectorValues??{},chat:"true",version:"2"},{onClose:()=>{c.finishMessage(),o.resolve(),a.cleanup()},onMessage:m=>{const b=m;switch(b.type){case"error":c.pushError(b.error);break;case"id":b.for==="request"&&i!==b.id&&console.warn(`Unexpected request id "${b.id}" expected "${i}"`),b.for==="conversation"&&e!==b.id&&console.warn(`Unexpected conversation id "${b.id}" expected "${e}"`);break;case"state":b.state==="history-entry-initialized"&&o.resolve();break;case"text":c.updateText(b.text);break;case"done":case"answer-done":c.finishMessage(),o.resolve(),u.then(C=>C.close());break;case"unexpected-call":console.error("unexpected-call:",b),c.pushError("unexpected-call");break;case"mapped-reference":c.addMappedReference(b.reference);break;case"reference":c.addOldReference(b.reference);break;case"retrieval-question":c.updateRetrievalQuestion(b.question);break}n.onMessage?.(b)},onError:m=>{console.error(" sse-error:",m),!("data"in m&&!m.data&&"responseCode"in m&&m.responseCode===0)&&c.pushError("sse-error")}});u.setValue(v)})();const p=new Ef({question:r,id:i,content:a,readableStore:c.getReadableStore(),readyForFeedback:o,abort:l,liipgptClientPrimitive:this});return this.internalData.chatResponseMap.set(p.id,p),p}async thumbs(e,r,n){if((await this.internalData.metadata).mode!=="ready")throw new Error("Can not post feedback unless we are in ready mode");const i={feedback:n,rID:e,query:r};await this.internalData.restClient.postData("/quickfeedback",i)}thumbsUp(e,r){return this.thumbs(e,r,"positive")}thumbsDown(e,r){return this.thumbs(e,r,"negative")}async feedback(e,r,n){const a=await this.internalData.metadata;if(a.mode!=="ready")throw new Error("Can not post feedback unless we are in ready mode");if(n.message){const i={body:n.message,email:n.email,rID:e,uID:a.userId,query:r};await this.internalData.restClient.postData("/feedback",i)}n.classification&&await this.internalData.restClient.postData("/classification",{impact:n.classification.impact,quality:n.classification.quality,rID:e})}async search(e,r={}){const n=await this.internalData.metadata,a=n.mode==="ready"?n.userId:void 0,{links:i}=await this.internalData.restClient.fetchData("/assistant/search",Ff,{modelId:r.model,lang:r.language,query:e,mapResults:"true",uID:a}),o=i.map(Bf);return new jf(o)}async getChatConfig(){return this.internalData.restClient.fetchData("/chatconfig",Fl)}async getPredefinedQuestions(e){return(await this.internalData.restClient.fetchData("/topics/questions",Sf,e)).predefinedQuestions}async transcribeAudio(e,r={}){const n=await this.internalData.metadata,a=r.lang||"de-CH";if(n.mode==="maintenance")throw new Error("Can not transcribe audio in maintenance mode");try{const o=(u=>u.includes("mp4")?"mp4":u.includes("webm")?"webm":(u.includes("wav"),"wav"))(e.type),s=new FormData;return s.append("file",e,`audio.${o}`),s.append("lang",a),s.append("type",e.type),{transcript:await(await this.internalData.restClient.postFormData(`/speech?key=${this.internalData.restClient.speechRecognitionApiKey||""}&lang=${a}`,s)).text()||"",error:void 0}}catch(i){return console.error("Error transcribing audio:",i),{transcript:"",error:i instanceof Error?i.message:"Unknown error"}}}}const qf=600;function ql(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var $i,Vl;function Vf(){if(Vl)return $i;Vl=1;var t=function(k){return e(k)&&!r(k)};function e(y){return!!y&&typeof y=="object"}function r(y){var k=Object.prototype.toString.call(y);return k==="[object RegExp]"||k==="[object Date]"||i(y)}var n=typeof Symbol=="function"&&Symbol.for,a=n?Symbol.for("react.element"):60103;function i(y){return y.$$typeof===a}function o(y){return Array.isArray(y)?[]:{}}function s(y,k){return k.clone!==!1&&k.isMergeableObject(y)?b(o(y),y,k):y}function c(y,k,w){return y.concat(k).map(function(T){return s(T,w)})}function l(y,k){if(!k.customMerge)return b;var w=k.customMerge(y);return typeof w=="function"?w:b}function u(y){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(y).filter(function(k){return Object.propertyIsEnumerable.call(y,k)}):[]}function p(y){return Object.keys(y).concat(u(y))}function h(y,k){try{return k in y}catch{return!1}}function v(y,k){return h(y,k)&&!(Object.hasOwnProperty.call(y,k)&&Object.propertyIsEnumerable.call(y,k))}function m(y,k,w){var T={};return w.isMergeableObject(y)&&p(y).forEach(function(R){T[R]=s(y[R],w)}),p(k).forEach(function(R){v(y,R)||(h(y,R)&&w.isMergeableObject(k[R])?T[R]=l(R,w)(y[R],k[R],w):T[R]=s(k[R],w))}),T}function b(y,k,w){w=w||{},w.arrayMerge=w.arrayMerge||c,w.isMergeableObject=w.isMergeableObject||t,w.cloneUnlessOtherwiseSpecified=s;var T=Array.isArray(k),R=Array.isArray(y),U=T===R;return U?T?w.arrayMerge(y,k,w):m(y,k,w):s(k,w)}b.all=function(k,w){if(!Array.isArray(k))throw new Error("first argument should be an array");return k.reduce(function(T,R){return b(T,R,w)},{})};var C=b;return $i=C,$i}var Hf=Vf();const An=ql(Hf),Zf=t=>t===null||typeof t!="object",zi=t=>{if(Zf(t))return t;if(Array.isArray(t))return t.map(zi);const e=Object.entries(t).filter(([r,n])=>n!==void 0).map(([r,n])=>[r,zi(n)]);return Object.fromEntries(e)},va=(t,e)=>{const r=zi(e);return An(t,r)},Hl={tokens:{font:{family:"-apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif"},colors:{brand:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#2d3748",900:"#1a202c",950:"#171923"},highlight:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#2d3748",900:"#1a202c",950:"#171923"},grey:{0:"#ffffff",50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#2d3748",900:"#1a202c",950:"#171923",1e3:"#000000"}},base:{fontSizeXs:{minRem:.75,maxRem:.875},fontSizeSm:{minRem:1,maxRem:1},fontSizeBody:{minRem:1,maxRem:1.25},fontSizeH3:{minRem:1.125,maxRem:1.5},fontSizeH2:{minRem:1.25,maxRem:1.75},fontSizeH1:{minRem:1.5,maxRem:2},fontWeightNormal:"400",fontWeightBold:"700",fontWeightTitle:"700",lineHeightDefault:"1.5",lineHeightSnug:"1.375",lineHeightTight:"1.25",borderRadius:{minRem:.5,maxRem:.75},lineColor:"color-mix(in srgb, var(--color-brand-950) 20%, transparent)",boxShadow:"0px 0px 2px rgba(0, 0, 0, 0.15), 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)"},components:{body:{background:"var(--color-grey-0)",color:"var(--color-grey-900)",focus:{color:"var(--color-highlight-500)"},custom:{selectionColor:"var(--color-grey-0)",selectionBackground:"var(--color-brand-700)",focusWidth:"var(--spacer-3)",focusOffset:"var(--spacer-2)",focusStyle:"solid"}},container:{custom:{maxWidth:"1024px"}},avatar:{color:"var(--color-brand-400)",background:"var(--color-grey-100)"},anchor:{color:"var(--color-brand-700)",hover:{color:"var(--color-brand-950)"}},btnPrimary:{color:"var(--color-grey-0)",background:"var(--color-brand-700)",borderRadius:"var(--base-border-radius)",hover:{background:"var(--color-brand-900)"}},btnSecondary:{color:"var(--color-brand-700)",background:"var(--color-brand-100)",borderRadius:"var(--base-border-radius)",hover:{color:"var(--color-grey-1000)",background:"var(--color-brand-200)"}},btnTertiary:{color:"var(--anchor-color)",background:"transparent",borderRadius:"var(--base-border-radius)",hover:{color:"var(--anchor-hover-color)"}},card:{color:"var(--color-grey-900)",background:"var(--color-grey-100)",borderRadius:"var(--base-border-radius)",boxShadow:"none",hover:{color:"var(--color-grey-1000)",background:"var(--color-brand-100)"},custom:{iconColor:"var(--anchor-color)",iconHoverColor:"var(--anchor-hover-color)"}},input:{background:"var(--color-grey-0)",borderColor:"var(--color-grey-300)",borderWidth:"1px",borderRadius:"var(--base-border-radius)",custom:{padding:"var(--spacer-r-16) var(--spacer-r-20)",placeholderColor:"var(--color-grey-500)",placeholderOpacity:"1"}},label:{color:"var(--color-grey-600)"},hr:{color:"var(--base-line-color)"},checkbox:{color:"transparent",background:"var(--color-grey-0)",borderColor:"var(--color-grey-300)",borderWidth:"1px",borderRadius:"0.2em",custom:{checkedColor:"var(--btn-primary-color)",checkedBorderColor:"var(--color-brand-700)",checkedBackground:"var(--color-brand-700)"}},radio:{color:"transparent",background:"var(--color-grey-0)",borderColor:"var(--color-grey-300)",borderWidth:"1px",custom:{checkedColor:"var(--btn-primary-color)",checkedBorderColor:"var(--color-brand-700)",checkedBackground:"var(--color-brand-700)"}},contextBox:{color:"var(--card-color)",background:"var(--card-background)",borderColor:"var(--card-border-color)",borderWidth:"var(--card-border-width)",borderRadius:"var(--card-border-radius)",boxShadow:"var(--base-box-shadow)",custom:{transitionDuration:200,transitionDelay:200,transitionY:8,titleColor:"var(--color-grey-1000)",titleFontWeight:"var(--base-font-weight-bold)",separatorColor:"var(--base-line-color)",errorColor:"var(--message-error-color)"}},contextBoxMenuItem:{background:"transparent",color:"var(--body-color)",borderRadius:"calc(var(--base-border-radius) / 2)",hover:{color:"var(--btn-secondary-hover-color)",background:"var(--btn-secondary-hover-background)"},custom:{activeColor:"var(--btn-secondary-hover-color)",activeBackground:"var(--btn-secondary-hover-background)"}},chatFooter:{color:"var(--color-grey-400)",background:"var(--body-background)",borderRadius:"var(--base-border-radius)",boxShadow:"0px -10px 20px 5px color-mix(in srgb, var(--body-background) 90%, transparent)"},chatInput:{color:"var(--color-grey-700)",background:"var(--card-background)",borderRadius:"var(--base-border-radius)",borderColor:"transparent",borderWidth:"3px",hover:{background:"var(--card-hover-background)"},focus:{borderColor:"var(--body-focus-color)"}},chatInputSubmit:{color:"var(--btn-primary-color)",background:"var(--btn-primary-background)",borderRadius:"calc(var(--base-border-radius) / 1.25)",hover:{color:"var(--btn-primary-hover-color)",background:"var(--btn-primary-hover-background)"},custom:{strokeWidth:"2",deactivatedBackground:"var(--color-grey-500)",deactivatedOpacity:"0.25",deactivatedScale:"0.8",deactivatedBorderColor:"var(--color-grey-500)"}},chatInputNotification:{background:"#DD135A",color:"var(--color-grey-0)",borderColor:"#DD135A",borderWidth:"1px",borderRadius:"var(--chat-input-border-radius)"},dialog:{background:"var(--card-background)",color:"var(--body-color)",borderColor:"var(--card-border-color)",borderWidth:"var(--card-border-width)",borderRadius:"var(--card-border-radius)",boxShadow:"var(--base-box-shadow)",custom:{transitionDuration:200,transitionDelay:0,transitionY:30,backgroundOverlay:"rgba(0, 0, 0, 0.25)",headerBorderBottomColor:"var(--base-line-color)"}},aside:{background:"var(--card-background)",custom:{width:"400px",containerWidthForMobileLayout:1024,backgroundOverlay:"rgba(0, 0, 0, 0.4)",headerColor:"var(--card-color)",headerBorderColor:"var(--base-line-color)",headerBorderWidth:"1px"}},message:{color:"var(--body-color)",custom:{errorColor:"#C91658",transitionDuration:300,transitionDelay:0,transitionY:30,transitionBotLoadingDelay:300}},messageOptions:{borderColor:"var(--base-line-color)",borderWidth:"1px",custom:{transitionDuration:300,transitionDelay:0,transitionY:30}},messageUser:{color:"var(--body-color)",background:"var(--card-background)",boxShadow:"var(--card-box-shadow)",borderRadius:"var(--card-border-radius)"},openButton:{color:"var(--card-color)",background:"var(--card-background)",borderColor:"var(--card-background)",borderWidth:"0",borderRadius:"calc(var(--base-border-radius) / 2)",hover:{color:"var(--card-hover-color)",background:"var(--card-hover-background)"},custom:{hideTitleWhenCollapsed:0,autoExpandScrollThreshold:100,autoCollapseDelay:5e3,autoExpandOnce:0}},referencesToggle:{color:"var(--color-brand-700)",hover:{color:"var(--anchor-hover-color)"}},referenceNumberTrigger:{color:"var(--btn-secondary-color)",background:"var(--btn-secondary-background)",borderRadius:"calc(var(--base-border-radius) / 2)",hover:{color:"var(--btn-secondary-hover-color)",background:"var(--btn-secondary-hover-background)"},custom:{padding:"0.25em"}},referenceDomain:{color:"var(--color-brand-700)",hover:{color:"var(--color-brand-800)"},custom:{padding:"0px"}},referenceNumberContent:{color:"var(--card-color)",background:"var(--card-background)",borderColor:"var(--card-border-color)",borderWidth:"var(--card-border-width)",borderRadius:"var(--card-border-radius)",hover:{color:"var(--card-hover-color)",background:"var(--card-hover-background)",borderColor:"var(--card-hover-border-color)",borderWidth:"var(--card-hover-border-width)"},boxShadow:"var(--base-box-shadow)",custom:{width:"95cqi",maxWidth:"450px",transitionDuration:200,transitionDelay:200,transitionY:8}},reference:{color:"var(--card-color)",background:"var(--card-background)",borderColor:"var(--card-border-color)",borderWidth:"var(--card-border-width)",borderRadius:"var(--card-border-radius)",hover:{color:"var(--card-hover-color)",background:"var(--body-background)",borderColor:"var(--card-hover-border-color)",borderWidth:"var(--card-hover-border-width)"}},referenceDescription:{color:"var(--reference-color)",hover:{color:"var(--reference-hover-color)"}},referenceNumber:{color:"var(--reference-number-trigger-color)",background:"var(--body-background)",borderColor:"var(--reference-number-trigger-border-color)",borderWidth:"var(--reference-number-trigger-border-width)",borderRadius:"var(--reference-number-trigger-border-radius)",hover:{color:"var(--reference-number-trigger-color)",background:"var(--reference-number-trigger-background)",borderColor:"var(--reference-number-trigger-border-color)",borderWidth:"var(--reference-number-trigger-border-width)"},custom:{padding:"var(--reference-number-trigger-padding)"}},toast:{background:"var(--card-background)",color:"var(--body-color)",boxShadow:"var(--base-box-shadow)",borderRadius:"var(--card-border-radius)",custom:{iconSuccessColor:"#22c55e",iconErrorColor:"#ef4444",iconWarningColor:"#f97316",iconInfoColor:"#3b82f6"}},tooltip:{background:"var(--color-grey-200)",color:"var(--body-color)",borderRadius:"calc(var(--base-border-radius) / 2)"},flyout:{custom:{backdropColor:"var(--color-brand-800)",backdropOpacity:"0.4",backdropDelayIn:"0",backdropDurationIn:"200",backdropDelayOut:"0",backdropDurationOut:"150",backdropBaseScaleIn:"1",backdropBaseScaleOut:"1",backdropTransformOrigin:"center",backdropScaleDirection:"scale"}}},svgs:{predefinedQuestion:`
|
|
76
|
+
`,{error:p,url:i,opts:o,data:c}),c}async postData(e,r){const n=await fetch(`${this.options.apiUrl}${e}`,{method:"POST",headers:this.getDefaultHeaders(),body:JSON.stringify(r)});if(!n.ok){const a=await n.text();throw new Error(`${n.status} - ${a}`)}return n}async postFormData(e,r){const n=await fetch(`${this.options.apiUrl}${e}`,{method:"POST",body:r});if(!n.ok){const a=await n.text();throw new Error(`${n.status} - ${a}`)}return n}}const Nf=Cn([d(),Ke(),te(),Ce(d()),Ce(Ke()),Ce(te())]),Df=z({title:d(),description:d().optional(),badge:d().optional(),breadcrumbs:Ce(d()).optional(),previewImage:d().optional(),date:d().datetime().optional()}),$f=z({url:d().url(),score:Ke(),metadata:lt(d(),Nf),language:d().optional()}).merge(Df),zf=z({url:d().url(),title:d(),considered:te(),orgMetadata:z({authors:Ce(d())}),type:d(),date:d().datetime(),similarity:Ke(),content:d(),fromFullTextSearch:te(),rerank:z({index:Ke().int(),adjustment:Ke(),score:Ke(),similarityOld:Ke()})}).deepPartial().or($f),Ff=z({links:Ce(zf)}),Bf=t=>{if("metadata"in t)return t;console.warn("Please upgrade your backend you are currently using an old api feature.");const e=t.orgMetadata??{};t?.fromFullTextSearch&&(e.fromFullTextSearch=t?.fromFullTextSearch),t?.rerank&&(e.rerank=t?.rerank);let r=[],n=t.title??"";if(t.title&&t.title.includes(" > ")){const a=t.title.split(" > ");n=a.pop()??"",r=a}return{url:t.url??"",title:n,score:t.similarity||0,breadcrumbs:r,metadata:e,description:t.content,date:t.date}};class jf{constructor(e){this.results=e}}class Uf{internalData;renderers=new Map;markedExtensions=[];constructor(e){const r={apiUrl:e.apiUrl,apiKey:e.apiKey,speechRecognitionApiKey:e.speechRecognitionApiKey,strict:e.strict??!1,EventSource:e.EventSource??EventSource},n=new Pf(r);this.internalData={restClient:n,metadata:Of(n),searchResponseMap:new Map,chatResponseMap:new Map,conversationMap:new Map}}setMarkedExtensions(...e){this.markedExtensions=e}getMetadata(){return this.internalData.metadata}createConversationId(){const e=jl();return this.renderers.set(e,new ul({extensions:this.markedExtensions})),e}chat(e,r,n={}){const a=new Si,i=jl(),o=new dl,s=this.renderers.get(e)??new ul({extensions:this.markedExtensions}),c=new $h({id:i,onError:h=>{n.onError?.(h)},onFinish:h=>{a.setValue(h)},markdownRenderer:s,userQuestion:r}),l=async()=>{await o,(await u).close()},u=new Si;(async()=>{const h=await this.internalData.metadata;if(h.mode==="maintenance")throw new Error("Can not chat in maintenance mode");const v=await this.internalData.restClient.subscribeSse("/assistant/sse",{query:r,uID:h.userId,cID:e,rID:i,lang:n.lang,feature:n.features?.join(","),referrer:n.referrer,...n.selectorValues??{},chat:"true",version:"2"},{onClose:()=>{c.finishMessage(),o.resolve(),a.cleanup()},onMessage:m=>{const b=m;switch(b.type){case"error":c.pushError(b.error);break;case"id":b.for==="request"&&i!==b.id&&console.warn(`Unexpected request id "${b.id}" expected "${i}"`),b.for==="conversation"&&e!==b.id&&console.warn(`Unexpected conversation id "${b.id}" expected "${e}"`);break;case"state":b.state==="history-entry-initialized"&&o.resolve();break;case"text":c.updateText(b.text);break;case"done":case"answer-done":c.finishMessage(),o.resolve(),u.then(C=>C.close());break;case"unexpected-call":console.error("unexpected-call:",b),c.pushError("unexpected-call");break;case"mapped-reference":c.addMappedReference(b.reference);break;case"reference":c.addOldReference(b.reference);break;case"retrieval-question":c.updateRetrievalQuestion(b.question);break}n.onMessage?.(b)},onError:m=>{console.error(" sse-error:",m),!("data"in m&&!m.data&&"responseCode"in m&&m.responseCode===0)&&c.pushError("sse-error")}});u.setValue(v)})();const p=new Ef({question:r,id:i,content:a,readableStore:c.getReadableStore(),readyForFeedback:o,abort:l,liipgptClientPrimitive:this});return this.internalData.chatResponseMap.set(p.id,p),p}async thumbs(e,r,n){if((await this.internalData.metadata).mode!=="ready")throw new Error("Can not post feedback unless we are in ready mode");const i={feedback:n,rID:e,query:r};await this.internalData.restClient.postData("/quickfeedback",i)}thumbsUp(e,r){return this.thumbs(e,r,"positive")}thumbsDown(e,r){return this.thumbs(e,r,"negative")}async feedback(e,r,n){const a=await this.internalData.metadata;if(a.mode!=="ready")throw new Error("Can not post feedback unless we are in ready mode");if(n.message){const i={body:n.message,email:n.email,rID:e,uID:a.userId,query:r};await this.internalData.restClient.postData("/feedback",i)}n.classification&&await this.internalData.restClient.postData("/classification",{impact:n.classification.impact,quality:n.classification.quality,rID:e})}async search(e,r={}){const n=await this.internalData.metadata,a=n.mode==="ready"?n.userId:void 0,{links:i}=await this.internalData.restClient.fetchData("/assistant/search",Ff,{modelId:r.model,lang:r.language,query:e,mapResults:"true",uID:a}),o=i.map(Bf);return new jf(o)}async getChatConfig(){return this.internalData.restClient.fetchData("/chatconfig",Fl)}async getPredefinedQuestions(e){return(await this.internalData.restClient.fetchData("/topics/questions",Sf,e)).predefinedQuestions}async transcribeAudio(e,r={}){const n=await this.internalData.metadata,a=r.lang||"de-CH";if(n.mode==="maintenance")throw new Error("Can not transcribe audio in maintenance mode");try{const o=(u=>u.includes("mp4")?"mp4":u.includes("webm")?"webm":(u.includes("wav"),"wav"))(e.type),s=new FormData;return s.append("file",e,`audio.${o}`),s.append("lang",a),s.append("type",e.type),{transcript:await(await this.internalData.restClient.postFormData(`/speech?key=${this.internalData.restClient.speechRecognitionApiKey||""}&lang=${a}`,s)).text()||"",error:void 0}}catch(i){return console.error("Error transcribing audio:",i),{transcript:"",error:i instanceof Error?i.message:"Unknown error"}}}}const qf=600;function ql(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var $i,Vl;function Vf(){if(Vl)return $i;Vl=1;var t=function(k){return e(k)&&!r(k)};function e(y){return!!y&&typeof y=="object"}function r(y){var k=Object.prototype.toString.call(y);return k==="[object RegExp]"||k==="[object Date]"||i(y)}var n=typeof Symbol=="function"&&Symbol.for,a=n?Symbol.for("react.element"):60103;function i(y){return y.$$typeof===a}function o(y){return Array.isArray(y)?[]:{}}function s(y,k){return k.clone!==!1&&k.isMergeableObject(y)?b(o(y),y,k):y}function c(y,k,w){return y.concat(k).map(function(T){return s(T,w)})}function l(y,k){if(!k.customMerge)return b;var w=k.customMerge(y);return typeof w=="function"?w:b}function u(y){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(y).filter(function(k){return Object.propertyIsEnumerable.call(y,k)}):[]}function p(y){return Object.keys(y).concat(u(y))}function h(y,k){try{return k in y}catch{return!1}}function v(y,k){return h(y,k)&&!(Object.hasOwnProperty.call(y,k)&&Object.propertyIsEnumerable.call(y,k))}function m(y,k,w){var T={};return w.isMergeableObject(y)&&p(y).forEach(function(R){T[R]=s(y[R],w)}),p(k).forEach(function(R){v(y,R)||(h(y,R)&&w.isMergeableObject(k[R])?T[R]=l(R,w)(y[R],k[R],w):T[R]=s(k[R],w))}),T}function b(y,k,w){w=w||{},w.arrayMerge=w.arrayMerge||c,w.isMergeableObject=w.isMergeableObject||t,w.cloneUnlessOtherwiseSpecified=s;var T=Array.isArray(k),R=Array.isArray(y),U=T===R;return U?T?w.arrayMerge(y,k,w):m(y,k,w):s(k,w)}b.all=function(k,w){if(!Array.isArray(k))throw new Error("first argument should be an array");return k.reduce(function(T,R){return b(T,R,w)},{})};var C=b;return $i=C,$i}var Hf=Vf();const An=ql(Hf),Zf=t=>t===null||typeof t!="object",zi=t=>{if(Zf(t))return t;if(Array.isArray(t))return t.map(zi);const e=Object.entries(t).filter(([r,n])=>n!==void 0).map(([r,n])=>[r,zi(n)]);return Object.fromEntries(e)},va=(t,e)=>{const r=zi(e);return An(t,r)},Hl={tokens:{font:{family:"-apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif"},colors:{brand:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#2d3748",900:"#1a202c",950:"#171923"},highlight:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#2d3748",900:"#1a202c",950:"#171923"},grey:{0:"#ffffff",50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#2d3748",900:"#1a202c",950:"#171923",1e3:"#000000"}},base:{fontSizeXs:{minRem:.75,maxRem:.875},fontSizeSm:{minRem:1,maxRem:1},fontSizeBody:{minRem:1,maxRem:1.25},fontSizeH3:{minRem:1.125,maxRem:1.5},fontSizeH2:{minRem:1.25,maxRem:1.75},fontSizeH1:{minRem:1.5,maxRem:2},fontWeightNormal:"400",fontWeightBold:"700",fontWeightTitle:"700",lineHeightDefault:"1.5",lineHeightSnug:"1.375",lineHeightTight:"1.25",borderRadius:{minRem:.5,maxRem:.75},lineColor:"color-mix(in srgb, var(--color-brand-950) 20%, transparent)",boxShadow:"0px 0px 2px rgba(0, 0, 0, 0.15), 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)"},components:{body:{background:"var(--color-grey-0)",color:"var(--color-grey-900)",focus:{color:"var(--color-highlight-500)"},custom:{selectionColor:"var(--color-grey-0)",selectionBackground:"var(--color-brand-700)",focusWidth:"var(--spacer-3)",focusOffset:"var(--spacer-2)",focusStyle:"solid"}},container:{custom:{maxWidth:"1024px"}},avatar:{color:"var(--color-brand-400)",background:"var(--color-grey-100)"},anchor:{color:"var(--color-brand-700)",hover:{color:"var(--color-brand-950)"}},btnPrimary:{color:"var(--color-grey-0)",background:"var(--color-brand-700)",borderRadius:"var(--base-border-radius)",hover:{background:"var(--color-brand-900)"}},btnSecondary:{color:"var(--color-brand-700)",background:"var(--color-brand-100)",borderRadius:"var(--base-border-radius)",hover:{color:"var(--color-grey-1000)",background:"var(--color-brand-200)"}},btnTertiary:{color:"var(--anchor-color)",background:"transparent",borderRadius:"var(--base-border-radius)",hover:{color:"var(--anchor-hover-color)"}},card:{color:"var(--color-grey-900)",background:"var(--color-grey-100)",borderRadius:"var(--base-border-radius)",boxShadow:"none",hover:{color:"var(--color-grey-1000)",background:"var(--color-brand-100)"},custom:{iconColor:"var(--anchor-color)",iconHoverColor:"var(--anchor-hover-color)"}},input:{background:"var(--color-grey-0)",borderColor:"var(--color-grey-300)",borderWidth:"1px",borderRadius:"var(--base-border-radius)",custom:{padding:"var(--spacer-r-16) var(--spacer-r-20)",placeholderColor:"var(--color-grey-500)",placeholderOpacity:"1"}},label:{color:"var(--color-grey-600)"},hr:{color:"var(--base-line-color)"},checkbox:{color:"transparent",background:"var(--color-grey-0)",borderColor:"var(--color-grey-300)",borderWidth:"1px",borderRadius:"0.2em",custom:{checkedColor:"var(--btn-primary-color)",checkedBorderColor:"var(--color-brand-700)",checkedBackground:"var(--color-brand-700)"}},radio:{color:"transparent",background:"var(--color-grey-0)",borderColor:"var(--color-grey-300)",borderWidth:"1px",custom:{checkedColor:"var(--btn-primary-color)",checkedBorderColor:"var(--color-brand-700)",checkedBackground:"var(--color-brand-700)"}},contextBox:{color:"var(--card-color)",background:"var(--card-background)",borderColor:"var(--card-border-color)",borderWidth:"var(--card-border-width)",borderRadius:"var(--card-border-radius)",boxShadow:"var(--base-box-shadow)",custom:{transitionDuration:200,transitionDelay:200,transitionY:8,titleColor:"var(--color-grey-1000)",titleFontWeight:"var(--base-font-weight-bold)",separatorColor:"var(--base-line-color)",errorColor:"var(--message-error-color)"}},contextBoxMenuItem:{background:"transparent",color:"var(--body-color)",borderRadius:"calc(var(--base-border-radius) / 2)",hover:{color:"var(--btn-secondary-hover-color)",background:"var(--btn-secondary-hover-background)"},custom:{activeColor:"var(--btn-secondary-hover-color)",activeBackground:"var(--btn-secondary-hover-background)"}},chatFooter:{color:"var(--color-grey-400)",background:"var(--body-background)",borderRadius:"var(--base-border-radius)",boxShadow:"0px -10px 20px 5px color-mix(in srgb, var(--body-background) 90%, transparent)"},chatInput:{color:"var(--color-grey-700)",background:"var(--card-background)",borderRadius:"var(--base-border-radius)",borderColor:"transparent",borderWidth:"3px",hover:{background:"var(--card-hover-background)"},focus:{borderColor:"var(--body-focus-color)"}},chatInputSubmit:{color:"var(--btn-primary-color)",background:"var(--btn-primary-background)",borderRadius:"calc(var(--base-border-radius) / 1.25)",hover:{color:"var(--btn-primary-hover-color)",background:"var(--btn-primary-hover-background)"},custom:{strokeWidth:"2",deactivatedBackground:"var(--color-grey-500)",deactivatedOpacity:"0.25",deactivatedScale:"0.8",deactivatedBorderColor:"var(--color-grey-500)"}},chatInputNotification:{background:"#DD135A",color:"var(--color-grey-0)",borderColor:"#DD135A",borderWidth:"1px",borderRadius:"var(--chat-input-border-radius)"},dialog:{background:"var(--card-background)",color:"var(--body-color)",borderColor:"var(--card-border-color)",borderWidth:"var(--card-border-width)",borderRadius:"var(--card-border-radius)",boxShadow:"var(--base-box-shadow)",custom:{transitionDuration:200,transitionDelay:0,transitionY:30,backgroundOverlay:"rgba(0, 0, 0, 0.25)",headerBorderBottomColor:"var(--base-line-color)"}},aside:{background:"var(--card-background)",custom:{width:"400px",containerWidthForMobileLayout:1024,backgroundOverlay:"rgba(0, 0, 0, 0.4)",headerColor:"var(--card-color)",headerBorderColor:"var(--base-line-color)",headerBorderWidth:"1px"}},message:{color:"var(--body-color)",custom:{errorColor:"#C91658",transitionDuration:300,transitionDelay:0,transitionY:30,transitionBotLoadingDelay:300}},messageOptions:{borderColor:"var(--base-line-color)",borderWidth:"1px",custom:{transitionDuration:300,transitionDelay:0,transitionY:30}},messageUser:{color:"var(--body-color)",background:"var(--card-background)",boxShadow:"var(--card-box-shadow)",borderRadius:"var(--card-border-radius)"},openButton:{color:"var(--card-color)",background:"var(--card-background)",borderColor:"var(--card-background)",borderWidth:"0",borderRadius:"calc(var(--base-border-radius) / 2)",hover:{color:"var(--card-hover-color)",background:"var(--card-hover-background)"},custom:{hideTitleWhenCollapsed:0,autoExpandScrollThreshold:0,autoCollapseDelay:0,autoExpandOnce:0}},referencesToggle:{color:"var(--color-brand-700)",hover:{color:"var(--anchor-hover-color)"}},referenceNumberTrigger:{color:"var(--btn-secondary-color)",background:"var(--btn-secondary-background)",borderRadius:"calc(var(--base-border-radius) / 2)",hover:{color:"var(--btn-secondary-hover-color)",background:"var(--btn-secondary-hover-background)"},custom:{padding:"0.25em"}},referenceDomain:{color:"var(--color-brand-700)",hover:{color:"var(--color-brand-800)"},custom:{padding:"0px"}},referenceNumberContent:{color:"var(--card-color)",background:"var(--card-background)",borderColor:"var(--card-border-color)",borderWidth:"var(--card-border-width)",borderRadius:"var(--card-border-radius)",hover:{color:"var(--card-hover-color)",background:"var(--card-hover-background)",borderColor:"var(--card-hover-border-color)",borderWidth:"var(--card-hover-border-width)"},boxShadow:"var(--base-box-shadow)",custom:{width:"95cqi",maxWidth:"450px",transitionDuration:200,transitionDelay:200,transitionY:8}},reference:{color:"var(--card-color)",background:"var(--card-background)",borderColor:"var(--card-border-color)",borderWidth:"var(--card-border-width)",borderRadius:"var(--card-border-radius)",hover:{color:"var(--card-hover-color)",background:"var(--body-background)",borderColor:"var(--card-hover-border-color)",borderWidth:"var(--card-hover-border-width)"}},referenceDescription:{color:"var(--reference-color)",hover:{color:"var(--reference-hover-color)"}},referenceNumber:{color:"var(--reference-number-trigger-color)",background:"var(--body-background)",borderColor:"var(--reference-number-trigger-border-color)",borderWidth:"var(--reference-number-trigger-border-width)",borderRadius:"var(--reference-number-trigger-border-radius)",hover:{color:"var(--reference-number-trigger-color)",background:"var(--reference-number-trigger-background)",borderColor:"var(--reference-number-trigger-border-color)",borderWidth:"var(--reference-number-trigger-border-width)"},custom:{padding:"var(--reference-number-trigger-padding)"}},toast:{background:"var(--card-background)",color:"var(--body-color)",boxShadow:"var(--base-box-shadow)",borderRadius:"var(--card-border-radius)",custom:{iconSuccessColor:"#22c55e",iconErrorColor:"#ef4444",iconWarningColor:"#f97316",iconInfoColor:"#3b82f6"}},tooltip:{background:"var(--color-grey-200)",color:"var(--body-color)",borderRadius:"calc(var(--base-border-radius) / 2)"},flyout:{custom:{backdropColor:"var(--color-brand-800)",backdropOpacity:"0.4",backdropDelayIn:"0",backdropDurationIn:"200",backdropDelayOut:"0",backdropDurationOut:"150",backdropBaseScaleIn:"1",backdropBaseScaleOut:"1",backdropTransformOrigin:"center",backdropScaleDirection:"scale"}}},svgs:{predefinedQuestion:`
|
|
77
77
|
<svg viewBox="0 0 24 24" >
|
|
78
78
|
<path d="M11 3.5A10.5 10.5 0 0 0 0.5 14v1.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
|
|
79
79
|
<path d="M0.5 15.498a5 5 0 1 0 10 0 5 5 0 1 0 -10 0" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
|
|
@@ -386,4 +386,4 @@ Please report this to https://github.com/markedjs/marked.`,t){const n="<p>An err
|
|
|
386
386
|
<p>
|
|
387
387
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mauris diam, vestibulum vitae cursus et, hendrerit sed dolor. Sed quis nisl quis ipsum tempus hendrerit. <a href="https://www.liipgpt.ch/" target="_blank">Plus d'informations</a>
|
|
388
388
|
</p>
|
|
389
|
-
`,ariaMainNavigation:"Navigation principale",ariaMainNavigationRegion:"Navigation principale: liens, changement de langue, mode couleur",ariaGotoMainNavigation:"Aller à la navigation principale",ariaAskQuestion:"Saisie texte",ariaAskQuestionRegion:"Poser une question",ariaNotifications:"Notifications",ariaPredefinedQuestions:"Questions prédéfinies",ariaPredefinedQuestionsRegion:"Essayez nos questions d'exemple",ariaChatHistory:"Historique du chat",ariaOpenChat:"Ouvrir le chat",ariaQuestionFromYou:"Votre question:",ariaAnswerFromBot:"Réponse de l'Assistant:",ariaLastAnswerNavigation:"Navigation et options pour la dernière réponse",ariaQuestionSent:"Question envoyée. Génération de la réponse en cours...",ariaAnswerReady:"Réponse prête.",ariaAnswerFinished:"Réponse terminée. Posez une autre question ou naviguez en arrière pour consulter l'historique du chat, donner un avis ou voir les références liées à la réponse.",ariaAskQuestionAgain:"Copier la dernière question dans le champ de saisie pour la reposer",ariaAnswerGood:"Évaluer cette réponse comme bonne",ariaAnswerBad:"Évaluer cette réponse comme mauvaise",ariaReferenceSource:"Source:",ariaGiveFeedback:"Donner un feedback détaillé sur la réponse",ariaLanguageChanged:"Langue française sélectionnée.",ariaLightSelected:"Mode clair activé.",ariaDarkSelected:"Mode sombre activé.",ariaSettings:"Paramètres du chat",ariaSettingsRegion:"Ajustez vos préférences de chat",ariaReferencesRegion:"Références pour la question actuelle",ariaFlyoutRegion:"Chatbot",ariaSelected:"sélectionné",ariaUnselected:"non sélectionné",ariaAllSelected:"Tous les éléments sélectionnés",ariaAllUnselected:"Tous les éléments non sélectionnés",ariaAllReseted:"Éléments par défaut sélectionnés",hideSettings:"Masquer les paramètres",showSettings:"Paramètres",chooseAtLeastOneOption:"Veuillez choisir au moins une option",selectAll:"Tout sélectionner",selectNone:"Tout désélectionner",resetToDefaults:"Réinitialiser",messageTooLong:"Votre message doit être plus court que {questionLengthLimit} caractères. Actuellement, il fait {questionLength} caractères"}},Xf=Object.freeze(Object.defineProperty({__proto__:null,translations:Rr},Symbol.toStringTag,{value:"Module"})),Jf=t=>{t=t??Rr;const e={};return t.de&&(e.de=An(Rr.de,t.de)),t.en&&(e.en=An(Rr.en,t.en)),t.fr&&(e.fr=An(Rr.fr,t.fr)),t.it&&(e.it=An(Rr.it,t.it)),e},Zl=t=>{let e;t.theme?.fineGrained?e=Kf(t.theme?.fineGrained):e=Yf(t?.theme??{});const r=Jf(t?.translations),n={...t,showPredefinedQuestions:t.showPredefinedQuestions??!0,showOverallFeedbackButton:t.showOverallFeedbackButton??!1,showOverallFeedbackEmail:t.showOverallFeedbackEmail??!0,showCloseChatButton:t.showCloseChatButton??!1,showContextInfo:t.showContextInfo??!1,showContextMenu:t.showContextMenu??!1,showReferencesByDefault:t.showReferencesByDefault??!1,showTextFeedback:t.showTextFeedback??!0,showExpandedSelectors:t.showExpandedSelectors??!1,inlineLayout:t.inlineLayout??!1,questionPrefix:t.questionPrefix??"",blockPII:t.blockPII??!1,allowAudioInput:t.allowAudioInput??!1,supportedLanguages:t.supportedLanguages??Object.keys(r),fullTheme:e,translations:r,buttonHref:t.buttonHref,addQueryToUrlParams:t.addQueryToUrlParams??!0,addRetrievalQuestionToUrlParams:t.addRetrievalQuestionToUrlParams??!1,renderKatex:t.renderKatex??!1,sendReferrer:t.sendReferrer??"all",selectorsConfig:t.selectorsConfig??[],questionLengthLimit:t.questionLengthLimit??qf,forceConsent:t.forceConsent??!1,askQuestionAgain:t.askQuestionAgain??!1,enableBackdrop:t.enableBackdrop??!1};return t.classification&&(n.classification=t.classification),t.menu&&(n.menu=t.menu),n},Gl={de:{aborted:"Verbindung zum Server wurde unerwartet unterbrochen. Bitte versuchen Sie es erneut.","client-error":"Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.","server-error":"Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.","sse-error":"Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.",blocked:"Ihre Anfrage wurde blockiert.","pii-detected":"Es wurden persönliche Daten erkannt. Bitte entfernen Sie diese und versuchen Sie es erneut.","incomplete-error":"Ein unbekannter Fehler ist aufgetreten. Die Antwort könnte unvollständig sein.","unexpected-call":"Ein unbekannter Fehler ist aufgetreten. Die Antwort könnte unvollständig sein.","quota-reached":"Kontingent überschritten. Bitte versuchen Sie es später erneut.","rate-limit":"Kontingent überschritten. Bitte versuchen Sie es später erneut.",maintenance:"Der Chat ist derzeit nicht verfügbar. Bitte versuchen Sie es später erneut.","too-long":"Ihre Frage war zu lang, versuchen Sie es mit einer Kürzeren.","too-short":"Ihre Frage war zu kurz, versuchen Sie es mit einer Längeren.","feedback-failed":"Feedback senden fehlgeschlagen. Bitte versuchen Sie es erneut.","speech-not-supported":"Spracherkennung wird nicht unterstützt.","speech-transcription-failed":"Sprachtranskription fehlgeschlagen.","speech-no-text-detected":"Kein Text in der Spracheingabe erkannt.","speech-microphone-access-denied":"Mikrofonzugriff verweigert."},en:{aborted:"Connection to the server was unexpectedly interrupted. Please try again.","client-error":"An unknown error has occurred. Please try again.","server-error":"An unknown error has occurred. Please try again.","sse-error":"An unknown error has occurred. Please try again.",blocked:"Your request has been blocked.","pii-detected":"Personal data has been detected. Please remove it and try again.","incomplete-error":"An unknown error has occurred. The response might be incomplete.","unexpected-call":"An unknown error has occurred. The response might be incomplete.","quota-reached":"Quota exceeded. Please try again later.","rate-limit":"Quota exceeded. Please try again later.",maintenance:"The chat is currently unavailable. Please try again later.","too-long":"Your question was too long, try a shorter one.","too-short":"Your question was too short, try a longer one.","feedback-failed":"Failed to send feedback. Please try again.","speech-not-supported":"Speech recognition is not supported.","speech-transcription-failed":"Speech transcription failed.","speech-no-text-detected":"No text detected in speech input.","speech-microphone-access-denied":"Microphone access denied."},it:{aborted:"La connessione al server è stata interrotta inaspettatamente. Si prega di riprovare.","client-error":"Si è verificato un errore sconosciuto. Si prega di riprovare.","server-error":"Si è verificato un errore sconosciuto. Si prega di riprovare.","sse-error":"Si è verificato un errore sconosciuto. Si prega di riprovare.",blocked:"La tua richiesta è stata bloccata.","pii-detected":"Sono stati rilevati dati personali. Si prega di rimuoverli e riprovare.","incomplete-error":"Si è verificato un errore sconosciuto. La risposta potrebbe essere incompleta.","unexpected-call":"Si è verificato un errore sconosciuto. La risposta potrebbe essere incompleta.","quota-reached":"Quota superata. Si prega di riprovare più tardi.","rate-limit":"Quota superata. Si prega di riprovare più tardi.",maintenance:"La chat non è attualmente disponibile. Si prega di riprovare più tardi.","too-long":"La tua domanda era troppo lunga, prova con una più breve.","too-short":"La tua domanda era troppo breve, prova con una più lunga.","feedback-failed":"Invio del feedback non riuscito. Si prega di riprovare.","speech-not-supported":"Il riconoscimento vocale non è supportato.","speech-transcription-failed":"Trascrizione vocale fallita.","speech-no-text-detected":"Nessun testo rilevato nell'input vocale.","speech-microphone-access-denied":"Accesso al microfono negato."},fr:{aborted:"La connexion au serveur a été interrompue de façon inattendue. Veuillez réessayer.","client-error":"Une erreur inconnue s'est produite. Veuillez réessayer.","server-error":"Une erreur inconnue s'est produite. Veuillez réessayer.","sse-error":"Une erreur inconnue s'est produite. Veuillez réessayer.","pii-detected":"Des données personnelles ont été détectées. Veuillez les supprimer et réessayer.",blocked:"Votre demande a été bloquée.","incomplete-error":"Une erreur inconnue s'est produite. La réponse pourrait être incomplète.","unexpected-call":"Une erreur inconnue s'est produite. La réponse pourrait être incomplète.","quota-reached":"Quota dépassé. Veuillez réessayer plus tard.","rate-limit":"Quota dépassé. Veuillez réessayer plus tard.",maintenance:"Le chat est actuellement indisponible. Veuillez réessayer plus tard.","too-long":"Votre question était trop longue, essayez d'en poser une plus courte.","too-short":"Votre question était trop courte, essayez d'en poser une plus longue.","feedback-failed":"Échec de l'envoi du feedback. Veuillez réessayer.","speech-not-supported":"La reconnaissance vocale n'est pas prise en charge.","speech-transcription-failed":"Échec de la transcription vocale.","speech-no-text-detected":"Aucun texte détecté dans l'entrée vocale.","speech-microphone-access-denied":"Accès au microphone refusé."}},Wl={de:{email:"Bitte keine E-Mail Adressen eingeben",creditCard:"Bitte keine Kreditkarteninformationen eingeben",ahv:"Bitte keine AHV-Nummern eingeben",phoneSwiss:"Bitte keine Telefonnummern eingeben",phoneInternational:"Bitte keine Telefonnummern eingeben",swissPassport:"Bitte keine Passinformationen eingeben",longNumber:"Bitte keine langen Nummern eingeben"},en:{email:"Please do not enter email addresses",creditCard:"Please do not enter credit card information",ahv:"Please do not enter AHV numbers",phoneSwiss:"Please do not enter phone numbers",phoneInternational:"Please do not enter phone numbers",swissPassport:"Please do not enter passport information",longNumber:"Please do not enter long numbers"},it:{email:"Si prega di non inserire indirizzi email",creditCard:"Si prega di non inserire informazioni sulla carta di credito",ahv:"Si prega di non inserire numeri AVS",phoneSwiss:"Si prega di non inserire numeri di telefono",phoneInternational:"Si prega di non inserire numeri di telefono",swissPassport:"Si prega di non inserire informazioni sul passaporto",longNumber:"Si prega di non inserire numeri lunghi"},fr:{email:"Veuillez ne pas saisir d'adresses e-mail",creditCard:"Veuillez ne pas saisir d'informations de carte de crédit",ahv:"Veuillez ne pas saisir de numéros AVS",phoneSwiss:"Veuillez ne pas saisir de numéros de téléphone",phoneInternational:"Veuillez ne pas saisir de numéros de téléphone",swissPassport:"Veuillez ne pas saisir d'informations de passeport",longNumber:"Veuillez ne pas saisir de longs numéros"}},Bi=structuredClone(cr.fineGrained.light);Bi.tokens.colors={brand:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#037ABA",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},highlight:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},grey:{0:"#ffffff",50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#2d3748",900:"#1a202c",950:"#171923",1e3:"#000000"}};const Ql=structuredClone(cr.fineGrained.dark);Ql.tokens.colors=Bi.tokens.colors;const ep=Object.freeze(Object.defineProperty({__proto__:null,theme:{fineGrained:{light:Bi,dark:Ql}}},Symbol.toStringTag,{value:"Module"})),Yl=t=>t.split("/").pop().split(".")[0],tp=Object.assign({"./default/fallback-dev.theme.ts":ep,"./default/fallback.theme.ts":Wf}),ji=new Map;Object.entries(tp).forEach(([t,e])=>{const{error:r,data:n}=Ol.safeParse(e?.theme);if(r){console.error(`Invalid theme in ${t}:`,r);return}ji.set(Yl(t),n)});const w0=t=>{const e=ji.get(t);return e||(console.error(`Theme ${t} not found`),cr)};Array.from(ji.keys());const rp=Object.assign({"./default/fallback.translations.ts":Xf}),Ui=new Map;Object.entries(rp).forEach(([t,e])=>{const{error:r,data:n}=Nl.safeParse(e?.translations);if(r){console.error(`Invalid translations in ${t}:`,r);return}Ui.set(Yl(t),n)});const _0=t=>{const e=Ui.get(t);return e||(console.error(`Theme ${t} not found`),Rr)};Array.from(Ui.keys());const np="en",Kl=(t,e)=>e.includes(t),ba=(t,e)=>{if(Kl(t,e))return t;const r=ap();return Kl(r,e)?r:np},ap=()=>navigator.language.split("-")[0],Xl=(t,e)=>{localStorage.setItem("liipgpt:selectedLanguage",t),e&&(e.lang=t)},Jl=t=>ba(localStorage.getItem("liipgpt:selectedLanguage"),t);var qi,ec;function ip(){return ec||(ec=1,qi=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,a,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(a=n;a--!==0;)if(!t(e[a],r[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(a=n;a--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=n;a--!==0;){var o=i[a];if(!t(e[o],r[o]))return!1}return!0}return e!==e&&r!==r}),qi}var op=ip();const sp=ql(op),lp=typeof document<"u";let tc=0;class cp{#e=J(_t([]));get toasts(){return _(this.#e)}set toasts(e){P(this.#e,e,!0)}#t=J(_t([]));get heights(){return _(this.#t)}set heights(e){P(this.#t,e,!0)}#a=e=>{const r=this.toasts.findIndex(n=>n.id===e);return r===-1?null:r};addToast=e=>{lp&&this.toasts.unshift(e)};updateToast=({id:e,data:r,type:n,message:a})=>{const i=this.toasts.findIndex(s=>s.id===e),o=this.toasts[i];this.toasts[i]={...o,...r,id:e,title:a,type:n,updated:!0}};create=e=>{const{message:r,...n}=e,a=typeof e?.id=="number"||e.id&&e.id?.length>0?e.id:tc++,i=e.dismissable===void 0?!0:e.dismissable,o=e.type===void 0?"default":e.type;return pt(()=>{this.toasts.find(c=>c.id===a)?this.updateToast({id:a,data:e,type:o,message:r,dismissable:i}):this.addToast({...n,id:a,title:r,dismissable:i,type:o})}),a};dismiss=e=>(pt(()=>{if(e===void 0){this.toasts=this.toasts.map(n=>({...n,dismiss:!0}));return}const r=this.toasts.findIndex(n=>n.id===e);this.toasts[r]&&(this.toasts[r]={...this.toasts[r],dismiss:!0})}),e);remove=e=>{if(e===void 0){this.toasts=[];return}const r=this.#a(e);if(r!==null)return this.toasts.splice(r,1),e};message=(e,r)=>this.create({...r,type:"default",message:e});error=(e,r)=>this.create({...r,type:"error",message:e});success=(e,r)=>this.create({...r,type:"success",message:e});info=(e,r)=>this.create({...r,type:"info",message:e});warning=(e,r)=>this.create({...r,type:"warning",message:e});loading=(e,r)=>this.create({...r,type:"loading",message:e});promise=(e,r)=>{if(!r)return;let n;r.loading!==void 0&&(n=this.create({...r,promise:e,type:"loading",message:typeof r.loading=="string"?r.loading:r.loading()}));const a=e instanceof Promise?e:e();let i=n!==void 0;return a.then(o=>{if(typeof o=="object"&&o&&"ok"in o&&typeof o.ok=="boolean"&&!o.ok){i=!1;const s=up(o);this.create({id:n,type:"error",message:s})}else if(r.success!==void 0){i=!1;const s=typeof r.success=="function"?r.success(o):r.success;this.create({id:n,type:"success",message:s})}}).catch(o=>{if(r.error!==void 0){i=!1;const s=typeof r.error=="function"?r.error(o):r.error;this.create({id:n,type:"error",message:s})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),r.finally?.()}),n};custom=(e,r)=>{const n=r?.id||tc++;return this.create({component:e,id:n,...r}),n};removeHeight=e=>{this.heights=this.heights.filter(r=>r.toastId!==e)};setHeight=e=>{const r=this.#a(e.toastId);if(r===null){this.heights.push(e);return}this.heights[r]=e};reset=()=>{this.toasts=[],this.heights=[]}}function up(t){return t&&typeof t=="object"&&"status"in t?`HTTP error! Status: ${t.status}`:`Error! ${t}`}const bt=new cp;function dp(t,e){return bt.create({message:t,...e})}const Vi=Object.assign(dp,{success:bt.success,info:bt.info,warning:bt.warning,error:bt.error,custom:bt.custom,message:bt.message,promise:bt.promise,dismiss:bt.dismiss,loading:bt.loading,getActiveToasts:()=>bt.toasts.filter(t=>!t.dismiss)}),hp=t=>{const e=new Set;Object.getOwnPropertyNames(t).forEach(n=>e.add(n));let r=Object.getPrototypeOf(t);for(;r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(n=>e.add(n)),r=Object.getPrototypeOf(r);return Array.from(e)},fp=(t,e)=>{const r={};return e.forEach(n=>{r[n]=t[n]}),r},pp=console.warn,gp=()=>{},rc=(t,e)=>pt(()=>{console.warn=gp;const r=e?fp(t,e):t,n=hu(r);return console.warn=pp,n}),mp=t=>t&&typeof t.then=="function";class vp{config;self;devtools;stateKeys;constructor(e,r){this.config=e,this.self=r,typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__&&(this.stateKeys=hp(this.config.state),this.devtools=window.__REDUX_DEVTOOLS_EXTENSION__.connect({name:this.config.name??"updatelogic"}),this.devtools.init(this.createStateSnapshot()),this.devtools.subscribe(n=>{n.type==="DISPATCH"&&n.state}))}createStateSnapshot(){return rc(this.config.state,this.stateKeys)}sendStart(e,r){this.devtools.send({type:`→ ${e}`,args:r},this.createStateSnapshot())}sendError(e,r,n){this.devtools.send({type:`❌ ${e}`,args:r,error:n},this.createStateSnapshot())}sendSuccess(e,r,n){this.devtools.send({type:`✓ ${e}`,args:r,return:n},this.createStateSnapshot())}isIncluded(e){return this.config.excludeInDevTools?!this.config.excludeInDevTools.includes(e):!0}createProxyFunction(e,r){const n=this.devtools&&this.isIncluded(e);return typeof r=="function"?(...a)=>{if(!n)return pt(()=>r.call(this.self,...a));const i=rc(a);this.sendStart(e,i);try{const o=pt(()=>r.call(this.self,...a));return mp(o)?o.then(s=>(this.sendSuccess(e,i,s),s),s=>{throw this.sendError(e,i,s),s}):(this.sendSuccess(e,i,o),o)}catch(o){throw this.sendError(e,i,o),o}}:r}}const bp=(t,e)=>{const r={},n=new vp(t,r);return Object.keys(e).forEach(a=>{if(a==="state"||a==="name")return;const i=e[a];r[a]=n.createProxyFunction(a,i)}),r};async function kp(){if(typeof navigator>"u"||!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return!1;try{return(await navigator.mediaDevices.enumerateDevices()).some(e=>e.kind==="audioinput")}catch(t){return console.error("Error checking for microphone:",t),!1}}function Hi(){return typeof window>"u"||!window.MediaRecorder?null:MediaRecorder.isTypeSupported("audio/mp4")?"audio/mp4":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":MediaRecorder.isTypeSupported("audio/wav")?"audio/wav":null}function nc(){return typeof window>"u"?!1:!!(window.MediaRecorder&&Hi())}class ac{mediaRecorder=null;audioChunks=[];started=!1;starting=!1;stream=null;options;audioContext=null;analyser=null;dataArray=null;volumeUpdateInterval=null;constructor(e={}){this.options=e}async start(){if(this.started||this.starting){console.warn("AudioRecorder: Start already in progress or already started");return}if(!nc()||!navigator.mediaDevices){const e=new Error("MediaRecorder not supported or no microphone access");throw this.options.onError?.(e),e}try{if(this.starting=!0,this.stream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0},video:!1}),!this.starting){this.stopStream(this.stream);return}this.mediaRecorder&&this.mediaRecorder.state!=="inactive"&&(console.warn("AudioRecorder: MediaRecorder already active, stopping previous recording"),this.mediaRecorder.stop(),this.cleanup()),this.started=!0,this.starting=!1;const e=Hi();if(!e)throw new Error("No supported media type found");const r={mimeType:e};this.mediaRecorder=new MediaRecorder(this.stream,r),this.audioChunks=[],this.mediaRecorder.ondataavailable=n=>{n.data.size>0&&this.audioChunks.push(n.data)},this.mediaRecorder.onstop=async()=>{const n=this.audioChunks.length>0?new Blob(this.audioChunks,{type:e}):null;await this.options.onDataAvailable?.(n),this.options.onStop?.(),this.cleanup()},this.mediaRecorder.onerror=n=>{const a=new Error(`MediaRecorder error: ${n}`);this.options.onError?.(a),this.cleanup()},this.mediaRecorder.start(),this.setupVolumeAnalysis(this.stream),this.options.onStart?.()}catch(e){this.started=!1,this.starting=!1;const r=e instanceof Error?e:new Error(String(e));throw this.options.onError?.(r),r}}stop(){this.started=!1,this.starting=!1,this.volumeUpdateInterval&&(clearInterval(this.volumeUpdateInterval),this.volumeUpdateInterval=null),this.mediaRecorder&&this.mediaRecorder.state!=="inactive"?this.mediaRecorder.stop():(this.stream&&this.stopStream(this.stream),this.cleanup())}setupVolumeAnalysis(e){if(this.options.onVolumeChange)try{this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=256,this.analyser.smoothingTimeConstant=.8;const r=this.analyser.frequencyBinCount;this.dataArray=new Uint8Array(r),this.audioContext.createMediaStreamSource(e).connect(this.analyser),this.startVolumeMonitoring()}catch(r){console.warn("Failed to set up volume analysis:",r)}}startVolumeMonitoring(){!this.analyser||!this.dataArray||!this.options.onVolumeChange||(this.volumeUpdateInterval=window.setInterval(()=>{if(!this.analyser||!this.dataArray||!this.started)return;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let i=0;i<this.dataArray.length;i++)e+=this.dataArray[i]*this.dataArray[i];let n=Math.sqrt(e/this.dataArray.length)/255;n=Math.pow(n*3,.7);const a=Math.min(100,Math.max(0,Math.round(n*100)));this.options.onVolumeChange?.(a)},100))}get recording(){return this.started&&this.mediaRecorder?.state==="recording"}get isStarting(){return this.starting}stopStream(e){e.getTracks().forEach(r=>r.stop())}cleanup(){this.volumeUpdateInterval&&(clearInterval(this.volumeUpdateInterval),this.volumeUpdateInterval=null),this.audioContext&&(this.audioContext.close().catch(console.warn),this.audioContext=null),this.analyser=null,this.dataArray=null,this.stream&&(this.stopStream(this.stream),this.stream=null),this.mediaRecorder=null,this.audioChunks=[],this.started=!1,this.starting=!1}static isSupported(){return nc()}static getSupportedMediaType(){return Hi()}}const yp=t=>(localStorage.setItem("liipgpt-color-scheme",t),Zi(["light","dark"])),ic=()=>{const t=localStorage.getItem("liipgpt-color-scheme");return t==="light"||t==="dark"?t:"system"},Zi=t=>{let e=ic();return e==="system"&&(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),t.includes(e)?e:t[0]??"light"},wp=[{type:"email",check:t=>/\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b/.test(t)},{type:"creditCard",check:t=>/\b(?:\d[ -]*?){13,16}\b/.test(t)},{type:"ahv",check:t=>/\b756\.\d{4}\.\d{4}\.\d{2}\b/.test(t)},{type:"phoneSwiss",check:t=>/\b0(?:\s*\d){2}(?:\s*\/\s*)?(?:\s*\d){7,}\b/.test(t)},{type:"phoneInternational",check:t=>/(?:\+|00)(?:\s*\d){10,}\b/.test(t)},{type:"swissPassport",check:t=>/\b[A-HJ-NP-Z](?=.*\d)[A-HJ-NP-Z0-9]{7}\b/.test(t)},{type:"longNumber",check:t=>/\b\d{9,}\b/.test(t)}],oc=t=>{for(const e of wp)if(e.check(t))return e.type},Gi="liipgpt:selectorValues",Wi="liipgpt:selectorKnownDefaults",sc=()=>{try{const t=vt.getItem(Gi),e=vt.getItem(Wi);return t?{values:JSON.parse(t),knownDefaults:e?JSON.parse(e):{}}:null}catch{return null}},_p=t=>{const e={};for(const r of t)e[r.settingName]=r.defaultValues??(r.allowEmpty?[]:[r.values[0]]).filter(Boolean);return e},lc=(t,e)=>{try{const r=_p(e);vt.setItem(Gi,JSON.stringify(t)),vt.setItem(Wi,JSON.stringify(r))}catch(r){console.error("Failed to save selector values:",r)}},xp=t=>{try{const e=sc();if(!e)return;delete e.values[t],delete e.knownDefaults[t],vt.setItem(Gi,JSON.stringify(e.values)),vt.setItem(Wi,JSON.stringify(e.knownDefaults))}catch(e){console.error("Failed to clear selector saved state:",e)}},Sp=t=>{const e=sc(),r=t.map(n=>{const a=n.defaultValues??(n.allowEmpty?[]:[n.values[0]]).filter(Boolean);if(!e?.values[n.settingName])return[n.settingName,a];const i=e.values[n.settingName],o=e.knownDefaults[n.settingName]||[],s=i.filter(h=>n.values.includes(h)),c=o.filter(h=>!a.includes(h)),l=s.filter(h=>!c.includes(h)),u=a.filter(h=>!o.includes(h)&&!l.includes(h)),p=[...l,...u];return p.length===0&&!n.allowEmpty?[n.settingName,a]:[n.settingName,p]});return Object.fromEntries(r)};class Tp extends Error{constructor(e){super(e),this.name="UnreachableError"}}const cc=(t,e)=>{const n=new URLSearchParams(window.location.search).get("q");return n?{name:"chat-page",query:n}:t&&!e?{name:"consent-page"}:{name:"start-page"}};class Ep{#e=J(_t({}));get data(){return _(this.#e)}set data(e){P(this.#e,e,!0)}#t=J(_t({}));get targets(){return _(this.#t)}set targets(e){P(this.#t,e,!0)}#a=J(!1);get initialized(){return _(this.#a)}set initialized(e){P(this.#a,e,!0)}#l=J(0);get currentAudioVolume(){return _(this.#l)}set currentAudioVolume(e){P(this.#l,e,!0)}ariaLiveMessagesClearingTimeoutDuration=350;#u=J(null);get currentAudioRecorder(){return _(this.#u)}set currentAudioRecorder(e){P(this.#u,e,!0)}#i=J(!1);get isTranscribing(){return _(this.#i)}set isTranscribing(e){P(this.#i,e,!0)}#r=X(()=>{if(!this.initialized)return[];const e=this.data.chatConfig.menu;return e?e[this.data.language]??[]:[]});get menu(){return _(this.#r)}set menu(e){P(this.#r,e)}#o=X(()=>this.initialized?this.data.chatConfig.translations[this.data.language]??{}:{});get t(){return _(this.#o)}set t(e){P(this.#o,e)}#s=X(()=>this.initialized?Gl[this.data.language]??{}:Gl.en??{});get errorTranslations(){return _(this.#s)}set errorTranslations(e){P(this.#s,e)}#n=X(()=>this.initialized?Wl[this.data.language]??{}:Wl.en??{});get piiTranslations(){return _(this.#n)}set piiTranslations(e){P(this.#n,e)}#c=X(()=>this.initialized?this.data.currentColorScheme:"light");get colorScheme(){return _(this.#c)}set colorScheme(e){P(this.#c,e)}#d=X(()=>this.initialized?this.data.chatConfig.fullTheme[this.data.currentColorScheme]:{});get themeBase(){return _(this.#d)}set themeBase(e){P(this.#d,e)}#f=X(()=>this.themeBase.tokens);get theme(){return _(this.#f)}set theme(e){P(this.#f,e)}#h=X(()=>{if(!this.initialized)return[];const e=[];for(const r of this.data.chatConfig.selectorsConfig){if(r.allowEmpty)continue;(this.data.selectorValues[r.settingName]||[]).length===0&&e.push(r.settingName)}return e});get selectorsWithErrors(){return _(this.#h)}set selectorsWithErrors(e){P(this.#h,e)}}const g=new Ep;let ct,kt,uc;bp({name:"chat-logic",state:g,excludeInDevTools:["onInput"]},{async init(t){kt=t;const e=kt.speechRecognitionApiKey||void 0;ct=new Uf({apiUrl:kt.apiUrl,apiKey:kt.apiKey,speechRecognitionApiKey:e,strict:!0});try{const r=await ct.getChatConfig();window.CHAT_CONFIG_OVERRIDE&&Object.assign(r,window.CHAT_CONFIG_OVERRIDE);const a=(await ct.getMetadata()).mode==="maintenance";a&&this.showErrorToast("maintenance");const i=Zl(r);kt.inlineLayout!==void 0&&(i.inlineLayout=kt.inlineLayout);let o;kt.lang?o=ba(kt.lang,i.supportedLanguages):o=Jl(i.supportedLanguages),Xl(o,g.targets.mainElement);const s=await this.getPredefinedQuestions(o),c=[];if(i.renderKatex){const h=await import("https://esm.sh/marked-katex-extension@5.1.5").catch(v=>{console.error("Couldn't load marked-katex-extension:",v)});h&&(ct.setMarkedExtensions(h.default({nonStandard:!0,output:"mathml"})),c.push("https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/katex.min.css"))}const l=Object.keys(i.fullTheme);let u=!1;if(i.forceConsent)try{u=vt.getItem("liipgpt:termsAccepted")==="true"}catch(h){console.warn("Failed to load terms acceptance from storage:",h)}g.data={currentConversationState:"idle",chatConfig:i,language:o,predefinedQuestions:s,isInMaintenance:a,history:[],selectedColorScheme:ic(),has2ColorSchemes:l.length===2,currentColorScheme:Zi(l),conversationFeedbackId:void 0,conversationFeedbackIsOpen:!1,openedPopup:void 0,props:kt,flyoutIsOpen:!1,questionHasPii:void 0,chatInputValue:"",selectorValues:Sp(i.selectorsConfig),selectorsIsOpen:!1,currentReferencesAsideId:void 0,ariaLiveStatusMessage:void 0,ariaLiveStatusMessageClearingTimeout:void 0,wasReferencesAsideClosed:!1,isAsideMobile:!0,route:cc(i.forceConsent??!1,u),additionalStylesheets:c,hasOpenedOverlays:!1,isInlineLayoutContained:!1,termsAccepted:u},window.LIIPGPT_LISTENERS?.route?.(g.data.route),window.LIIPGPT_LISTENERS?.conversation?.(g.data.currentConversationState),g.data.selectorsIsOpen=g.data.chatConfig.showExpandedSelectors??!1,g.initialized=!0,this.checkForOpenedPopup(),window.addEventListener("hashchange",()=>{this.checkForOpenedPopup()}),this.goto(cc(i.forceConsent??!1,u),!0)}catch(r){throw Vi.error(r instanceof Error?r.message:"Failed to load the chatbot. Please reload the page.",{duration:1e4,unstyled:!0,classes:{toast:"toast"}}),r}},setTarget(t,e){g.targets[t]=e},goto(t,e=!1){if(!(!e&&sp(g.data.route,t)))switch(g.data.route=t,window.LIIPGPT_LISTENERS?.route?.(t),t.name){case"consent-page":break;case"start-page":t.prefill&&(g.data.chatInputValue=t.prefill);break;case"chat-page":if(g.data.chatInputValue=t.query,this.onSubmit(),g.data.chatConfig.addQueryToUrlParams){const r=new URLSearchParams(window.location.search);r.set("q",t.query),history.pushState(null,"",`?${r.toString()}`)}break}},getSelectorConfig(t){const e=g.data.chatConfig.selectorsConfig.find(r=>r.settingName===t);if(!e)throw new Error(`Setting ${t} not found`);return e},getPrettifiedSelectorValues(){const t=Object.entries(g.data.selectorValues).map(([e,r])=>{let n;try{n=this.getSelectorConfig(e)}catch(a){console.error(`Error getting selector config for ${e}: ${a}`);return}return n.type==="single-select"?[e,r[0]]:[e,r]}).filter(e=>!!e);return Object.fromEntries(t)},setSelectorValue(t,e){const r=this.getSelectorConfig(t);if(!r){console.warn(`Trying to set setting ${t} but it is not defined in the chat config`);return}if(r.type==="single-select"&&e.length>1){console.warn(`Trying to set multiple values for single-select setting ${t}`);return}g.data.selectorValues[t]=e,lc(g.data.selectorValues,g.data.chatConfig.selectorsConfig)},resetSelectorToDefaults(t){const e=this.getSelectorConfig(t);if(!e){console.warn(`Trying to reset setting ${t} but it is not defined in the chat config`);return}const r=e.defaultValues??(e.allowEmpty?[]:[e.values[0]]).filter(Boolean);return xp(t),g.data.selectorValues[t]=r,lc(g.data.selectorValues,g.data.chatConfig.selectorsConfig),r},async getPredefinedQuestions(t){try{return ct.getPredefinedQuestions({url:window.location.origin+window.location.pathname,language:t})}catch(e){return console.warn("Failed to load predefined questions:",e),[]}},setColorScheme(t){g.data.selectedColorScheme=t,g.data.currentColorScheme=yp(t),this.setAriaLiveStatusMessage(t==="dark"?g.t.ariaDarkSelected:g.t.ariaLightSelected)},async abort(){await uc?.abort()},changeConversationState(t){g.data.currentConversationState=t,window.LIIPGPT_LISTENERS?.conversation?.(t)},onInput(t){g.data.chatConfig.blockPII&&(g.data.questionHasPii=oc(t)),g.data.chatInputValue=t},onSubmit(t=!1){if(g.data.questionHasPii){console.warn("Question contains PII, not submitting:",g.data.questionHasPii);return}const e=g.data.chatConfig.questionPrefix?`${g.data.chatConfig.questionPrefix} ${g.data.chatInputValue}`:g.data.chatInputValue,r=g.data.history.push({type:"user",time:new Date().toISOString(),message:g.data.chatInputValue});g.data.history.push({id:"UNRESOLVED",state:"loading",errors:[],type:"bot",time:new Date().toISOString(),message:{markdown:"",html:"",text:""},references:{all:[],used:[],unused:[]}});const n={features:kt.features?kt.features.trim().split(","):["formatting"],onError:u=>{this.showErrorToast(u),window.LIIPGPT_LISTENERS?.error?.(u),(u==="pii-detected"||u==="blocked")&&this.editLatestQuestion()},lang:g.data.language,selectorValues:this.getPrettifiedSelectorValues()},a=(u,p)=>{try{const h=new URL(u),v=new URL(p);return h.origin===v.origin&&h.pathname===v.pathname}catch{return!1}},i=g.data.chatConfig.sendReferrer??"all";if(["all","own","location"].includes(i)){const u=i==="location"||g.data.props.flyout;let p;u?p=`${window.location.protocol}//${window.location.host}${window.location.pathname}`:p=a(document.referrer,window.location.href)?null:document.referrer;const h=i==="own"&&!g.data.props.flyout&&p&&!p.startsWith(window.location.origin);n.referrer=p&&!h?p:void 0}g.data.currentConversationId||(g.data.currentConversationId=ct.createConversationId());const o=ct.chat(g.data.currentConversationId,e,n);uc=o,g.data.lastChatResponseId=o.id,g.data.currentConversationState!=="searching"&&this.changeConversationState("searching"),this.setAriaLiveStatusMessage(g.t.ariaQuestionSent);let s=!1,c;const l=!!g.data.currentReferencesAsideId;(t&&l||!t&&g.data.chatConfig.showReferencesByDefault)&&(g.data.isAsideMobile||this.openReferencesAside(o.id)),o.subscribe(u=>{if(g.data.history[r]&&(g.data.history[r]={question:g.data.chatInputValue,...u}),g.data.chatConfig.addRetrievalQuestionToUrlParams&&u.retrievalQuestion){const p=new URLSearchParams(window.location.search);p.get("search")!==u.retrievalQuestion&&(p.set("search",u.retrievalQuestion),history.replaceState(null,"",`?${p.toString()}`))}g.data.chatConfig.showReferencesByDefault&&!g.data.wasReferencesAsideClosed&&g.data.currentReferencesAsideId!==u.id&&!g.data.isAsideMobile&&this.openReferencesAside(u.id),u.state==="streaming"&&g.data.currentConversationState!=="answering"&&this.changeConversationState("answering"),u.state==="done"&&(this.changeConversationState("idle"),s||(s=!0,this.setAriaLiveStatusMessage(`${g.t.ariaAnswerReady} ... ${u.message.text} ... ${g.t.ariaAnswerFinished}`)),g.data.currentReferencesAsideId&&g.data.history[r].references.used.length>0?(clearTimeout(c),c=setTimeout(()=>{this.openReferencesAside(u.id)},100)):this.closeReferencesAside())}),g.data.chatInputValue=""},async onStartSpeechRecognition(){try{if(!await kp()){this.showErrorToast("speech-not-supported");return}if(await navigator.mediaDevices.getUserMedia({audio:!0}),ac.isSupported())g.data.chatInputValue="",g.currentAudioRecorder=new ac({onDataAvailable:async e=>{g.isTranscribing=!0,await this.handleTranscription(e)},onError:()=>{this.showErrorToast("speech-microphone-access-denied"),g.currentAudioRecorder=null,g.isTranscribing=!1},onVolumeChange:e=>{g.currentAudioVolume=e}}),g.currentAudioRecorder.start();else{this.showErrorToast("speech-not-supported");return}}catch(t){throw this.showErrorToast("speech-microphone-access-denied"),g.currentAudioRecorder=null,g.isTranscribing=!1,t}},editLatestQuestion(){const t=g.data.history.findLastIndex(r=>r?.type==="user");if(t===-1){console.error("No last user question, available");return}const e=g.data.history.splice(t)[0];g.data.chatInputValue=e.message},onStopSpeechRecognition(){if(g.currentAudioRecorder){const t=g.currentAudioRecorder;g.currentAudioRecorder=null,t.stop()}g.currentAudioVolume=0},async handleTranscription(t){if(!t){console.warn("No audio data received");return}try{const e=await ct.transcribeAudio(t,{lang:g.data.language});if(e.error){this.showErrorToast("speech-transcription-failed");return}if(e.transcript.trim()){if(g.data.chatConfig.blockPII&&(g.data.questionHasPii=oc(e.transcript.trim()),g.data.questionHasPii))return;g.data.chatInputValue=e.transcript.trim()}else this.showErrorToast("speech-no-text-detected")}catch(e){console.error("Speech transcription error:",e),this.showErrorToast("speech-transcription-failed")}finally{g.currentAudioRecorder=null,g.isTranscribing=!1,g.currentAudioVolume=0}},async onStartConversation(t){await this.abort(),g.data.history=[],g.data.currentConversationId=ct.createConversationId(),this.goto({name:"chat-page",query:t})},async onNewConversation(){if(await this.abort(),g.data.currentConversationId=void 0,g.data.currentReferencesAsideId=void 0,g.data.history=[],g.data.chatConfig.addQueryToUrlParams){const t=new URLSearchParams(window.location.search);t.delete("q"),history.pushState(null,"",`?${t.toString()}`)}this.goto({name:"start-page"})},showSuccessToast(t){Vi.success(g.t[t],{unstyled:!0,duration:3e3,classes:{toast:"toast"}})},showErrorToast(t){Vi.error(g.errorTranslations[t],{unstyled:!0,duration:3e3,classes:{toast:"toast"}})},async submitFeedback(t){try{const e=g.data.conversationFeedbackId||g.data.lastChatResponseId;if(!e)throw new Tp("Tried to give feedback with no id.");const r=g.data.history.find(n=>n.type==="bot"&&n.id===e);await ct.feedback(e,r?.question??"",t),setTimeout(()=>{this.showSuccessToast("thankYouForFeedback")},500)}catch(e){console.error("Feedback failed:",e),this.showErrorToast("feedback-failed")}},toggleReferencesAside(t){g.data.currentReferencesAsideId===t?this.closeReferencesAside():this.openReferencesAside(t)},openReferencesAside(t){g.data.currentReferencesAsideId=t,this.setOpenOverlay(!0)},closeReferencesAside(){g.data.currentReferencesAsideId=void 0,g.data.wasReferencesAsideClosed=!0,this.setOpenOverlay(!1)},setAsideMobile(t){g.data.isAsideMobile=t},openFlyout(){g.data.flyoutIsOpen=!0},closeFlyout(){g.data.flyoutIsOpen=!1},openConversationFeedback(){g.data.conversationFeedbackIsOpen=!0,this.setOpenOverlay(!0)},openMessageFeedback(t){g.data.conversationFeedbackId=t},closeFeedback(){g.data.conversationFeedbackIsOpen=!1,g.data.conversationFeedbackId=void 0,this.setOpenOverlay(!1)},setOpenOverlay(t){g.data.hasOpenedOverlays=t},setAriaLiveStatusMessage(t){g.data.ariaLiveStatusMessage=t,clearTimeout(g.data.ariaLiveStatusMessageClearingTimeout),g.data.ariaLiveStatusMessageClearingTimeout=setTimeout(()=>{g.data.ariaLiveStatusMessage=""},g.ariaLiveMessagesClearingTimeoutDuration)},closePopup(){window.location.hash=""},checkForOpenedPopup(){const t=window.location.hash.slice(1),e=g.t.popups?.find(r=>r.hash===t);e?g.data.openedPopup=e:g.data.openedPopup=void 0},async thumbs(t,e){try{const r=g.data.history.find(n=>n.type==="bot"&&n.id===t);e==="up"?await ct.thumbsUp(t,r?.question??""):await ct.thumbsDown(t,r?.question??""),this.showSuccessToast("thankYouForFeedback")}catch(r){console.error("Feedback failed:",r),this.showErrorToast("feedback-failed")}},async onLanguageChange(t){if(g.data.language=ba(t,g.data.chatConfig.supportedLanguages),Xl(g.data.language,g.targets.mainElement),g.data.predefinedQuestions=await this.getPredefinedQuestions(g.data.language),this.setAriaLiveStatusMessage(g.t.ariaLanguageChanged),g.data.chatConfig.reflectLanguageInPath){const e=new URL(window.location.href);e.pathname=`/${g.data.language}`,window.history.replaceState({},"",e.toString())}},async acceptTerms(){g.data.termsAccepted=!0;try{vt.setItem("liipgpt:termsAccepted","true")}catch(t){console.warn("Failed to save terms acceptance to storage:",t)}this.closePopup(),this.closeFlyout(),await ns(),this.goto({name:"start-page"})},updateChatInput(t){g.data.chatInputValue=t}});const Cp='@layer base,utilities,components;/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::-moz-placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer base{.chat-app{--spacer-1: .0625rem;--spacer-2: .125rem;--spacer-3: .1875rem;--spacer-4: .25rem;--spacer-5: .3125rem;--spacer-6: .375rem;--spacer-8: .5rem;--spacer-10: .625rem;--spacer-12: .75rem;--spacer-16: 1rem;--spacer-20: 1.25rem;--spacer-24: 1.5rem;--spacer-28: 1.75rem;--spacer-32: 2rem;--spacer-40: 2.5rem;--spacer-48: 3rem;--spacer-56: 3.5rem;--spacer-64: 4rem;--spacer-72: 4.5rem;--spacer-80: 5rem;--spacer-120: 7.5rem;--spacer-r-8: clamp(.375rem, .3182rem + .2841cqw, .5rem);--spacer-r-12: clamp(.625rem, .5682rem + .2841cqw, .75rem);--spacer-r-16: clamp(.75rem, .6364rem + .5682cqw, 1rem);--spacer-r-20: clamp(.875rem, .7045rem + .8523cqw, 1.25rem);--spacer-r-24: clamp(1rem, .7727rem + 1.1364cqw, 1.5rem);--spacer-r-28: clamp(1.125rem, .8409rem + 1.4205cqw, 1.75rem);--spacer-r-32: clamp(1.25rem, .9091rem + 1.7045cqw, 2rem);--spacer-r-40: clamp(1.5rem, 1.0455rem + 2.2727cqw, 2.5rem);--spacer-r-48: clamp(1.625rem, 1rem + 3.125cqw, 3rem);--spacer-r-56: clamp(1.75rem, .9545rem + 3.9773cqw, 3.5rem);--spacer-r-64: clamp(2rem, 1.0909rem + 4.5455cqw, 4rem);--spacer-r-80: clamp(3rem, 2.0909rem + 4.5455cqw, 5rem);--spacer-r-96: clamp(3.5rem, 2.3636rem + 5.6818cqw, 6rem);--spacer-r-120: clamp(4rem, 2.4091rem + 7.9545cqw, 7.5rem);--default-transition-duration: .2s;--default-transition-timing-function: ease-in-out;--z-index-flyout: 10000;--z-index-dialog: 600;--z-index-loader: 500;--z-index-reference-number: 400;--z-index-footer: 300;--z-index-header: 200;--z-index-tooltip: 100;--z-index-tooltip-hover: 101;--z-index-local-overlay: 10;--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--ease-in-quart: cubic-bezier(.895, .03, .685, .22);--ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);--fly-in-id: 0;--btn-padding-x: var(--spacer-r-20);--btn-padding-y: var(--spacer-r-8);--btn-icon-size: var(--spacer-24);--btn-submit-size: 2.5em;--last-bot-message-min-height: 0}}@value container-xs,container-sm,container-md,container-lg,container-inner-xs,container-inner-sm,container-inner-md,container-inner-lg from "./viewports.css";@layer base{.chat-app :where(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6){font-weight:var(--base-font-weight-title);line-height:var(--base-line-height-tight)}.chat-app :where(b,strong){font-weight:var(--base-font-weight-bold)}.chat-app :where(button){cursor:pointer}.chat-app :where(input[type=text],input[type=email],input[type=search],input[type=password],textarea){width:100%;padding:var(--input-padding);border-width:var(--input-border-width);border-radius:var(--input-border-radius);border-color:var(--input-border-color);background:var(--input-background);box-shadow:var(--input-box-shadow, none);color:var(--input-color)}.chat-app :where(input[type=text],input[type=email],input[type=search],input[type=password],textarea)::-moz-placeholder{color:var(--input-placeholder-color);opacity:var(--input-placeholder-opacity)}.chat-app :where(input[type=text],input[type=email],input[type=search],input[type=password],textarea)::placeholder{color:var(--input-placeholder-color);opacity:var(--input-placeholder-opacity)}.chat-app :where(input[type=radio],input[type=checkbox]){margin:0}.chat-app :where(*:focus-visible){border-radius:var(--btn-primary-border-radius);outline-color:var(--body-focus-color);outline-style:var(--body-focus-style);outline-width:var(--body-focus-width);outline-offset:var(--body-focus-offset)}.chat-app *::-moz-selection{background:var(--body-selection-background);color:var(--body-selection-color)}.chat-app *::selection{background:var(--body-selection-background);color:var(--body-selection-color)}.chat-app ::-webkit-scrollbar{width:8px;height:8px}.chat-app ::-webkit-scrollbar-track{background:transparent}.chat-app ::-webkit-scrollbar-thumb{border-radius:4px;background-color:#0000004d;-webkit-transition:background-color .2s;transition:background-color .2s}.chat-app ::-webkit-scrollbar-thumb:hover{background-color:#00000080}.chat-app *{scrollbar-color:rgba(0,0,0,.3) transparent;scrollbar-width:thin}.chat-app ::-webkit-scrollbar-thumb{visibility:hidden}.chat-app *:hover::-webkit-scrollbar-thumb,.chat-app *:active::-webkit-scrollbar-thumb,.chat-app *:focus::-webkit-scrollbar-thumb{visibility:visible}}@layer utilities{.chat-app :where(.expand-interaction){position:relative}.chat-app :where(.expand-interaction):after{position:absolute;inset:0;background-color:transparent;content:""}.chat-app :where(.sr-only){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.chat-app :where(.transition-colors){transition-duration:var(--default-transition-duration);transition-property:color,background-color,border-color,box-shadow;transition-timing-function:var(--default-transition-timing-function)}.chat-app :where(.transition){transition-duration:var(--default-transition-duration);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--default-transition-timing-function)}.chat-app :where(.skip-link){position:absolute;width:0px;height:0px;overflow:hidden;color:var(--anchor-color);font-weight:700;font-size:var(--base-font-size-xs)}.chat-app :where(.skip-link):focus-visible{position:static;width:auto;height:auto}.chat-app :where(.fly-in){--fly-in-id: 0;--fly-in-duration: .4s;--fly-out-duration: .2s;--fly-in-delay: .3s;--fly-in-delay-additional: .1s;--fly-in-y: var(--spacer-r-64);transform:translateY(var(--fly-in-y));opacity:0;transition-delay:0s,1s;transition-duration:var(--fly-out-duration);transition-property:opacity,transform;transition-timing-function:ease,var(--ease-out-quart)}.chat-app :where(.mounted .fly-in){transform:translateY(0);opacity:1;transition-delay:calc(var(--fly-in-delay) + var(--fly-in-id) * var(--fly-in-delay-additional));transition-duration:var(--fly-in-duration)}.chat-app :where(.truncate){display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-app :where(.line-clamp){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat-app :where(.line-clamp--2){-webkit-line-clamp:2}.chat-app :where(.line-clamp--6){-webkit-line-clamp:6}.chat-app :where(.container){width:100%;max-width:var(--container-max-width, 1024px);margin:0 auto;padding-right:var(--spacer-16);padding-left:var(--spacer-16)}@container chat-container (min-width: 640px){.chat-app :where(.container){padding-right:var(--spacer-32);padding-left:var(--spacer-32)}}@container chat-container (min-width: 768px){.chat-app :where(.container){padding-right:var(--spacer-48);padding-left:var(--spacer-48)}}.chat-app :where(h1){font-size:var(--base-font-size-h1)}.chat-app :where(h2){font-size:var(--base-font-size-h2)}.chat-app :where(h3){font-size:var(--base-font-size-h3)}.chat-app :where(h4,h5,h6){font-size:var(--body-font-size)}.chat-app :where(.h1){font-size:var(--base-font-size-h1)}.chat-app :where(.h2){font-size:var(--base-font-size-h2)}.chat-app :where(.h3){font-size:var(--base-font-size-h3)}.chat-app :where(.h4,.h5,.h6){font-size:var(--body-font-size)}.chat-app :where(.text-container)>:where(p,ul,ol,img,table){display:block;margin-bottom:var(--spacer-r-24)}.chat-app :where(.text-container)>:where(div){margin:var(--spacer-r-40) 0}.chat-app :where(.text-container)>:where(h1,.h1){margin-bottom:var(--spacer-r-28)}.chat-app :where(.text-container)>:where(h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6){margin-bottom:var(--spacer-r-20)}.chat-app :where(.text-container)>:where(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6){margin-top:var(--spacer-r-40)}.chat-app :where(.text-container)>:where(ul:not(.no-list-styling),ol:not(.no-list-styling))>:where(li){margin-bottom:var(--spacer-12)}.chat-app :where(.text-container)>:where(ul:not(.no-list-styling),ol:not(.no-list-styling))>:where(li):last-child{margin-bottom:0}.chat-app :where(.text-container)>:where(ol){padding-left:1.5em;list-style-position:outside;list-style-type:decimal}.chat-app :where(.text-container)>:where(ul:not(.no-list-styling))>:where(li){position:relative;padding-left:1em}.chat-app :where(.text-container)>:where(ul:not(.no-list-styling))>:where(li):before{position:absolute;top:0;left:0;content:"•";font-size:.9em}.chat-app :where(.text-container)>:where(hr){height:1px;margin:var(--spacer-r-40) 0;border:none;background-color:var(--color-grey-700);background-color:var(--hr-color)}.chat-app :where(.text-container) :where(a:not(.button,.no-link-styling,.reference)){color:var(--anchor-color);font-weight:var(--anchor-font-weight, var(--base-font-weight-normal));-webkit-text-decoration:var(--anchor-text-decoration, underline);text-decoration:var(--anchor-text-decoration, underline);text-underline-offset:var(--anchor-text-underline-offset, .15em);transition-duration:var(--default-transition-duration);transition-property:color,background-color,border-color;transition-timing-function:var(--default-transition-timing-function)}.chat-app :where(.text-container) :where(a:not(.button,.no-link-styling,.reference)):hover{color:var(--anchor-hover-color)}.chat-app :where(.text-container) :where(table){display:block;width:100%;overflow-x:auto;border-collapse:collapse;border-spacing:0;-webkit-overflow-scrolling:touch}.chat-app :where(.text-container) :where(th){width:1000px;padding:var(--spacer-12) var(--spacer-16) var(--spacer-12) 0;border-bottom:1px solid var(--color-grey-300);line-height:var(--base-line-height-tight);text-align:left;vertical-align:bottom}.chat-app :where(.text-container) :where(td){padding:var(--spacer-12) var(--spacer-16) var(--spacer-12) 0;border-bottom:1px solid var(--color-grey-300);vertical-align:top}.chat-app :where(.text-container) :where(tr:last-child td){border-bottom:none}.chat-app :where(.text-container) :where(*:first-child){margin-top:0}.chat-app :where(.text-container) :where(*:last-child){margin-bottom:0}.chat-app :where(.animated-height){transition:height .5s var(--ease-in-out-quart)}.chat-app :where(.display-contents){display:contents}.chat-app :where(.absolute){position:absolute!important}}@layer base{.svg{width:var(--spacer-r-24);height:auto}.svg svg{display:block;width:100%;height:auto;overflow:visible}}@layer components{.chat-app{display:contents}.chat-app__container{container-name:chat-container;container-type:inline-size;display:flex;height:100%;overflow:hidden;transform:translateZ(0)}.chat-app__container>:where(*){color:var(--body-color);font-style:normal;font-weight:var(--base-font-weight-normal);font-size:var(--base-font-size-body);line-height:var(--base-line-height-default);font-family:var(--font-family);font-optical-sizing:auto}.chat-app__container.chat-app__container--inline-layout-contained{height:90svh;scroll-margin-top:10svh}@media (min-width: 768px){.chat-app__container.chat-app__container--inline-layout-contained{height:100svh;scroll-margin-top:0}}.chat-app__main{container-name:chat-inner-container;container-type:inline-size;display:flex;flex-direction:column;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;overscroll-behavior-y:contain;background:var(--body-background);scrollbar-gutter:stable;touch-action:pan-y}.chat-app__container--inline-layout .chat-app__main{overscroll-behavior-y:auto}.chat-app__loader-container{display:flex;z-index:var(--z-index-loader);position:relative;align-items:center;justify-content:center;width:100%;height:100%}.chat-app__portals{display:contents}.chat-app__header{z-index:var(--z-index-header);position:sticky;top:0;background:var(--body-background)}.chat-app__header--unsticked{position:relative}.chat-app__header-content{--btn-padding-x: var(--btn-padding-y);display:flex;position:relative;-moz-column-gap:var(--spacer-r-12);column-gap:var(--spacer-r-12);flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-right:calc(var(--btn-padding-x) * -1);margin-left:calc(var(--btn-padding-x) * -1);padding-top:var(--spacer-10);padding-bottom:var(--spacer-10)}.chat-app__header-content>:where(*){z-index:0;position:relative;pointer-events:auto}.chat-app__header-content:after{position:absolute;right:var(--btn-padding-x);bottom:0;left:var(--btn-padding-x);border-bottom:1px solid transparent;content:"";transition:border-color .1s ease-in-out}.chat-app__header-content.has-border:after{border-color:var(--base-line-color)}.chat-app__header-new-conversation{position:relative;margin-right:auto}@container chat-container (min-width: 640px){.chat-app__header-new-conversation .tooltip{display:none}}.chat-app__header--with-logo :where(.chat-app__header-content){margin-left:0}.chat-app__header--with-logo :where(.chat-app__header-new-conversation){margin-right:unset;margin-left:auto}.chat-app__header-logo{margin-right:auto}.chat-app__header-logo :where(svg){width:auto;height:var(--spacer-28)}.chat-app__body{display:flex;position:relative;flex-grow:1;flex-direction:column;width:100%}.chat-app__page-transition{display:flex;flex-grow:1;flex-direction:column;width:100%;height:100%}.chat-app__aside{--duration-in: .65s;--duration-out: .5s;visibility:hidden;position:relative;top:0;bottom:0;flex-grow:1;width:0;transition-delay:0s,var(--duration-out);transition-duration:var(--duration-out),0s;transition-property:width,visibility;transition-timing-function:var(--ease-in-out-quart),linear}.chat-app__aside.open{visibility:visible;width:var(--aside-width);transition-delay:0s;transition-duration:var(--duration-in),0s;transition-timing-function:var(--ease-out-quart),linear}.chat-app__aside .tooltip{--background-color: var(--btn-secondary-hover-background)}.chat-app__aside-container{position:relative;width:var(--aside-width);height:100%;overflow-y:auto;overscroll-behavior:contain;border-left-width:var(--aside-border-width);border-color:var(--aside-border-color);background:var(--aside-background);scrollbar-gutter:stable}.chat-app__container--inline-layout .chat-app__aside-container{overscroll-behavior-y:auto}.chat-app__aside-header,.chat-app__sheet-header{display:flex;z-index:var(--z-index-header);position:sticky;top:0;flex-wrap:no-wrap;align-items:center;justify-content:space-between;padding:var(--spacer-12) var(--spacer-12) var(--spacer-12) var(--spacer-24);gap:var(--spacer-24);border-bottom-width:var(--aside-header-border-width);border-color:var(--aside-header-border-color);background:var(--aside-background);color:var(--aside-header-color)}.chat-app__sheet-close{position:relative}.chat-app__sheet-overlay{z-index:var(--z-index-dialog);position:fixed;inset:0;background:var(--aside-background-overlay)}.chat-app__sheet-content{z-index:var(--z-index-flyout);position:fixed;top:0;right:0;width:100%;max-width:var(--aside-width);height:100%;overflow-y:auto;overscroll-behavior:contain;border-left-width:var(--aside-border-width);border-color:var(--aside-border-color);background:var(--aside-background);scrollbar-gutter:stable}.chat-app__container--inline-layout .chat-app__sheet-content{overscroll-behavior-y:auto}:is(.chat-app__aside-close,.chat-app__sheet-close) :where(.btn){background-color:transparent}.chat-app__aside-title,.chat-app__sheet-title{font-size:var(--base-font-size-sm)}.chat-app__close-button{z-index:var(--z-index-flyout)}}@layer components{.open-button{--open-button-avatar-height: var(--spacer-r-80);--open-button-avatar-width: var(--spacer-r-80);--open-button-duration: .4s;--open-button-delay: .3s;--open-button-ease: ease-in-out;display:flex;flex-direction:row;align-items:flex-end;cursor:pointer;transition:opacity .15s ease-out}.open-button--expanded{opacity:0;pointer-events:none}.open-button__text{display:flex;position:absolute;right:100%;bottom:50%;flex-direction:column;align-items:flex-start;justify-content:center;margin-right:calc(var(--open-button-avatar-width) * -.5);padding-top:var(--spacer-r-12);padding-right:0;padding-bottom:var(--spacer-r-12);padding-left:0;overflow:hidden;transform:translateY(50%);border-width:var(--open-button-border-width);border-radius:var(--open-button-border-radius);border-color:var(--open-button-border-color);background:var(--open-button-background);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;color:var(--open-button-color);text-align:left;transition:transform var(--open-button-duration) var(--open-button-ease),padding-right var(--open-button-duration) var(--open-button-delay) var(--open-button-ease)}.open-button:is(:hover,.open-button--programmatic-expand) .open-button__text{transform:translateY(0);background:var(--open-button-hover-background, var(--open-button-background));color:var(--open-button-hover-color, var(--open-button-color));opacity:1;transition:transform var(--open-button-duration) var(--open-button-delay) var(--open-button-ease)}.open-button__title{max-width:240px;padding:0 calc(var(--open-button-avatar-width) * .5 + var(--spacer-r-12)) 0 var(--spacer-r-12);font-weight:700;white-space:pre}.open-button__mask{width:0;height:0;overflow:hidden;transition:width var(--open-button-duration) var(--open-button-delay) var(--open-button-ease),height var(--open-button-duration) var(--open-button-ease)}.open-button:is(:hover,.open-button--programmatic-expand) .open-button__mask{transition:width var(--open-button-duration) var(--open-button-ease),height var(--open-button-duration) var(--open-button-delay) var(--open-button-ease)}.open-button__description{position:relative;width:50cqw;max-width:260px;padding:0 calc(var(--open-button-avatar-width) * .5 + var(--spacer-r-12)) 0 var(--spacer-r-12);text-wrap:balance}.open-button__avatar{z-index:var(--z-index-local-overlay);position:relative;width:var(--open-button-avatar-width);height:var(--open-button-avatar-height);overflow:clip;border-radius:var(--spacer-r-80);filter:drop-shadow(0 4px 6px rgba(0,0,0,.15));transition:transform .2s var(--open-button-ease)}.open-button:is(:hover,.open-button--programmatic-expand) .open-button__avatar{transform:scale(1.05)}.open-button__link-icon{display:none;position:absolute;right:0;width:var(--spacer-r-80);height:var(--spacer-r-80);padding:var(--spacer-r-20);color:var(--open-button-color)}:where(.open-button--standalone){position:fixed;right:var(--spacer-r-16);bottom:var(--spacer-r-16)}@media (prefers-reduced-motion: reduce){.open-button__text,.open-button__mask,.open-button:hover .open-button__text,.open-button:hover .open-button__mask{transition:none!important}.open-button__avatar,.open-button:hover .open-button__avatar{filter:none!important;transition:none!important}}.open-button--hide-title-when-collapsed .open-button__text{visibility:hidden;opacity:0;transition:transform var(--open-button-duration) var(--open-button-ease),padding-right var(--open-button-duration) var(--open-button-delay) var(--open-button-ease),opacity var(--open-button-duration) var(--open-button-delay) var(--open-button-ease),visibility 0s linear calc(var(--open-button-duration) + var(--open-button-delay))}.open-button--hide-title-when-collapsed:is(:hover,.open-button--programmatic-expand) .open-button__text{visibility:visible;transform:translateY(0);background:var(--open-button-hover-background, var(--open-button-background));color:var(--open-button-hover-color, var(--open-button-color));opacity:1;transition:transform var(--open-button-duration) var(--open-button-delay) var(--open-button-ease),opacity var(--open-button-duration) var(--open-button-ease),visibility 0s linear 0s}}',Ap=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),Rp=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),Ip=new RegExp("(\\d)(\\p{Ll})","gu"),Lp=new RegExp("(\\p{L})(\\d)","gu"),Op=/[^\p{L}\d]+/giu,ka="$1\0$2",Mp="";function Pp(t,e){let r=t.trim();r=r.replace(Ap,ka).replace(Rp,ka),e?.separateNumbers&&(r=r.replace(Ip,ka).replace(Lp,ka)),r=r.replace(Op,"\0");let n=0,a=r.length;for(;r.charAt(n)==="\0";)n++;if(n===a)return[];for(;r.charAt(a-1)==="\0";)a--;return r.slice(n,a).split(/\0/g)}function Np(t,e){return zp(t,e?.prefixCharacters)+Pp(t,e).map($p(e?.locale)).join(e?.delimiter??" ")}function Dp(t,e){return Np(t,{delimiter:"-",...e})}function $p(t){return t===!1?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t)}function zp(t,e=Mp){let r="";for(let n=0;n<t.length;n++){const a=t.charAt(n);if(e.includes(a))r+=a;else break}return r}const ya=Dp,Fp=640,Bp=1024;let wa=null;const jp=()=>{if(wa)return wa;if(!globalThis.document)return 16;const t=globalThis.document.querySelector(":root");return wa=Number(getComputedStyle(t).fontSize.slice(0,-2)),wa},Up=({minRem:t,maxRem:e})=>{const r=jp(),n=Fp/r,a=Bp/r,i=(e-t)/(a-n),o=-n*i+t;return`clamp( ${t}rem, ${o}rem + ${i*100}cqw, ${e}rem )`},dc=t=>typeof t=="string"?t:typeof t=="number"?String(t):typeof t=="object"?t.minRem===t.maxRem?`${t.minRem}rem`:Up(t):"",Qi=(t,e,r,n=!1)=>{let a="";return r.forEach(i=>{let o=e[i];n&&!o&&i==="borderWidth"&&(o="0px"),n&&!o&&i==="borderColor"&&(o="transparent"),o&&(a+=`--${ya(t)}-${ya(i)}:${dc(o)}; `)}),a},hc=(t,e)=>Object.entries(e).map(([r,n])=>`--${t}-${ya(r)}:${dc(n)}`).join("; ")+"; ",qp=(t,e)=>{let r="";return r+=Qi(t,e,["background","borderWidth","borderColor","boxShadow","borderRadius","color"],!0),e.hover&&(r+=Qi(`${t}-hover`,e.hover,["background","borderWidth","borderColor","boxShadow","color"])),e.focus&&(r+=Qi(`${t}-focus`,e.focus,["background","borderWidth","borderColor","boxShadow","color"])),e.custom&&(r+=hc(t,e.custom)),r},Vp=(t,e)=>Object.entries(e).map(([r,n])=>`--color-${t}-${r}:${n}`).join("; ")+"; ",Hp=t=>`--font-family: ${t?.family||"inherit"};`,Zp=t=>{const e=Hp(t.font),r=Object.entries(t.colors).map(([i,o])=>Vp(i,o)).join(""),n=hc("base",t.base),a=Object.entries(t.components).map(([i,o])=>qp(ya(i),o)).join("");return`.chat-app {${e} ${r} ${n} ${a}};`};var ut=typeof window<"u"?window:{screen:{},navigator:{}},Kr=(ut.matchMedia||function(){return{matches:!1}}).bind(ut),Gp={get passive(){return!0}},fc=function(){};ut.addEventListener&&ut.addEventListener("p",fc,Gp),ut.removeEventListener&&ut.removeEventListener("p",fc,!1);var Yi="ontouchstart"in ut,Wp="TouchEvent"in ut,Qp=Yi||Wp&&Kr("(any-pointer: coarse)").matches,pc=(ut.navigator.maxTouchPoints||0)>0||Qp,gc=ut.navigator.userAgent||"",Yp=Kr("(pointer: coarse)").matches&&/iPad|Macintosh/.test(gc)&&Math.min(ut.screen.width||0,ut.screen.height||0)>=768,mc=(Kr("(pointer: coarse)").matches||!Kr("(pointer: fine)").matches&&Yi)&&!/Windows.*Firefox/.test(gc),Kp=Kr("(any-pointer: fine)").matches||Kr("(any-hover: hover)").matches||Yp||!Yi,vc=pc&&(Kp||!mc)?"hybrid":pc?"touchOnly":"mouseOnly",Xp=vc==="mouseOnly"?"mouse":vc==="touchOnly"||mc?"touch":"mouse";function bc(t,e){Pr(e,!0);let r=oe(e,"href",7),n=oe(e,"target",7),a=oe(e,"onclick",7),i=oe(e,"className",23,()=>[]),o=oe(e,"isStandalone",7,!1),s=oe(e,"children",7),c=oe(e,"type",7,"button"),l=oe(e,"use",7),u=oe(e,"class",7),p=oi(e,["$$slots","$$events","$$legacy","$$host","href","target","onclick","className","isStandalone","children","type","use","class"]);const h=X(()=>r()?"a":"button"),v=X(()=>[...Array.isArray(i())?i():i()?[i()]:[],...u()?[u()]:[]]),m=()=>({}),b=X(()=>l()??m);var C=gt(),y=Le(C);return gs(y,()=>_(h),!1,(k,w)=>{ms(k,U=>_(b)?.(U)),xs(k,U=>({...p,onclick:r()?void 0:a(),type:r()?void 0:c(),href:r(),role:r()?"link":"button",target:r()?n():void 0,class:_(v),[jr]:U}),[()=>({"open-button--standalone":o()})]);var T=gt(),R=Le(T);hs(R,s),ie(w,T)}),ie(t,C),Nr({get href(){return r()},set href(k){r(k),ee()},get target(){return n()},set target(k){n(k),ee()},get onclick(){return a()},set onclick(k){a(k),ee()},get className(){return i()},set className(k=[]){i(k),ee()},get isStandalone(){return o()},set isStandalone(k=!1){o(k),ee()},get children(){return s()},set children(k){s(k),ee()},get type(){return c()},set type(k="button"){c(k),ee()},get use(){return l()},set use(k){l(k),ee()},get class(){return u()},set class(k){u(k),ee()}})}pn(bc,{href:{},target:{},onclick:{},className:{},isStandalone:{},children:{},type:{},use:{},class:{}},[],[],!0);function Rn(t,e){Pr(e,!0);let r=oe(e,"css",7),n=oi(e,["$$slots","$$events","$$legacy","$$host","css"]);const a=c=>{Uo(()=>{r()&&(c.innerHTML=r())})};var i=gt(),o=Le(i);{var s=c=>{var l=gt(),u=Le(l);gs(u,()=>"style",!1,(p,h)=>{ms(p,v=>a?.(v)),xs(p,()=>({...n}))}),ie(c,l)};ir(o,c=>{r()&&c(s)})}return ie(t,i),Nr({get css(){return r()},set css(c){r(c),ee()}})}pn(Rn,{css:{}},[],[],!0);var Jp=Tt('<div class="open-button__title"><!></div>'),e0=Tt('<div class="open-button__mask"><div class="open-button__description"><!></div></div>'),t0=Tt('<div class="open-button__text"><!> <!></div>'),r0=Tt('<div class="sr-only"> </div>'),n0=Tt('<!> <div class="svg svg--avatar open-button__avatar" aria-hidden="true"><!></div>',1),a0=Tt('<link rel="stylesheet"/>'),i0=Tt("<!> <!>",1),o0=Tt('<!> <!> <!> <main class="chat-app"><!></main>',1);function kc(t,e){Pr(e,!0);const r=(F,$)=>{let G=()=>$?.().chatConfig,Be=()=>$?.().language,be=()=>$?.().colorScheme;const se=X(()=>{const{openButtonTitle:we,openButtonDescription:ae}=G().translations[Be()];return{openButtonTitle:we,openButtonDescription:ae}}),je=X(()=>G().fullTheme[be()].tokens.svgs),ke=X(()=>G().fullTheme[be()]?.tokens.components.openButton?.custom),ye=X(()=>!!_(ke)?.hideTitleWhenCollapsed);{let we=X(()=>G().buttonHref?void 0:s()?"true":"false"),ae=X(()=>G().buttonHref?void 0:"true"),Je=X(()=>G().buttonHref?void 0:o()),Ue=X(()=>["open-button",e.buttonClass,g.data.flyoutIsOpen?"open-button--expanded":void 0,_(ye)?"open-button--hide-title-when-collapsed":void 0]);bc(F,{get href(){return G().buttonHref},onclick:xa,onmouseenter:_a,onmouseleave:Ji,use:Qt,get"aria-expanded"(){return _(we)},get"aria-haspopup"(){return _(ae)},get"aria-controls"(){return _(Je)},get style(){return e.buttonStyle},get className(){return _(Ue)},get isStandalone(){return _(h)},children:(dt,Yt)=>{var It=n0(),Ln=Le(It);{var Sa=et=>{var Ve=t0(),Lr=Bt(Ve);{var Ta=Lt=>{var tt=Jp(),Ot=Bt(tt);ti(Ot,()=>_(se).openButtonTitle),$t(tt),ie(Lt,tt)};ir(Lr,Lt=>{_(se).openButtonTitle&&Lt(Ta)})}var Ea=nr(Lr,2);{var On=Lt=>{var tt=e0(),Ot=Bt(tt),yt=Bt(Ot);ti(yt,()=>_(se).openButtonDescription),$t(Ot),As(Ot,Mt=>P(k,Mt),()=>_(k)),$t(tt),As(tt,Mt=>P(y,Mt),()=>_(y)),ie(Lt,tt)};ir(Ea,Lt=>{_(se).openButtonDescription&&Xp==="mouse"&&Lt(On)})}$t(Ve),ie(et,Ve)},eo=et=>{var Ve=r0(),Lr=Bt(Ve,!0);$t(Ve),Zn(()=>cs(Lr,g.t.ariaOpenChat)),ie(et,Ve)};ir(Ln,et=>{_(se).openButtonTitle||_(se).openButtonDescription?et(Sa):et(eo,!1)})}var Jr=nr(Ln,2),Ir=Bt(Jr);ti(Ir,()=>_(je).avatar),$t(Jr),ie(dt,It)},$$slots:{default:!0}})}};let n=J("light"),a=oe(e,"host",7),i=oe(e,"onError",7),o=oe(e,"flyoutId",7),s=oe(e,"flyoutIsOpen",7),c=oi(e,["$$slots","$$events","$$legacy","$$host","host","onError","flyoutId","flyoutIsOpen"]);const l=async F=>{const G=await(await fetch(`${F}/chatconfig`)).json();return Fl.parse(G)},u=async({forceTheme:F,lang:$,apiUrl:G})=>{const Be=window.CHAT_CONFIG_OVERRIDE?window.CHAT_CONFIG_OVERRIDE:await l(G),be=Zl(Be);let se;$?se=ba($,be.supportedLanguages):se=Jl(be.supportedLanguages);const je=Object.keys(be.fullTheme),ke=Zi(je);return{chatConfig:be,language:se,colorScheme:ke}},p=(F,$)=>{if(F==null)return $;if(typeof F=="string"){const G=F.trim().toLowerCase();return!(G===""||G==="0"||G==="false"||G==="no")}return typeof F=="number"?F!==0:typeof F=="boolean"?F:$};let h=X(()=>!!a()),v=J(!1),m=J(!1),b=J(!1),C=J(void 0),y=J(void 0),k=J(void 0),w=X(()=>_(k)?.offsetWidth??0),T=X(()=>_(k)?.offsetHeight??0),R=J(void 0),U=J(!1),Q,Fe=J(!0);function le(){return _(R)?(clearTimeout(_(R)),P(R,void 0),!0):!1}async function ur(F){P(n,F.colorScheme,!0),Q?.(),le(),P(U,!1);const $=F.chatConfig.fullTheme[_(n)]?.tokens.components.openButton?.custom??{},G=$.autoExpandScrollThreshold,Be=Number($.autoCollapseDelay??0),be=Number.isNaN(Be)?0:Math.max(0,Be),se=p($.autoExpandOnce,!1),je=(()=>{if(G==null)return 100;if(typeof G=="string"){if(G.trim().toLowerCase()==="none")return 0;const Ue=Number(G);return Number.isNaN(Ue)?100:Ue}const ae=Number(G);return Number.isNaN(ae)?100:ae})();if(Number.isNaN(je)||je<0)return;const ke=`liipgpt-auto-expand-${e.apiUrl}`;let ye=!1;if(typeof window<"u")try{ye=window.localStorage.getItem(ke)==="true"}catch(ae){console.warn("LiipGPT: unable to read auto-expand flag",ae)}P(b,ye,!0);const we=()=>{if(!(window.scrollY/window.innerHeight*100>=je)){P(Fe,!0);return}if(!(_(m)||s())&&!(se&&(ye||_(b)))&&_(Fe)){if(P(Fe,!1),P(m,!0),P(b,!0),Ki(),se&&typeof window<"u")try{window.localStorage.setItem(ke,"true")}catch(Ue){console.warn("LiipGPT: unable to persist auto-expand flag",Ue)}P(R,setTimeout(()=>{_(U)||(Xi(),P(m,!1)),P(R,void 0)},be),!0)}};window.addEventListener("scroll",we,{passive:!0}),je===0&&(await ns(),we()),Q=()=>{window.removeEventListener("scroll",we)}}function ne(){le(),P(m,!1),P(U,!1)}function Qt(F){P(C,F,!0)}function dr(){Q?.(),le()}td(dr);function hr(){!_(k)||!_(y)||(_(y).style.width=`${_(w)}px`,_(y).style.height=`${_(T)}px`)}function Xr(){_(y)&&(_(y).style.width="0",_(y).style.height="0")}function Ki(){_(C)&&(_(C).classList.add("open-button--programmatic-expand"),hr())}function Xi(){_(C)&&(_(C).classList.remove("open-button--programmatic-expand"),Xr())}function _a(){le()&&P(U,!0),hr()}function Ji(){le(),_(U)&&(P(m,!1),P(U,!1),_(C)?.classList.remove("open-button--programmatic-expand")),_(v)||Xr()}function xa(F){ne(),e.onclick?.(F)}let ce=X(()=>u(c).then(async F=>(await ur(F),F)).catch(F=>i()(F)));var In=gt();Bu("beforeunload",Ha,dr),Uu(F=>{var $=gt(),G=Le($);{var Be=be=>{var se=gt(),je=Le(se);fs(je,()=>_(ce),null,(ke,ye)=>{var we=i0();const ae=X(()=>_(ye).chatConfig.fullTheme[_(ye).colorScheme]);var Je=Le(we);ad(Je,17,()=>_(ae).fontURLs??[],rd,(dt,Yt)=>{var It=a0();Zn(()=>ii(It,"href",_(Yt))),ie(dt,It)});var Ue=nr(Je,2);Rn(Ue,{id:"font-css",get css(){return _(ae).fontCSS}}),ie(ke,we)}),ie(be,se)};ir(G,be=>{_(h)&&be(Be)})}ie(F,$)});var fe=Le(In);return fs(fe,()=>_(ce),F=>{},(F,$)=>{var G=gt();const Be=X(()=>_($).chatConfig.fullTheme[_(n)]);var be=Le(G);{var se=ke=>{var ye=o0(),we=Le(ye);{let Yt=X(()=>Zp(_(Be).tokens));Rn(we,{id:"theme-css",get css(){return _(Yt)}})}var ae=nr(we,2);Rn(ae,{id:"app-css",get css(){return Cp}});var Je=nr(ae,2);Rn(Je,{id:"custom-css",get css(){return _(Be).customCSS}});var Ue=nr(Je,2),dt=Bt(Ue);r(dt,()=>_($)),$t(Ue),ie(ke,ye)},je=ke=>{r(ke,()=>_($))};ir(be,ke=>{_(h)?ke(se):ke(je,!1)})}ie(F,G)}),ie(t,In),Nr({get host(){return a()},set host(F){a(F),ee()},get onError(){return i()},set onError(F){i(F),ee()},get flyoutId(){return o()},set flyoutId(F){o(F),ee()},get flyoutIsOpen(){return s()},set flyoutIsOpen(F){s(F),ee()}})}pn(kc,{host:{},onError:{},flyoutId:{},flyoutIsOpen:{}},[],[],!0);function yc(t,e){Pr(e,!0);let r=oe(e,"onclick",7),n=oe(e,"buttonClass",7),a=oe(e,"buttonStyle",7),i=oe(e,"apiUrl",7),o=oe(e,"forceTheme",7),s=oe(e,"lang",7),c=X(()=>({onclick:r(),buttonClass:n(),buttonStyle:a(),apiUrl:i(),forceTheme:o(),lang:s()}));return Is(t,{silent:!0,body:(u,p=pr)=>{kc(u,wd({host:e.$$host,get onError(){return p()}},()=>_(c)))},$$slots:{body:!0}}),Nr({get onclick(){return r()},set onclick(l){r(l),ee()},get buttonClass(){return n()},set buttonClass(l){n(l),ee()},get buttonStyle(){return a()},set buttonStyle(l){a(l),ee()},get apiUrl(){return i()},set apiUrl(l){i(l),ee()},get forceTheme(){return o()},set forceTheme(l){o(l),ee()},get lang(){return s()},set lang(l){s(l),ee()}})}return customElements.define("liipgpt-button",pn(yc,{forceTheme:{attribute:"force-theme",type:"String"},buttonClass:{attribute:"button-class",type:"String"},buttonStyle:{attribute:"button-style",type:"String"},apiUrl:{attribute:"api-url",type:"String"},lang:{attribute:"lang",type:"String"},onclick:{}},[],[],!0)),rn.LiipGPTButton=yc,Object.defineProperty(rn,Symbol.toStringTag,{value:"Module"}),rn}({});
|
|
389
|
+
`,ariaMainNavigation:"Navigation principale",ariaMainNavigationRegion:"Navigation principale: liens, changement de langue, mode couleur",ariaGotoMainNavigation:"Aller à la navigation principale",ariaAskQuestion:"Saisie texte",ariaAskQuestionRegion:"Poser une question",ariaNotifications:"Notifications",ariaPredefinedQuestions:"Questions prédéfinies",ariaPredefinedQuestionsRegion:"Essayez nos questions d'exemple",ariaChatHistory:"Historique du chat",ariaOpenChat:"Ouvrir le chat",ariaQuestionFromYou:"Votre question:",ariaAnswerFromBot:"Réponse de l'Assistant:",ariaLastAnswerNavigation:"Navigation et options pour la dernière réponse",ariaQuestionSent:"Question envoyée. Génération de la réponse en cours...",ariaAnswerReady:"Réponse prête.",ariaAnswerFinished:"Réponse terminée. Posez une autre question ou naviguez en arrière pour consulter l'historique du chat, donner un avis ou voir les références liées à la réponse.",ariaAskQuestionAgain:"Copier la dernière question dans le champ de saisie pour la reposer",ariaAnswerGood:"Évaluer cette réponse comme bonne",ariaAnswerBad:"Évaluer cette réponse comme mauvaise",ariaReferenceSource:"Source:",ariaGiveFeedback:"Donner un feedback détaillé sur la réponse",ariaLanguageChanged:"Langue française sélectionnée.",ariaLightSelected:"Mode clair activé.",ariaDarkSelected:"Mode sombre activé.",ariaSettings:"Paramètres du chat",ariaSettingsRegion:"Ajustez vos préférences de chat",ariaReferencesRegion:"Références pour la question actuelle",ariaFlyoutRegion:"Chatbot",ariaSelected:"sélectionné",ariaUnselected:"non sélectionné",ariaAllSelected:"Tous les éléments sélectionnés",ariaAllUnselected:"Tous les éléments non sélectionnés",ariaAllReseted:"Éléments par défaut sélectionnés",hideSettings:"Masquer les paramètres",showSettings:"Paramètres",chooseAtLeastOneOption:"Veuillez choisir au moins une option",selectAll:"Tout sélectionner",selectNone:"Tout désélectionner",resetToDefaults:"Réinitialiser",messageTooLong:"Votre message doit être plus court que {questionLengthLimit} caractères. Actuellement, il fait {questionLength} caractères"}},Xf=Object.freeze(Object.defineProperty({__proto__:null,translations:Rr},Symbol.toStringTag,{value:"Module"})),Jf=t=>{t=t??Rr;const e={};return t.de&&(e.de=An(Rr.de,t.de)),t.en&&(e.en=An(Rr.en,t.en)),t.fr&&(e.fr=An(Rr.fr,t.fr)),t.it&&(e.it=An(Rr.it,t.it)),e},Zl=t=>{let e;t.theme?.fineGrained?e=Kf(t.theme?.fineGrained):e=Yf(t?.theme??{});const r=Jf(t?.translations),n={...t,showPredefinedQuestions:t.showPredefinedQuestions??!0,showOverallFeedbackButton:t.showOverallFeedbackButton??!1,showOverallFeedbackEmail:t.showOverallFeedbackEmail??!0,showCloseChatButton:t.showCloseChatButton??!1,showContextInfo:t.showContextInfo??!1,showContextMenu:t.showContextMenu??!1,showReferencesByDefault:t.showReferencesByDefault??!1,showTextFeedback:t.showTextFeedback??!0,showExpandedSelectors:t.showExpandedSelectors??!1,inlineLayout:t.inlineLayout??!1,questionPrefix:t.questionPrefix??"",blockPII:t.blockPII??!1,allowAudioInput:t.allowAudioInput??!1,supportedLanguages:t.supportedLanguages??Object.keys(r),fullTheme:e,translations:r,buttonHref:t.buttonHref,addQueryToUrlParams:t.addQueryToUrlParams??!0,addRetrievalQuestionToUrlParams:t.addRetrievalQuestionToUrlParams??!1,renderKatex:t.renderKatex??!1,sendReferrer:t.sendReferrer??"all",selectorsConfig:t.selectorsConfig??[],questionLengthLimit:t.questionLengthLimit??qf,forceConsent:t.forceConsent??!1,askQuestionAgain:t.askQuestionAgain??!1,enableBackdrop:t.enableBackdrop??!1};return t.classification&&(n.classification=t.classification),t.menu&&(n.menu=t.menu),n},Gl={de:{aborted:"Verbindung zum Server wurde unerwartet unterbrochen. Bitte versuchen Sie es erneut.","client-error":"Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.","server-error":"Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.","sse-error":"Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.",blocked:"Ihre Anfrage wurde blockiert.","pii-detected":"Es wurden persönliche Daten erkannt. Bitte entfernen Sie diese und versuchen Sie es erneut.","incomplete-error":"Ein unbekannter Fehler ist aufgetreten. Die Antwort könnte unvollständig sein.","unexpected-call":"Ein unbekannter Fehler ist aufgetreten. Die Antwort könnte unvollständig sein.","quota-reached":"Kontingent überschritten. Bitte versuchen Sie es später erneut.","rate-limit":"Kontingent überschritten. Bitte versuchen Sie es später erneut.",maintenance:"Der Chat ist derzeit nicht verfügbar. Bitte versuchen Sie es später erneut.","too-long":"Ihre Frage war zu lang, versuchen Sie es mit einer Kürzeren.","too-short":"Ihre Frage war zu kurz, versuchen Sie es mit einer Längeren.","feedback-failed":"Feedback senden fehlgeschlagen. Bitte versuchen Sie es erneut.","speech-not-supported":"Spracherkennung wird nicht unterstützt.","speech-transcription-failed":"Sprachtranskription fehlgeschlagen.","speech-no-text-detected":"Kein Text in der Spracheingabe erkannt.","speech-microphone-access-denied":"Mikrofonzugriff verweigert."},en:{aborted:"Connection to the server was unexpectedly interrupted. Please try again.","client-error":"An unknown error has occurred. Please try again.","server-error":"An unknown error has occurred. Please try again.","sse-error":"An unknown error has occurred. Please try again.",blocked:"Your request has been blocked.","pii-detected":"Personal data has been detected. Please remove it and try again.","incomplete-error":"An unknown error has occurred. The response might be incomplete.","unexpected-call":"An unknown error has occurred. The response might be incomplete.","quota-reached":"Quota exceeded. Please try again later.","rate-limit":"Quota exceeded. Please try again later.",maintenance:"The chat is currently unavailable. Please try again later.","too-long":"Your question was too long, try a shorter one.","too-short":"Your question was too short, try a longer one.","feedback-failed":"Failed to send feedback. Please try again.","speech-not-supported":"Speech recognition is not supported.","speech-transcription-failed":"Speech transcription failed.","speech-no-text-detected":"No text detected in speech input.","speech-microphone-access-denied":"Microphone access denied."},it:{aborted:"La connessione al server è stata interrotta inaspettatamente. Si prega di riprovare.","client-error":"Si è verificato un errore sconosciuto. Si prega di riprovare.","server-error":"Si è verificato un errore sconosciuto. Si prega di riprovare.","sse-error":"Si è verificato un errore sconosciuto. Si prega di riprovare.",blocked:"La tua richiesta è stata bloccata.","pii-detected":"Sono stati rilevati dati personali. Si prega di rimuoverli e riprovare.","incomplete-error":"Si è verificato un errore sconosciuto. La risposta potrebbe essere incompleta.","unexpected-call":"Si è verificato un errore sconosciuto. La risposta potrebbe essere incompleta.","quota-reached":"Quota superata. Si prega di riprovare più tardi.","rate-limit":"Quota superata. Si prega di riprovare più tardi.",maintenance:"La chat non è attualmente disponibile. Si prega di riprovare più tardi.","too-long":"La tua domanda era troppo lunga, prova con una più breve.","too-short":"La tua domanda era troppo breve, prova con una più lunga.","feedback-failed":"Invio del feedback non riuscito. Si prega di riprovare.","speech-not-supported":"Il riconoscimento vocale non è supportato.","speech-transcription-failed":"Trascrizione vocale fallita.","speech-no-text-detected":"Nessun testo rilevato nell'input vocale.","speech-microphone-access-denied":"Accesso al microfono negato."},fr:{aborted:"La connexion au serveur a été interrompue de façon inattendue. Veuillez réessayer.","client-error":"Une erreur inconnue s'est produite. Veuillez réessayer.","server-error":"Une erreur inconnue s'est produite. Veuillez réessayer.","sse-error":"Une erreur inconnue s'est produite. Veuillez réessayer.","pii-detected":"Des données personnelles ont été détectées. Veuillez les supprimer et réessayer.",blocked:"Votre demande a été bloquée.","incomplete-error":"Une erreur inconnue s'est produite. La réponse pourrait être incomplète.","unexpected-call":"Une erreur inconnue s'est produite. La réponse pourrait être incomplète.","quota-reached":"Quota dépassé. Veuillez réessayer plus tard.","rate-limit":"Quota dépassé. Veuillez réessayer plus tard.",maintenance:"Le chat est actuellement indisponible. Veuillez réessayer plus tard.","too-long":"Votre question était trop longue, essayez d'en poser une plus courte.","too-short":"Votre question était trop courte, essayez d'en poser une plus longue.","feedback-failed":"Échec de l'envoi du feedback. Veuillez réessayer.","speech-not-supported":"La reconnaissance vocale n'est pas prise en charge.","speech-transcription-failed":"Échec de la transcription vocale.","speech-no-text-detected":"Aucun texte détecté dans l'entrée vocale.","speech-microphone-access-denied":"Accès au microphone refusé."}},Wl={de:{email:"Bitte keine E-Mail Adressen eingeben",creditCard:"Bitte keine Kreditkarteninformationen eingeben",ahv:"Bitte keine AHV-Nummern eingeben",phoneSwiss:"Bitte keine Telefonnummern eingeben",phoneInternational:"Bitte keine Telefonnummern eingeben",swissPassport:"Bitte keine Passinformationen eingeben",longNumber:"Bitte keine langen Nummern eingeben"},en:{email:"Please do not enter email addresses",creditCard:"Please do not enter credit card information",ahv:"Please do not enter AHV numbers",phoneSwiss:"Please do not enter phone numbers",phoneInternational:"Please do not enter phone numbers",swissPassport:"Please do not enter passport information",longNumber:"Please do not enter long numbers"},it:{email:"Si prega di non inserire indirizzi email",creditCard:"Si prega di non inserire informazioni sulla carta di credito",ahv:"Si prega di non inserire numeri AVS",phoneSwiss:"Si prega di non inserire numeri di telefono",phoneInternational:"Si prega di non inserire numeri di telefono",swissPassport:"Si prega di non inserire informazioni sul passaporto",longNumber:"Si prega di non inserire numeri lunghi"},fr:{email:"Veuillez ne pas saisir d'adresses e-mail",creditCard:"Veuillez ne pas saisir d'informations de carte de crédit",ahv:"Veuillez ne pas saisir de numéros AVS",phoneSwiss:"Veuillez ne pas saisir de numéros de téléphone",phoneInternational:"Veuillez ne pas saisir de numéros de téléphone",swissPassport:"Veuillez ne pas saisir d'informations de passeport",longNumber:"Veuillez ne pas saisir de longs numéros"}},Bi=structuredClone(cr.fineGrained.light);Bi.tokens.colors={brand:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#037ABA",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},highlight:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},grey:{0:"#ffffff",50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#2d3748",900:"#1a202c",950:"#171923",1e3:"#000000"}};const Ql=structuredClone(cr.fineGrained.dark);Ql.tokens.colors=Bi.tokens.colors;const ep=Object.freeze(Object.defineProperty({__proto__:null,theme:{fineGrained:{light:Bi,dark:Ql}}},Symbol.toStringTag,{value:"Module"})),Yl=t=>t.split("/").pop().split(".")[0],tp=Object.assign({"./default/fallback-dev.theme.ts":ep,"./default/fallback.theme.ts":Wf}),ji=new Map;Object.entries(tp).forEach(([t,e])=>{const{error:r,data:n}=Ol.safeParse(e?.theme);if(r){console.error(`Invalid theme in ${t}:`,r);return}ji.set(Yl(t),n)});const w0=t=>{const e=ji.get(t);return e||(console.error(`Theme ${t} not found`),cr)};Array.from(ji.keys());const rp=Object.assign({"./default/fallback.translations.ts":Xf}),Ui=new Map;Object.entries(rp).forEach(([t,e])=>{const{error:r,data:n}=Nl.safeParse(e?.translations);if(r){console.error(`Invalid translations in ${t}:`,r);return}Ui.set(Yl(t),n)});const _0=t=>{const e=Ui.get(t);return e||(console.error(`Theme ${t} not found`),Rr)};Array.from(Ui.keys());const np="en",Kl=(t,e)=>e.includes(t),ba=(t,e)=>{if(Kl(t,e))return t;const r=ap();return Kl(r,e)?r:np},ap=()=>navigator.language.split("-")[0],Xl=(t,e)=>{localStorage.setItem("liipgpt:selectedLanguage",t),e&&(e.lang=t)},Jl=t=>ba(localStorage.getItem("liipgpt:selectedLanguage"),t);var qi,ec;function ip(){return ec||(ec=1,qi=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,a,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(a=n;a--!==0;)if(!t(e[a],r[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(a=n;a--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=n;a--!==0;){var o=i[a];if(!t(e[o],r[o]))return!1}return!0}return e!==e&&r!==r}),qi}var op=ip();const sp=ql(op),lp=typeof document<"u";let tc=0;class cp{#e=J(_t([]));get toasts(){return _(this.#e)}set toasts(e){P(this.#e,e,!0)}#t=J(_t([]));get heights(){return _(this.#t)}set heights(e){P(this.#t,e,!0)}#a=e=>{const r=this.toasts.findIndex(n=>n.id===e);return r===-1?null:r};addToast=e=>{lp&&this.toasts.unshift(e)};updateToast=({id:e,data:r,type:n,message:a})=>{const i=this.toasts.findIndex(s=>s.id===e),o=this.toasts[i];this.toasts[i]={...o,...r,id:e,title:a,type:n,updated:!0}};create=e=>{const{message:r,...n}=e,a=typeof e?.id=="number"||e.id&&e.id?.length>0?e.id:tc++,i=e.dismissable===void 0?!0:e.dismissable,o=e.type===void 0?"default":e.type;return pt(()=>{this.toasts.find(c=>c.id===a)?this.updateToast({id:a,data:e,type:o,message:r,dismissable:i}):this.addToast({...n,id:a,title:r,dismissable:i,type:o})}),a};dismiss=e=>(pt(()=>{if(e===void 0){this.toasts=this.toasts.map(n=>({...n,dismiss:!0}));return}const r=this.toasts.findIndex(n=>n.id===e);this.toasts[r]&&(this.toasts[r]={...this.toasts[r],dismiss:!0})}),e);remove=e=>{if(e===void 0){this.toasts=[];return}const r=this.#a(e);if(r!==null)return this.toasts.splice(r,1),e};message=(e,r)=>this.create({...r,type:"default",message:e});error=(e,r)=>this.create({...r,type:"error",message:e});success=(e,r)=>this.create({...r,type:"success",message:e});info=(e,r)=>this.create({...r,type:"info",message:e});warning=(e,r)=>this.create({...r,type:"warning",message:e});loading=(e,r)=>this.create({...r,type:"loading",message:e});promise=(e,r)=>{if(!r)return;let n;r.loading!==void 0&&(n=this.create({...r,promise:e,type:"loading",message:typeof r.loading=="string"?r.loading:r.loading()}));const a=e instanceof Promise?e:e();let i=n!==void 0;return a.then(o=>{if(typeof o=="object"&&o&&"ok"in o&&typeof o.ok=="boolean"&&!o.ok){i=!1;const s=up(o);this.create({id:n,type:"error",message:s})}else if(r.success!==void 0){i=!1;const s=typeof r.success=="function"?r.success(o):r.success;this.create({id:n,type:"success",message:s})}}).catch(o=>{if(r.error!==void 0){i=!1;const s=typeof r.error=="function"?r.error(o):r.error;this.create({id:n,type:"error",message:s})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),r.finally?.()}),n};custom=(e,r)=>{const n=r?.id||tc++;return this.create({component:e,id:n,...r}),n};removeHeight=e=>{this.heights=this.heights.filter(r=>r.toastId!==e)};setHeight=e=>{const r=this.#a(e.toastId);if(r===null){this.heights.push(e);return}this.heights[r]=e};reset=()=>{this.toasts=[],this.heights=[]}}function up(t){return t&&typeof t=="object"&&"status"in t?`HTTP error! Status: ${t.status}`:`Error! ${t}`}const bt=new cp;function dp(t,e){return bt.create({message:t,...e})}const Vi=Object.assign(dp,{success:bt.success,info:bt.info,warning:bt.warning,error:bt.error,custom:bt.custom,message:bt.message,promise:bt.promise,dismiss:bt.dismiss,loading:bt.loading,getActiveToasts:()=>bt.toasts.filter(t=>!t.dismiss)}),hp=t=>{const e=new Set;Object.getOwnPropertyNames(t).forEach(n=>e.add(n));let r=Object.getPrototypeOf(t);for(;r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(n=>e.add(n)),r=Object.getPrototypeOf(r);return Array.from(e)},fp=(t,e)=>{const r={};return e.forEach(n=>{r[n]=t[n]}),r},pp=console.warn,gp=()=>{},rc=(t,e)=>pt(()=>{console.warn=gp;const r=e?fp(t,e):t,n=hu(r);return console.warn=pp,n}),mp=t=>t&&typeof t.then=="function";class vp{config;self;devtools;stateKeys;constructor(e,r){this.config=e,this.self=r,typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__&&(this.stateKeys=hp(this.config.state),this.devtools=window.__REDUX_DEVTOOLS_EXTENSION__.connect({name:this.config.name??"updatelogic"}),this.devtools.init(this.createStateSnapshot()),this.devtools.subscribe(n=>{n.type==="DISPATCH"&&n.state}))}createStateSnapshot(){return rc(this.config.state,this.stateKeys)}sendStart(e,r){this.devtools.send({type:`→ ${e}`,args:r},this.createStateSnapshot())}sendError(e,r,n){this.devtools.send({type:`❌ ${e}`,args:r,error:n},this.createStateSnapshot())}sendSuccess(e,r,n){this.devtools.send({type:`✓ ${e}`,args:r,return:n},this.createStateSnapshot())}isIncluded(e){return this.config.excludeInDevTools?!this.config.excludeInDevTools.includes(e):!0}createProxyFunction(e,r){const n=this.devtools&&this.isIncluded(e);return typeof r=="function"?(...a)=>{if(!n)return pt(()=>r.call(this.self,...a));const i=rc(a);this.sendStart(e,i);try{const o=pt(()=>r.call(this.self,...a));return mp(o)?o.then(s=>(this.sendSuccess(e,i,s),s),s=>{throw this.sendError(e,i,s),s}):(this.sendSuccess(e,i,o),o)}catch(o){throw this.sendError(e,i,o),o}}:r}}const bp=(t,e)=>{const r={},n=new vp(t,r);return Object.keys(e).forEach(a=>{if(a==="state"||a==="name")return;const i=e[a];r[a]=n.createProxyFunction(a,i)}),r};async function kp(){if(typeof navigator>"u"||!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return!1;try{return(await navigator.mediaDevices.enumerateDevices()).some(e=>e.kind==="audioinput")}catch(t){return console.error("Error checking for microphone:",t),!1}}function Hi(){return typeof window>"u"||!window.MediaRecorder?null:MediaRecorder.isTypeSupported("audio/mp4")?"audio/mp4":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":MediaRecorder.isTypeSupported("audio/wav")?"audio/wav":null}function nc(){return typeof window>"u"?!1:!!(window.MediaRecorder&&Hi())}class ac{mediaRecorder=null;audioChunks=[];started=!1;starting=!1;stream=null;options;audioContext=null;analyser=null;dataArray=null;volumeUpdateInterval=null;constructor(e={}){this.options=e}async start(){if(this.started||this.starting){console.warn("AudioRecorder: Start already in progress or already started");return}if(!nc()||!navigator.mediaDevices){const e=new Error("MediaRecorder not supported or no microphone access");throw this.options.onError?.(e),e}try{if(this.starting=!0,this.stream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0},video:!1}),!this.starting){this.stopStream(this.stream);return}this.mediaRecorder&&this.mediaRecorder.state!=="inactive"&&(console.warn("AudioRecorder: MediaRecorder already active, stopping previous recording"),this.mediaRecorder.stop(),this.cleanup()),this.started=!0,this.starting=!1;const e=Hi();if(!e)throw new Error("No supported media type found");const r={mimeType:e};this.mediaRecorder=new MediaRecorder(this.stream,r),this.audioChunks=[],this.mediaRecorder.ondataavailable=n=>{n.data.size>0&&this.audioChunks.push(n.data)},this.mediaRecorder.onstop=async()=>{const n=this.audioChunks.length>0?new Blob(this.audioChunks,{type:e}):null;await this.options.onDataAvailable?.(n),this.options.onStop?.(),this.cleanup()},this.mediaRecorder.onerror=n=>{const a=new Error(`MediaRecorder error: ${n}`);this.options.onError?.(a),this.cleanup()},this.mediaRecorder.start(),this.setupVolumeAnalysis(this.stream),this.options.onStart?.()}catch(e){this.started=!1,this.starting=!1;const r=e instanceof Error?e:new Error(String(e));throw this.options.onError?.(r),r}}stop(){this.started=!1,this.starting=!1,this.volumeUpdateInterval&&(clearInterval(this.volumeUpdateInterval),this.volumeUpdateInterval=null),this.mediaRecorder&&this.mediaRecorder.state!=="inactive"?this.mediaRecorder.stop():(this.stream&&this.stopStream(this.stream),this.cleanup())}setupVolumeAnalysis(e){if(this.options.onVolumeChange)try{this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=256,this.analyser.smoothingTimeConstant=.8;const r=this.analyser.frequencyBinCount;this.dataArray=new Uint8Array(r),this.audioContext.createMediaStreamSource(e).connect(this.analyser),this.startVolumeMonitoring()}catch(r){console.warn("Failed to set up volume analysis:",r)}}startVolumeMonitoring(){!this.analyser||!this.dataArray||!this.options.onVolumeChange||(this.volumeUpdateInterval=window.setInterval(()=>{if(!this.analyser||!this.dataArray||!this.started)return;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let i=0;i<this.dataArray.length;i++)e+=this.dataArray[i]*this.dataArray[i];let n=Math.sqrt(e/this.dataArray.length)/255;n=Math.pow(n*3,.7);const a=Math.min(100,Math.max(0,Math.round(n*100)));this.options.onVolumeChange?.(a)},100))}get recording(){return this.started&&this.mediaRecorder?.state==="recording"}get isStarting(){return this.starting}stopStream(e){e.getTracks().forEach(r=>r.stop())}cleanup(){this.volumeUpdateInterval&&(clearInterval(this.volumeUpdateInterval),this.volumeUpdateInterval=null),this.audioContext&&(this.audioContext.close().catch(console.warn),this.audioContext=null),this.analyser=null,this.dataArray=null,this.stream&&(this.stopStream(this.stream),this.stream=null),this.mediaRecorder=null,this.audioChunks=[],this.started=!1,this.starting=!1}static isSupported(){return nc()}static getSupportedMediaType(){return Hi()}}const yp=t=>(localStorage.setItem("liipgpt-color-scheme",t),Zi(["light","dark"])),ic=()=>{const t=localStorage.getItem("liipgpt-color-scheme");return t==="light"||t==="dark"?t:"system"},Zi=t=>{let e=ic();return e==="system"&&(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),t.includes(e)?e:t[0]??"light"},wp=[{type:"email",check:t=>/\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b/.test(t)},{type:"creditCard",check:t=>/\b(?:\d[ -]*?){13,16}\b/.test(t)},{type:"ahv",check:t=>/\b756\.\d{4}\.\d{4}\.\d{2}\b/.test(t)},{type:"phoneSwiss",check:t=>/\b0(?:\s*\d){2}(?:\s*\/\s*)?(?:\s*\d){7,}\b/.test(t)},{type:"phoneInternational",check:t=>/(?:\+|00)(?:\s*\d){10,}\b/.test(t)},{type:"swissPassport",check:t=>/\b[A-HJ-NP-Z](?=.*\d)[A-HJ-NP-Z0-9]{7}\b/.test(t)},{type:"longNumber",check:t=>/\b\d{9,}\b/.test(t)}],oc=t=>{for(const e of wp)if(e.check(t))return e.type},Gi="liipgpt:selectorValues",Wi="liipgpt:selectorKnownDefaults",sc=()=>{try{const t=vt.getItem(Gi),e=vt.getItem(Wi);return t?{values:JSON.parse(t),knownDefaults:e?JSON.parse(e):{}}:null}catch{return null}},_p=t=>{const e={};for(const r of t)e[r.settingName]=r.defaultValues??(r.allowEmpty?[]:[r.values[0]]).filter(Boolean);return e},lc=(t,e)=>{try{const r=_p(e);vt.setItem(Gi,JSON.stringify(t)),vt.setItem(Wi,JSON.stringify(r))}catch(r){console.error("Failed to save selector values:",r)}},xp=t=>{try{const e=sc();if(!e)return;delete e.values[t],delete e.knownDefaults[t],vt.setItem(Gi,JSON.stringify(e.values)),vt.setItem(Wi,JSON.stringify(e.knownDefaults))}catch(e){console.error("Failed to clear selector saved state:",e)}},Sp=t=>{const e=sc(),r=t.map(n=>{const a=n.defaultValues??(n.allowEmpty?[]:[n.values[0]]).filter(Boolean);if(!e?.values[n.settingName])return[n.settingName,a];const i=e.values[n.settingName],o=e.knownDefaults[n.settingName]||[],s=i.filter(h=>n.values.includes(h)),c=o.filter(h=>!a.includes(h)),l=s.filter(h=>!c.includes(h)),u=a.filter(h=>!o.includes(h)&&!l.includes(h)),p=[...l,...u];return p.length===0&&!n.allowEmpty?[n.settingName,a]:[n.settingName,p]});return Object.fromEntries(r)};class Tp extends Error{constructor(e){super(e),this.name="UnreachableError"}}const cc=(t,e)=>{const n=new URLSearchParams(window.location.search).get("q");return n?{name:"chat-page",query:n}:t&&!e?{name:"consent-page"}:{name:"start-page"}};class Ep{#e=J(_t({}));get data(){return _(this.#e)}set data(e){P(this.#e,e,!0)}#t=J(_t({}));get targets(){return _(this.#t)}set targets(e){P(this.#t,e,!0)}#a=J(!1);get initialized(){return _(this.#a)}set initialized(e){P(this.#a,e,!0)}#l=J(0);get currentAudioVolume(){return _(this.#l)}set currentAudioVolume(e){P(this.#l,e,!0)}ariaLiveMessagesClearingTimeoutDuration=350;#u=J(null);get currentAudioRecorder(){return _(this.#u)}set currentAudioRecorder(e){P(this.#u,e,!0)}#i=J(!1);get isTranscribing(){return _(this.#i)}set isTranscribing(e){P(this.#i,e,!0)}#r=X(()=>{if(!this.initialized)return[];const e=this.data.chatConfig.menu;return e?e[this.data.language]??[]:[]});get menu(){return _(this.#r)}set menu(e){P(this.#r,e)}#o=X(()=>this.initialized?this.data.chatConfig.translations[this.data.language]??{}:{});get t(){return _(this.#o)}set t(e){P(this.#o,e)}#s=X(()=>this.initialized?Gl[this.data.language]??{}:Gl.en??{});get errorTranslations(){return _(this.#s)}set errorTranslations(e){P(this.#s,e)}#n=X(()=>this.initialized?Wl[this.data.language]??{}:Wl.en??{});get piiTranslations(){return _(this.#n)}set piiTranslations(e){P(this.#n,e)}#c=X(()=>this.initialized?this.data.currentColorScheme:"light");get colorScheme(){return _(this.#c)}set colorScheme(e){P(this.#c,e)}#d=X(()=>this.initialized?this.data.chatConfig.fullTheme[this.data.currentColorScheme]:{});get themeBase(){return _(this.#d)}set themeBase(e){P(this.#d,e)}#f=X(()=>this.themeBase.tokens);get theme(){return _(this.#f)}set theme(e){P(this.#f,e)}#h=X(()=>{if(!this.initialized)return[];const e=[];for(const r of this.data.chatConfig.selectorsConfig){if(r.allowEmpty)continue;(this.data.selectorValues[r.settingName]||[]).length===0&&e.push(r.settingName)}return e});get selectorsWithErrors(){return _(this.#h)}set selectorsWithErrors(e){P(this.#h,e)}}const g=new Ep;let ct,kt,uc;bp({name:"chat-logic",state:g,excludeInDevTools:["onInput"]},{async init(t){kt=t;const e=kt.speechRecognitionApiKey||void 0;ct=new Uf({apiUrl:kt.apiUrl,apiKey:kt.apiKey,speechRecognitionApiKey:e,strict:!0});try{const r=await ct.getChatConfig();window.CHAT_CONFIG_OVERRIDE&&Object.assign(r,window.CHAT_CONFIG_OVERRIDE);const a=(await ct.getMetadata()).mode==="maintenance";a&&this.showErrorToast("maintenance");const i=Zl(r);kt.inlineLayout!==void 0&&(i.inlineLayout=kt.inlineLayout);let o;kt.lang?o=ba(kt.lang,i.supportedLanguages):o=Jl(i.supportedLanguages),Xl(o,g.targets.mainElement);const s=await this.getPredefinedQuestions(o),c=[];if(i.renderKatex){const h=await import("https://esm.sh/marked-katex-extension@5.1.5").catch(v=>{console.error("Couldn't load marked-katex-extension:",v)});h&&(ct.setMarkedExtensions(h.default({nonStandard:!0,output:"mathml"})),c.push("https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/katex.min.css"))}const l=Object.keys(i.fullTheme);let u=!1;if(i.forceConsent)try{u=vt.getItem("liipgpt:termsAccepted")==="true"}catch(h){console.warn("Failed to load terms acceptance from storage:",h)}g.data={currentConversationState:"idle",chatConfig:i,language:o,predefinedQuestions:s,isInMaintenance:a,history:[],selectedColorScheme:ic(),has2ColorSchemes:l.length===2,currentColorScheme:Zi(l),conversationFeedbackId:void 0,conversationFeedbackIsOpen:!1,openedPopup:void 0,props:kt,flyoutIsOpen:!1,questionHasPii:void 0,chatInputValue:"",selectorValues:Sp(i.selectorsConfig),selectorsIsOpen:!1,currentReferencesAsideId:void 0,ariaLiveStatusMessage:void 0,ariaLiveStatusMessageClearingTimeout:void 0,wasReferencesAsideClosed:!1,isAsideMobile:!0,route:cc(i.forceConsent??!1,u),additionalStylesheets:c,hasOpenedOverlays:!1,isInlineLayoutContained:!1,termsAccepted:u},window.LIIPGPT_LISTENERS?.route?.(g.data.route),window.LIIPGPT_LISTENERS?.conversation?.(g.data.currentConversationState),g.data.selectorsIsOpen=g.data.chatConfig.showExpandedSelectors??!1,g.initialized=!0,this.checkForOpenedPopup(),window.addEventListener("hashchange",()=>{this.checkForOpenedPopup()}),this.goto(cc(i.forceConsent??!1,u),!0)}catch(r){throw Vi.error(r instanceof Error?r.message:"Failed to load the chatbot. Please reload the page.",{duration:1e4,unstyled:!0,classes:{toast:"toast"}}),r}},setTarget(t,e){g.targets[t]=e},goto(t,e=!1){if(!(!e&&sp(g.data.route,t)))switch(g.data.route=t,window.LIIPGPT_LISTENERS?.route?.(t),t.name){case"consent-page":break;case"start-page":t.prefill&&(g.data.chatInputValue=t.prefill);break;case"chat-page":if(g.data.chatInputValue=t.query,this.onSubmit(),g.data.chatConfig.addQueryToUrlParams){const r=new URLSearchParams(window.location.search);r.set("q",t.query),history.pushState(null,"",`?${r.toString()}`)}break}},getSelectorConfig(t){const e=g.data.chatConfig.selectorsConfig.find(r=>r.settingName===t);if(!e)throw new Error(`Setting ${t} not found`);return e},getPrettifiedSelectorValues(){const t=Object.entries(g.data.selectorValues).map(([e,r])=>{let n;try{n=this.getSelectorConfig(e)}catch(a){console.error(`Error getting selector config for ${e}: ${a}`);return}return n.type==="single-select"?[e,r[0]]:[e,r]}).filter(e=>!!e);return Object.fromEntries(t)},setSelectorValue(t,e){const r=this.getSelectorConfig(t);if(!r){console.warn(`Trying to set setting ${t} but it is not defined in the chat config`);return}if(r.type==="single-select"&&e.length>1){console.warn(`Trying to set multiple values for single-select setting ${t}`);return}g.data.selectorValues[t]=e,lc(g.data.selectorValues,g.data.chatConfig.selectorsConfig)},resetSelectorToDefaults(t){const e=this.getSelectorConfig(t);if(!e){console.warn(`Trying to reset setting ${t} but it is not defined in the chat config`);return}const r=e.defaultValues??(e.allowEmpty?[]:[e.values[0]]).filter(Boolean);return xp(t),g.data.selectorValues[t]=r,lc(g.data.selectorValues,g.data.chatConfig.selectorsConfig),r},async getPredefinedQuestions(t){try{return ct.getPredefinedQuestions({url:window.location.origin+window.location.pathname,language:t})}catch(e){return console.warn("Failed to load predefined questions:",e),[]}},setColorScheme(t){g.data.selectedColorScheme=t,g.data.currentColorScheme=yp(t),this.setAriaLiveStatusMessage(t==="dark"?g.t.ariaDarkSelected:g.t.ariaLightSelected)},async abort(){await uc?.abort()},changeConversationState(t){g.data.currentConversationState=t,window.LIIPGPT_LISTENERS?.conversation?.(t)},onInput(t){g.data.chatConfig.blockPII&&(g.data.questionHasPii=oc(t)),g.data.chatInputValue=t},onSubmit(t=!1){if(g.data.questionHasPii){console.warn("Question contains PII, not submitting:",g.data.questionHasPii);return}const e=g.data.chatConfig.questionPrefix?`${g.data.chatConfig.questionPrefix} ${g.data.chatInputValue}`:g.data.chatInputValue,r=g.data.history.push({type:"user",time:new Date().toISOString(),message:g.data.chatInputValue});g.data.history.push({id:"UNRESOLVED",state:"loading",errors:[],type:"bot",time:new Date().toISOString(),message:{markdown:"",html:"",text:""},references:{all:[],used:[],unused:[]}});const n={features:kt.features?kt.features.trim().split(","):["formatting"],onError:u=>{this.showErrorToast(u),window.LIIPGPT_LISTENERS?.error?.(u),(u==="pii-detected"||u==="blocked")&&this.editLatestQuestion()},lang:g.data.language,selectorValues:this.getPrettifiedSelectorValues()},a=(u,p)=>{try{const h=new URL(u),v=new URL(p);return h.origin===v.origin&&h.pathname===v.pathname}catch{return!1}},i=g.data.chatConfig.sendReferrer??"all";if(["all","own","location"].includes(i)){const u=i==="location"||g.data.props.flyout;let p;u?p=`${window.location.protocol}//${window.location.host}${window.location.pathname}`:p=a(document.referrer,window.location.href)?null:document.referrer;const h=i==="own"&&!g.data.props.flyout&&p&&!p.startsWith(window.location.origin);n.referrer=p&&!h?p:void 0}g.data.currentConversationId||(g.data.currentConversationId=ct.createConversationId());const o=ct.chat(g.data.currentConversationId,e,n);uc=o,g.data.lastChatResponseId=o.id,g.data.currentConversationState!=="searching"&&this.changeConversationState("searching"),this.setAriaLiveStatusMessage(g.t.ariaQuestionSent);let s=!1,c;const l=!!g.data.currentReferencesAsideId;(t&&l||!t&&g.data.chatConfig.showReferencesByDefault)&&(g.data.isAsideMobile||this.openReferencesAside(o.id)),o.subscribe(u=>{if(g.data.history[r]&&(g.data.history[r]={question:g.data.chatInputValue,...u}),g.data.chatConfig.addRetrievalQuestionToUrlParams&&u.retrievalQuestion){const p=new URLSearchParams(window.location.search);p.get("search")!==u.retrievalQuestion&&(p.set("search",u.retrievalQuestion),history.replaceState(null,"",`?${p.toString()}`))}g.data.chatConfig.showReferencesByDefault&&!g.data.wasReferencesAsideClosed&&g.data.currentReferencesAsideId!==u.id&&!g.data.isAsideMobile&&this.openReferencesAside(u.id),u.state==="streaming"&&g.data.currentConversationState!=="answering"&&this.changeConversationState("answering"),u.state==="done"&&(this.changeConversationState("idle"),s||(s=!0,this.setAriaLiveStatusMessage(`${g.t.ariaAnswerReady} ... ${u.message.text} ... ${g.t.ariaAnswerFinished}`)),g.data.currentReferencesAsideId&&g.data.history[r].references.used.length>0?(clearTimeout(c),c=setTimeout(()=>{this.openReferencesAside(u.id)},100)):this.closeReferencesAside())}),g.data.chatInputValue=""},async onStartSpeechRecognition(){try{if(!await kp()){this.showErrorToast("speech-not-supported");return}if(await navigator.mediaDevices.getUserMedia({audio:!0}),ac.isSupported())g.data.chatInputValue="",g.currentAudioRecorder=new ac({onDataAvailable:async e=>{g.isTranscribing=!0,await this.handleTranscription(e)},onError:()=>{this.showErrorToast("speech-microphone-access-denied"),g.currentAudioRecorder=null,g.isTranscribing=!1},onVolumeChange:e=>{g.currentAudioVolume=e}}),g.currentAudioRecorder.start();else{this.showErrorToast("speech-not-supported");return}}catch(t){throw this.showErrorToast("speech-microphone-access-denied"),g.currentAudioRecorder=null,g.isTranscribing=!1,t}},editLatestQuestion(){const t=g.data.history.findLastIndex(r=>r?.type==="user");if(t===-1){console.error("No last user question, available");return}const e=g.data.history.splice(t)[0];g.data.chatInputValue=e.message},onStopSpeechRecognition(){if(g.currentAudioRecorder){const t=g.currentAudioRecorder;g.currentAudioRecorder=null,t.stop()}g.currentAudioVolume=0},async handleTranscription(t){if(!t){console.warn("No audio data received");return}try{const e=await ct.transcribeAudio(t,{lang:g.data.language});if(e.error){this.showErrorToast("speech-transcription-failed");return}if(e.transcript.trim()){if(g.data.chatConfig.blockPII&&(g.data.questionHasPii=oc(e.transcript.trim()),g.data.questionHasPii))return;g.data.chatInputValue=e.transcript.trim()}else this.showErrorToast("speech-no-text-detected")}catch(e){console.error("Speech transcription error:",e),this.showErrorToast("speech-transcription-failed")}finally{g.currentAudioRecorder=null,g.isTranscribing=!1,g.currentAudioVolume=0}},async onStartConversation(t){await this.abort(),g.data.history=[],g.data.currentConversationId=ct.createConversationId(),this.goto({name:"chat-page",query:t})},async onNewConversation(){if(await this.abort(),g.data.currentConversationId=void 0,g.data.currentReferencesAsideId=void 0,g.data.history=[],g.data.chatConfig.addQueryToUrlParams){const t=new URLSearchParams(window.location.search);t.delete("q"),history.pushState(null,"",`?${t.toString()}`)}this.goto({name:"start-page"})},showSuccessToast(t){Vi.success(g.t[t],{unstyled:!0,duration:3e3,classes:{toast:"toast"}})},showErrorToast(t){Vi.error(g.errorTranslations[t],{unstyled:!0,duration:3e3,classes:{toast:"toast"}})},async submitFeedback(t){try{const e=g.data.conversationFeedbackId||g.data.lastChatResponseId;if(!e)throw new Tp("Tried to give feedback with no id.");const r=g.data.history.find(n=>n.type==="bot"&&n.id===e);await ct.feedback(e,r?.question??"",t),setTimeout(()=>{this.showSuccessToast("thankYouForFeedback")},500)}catch(e){console.error("Feedback failed:",e),this.showErrorToast("feedback-failed")}},toggleReferencesAside(t){g.data.currentReferencesAsideId===t?this.closeReferencesAside():this.openReferencesAside(t)},openReferencesAside(t){g.data.currentReferencesAsideId=t,this.setOpenOverlay(!0)},closeReferencesAside(){g.data.currentReferencesAsideId=void 0,g.data.wasReferencesAsideClosed=!0,this.setOpenOverlay(!1)},setAsideMobile(t){g.data.isAsideMobile=t},openFlyout(){g.data.flyoutIsOpen=!0},closeFlyout(){g.data.flyoutIsOpen=!1},openConversationFeedback(){g.data.conversationFeedbackIsOpen=!0,this.setOpenOverlay(!0)},openMessageFeedback(t){g.data.conversationFeedbackId=t},closeFeedback(){g.data.conversationFeedbackIsOpen=!1,g.data.conversationFeedbackId=void 0,this.setOpenOverlay(!1)},setOpenOverlay(t){g.data.hasOpenedOverlays=t},setAriaLiveStatusMessage(t){g.data.ariaLiveStatusMessage=t,clearTimeout(g.data.ariaLiveStatusMessageClearingTimeout),g.data.ariaLiveStatusMessageClearingTimeout=setTimeout(()=>{g.data.ariaLiveStatusMessage=""},g.ariaLiveMessagesClearingTimeoutDuration)},closePopup(){window.location.hash=""},checkForOpenedPopup(){const t=window.location.hash.slice(1),e=g.t.popups?.find(r=>r.hash===t);e?g.data.openedPopup=e:g.data.openedPopup=void 0},async thumbs(t,e){try{const r=g.data.history.find(n=>n.type==="bot"&&n.id===t);e==="up"?await ct.thumbsUp(t,r?.question??""):await ct.thumbsDown(t,r?.question??""),this.showSuccessToast("thankYouForFeedback")}catch(r){console.error("Feedback failed:",r),this.showErrorToast("feedback-failed")}},async onLanguageChange(t){if(g.data.language=ba(t,g.data.chatConfig.supportedLanguages),Xl(g.data.language,g.targets.mainElement),g.data.predefinedQuestions=await this.getPredefinedQuestions(g.data.language),this.setAriaLiveStatusMessage(g.t.ariaLanguageChanged),g.data.chatConfig.reflectLanguageInPath){const e=new URL(window.location.href);e.pathname=`/${g.data.language}`,window.history.replaceState({},"",e.toString())}},async acceptTerms(){g.data.termsAccepted=!0;try{vt.setItem("liipgpt:termsAccepted","true")}catch(t){console.warn("Failed to save terms acceptance to storage:",t)}this.closePopup(),await ns(),this.goto({name:"start-page"})},updateChatInput(t){g.data.chatInputValue=t}});const Cp='@layer base,utilities,components;/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::-moz-placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer base{.chat-app{--spacer-1: .0625rem;--spacer-2: .125rem;--spacer-3: .1875rem;--spacer-4: .25rem;--spacer-5: .3125rem;--spacer-6: .375rem;--spacer-8: .5rem;--spacer-10: .625rem;--spacer-12: .75rem;--spacer-16: 1rem;--spacer-20: 1.25rem;--spacer-24: 1.5rem;--spacer-28: 1.75rem;--spacer-32: 2rem;--spacer-40: 2.5rem;--spacer-48: 3rem;--spacer-56: 3.5rem;--spacer-64: 4rem;--spacer-72: 4.5rem;--spacer-80: 5rem;--spacer-120: 7.5rem;--spacer-r-8: clamp(.375rem, .3182rem + .2841cqw, .5rem);--spacer-r-12: clamp(.625rem, .5682rem + .2841cqw, .75rem);--spacer-r-16: clamp(.75rem, .6364rem + .5682cqw, 1rem);--spacer-r-20: clamp(.875rem, .7045rem + .8523cqw, 1.25rem);--spacer-r-24: clamp(1rem, .7727rem + 1.1364cqw, 1.5rem);--spacer-r-28: clamp(1.125rem, .8409rem + 1.4205cqw, 1.75rem);--spacer-r-32: clamp(1.25rem, .9091rem + 1.7045cqw, 2rem);--spacer-r-40: clamp(1.5rem, 1.0455rem + 2.2727cqw, 2.5rem);--spacer-r-48: clamp(1.625rem, 1rem + 3.125cqw, 3rem);--spacer-r-56: clamp(1.75rem, .9545rem + 3.9773cqw, 3.5rem);--spacer-r-64: clamp(2rem, 1.0909rem + 4.5455cqw, 4rem);--spacer-r-80: clamp(3rem, 2.0909rem + 4.5455cqw, 5rem);--spacer-r-96: clamp(3.5rem, 2.3636rem + 5.6818cqw, 6rem);--spacer-r-120: clamp(4rem, 2.4091rem + 7.9545cqw, 7.5rem);--default-transition-duration: .2s;--default-transition-timing-function: ease-in-out;--z-index-flyout: 10000;--z-index-dialog: 600;--z-index-loader: 500;--z-index-reference-number: 400;--z-index-footer: 300;--z-index-header: 200;--z-index-tooltip: 100;--z-index-tooltip-hover: 101;--z-index-local-overlay: 10;--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--ease-in-quart: cubic-bezier(.895, .03, .685, .22);--ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);--fly-in-id: 0;--btn-padding-x: var(--spacer-r-20);--btn-padding-y: var(--spacer-r-8);--btn-icon-size: var(--spacer-24);--btn-submit-size: 2.5em;--last-bot-message-min-height: 0}}@value container-xs,container-sm,container-md,container-lg,container-inner-xs,container-inner-sm,container-inner-md,container-inner-lg from "./viewports.css";@layer base{.chat-app :where(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6){font-weight:var(--base-font-weight-title);line-height:var(--base-line-height-tight)}.chat-app :where(b,strong){font-weight:var(--base-font-weight-bold)}.chat-app :where(button){cursor:pointer}.chat-app :where(input[type=text],input[type=email],input[type=search],input[type=password],textarea){width:100%;padding:var(--input-padding);border-width:var(--input-border-width);border-radius:var(--input-border-radius);border-color:var(--input-border-color);background:var(--input-background);box-shadow:var(--input-box-shadow, none);color:var(--input-color)}.chat-app :where(input[type=text],input[type=email],input[type=search],input[type=password],textarea)::-moz-placeholder{color:var(--input-placeholder-color);opacity:var(--input-placeholder-opacity)}.chat-app :where(input[type=text],input[type=email],input[type=search],input[type=password],textarea)::placeholder{color:var(--input-placeholder-color);opacity:var(--input-placeholder-opacity)}.chat-app :where(input[type=radio],input[type=checkbox]){margin:0}.chat-app :where(*:focus-visible){border-radius:var(--btn-primary-border-radius);outline-color:var(--body-focus-color);outline-style:var(--body-focus-style);outline-width:var(--body-focus-width);outline-offset:var(--body-focus-offset)}.chat-app *::-moz-selection{background:var(--body-selection-background);color:var(--body-selection-color)}.chat-app *::selection{background:var(--body-selection-background);color:var(--body-selection-color)}.chat-app ::-webkit-scrollbar{width:8px;height:8px}.chat-app ::-webkit-scrollbar-track{background:transparent}.chat-app ::-webkit-scrollbar-thumb{border-radius:4px;background-color:#0000004d;-webkit-transition:background-color .2s;transition:background-color .2s}.chat-app ::-webkit-scrollbar-thumb:hover{background-color:#00000080}.chat-app *{scrollbar-color:rgba(0,0,0,.3) transparent;scrollbar-width:thin}.chat-app ::-webkit-scrollbar-thumb{visibility:hidden}.chat-app *:hover::-webkit-scrollbar-thumb,.chat-app *:active::-webkit-scrollbar-thumb,.chat-app *:focus::-webkit-scrollbar-thumb{visibility:visible}}@layer utilities{.chat-app :where(.expand-interaction){position:relative}.chat-app :where(.expand-interaction):after{position:absolute;inset:0;background-color:transparent;content:""}.chat-app :where(.sr-only){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.chat-app :where(.transition-colors){transition-duration:var(--default-transition-duration);transition-property:color,background-color,border-color,box-shadow;transition-timing-function:var(--default-transition-timing-function)}.chat-app :where(.transition){transition-duration:var(--default-transition-duration);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--default-transition-timing-function)}.chat-app :where(.skip-link){position:absolute;width:0px;height:0px;overflow:hidden;color:var(--anchor-color);font-weight:700;font-size:var(--base-font-size-xs)}.chat-app :where(.skip-link):focus-visible{position:static;width:auto;height:auto}.chat-app :where(.fly-in){--fly-in-id: 0;--fly-in-duration: .4s;--fly-out-duration: .2s;--fly-in-delay: .3s;--fly-in-delay-additional: .1s;--fly-in-y: var(--spacer-r-64);transform:translateY(var(--fly-in-y));opacity:0;transition-delay:0s,1s;transition-duration:var(--fly-out-duration);transition-property:opacity,transform;transition-timing-function:ease,var(--ease-out-quart)}.chat-app :where(.mounted .fly-in){transform:translateY(0);opacity:1;transition-delay:calc(var(--fly-in-delay) + var(--fly-in-id) * var(--fly-in-delay-additional));transition-duration:var(--fly-in-duration)}.chat-app :where(.truncate){display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-app :where(.line-clamp){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat-app :where(.line-clamp--2){-webkit-line-clamp:2}.chat-app :where(.line-clamp--6){-webkit-line-clamp:6}.chat-app :where(.container){width:100%;max-width:var(--container-max-width, 1024px);margin:0 auto;padding-right:var(--spacer-16);padding-left:var(--spacer-16)}@container chat-container (min-width: 640px){.chat-app :where(.container){padding-right:var(--spacer-32);padding-left:var(--spacer-32)}}@container chat-container (min-width: 768px){.chat-app :where(.container){padding-right:var(--spacer-48);padding-left:var(--spacer-48)}}.chat-app :where(h1){font-size:var(--base-font-size-h1)}.chat-app :where(h2){font-size:var(--base-font-size-h2)}.chat-app :where(h3){font-size:var(--base-font-size-h3)}.chat-app :where(h4,h5,h6){font-size:var(--body-font-size)}.chat-app :where(.h1){font-size:var(--base-font-size-h1)}.chat-app :where(.h2){font-size:var(--base-font-size-h2)}.chat-app :where(.h3){font-size:var(--base-font-size-h3)}.chat-app :where(.h4,.h5,.h6){font-size:var(--body-font-size)}.chat-app :where(.text-container)>:where(p,ul,ol,img,table){display:block;margin-bottom:var(--spacer-r-24)}.chat-app :where(.text-container)>:where(div){margin:var(--spacer-r-40) 0}.chat-app :where(.text-container)>:where(h1,.h1){margin-bottom:var(--spacer-r-28)}.chat-app :where(.text-container)>:where(h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6){margin-bottom:var(--spacer-r-20)}.chat-app :where(.text-container)>:where(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6){margin-top:var(--spacer-r-40)}.chat-app :where(.text-container)>:where(ul:not(.no-list-styling),ol:not(.no-list-styling))>:where(li){margin-bottom:var(--spacer-12)}.chat-app :where(.text-container)>:where(ul:not(.no-list-styling),ol:not(.no-list-styling))>:where(li):last-child{margin-bottom:0}.chat-app :where(.text-container)>:where(ol){padding-left:1.5em;list-style-position:outside;list-style-type:decimal}.chat-app :where(.text-container)>:where(ul:not(.no-list-styling))>:where(li){position:relative;padding-left:1em}.chat-app :where(.text-container)>:where(ul:not(.no-list-styling))>:where(li):before{position:absolute;top:0;left:0;content:"•";font-size:.9em}.chat-app :where(.text-container)>:where(hr){height:1px;margin:var(--spacer-r-40) 0;border:none;background-color:var(--color-grey-700);background-color:var(--hr-color)}.chat-app :where(.text-container) :where(a:not(.button,.no-link-styling,.reference)){color:var(--anchor-color);font-weight:var(--anchor-font-weight, var(--base-font-weight-normal));-webkit-text-decoration:var(--anchor-text-decoration, underline);text-decoration:var(--anchor-text-decoration, underline);text-underline-offset:var(--anchor-text-underline-offset, .15em);transition-duration:var(--default-transition-duration);transition-property:color,background-color,border-color;transition-timing-function:var(--default-transition-timing-function)}.chat-app :where(.text-container) :where(a:not(.button,.no-link-styling,.reference)):hover{color:var(--anchor-hover-color)}.chat-app :where(.text-container) :where(table){display:block;width:100%;overflow-x:auto;border-collapse:collapse;border-spacing:0;-webkit-overflow-scrolling:touch}.chat-app :where(.text-container) :where(th){width:1000px;padding:var(--spacer-12) var(--spacer-16) var(--spacer-12) 0;border-bottom:1px solid var(--color-grey-300);line-height:var(--base-line-height-tight);text-align:left;vertical-align:bottom}.chat-app :where(.text-container) :where(td){padding:var(--spacer-12) var(--spacer-16) var(--spacer-12) 0;border-bottom:1px solid var(--color-grey-300);vertical-align:top}.chat-app :where(.text-container) :where(tr:last-child td){border-bottom:none}.chat-app :where(.text-container) :where(*:first-child){margin-top:0}.chat-app :where(.text-container) :where(*:last-child){margin-bottom:0}.chat-app :where(.animated-height){transition:height .5s var(--ease-in-out-quart)}.chat-app :where(.display-contents){display:contents}.chat-app :where(.absolute){position:absolute!important}}@layer base{.svg{width:var(--spacer-r-24);height:auto}.svg svg{display:block;width:100%;height:auto;overflow:visible}}@layer components{.chat-app{display:contents}.chat-app__container{container-name:chat-container;container-type:inline-size;display:flex;height:100%;overflow:hidden;transform:translateZ(0)}.chat-app__container>:where(*){color:var(--body-color);font-style:normal;font-weight:var(--base-font-weight-normal);font-size:var(--base-font-size-body);line-height:var(--base-line-height-default);font-family:var(--font-family);font-optical-sizing:auto}.chat-app__container.chat-app__container--inline-layout-contained{height:90svh;scroll-margin-top:10svh}@media (min-width: 768px){.chat-app__container.chat-app__container--inline-layout-contained{height:100svh;scroll-margin-top:0}}.chat-app__main{container-name:chat-inner-container;container-type:inline-size;display:flex;flex-direction:column;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;overscroll-behavior-y:contain;background:var(--body-background);scrollbar-gutter:stable;touch-action:pan-y}.chat-app__container--inline-layout .chat-app__main{overscroll-behavior-y:auto}.chat-app__loader-container{display:flex;z-index:var(--z-index-loader);position:relative;align-items:center;justify-content:center;width:100%;height:100%}.chat-app__portals{display:contents}.chat-app__header{z-index:var(--z-index-header);position:sticky;top:0;background:var(--body-background)}.chat-app__header--unsticked{position:relative}.chat-app__header-content{--btn-padding-x: var(--btn-padding-y);display:flex;position:relative;-moz-column-gap:var(--spacer-r-12);column-gap:var(--spacer-r-12);flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-right:calc(var(--btn-padding-x) * -1);margin-left:calc(var(--btn-padding-x) * -1);padding-top:var(--spacer-10);padding-bottom:var(--spacer-10)}.chat-app__header-content>:where(*){z-index:0;position:relative;pointer-events:auto}.chat-app__header-content:after{position:absolute;right:var(--btn-padding-x);bottom:0;left:var(--btn-padding-x);border-bottom:1px solid transparent;content:"";transition:border-color .1s ease-in-out}.chat-app__header-content.has-border:after{border-color:var(--base-line-color)}.chat-app__header-new-conversation{position:relative;margin-right:auto}@container chat-container (min-width: 640px){.chat-app__header-new-conversation .tooltip{display:none}}.chat-app__header--with-logo :where(.chat-app__header-content){margin-left:0}.chat-app__header--with-logo :where(.chat-app__header-new-conversation){margin-right:unset;margin-left:auto}.chat-app__header-logo{margin-right:auto}.chat-app__header-logo :where(svg){width:auto;height:var(--spacer-28)}.chat-app__body{display:flex;position:relative;flex-grow:1;flex-direction:column;width:100%}.chat-app__page-transition{display:flex;flex-grow:1;flex-direction:column;width:100%;height:100%}.chat-app__aside{--duration-in: .65s;--duration-out: .5s;visibility:hidden;position:relative;top:0;bottom:0;flex-grow:1;width:0;transition-delay:0s,var(--duration-out);transition-duration:var(--duration-out),0s;transition-property:width,visibility;transition-timing-function:var(--ease-in-out-quart),linear}.chat-app__aside.open{visibility:visible;width:var(--aside-width);transition-delay:0s;transition-duration:var(--duration-in),0s;transition-timing-function:var(--ease-out-quart),linear}.chat-app__aside .tooltip{--background-color: var(--btn-secondary-hover-background)}.chat-app__aside-container{position:relative;width:var(--aside-width);height:100%;overflow-y:auto;overscroll-behavior:contain;border-left-width:var(--aside-border-width);border-color:var(--aside-border-color);background:var(--aside-background);scrollbar-gutter:stable}.chat-app__container--inline-layout .chat-app__aside-container{overscroll-behavior-y:auto}.chat-app__aside-header,.chat-app__sheet-header{display:flex;z-index:var(--z-index-header);position:sticky;top:0;flex-wrap:no-wrap;align-items:center;justify-content:space-between;padding:var(--spacer-12) var(--spacer-12) var(--spacer-12) var(--spacer-24);gap:var(--spacer-24);border-bottom-width:var(--aside-header-border-width);border-color:var(--aside-header-border-color);background:var(--aside-background);color:var(--aside-header-color)}.chat-app__sheet-close{position:relative}.chat-app__sheet-overlay{z-index:var(--z-index-dialog);position:fixed;inset:0;background:var(--aside-background-overlay)}.chat-app__sheet-content{z-index:var(--z-index-flyout);position:fixed;top:0;right:0;width:100%;max-width:var(--aside-width);height:100%;overflow-y:auto;overscroll-behavior:contain;border-left-width:var(--aside-border-width);border-color:var(--aside-border-color);background:var(--aside-background);scrollbar-gutter:stable}.chat-app__container--inline-layout .chat-app__sheet-content{overscroll-behavior-y:auto}:is(.chat-app__aside-close,.chat-app__sheet-close) :where(.btn){background-color:transparent}.chat-app__aside-title,.chat-app__sheet-title{font-size:var(--base-font-size-sm)}.chat-app__close-button{z-index:var(--z-index-flyout)}}@layer components{.open-button{--open-button-avatar-height: var(--spacer-r-80);--open-button-avatar-width: var(--spacer-r-80);--open-button-duration: .4s;--open-button-delay: .3s;--open-button-ease: ease-in-out;display:flex;flex-direction:row;align-items:flex-end;cursor:pointer;transition:opacity .15s ease-out}.open-button--expanded{opacity:0;pointer-events:none}.open-button__text{display:flex;position:absolute;right:100%;bottom:50%;flex-direction:column;align-items:flex-start;justify-content:center;margin-right:calc(var(--open-button-avatar-width) * -.5);padding-top:var(--spacer-r-12);padding-right:0;padding-bottom:var(--spacer-r-12);padding-left:0;overflow:hidden;transform:translateY(50%);border-width:var(--open-button-border-width);border-radius:var(--open-button-border-radius);border-color:var(--open-button-border-color);background:var(--open-button-background);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;color:var(--open-button-color);text-align:left;transition:transform var(--open-button-duration) var(--open-button-ease),padding-right var(--open-button-duration) var(--open-button-delay) var(--open-button-ease)}.open-button:is(:hover,.open-button--programmatic-expand) .open-button__text{transform:translateY(0);background:var(--open-button-hover-background, var(--open-button-background));color:var(--open-button-hover-color, var(--open-button-color));opacity:1;transition:transform var(--open-button-duration) var(--open-button-delay) var(--open-button-ease)}.open-button__title{max-width:240px;padding:0 calc(var(--open-button-avatar-width) * .5 + var(--spacer-r-12)) 0 var(--spacer-r-12);font-weight:700;white-space:pre}.open-button__mask{width:0;height:0;overflow:hidden;transition:width var(--open-button-duration) var(--open-button-delay) var(--open-button-ease),height var(--open-button-duration) var(--open-button-ease)}.open-button:is(:hover,.open-button--programmatic-expand) .open-button__mask{transition:width var(--open-button-duration) var(--open-button-ease),height var(--open-button-duration) var(--open-button-delay) var(--open-button-ease)}.open-button__description{position:relative;width:50cqw;max-width:260px;padding:0 calc(var(--open-button-avatar-width) * .5 + var(--spacer-r-12)) 0 var(--spacer-r-12);text-wrap:balance}.open-button__avatar{z-index:var(--z-index-local-overlay);position:relative;width:var(--open-button-avatar-width);height:var(--open-button-avatar-height);overflow:clip;border-radius:var(--spacer-r-80);filter:drop-shadow(0 4px 6px rgba(0,0,0,.15));transition:transform .2s var(--open-button-ease)}.open-button:is(:hover,.open-button--programmatic-expand) .open-button__avatar{transform:scale(1.05)}.open-button__link-icon{display:none;position:absolute;right:0;width:var(--spacer-r-80);height:var(--spacer-r-80);padding:var(--spacer-r-20);color:var(--open-button-color)}:where(.open-button--standalone){position:fixed;right:var(--spacer-r-16);bottom:var(--spacer-r-16)}@media (prefers-reduced-motion: reduce){.open-button__text,.open-button__mask,.open-button:hover .open-button__text,.open-button:hover .open-button__mask{transition:none!important}.open-button__avatar,.open-button:hover .open-button__avatar{filter:none!important;transition:none!important}}.open-button--hide-title-when-collapsed .open-button__text{visibility:hidden;opacity:0;transition:transform var(--open-button-duration) var(--open-button-ease),padding-right var(--open-button-duration) var(--open-button-delay) var(--open-button-ease),opacity var(--open-button-duration) var(--open-button-delay) var(--open-button-ease),visibility 0s linear calc(var(--open-button-duration) + var(--open-button-delay))}.open-button--hide-title-when-collapsed:is(:hover,.open-button--programmatic-expand) .open-button__text{visibility:visible;transform:translateY(0);background:var(--open-button-hover-background, var(--open-button-background));color:var(--open-button-hover-color, var(--open-button-color));opacity:1;transition:transform var(--open-button-duration) var(--open-button-delay) var(--open-button-ease),opacity var(--open-button-duration) var(--open-button-ease),visibility 0s linear 0s}}',Ap=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),Rp=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),Ip=new RegExp("(\\d)(\\p{Ll})","gu"),Lp=new RegExp("(\\p{L})(\\d)","gu"),Op=/[^\p{L}\d]+/giu,ka="$1\0$2",Mp="";function Pp(t,e){let r=t.trim();r=r.replace(Ap,ka).replace(Rp,ka),e?.separateNumbers&&(r=r.replace(Ip,ka).replace(Lp,ka)),r=r.replace(Op,"\0");let n=0,a=r.length;for(;r.charAt(n)==="\0";)n++;if(n===a)return[];for(;r.charAt(a-1)==="\0";)a--;return r.slice(n,a).split(/\0/g)}function Np(t,e){return zp(t,e?.prefixCharacters)+Pp(t,e).map($p(e?.locale)).join(e?.delimiter??" ")}function Dp(t,e){return Np(t,{delimiter:"-",...e})}function $p(t){return t===!1?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t)}function zp(t,e=Mp){let r="";for(let n=0;n<t.length;n++){const a=t.charAt(n);if(e.includes(a))r+=a;else break}return r}const ya=Dp,Fp=640,Bp=1024;let wa=null;const jp=()=>{if(wa)return wa;if(!globalThis.document)return 16;const t=globalThis.document.querySelector(":root");return wa=Number(getComputedStyle(t).fontSize.slice(0,-2)),wa},Up=({minRem:t,maxRem:e})=>{const r=jp(),n=Fp/r,a=Bp/r,i=(e-t)/(a-n),o=-n*i+t;return`clamp( ${t}rem, ${o}rem + ${i*100}cqw, ${e}rem )`},dc=t=>typeof t=="string"?t:typeof t=="number"?String(t):typeof t=="object"?t.minRem===t.maxRem?`${t.minRem}rem`:Up(t):"",Qi=(t,e,r,n=!1)=>{let a="";return r.forEach(i=>{let o=e[i];n&&!o&&i==="borderWidth"&&(o="0px"),n&&!o&&i==="borderColor"&&(o="transparent"),o&&(a+=`--${ya(t)}-${ya(i)}:${dc(o)}; `)}),a},hc=(t,e)=>Object.entries(e).map(([r,n])=>`--${t}-${ya(r)}:${dc(n)}`).join("; ")+"; ",qp=(t,e)=>{let r="";return r+=Qi(t,e,["background","borderWidth","borderColor","boxShadow","borderRadius","color"],!0),e.hover&&(r+=Qi(`${t}-hover`,e.hover,["background","borderWidth","borderColor","boxShadow","color"])),e.focus&&(r+=Qi(`${t}-focus`,e.focus,["background","borderWidth","borderColor","boxShadow","color"])),e.custom&&(r+=hc(t,e.custom)),r},Vp=(t,e)=>Object.entries(e).map(([r,n])=>`--color-${t}-${r}:${n}`).join("; ")+"; ",Hp=t=>`--font-family: ${t?.family||"inherit"};`,Zp=t=>{const e=Hp(t.font),r=Object.entries(t.colors).map(([i,o])=>Vp(i,o)).join(""),n=hc("base",t.base),a=Object.entries(t.components).map(([i,o])=>qp(ya(i),o)).join("");return`.chat-app {${e} ${r} ${n} ${a}};`};var ut=typeof window<"u"?window:{screen:{},navigator:{}},Kr=(ut.matchMedia||function(){return{matches:!1}}).bind(ut),Gp={get passive(){return!0}},fc=function(){};ut.addEventListener&&ut.addEventListener("p",fc,Gp),ut.removeEventListener&&ut.removeEventListener("p",fc,!1);var Yi="ontouchstart"in ut,Wp="TouchEvent"in ut,Qp=Yi||Wp&&Kr("(any-pointer: coarse)").matches,pc=(ut.navigator.maxTouchPoints||0)>0||Qp,gc=ut.navigator.userAgent||"",Yp=Kr("(pointer: coarse)").matches&&/iPad|Macintosh/.test(gc)&&Math.min(ut.screen.width||0,ut.screen.height||0)>=768,mc=(Kr("(pointer: coarse)").matches||!Kr("(pointer: fine)").matches&&Yi)&&!/Windows.*Firefox/.test(gc),Kp=Kr("(any-pointer: fine)").matches||Kr("(any-hover: hover)").matches||Yp||!Yi,vc=pc&&(Kp||!mc)?"hybrid":pc?"touchOnly":"mouseOnly",Xp=vc==="mouseOnly"?"mouse":vc==="touchOnly"||mc?"touch":"mouse";function bc(t,e){Pr(e,!0);let r=oe(e,"href",7),n=oe(e,"target",7),a=oe(e,"onclick",7),i=oe(e,"className",23,()=>[]),o=oe(e,"isStandalone",7,!1),s=oe(e,"children",7),c=oe(e,"type",7,"button"),l=oe(e,"use",7),u=oe(e,"class",7),p=oi(e,["$$slots","$$events","$$legacy","$$host","href","target","onclick","className","isStandalone","children","type","use","class"]);const h=X(()=>r()?"a":"button"),v=X(()=>[...Array.isArray(i())?i():i()?[i()]:[],...u()?[u()]:[]]),m=()=>({}),b=X(()=>l()??m);var C=gt(),y=Le(C);return gs(y,()=>_(h),!1,(k,w)=>{ms(k,U=>_(b)?.(U)),xs(k,U=>({...p,onclick:r()?void 0:a(),type:r()?void 0:c(),href:r(),role:r()?"link":"button",target:r()?n():void 0,class:_(v),[jr]:U}),[()=>({"open-button--standalone":o()})]);var T=gt(),R=Le(T);hs(R,s),ie(w,T)}),ie(t,C),Nr({get href(){return r()},set href(k){r(k),ee()},get target(){return n()},set target(k){n(k),ee()},get onclick(){return a()},set onclick(k){a(k),ee()},get className(){return i()},set className(k=[]){i(k),ee()},get isStandalone(){return o()},set isStandalone(k=!1){o(k),ee()},get children(){return s()},set children(k){s(k),ee()},get type(){return c()},set type(k="button"){c(k),ee()},get use(){return l()},set use(k){l(k),ee()},get class(){return u()},set class(k){u(k),ee()}})}pn(bc,{href:{},target:{},onclick:{},className:{},isStandalone:{},children:{},type:{},use:{},class:{}},[],[],!0);function Rn(t,e){Pr(e,!0);let r=oe(e,"css",7),n=oi(e,["$$slots","$$events","$$legacy","$$host","css"]);const a=c=>{Uo(()=>{r()&&(c.innerHTML=r())})};var i=gt(),o=Le(i);{var s=c=>{var l=gt(),u=Le(l);gs(u,()=>"style",!1,(p,h)=>{ms(p,v=>a?.(v)),xs(p,()=>({...n}))}),ie(c,l)};ir(o,c=>{r()&&c(s)})}return ie(t,i),Nr({get css(){return r()},set css(c){r(c),ee()}})}pn(Rn,{css:{}},[],[],!0);var Jp=Tt('<div class="open-button__title"><!></div>'),e0=Tt('<div class="open-button__mask"><div class="open-button__description"><!></div></div>'),t0=Tt('<div class="open-button__text"><!> <!></div>'),r0=Tt('<div class="sr-only"> </div>'),n0=Tt('<!> <div class="svg svg--avatar open-button__avatar" aria-hidden="true"><!></div>',1),a0=Tt('<link rel="stylesheet"/>'),i0=Tt("<!> <!>",1),o0=Tt('<!> <!> <!> <main class="chat-app"><!></main>',1);function kc(t,e){Pr(e,!0);const r=(F,$)=>{let G=()=>$?.().chatConfig,Be=()=>$?.().language,be=()=>$?.().colorScheme;const se=X(()=>{const{openButtonTitle:we,openButtonDescription:ae}=G().translations[Be()];return{openButtonTitle:we,openButtonDescription:ae}}),je=X(()=>G().fullTheme[be()].tokens.svgs),ke=X(()=>G().fullTheme[be()]?.tokens.components.openButton?.custom),ye=X(()=>!!_(ke)?.hideTitleWhenCollapsed);{let we=X(()=>G().buttonHref?void 0:s()?"true":"false"),ae=X(()=>G().buttonHref?void 0:"true"),Je=X(()=>G().buttonHref?void 0:o()),Ue=X(()=>["open-button",e.buttonClass,g.data.flyoutIsOpen?"open-button--expanded":void 0,_(ye)?"open-button--hide-title-when-collapsed":void 0]);bc(F,{get href(){return G().buttonHref},onclick:xa,onmouseenter:_a,onmouseleave:Ji,use:Qt,get"aria-expanded"(){return _(we)},get"aria-haspopup"(){return _(ae)},get"aria-controls"(){return _(Je)},get style(){return e.buttonStyle},get className(){return _(Ue)},get isStandalone(){return _(h)},children:(dt,Yt)=>{var It=n0(),Ln=Le(It);{var Sa=et=>{var Ve=t0(),Lr=Bt(Ve);{var Ta=Lt=>{var tt=Jp(),Ot=Bt(tt);ti(Ot,()=>_(se).openButtonTitle),$t(tt),ie(Lt,tt)};ir(Lr,Lt=>{_(se).openButtonTitle&&Lt(Ta)})}var Ea=nr(Lr,2);{var On=Lt=>{var tt=e0(),Ot=Bt(tt),yt=Bt(Ot);ti(yt,()=>_(se).openButtonDescription),$t(Ot),As(Ot,Mt=>P(k,Mt),()=>_(k)),$t(tt),As(tt,Mt=>P(y,Mt),()=>_(y)),ie(Lt,tt)};ir(Ea,Lt=>{_(se).openButtonDescription&&Xp==="mouse"&&Lt(On)})}$t(Ve),ie(et,Ve)},eo=et=>{var Ve=r0(),Lr=Bt(Ve,!0);$t(Ve),Zn(()=>cs(Lr,g.t.ariaOpenChat)),ie(et,Ve)};ir(Ln,et=>{_(se).openButtonTitle||_(se).openButtonDescription?et(Sa):et(eo,!1)})}var Jr=nr(Ln,2),Ir=Bt(Jr);ti(Ir,()=>_(je).avatar),$t(Jr),ie(dt,It)},$$slots:{default:!0}})}};let n=J("light"),a=oe(e,"host",7),i=oe(e,"onError",7),o=oe(e,"flyoutId",7),s=oe(e,"flyoutIsOpen",7),c=oi(e,["$$slots","$$events","$$legacy","$$host","host","onError","flyoutId","flyoutIsOpen"]);const l=async F=>{const G=await(await fetch(`${F}/chatconfig`)).json();return Fl.parse(G)},u=async({forceTheme:F,lang:$,apiUrl:G})=>{const Be=window.CHAT_CONFIG_OVERRIDE?window.CHAT_CONFIG_OVERRIDE:await l(G),be=Zl(Be);let se;$?se=ba($,be.supportedLanguages):se=Jl(be.supportedLanguages);const je=Object.keys(be.fullTheme),ke=Zi(je);return{chatConfig:be,language:se,colorScheme:ke}},p=(F,$)=>{if(F==null)return $;if(typeof F=="string"){const G=F.trim().toLowerCase();return!(G===""||G==="0"||G==="false"||G==="no")}return typeof F=="number"?F!==0:typeof F=="boolean"?F:$};let h=X(()=>!!a()),v=J(!1),m=J(!1),b=J(!1),C=J(void 0),y=J(void 0),k=J(void 0),w=X(()=>_(k)?.offsetWidth??0),T=X(()=>_(k)?.offsetHeight??0),R=J(void 0),U=J(!1),Q,Fe=J(!0);function le(){return _(R)?(clearTimeout(_(R)),P(R,void 0),!0):!1}async function ur(F){P(n,F.colorScheme,!0),Q?.(),le(),P(U,!1);const $=F.chatConfig.fullTheme[_(n)]?.tokens.components.openButton?.custom??{},G=$.autoExpandScrollThreshold,Be=Number($.autoCollapseDelay??0),be=Number.isNaN(Be)?0:Math.max(0,Be),se=p($.autoExpandOnce,!1),je=(()=>{if(G==null)return 100;if(typeof G=="string"){if(G.trim().toLowerCase()==="none")return 0;const Ue=Number(G);return Number.isNaN(Ue)?100:Ue}const ae=Number(G);return Number.isNaN(ae)?100:ae})();if(Number.isNaN(je)||je<=0)return;const ke=`liipgpt-auto-expand-${e.apiUrl}`;let ye=!1;if(typeof window<"u")try{ye=window.localStorage.getItem(ke)==="true"}catch(ae){console.warn("LiipGPT: unable to read auto-expand flag",ae)}P(b,ye,!0);const we=()=>{if(!(window.scrollY/window.innerHeight*100>=je)){P(Fe,!0);return}if(!(_(m)||s())&&!(se&&(ye||_(b)))&&_(Fe)){if(P(Fe,!1),P(m,!0),P(b,!0),Ki(),se&&typeof window<"u")try{window.localStorage.setItem(ke,"true")}catch(Ue){console.warn("LiipGPT: unable to persist auto-expand flag",Ue)}P(R,setTimeout(()=>{_(U)||(Xi(),P(m,!1)),P(R,void 0)},be),!0)}};window.addEventListener("scroll",we,{passive:!0}),je===0&&(await ns(),we()),Q=()=>{window.removeEventListener("scroll",we)}}function ne(){le(),P(m,!1),P(U,!1)}function Qt(F){P(C,F,!0)}function dr(){Q?.(),le()}td(dr);function hr(){!_(k)||!_(y)||(_(y).style.width=`${_(w)}px`,_(y).style.height=`${_(T)}px`)}function Xr(){_(y)&&(_(y).style.width="0",_(y).style.height="0")}function Ki(){_(C)&&(_(C).classList.add("open-button--programmatic-expand"),hr())}function Xi(){_(C)&&(_(C).classList.remove("open-button--programmatic-expand"),Xr())}function _a(){le()&&P(U,!0),hr()}function Ji(){le(),_(U)&&(P(m,!1),P(U,!1),_(C)?.classList.remove("open-button--programmatic-expand")),_(v)||Xr()}function xa(F){ne(),e.onclick?.(F)}let ce=X(()=>u(c).then(async F=>(await ur(F),F)).catch(F=>i()(F)));var In=gt();Bu("beforeunload",Ha,dr),Uu(F=>{var $=gt(),G=Le($);{var Be=be=>{var se=gt(),je=Le(se);fs(je,()=>_(ce),null,(ke,ye)=>{var we=i0();const ae=X(()=>_(ye).chatConfig.fullTheme[_(ye).colorScheme]);var Je=Le(we);ad(Je,17,()=>_(ae).fontURLs??[],rd,(dt,Yt)=>{var It=a0();Zn(()=>ii(It,"href",_(Yt))),ie(dt,It)});var Ue=nr(Je,2);Rn(Ue,{id:"font-css",get css(){return _(ae).fontCSS}}),ie(ke,we)}),ie(be,se)};ir(G,be=>{_(h)&&be(Be)})}ie(F,$)});var fe=Le(In);return fs(fe,()=>_(ce),F=>{},(F,$)=>{var G=gt();const Be=X(()=>_($).chatConfig.fullTheme[_(n)]);var be=Le(G);{var se=ke=>{var ye=o0(),we=Le(ye);{let Yt=X(()=>Zp(_(Be).tokens));Rn(we,{id:"theme-css",get css(){return _(Yt)}})}var ae=nr(we,2);Rn(ae,{id:"app-css",get css(){return Cp}});var Je=nr(ae,2);Rn(Je,{id:"custom-css",get css(){return _(Be).customCSS}});var Ue=nr(Je,2),dt=Bt(Ue);r(dt,()=>_($)),$t(Ue),ie(ke,ye)},je=ke=>{r(ke,()=>_($))};ir(be,ke=>{_(h)?ke(se):ke(je,!1)})}ie(F,G)}),ie(t,In),Nr({get host(){return a()},set host(F){a(F),ee()},get onError(){return i()},set onError(F){i(F),ee()},get flyoutId(){return o()},set flyoutId(F){o(F),ee()},get flyoutIsOpen(){return s()},set flyoutIsOpen(F){s(F),ee()}})}pn(kc,{host:{},onError:{},flyoutId:{},flyoutIsOpen:{}},[],[],!0);function yc(t,e){Pr(e,!0);let r=oe(e,"onclick",7),n=oe(e,"buttonClass",7),a=oe(e,"buttonStyle",7),i=oe(e,"apiUrl",7),o=oe(e,"forceTheme",7),s=oe(e,"lang",7),c=X(()=>({onclick:r(),buttonClass:n(),buttonStyle:a(),apiUrl:i(),forceTheme:o(),lang:s()}));return Is(t,{silent:!0,body:(u,p=pr)=>{kc(u,wd({host:e.$$host,get onError(){return p()}},()=>_(c)))},$$slots:{body:!0}}),Nr({get onclick(){return r()},set onclick(l){r(l),ee()},get buttonClass(){return n()},set buttonClass(l){n(l),ee()},get buttonStyle(){return a()},set buttonStyle(l){a(l),ee()},get apiUrl(){return i()},set apiUrl(l){i(l),ee()},get forceTheme(){return o()},set forceTheme(l){o(l),ee()},get lang(){return s()},set lang(l){s(l),ee()}})}return customElements.define("liipgpt-button",pn(yc,{forceTheme:{attribute:"force-theme",type:"String"},buttonClass:{attribute:"button-class",type:"String"},buttonStyle:{attribute:"button-style",type:"String"},apiUrl:{attribute:"api-url",type:"String"},lang:{attribute:"lang",type:"String"},onclick:{}},[],[],!0)),rn.LiipGPTButton=yc,Object.defineProperty(rn,Symbol.toStringTag,{value:"Module"}),rn}({});
|