chatnest 3.4.0 → 3.4.2
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.
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see chatnest.min.js.LICENSE.txt */
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Chatnest=t():e.Chatnest=t()}("undefined"!=typeof self?self:this,(()=>(()=>{"use strict";var e={6877:(e,t,n)=>{var r=n(6661),o=n(7270);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t,n){return(t=k(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(){var e=h(),t=e.m(u),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function r(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var o={throw:1,return:2,break:3,continue:3};function i(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,o[e],t)},delegateYield:function(e,o,i){return t.resultName=o,n(r.d,l(e),i)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(u=function(){return{wrap:function(t,n,r,o){return e.w(i(t),n,r,o&&o.reverse())},isGeneratorFunction:r,mark:e.m,awrap:function(e,t){return new b(e,t)},AsyncIterator:m,async:function(e,t,n,o,a){return(r(t)?f:d)(i(e),t,n,o,a)},keys:p,values:l}})()}function l(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(i(e)+" is not iterable")}function p(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function d(e,t,n,r,o){var i=f(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function f(e,t,n,r,o){return new m(h().w(e,t,n,r),o||Promise)}function m(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof b?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(g(m.prototype),g(m.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),g(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function h(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return g(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function u(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(g(t={},r,(function(){return this})),t),p=u.prototype=s.prototype=Object.create(l);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,g(e,o,"GeneratorFunction")),e.prototype=Object.create(p),e}return c.prototype=u,g(p,"constructor",u),g(u,"constructor",c),c.displayName="GeneratorFunction",g(u,o,"GeneratorFunction"),g(p),g(p,o,"Generator"),g(p,r,(function(){return this})),g(p,"toString",(function(){return"[object Generator]"})),(h=function(){return{w:i,m:d}})()}function g(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}g=function(e,t,n,r){function i(t,n){g(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},g(e,t,n,r)}function b(e,t){this.v=e,this.k=t}function v(e,t){if("function"==typeof WeakMap)var n=new WeakMap,r=new WeakMap;return(v=function(e,t){if(!t&&e&&e.__esModule)return e;var o,a,s={__proto__:null,default:e};if(null===e||"object"!=i(e)&&"function"!=typeof e)return s;if(o=t?r:n){if(o.has(e))return o.get(e);o.set(e,s)}for(var c in e)"default"!==c&&{}.hasOwnProperty.call(e,c)&&((a=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,c))&&(a.get||a.set)?o(s,c,a):s[c]=e[c]);return s})(e,t)}function y(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function x(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){y(i,r,o,a,s,"next",e)}function s(e){y(i,r,o,a,s,"throw",e)}a(void 0)}))}}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,k(r.key),r)}}function k(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==i(t)?t:t+""}var S=function(){return e=function e(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),"undefined"==typeof window||"undefined"==typeof document)throw new Error("Chatnest requires a browser environment (window and document must exist).");this.isWaitingForResponse=!1,this.config=(0,r.initConfig)(i),this.hexToRgb=r.hexToRgb,this.isGradient=r.isGradient,this.userManager=new r.ChatUserManager(this.config),this.storageManager=new r.ChatStorageManager(this.userManager,this.config),this.nativeFormManager=new o.NativeFormManager(this.userManager.domain,this.config.nativeForm),this.parlant=null,this.supabaseManager=null,this._lastSupabaseUserMessage=null,this.ensureDependencies().then(x(u().mark((function e(){var r,o,i,a;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.config.supabase.enabled){e.next=8;break}return e.next=3,Promise.resolve().then((function(){return v(n(3524))}));case 3:return r=e.sent,o=r.SupabaseManager,t.supabaseManager=new o(t.config.supabase),e.next=8,t.supabaseManager.initialize();case 8:if(!t.config.parlant.enabled){e.next=15;break}return e.next=11,Promise.resolve().then((function(){return v(n(5912))}));case 11:i=e.sent,a=i.ParlantIntegration,t.parlant=new a(t),t.parlant.initialize();case 15:return t.initializeWidget(),t.setupEventListeners(),t.storageManager.setWidget(t),e.next=20,t.loadChatHistory();case 20:t.setupEraseButton();case 21:case"end":return e.stop()}}),e)})))),this.activeForm=null,window.chatWidgetInstances||(window.chatWidgetInstances=[]),window.chatWidgetInstances.push(this),r.togglePositions[this.config.position]||(console.warn('Invalid position "'.concat(this.config.position,'". Falling back to bottom-right.')),this.config.position="bottom-right")},t=[{key:"getCurrentTheme",value:function(){return(0,r.getCurrentTheme)(this.config.theme)}},{key:"getThemeColor",value:function(e){return(0,r.getThemeColor)(e,this.config.theme)}},{key:"applyTheme",value:function(){(0,o.applyTheme)(this)}},{key:"formatTimestamp",value:function(e){return(0,r.formatTimestamp)(e)}},{key:"generateAiAvatar",value:function(){return(0,r.generateAvatarHtml)(this.config.aiAvatar,this.config.botName,{showAvatar:this.config.showAiAvatar,forGreeting:!1})}},{key:"generateGreetingAvatar",value:function(){return(0,r.generateAvatarHtml)(this.config.aiAvatar,this.config.botName,{forGreeting:!0})}},{key:"updateFontSize",value:function(e){var t=parseInt(e,10),n="".concat(Math.min(Math.max(t,14),25),"px");this.config.fontSize=n,document.documentElement.style.setProperty("--chat-message-font-size",n)}},{key:"ensureDependencies",value:(g=x(u().mark((function e(){var t,r;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.config.enableMarkdown||window.marked){e.next=17;break}return e.prev=1,e.next=4,Promise.resolve().then((function(){return v(n(6709))}));case 4:r=e.sent,window.marked=r.marked||r.default||r,e.next=17;break;case 8:return e.prev=8,e.t0=e.catch(1),e.prev=10,e.next=13,this.loadScript("https://cdn.jsdelivr.net/npm/marked@9.1.6/marked.min.js");case 13:e.next=17;break;case 15:e.prev=15,e.t1=e.catch(10);case 17:this.config.enableMarkdown&&"function"!=typeof(null===(t=window.marked)||void 0===t?void 0:t.parse)&&(this.config.enableMarkdown=!1),this.loadStyles();case 19:case"end":return e.stop()}}),e,this,[[1,8],[10,15]])}))),function(){return g.apply(this,arguments)})},{key:"loadScript",value:function(e){return(0,r.loadScript)(e)}},{key:"loadStyles",value:function(){(0,o.loadStyles)(this)}},{key:"createWidget",value:function(){(0,o.createWidget)(this)}},{key:"initializeWidget",value:function(){(0,o.initializeWidget)(this)}},{key:"setupEventListeners",value:function(){(0,o.setupEventListeners)(this)}},{key:"setupClickOutsideToClose",value:function(){(0,o.setupClickOutsideToClose)(this)}},{key:"setupSuggestionChips",value:function(){(0,o.setupSuggestionChips)(this)}},{key:"disableChips",value:function(){(0,o.disableChips)(this)}},{key:"enableChips",value:function(){(0,o.enableChips)(this)}},{key:"typeWriter",value:function(e,t,n){(0,o.typeWriter)(this,e,t,n)}},{key:"disableSendingFunctionality",value:function(){(0,o.disableSendingFunctionality)(this)}},{key:"enableSendingFunctionality",value:function(){(0,o.enableSendingFunctionality)(this)}},{key:"forceEnableInput",value:function(){(0,o.forceEnableInput)(this)}},{key:"ensureTypingIndicatorAnimation",value:function(){(0,o.ensureTypingIndicatorAnimation)(this)}},{key:"repairTypingAnimation",value:function(){(0,o.repairTypingAnimation)(this)}},{key:"setupMobileFullscreenEnforcement",value:function(){(0,o.setupMobileFullscreenEnforcement)(this)}},{key:"startJavaScriptTypingAnimation",value:function(){(0,o.startJavaScriptTypingAnimation)(this)}},{key:"stopJavaScriptTypingAnimation",value:function(){(0,o.stopJavaScriptTypingAnimation)(this)}},{key:"addMessage",value:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};(0,o.addMessage)(this,e,t,n,r)}},{key:"setupCopyButtons",value:function(e,t){(0,o.setupCopyButtons)(this,e,t)}},{key:"setupMessageLinks",value:function(e){(0,o.setupMessageLinks)(this,e)}},{key:"sendMessage",value:(h=x(u().mark((function e(t){var n,r=arguments;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]&&r[1],e.abrupt("return",(0,o.sendMessage)(this,t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"isMobileBrowser",value:function(){return(0,r.isMobileBrowser)()}},{key:"toggleChat",value:function(){(0,o.toggleChat)(this)}},{key:"closeChat",value:function(){(0,o.closeChat)(this)}},{key:"openChat",value:function(){(0,o.openChat)(this)}},{key:"updateToggleIcon",value:function(e){(0,o.updateToggleIcon)(this,e)}},{key:"setupCleanMobileInput",value:function(e){(0,o.setupCleanMobileInput)(this,e)}},{key:"setupDesktopInput",value:function(e){(0,o.setupDesktopInput)(this,e)}},{key:"enableMobileInputInteraction",value:function(e){(0,o.enableMobileInputInteraction)(this,e)}},{key:"scrollToTypingIndicator",value:function(){(0,o.scrollToTypingIndicator)(this)}},{key:"formatRequestData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,r.formatRequestData)(this.config,this.userManager,e,t)}},{key:"updateFilePreview",value:function(e,t){(0,o.updateFilePreview)(this,e,t)}},{key:"formatFileSize",value:function(e){return(0,r.formatFileSize)(e)}},{key:"sendMessageWithFiles",value:(m=x(u().mark((function e(t){var n,r=arguments;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:[],e.abrupt("return",(0,o.sendMessageWithFiles)(this,t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return m.apply(this,arguments)})},{key:"makeApiCall",value:(f=x(u().mark((function e(t){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,o.makeApiCall)(this,t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"processApiResponse",value:function(e,t){(0,o.processApiResponse)(this,e,t)}},{key:"handleApiError",value:function(e,t){(0,o.handleApiError)(this,e,t)}},{key:"updateUIForSending",value:function(e,t){(0,o.updateUIForSending)(this,e,t)}},{key:"resetUIAfterSending",value:function(e){(0,o.resetUIAfterSending)(this,e)}},{key:"loadChatHistory",value:(d=x(u().mark((function e(){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,o.loadChatHistory)(this));case 1:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"updateConfig",value:(p=x(u().mark((function e(t){var o,i;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.config=(0,r.initConfig)(s(s({},this.config),t)),this.storageManager&&(this.storageManager.config=this.config,this.storageManager.enableHistory=!1!==this.config.enableHistory,this.storageManager.maxHistoryLength=this.config.maxHistoryLength||100),!this.config.supabase.enabled){e.next=12;break}return e.next=5,Promise.resolve().then((function(){return v(n(3524))}));case 5:return o=e.sent,i=o.SupabaseManager,this.supabaseManager=new i(this.config.supabase),e.next=10,this.supabaseManager.initialize();case 10:e.next=13;break;case 12:this.supabaseManager=null;case 13:return this.destroy(),this.createWidget(),this.initializeWidget(),this.loadStyles(),this.setupEventListeners(),e.next=20,this.loadChatHistory();case 20:this.setupEraseButton();case 21:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"destroy",value:function(){(0,o.destroy)(this)}},{key:"setupEraseButton",value:function(){(0,o.setupEraseButton)(this)}},{key:"eraseChat",value:function(){(0,o.eraseChat)(this)}},{key:"addGreetingMessage",value:function(){(0,o.addGreetingMessage)(this)}},{key:"synchronizeGreetingWidth",value:function(e){(0,o.synchronizeGreetingWidth)(this,e)}},{key:"ensureGreetingMessageWithAvatar",value:function(){(0,o.ensureGreetingMessageWithAvatar)(this)}},{key:"ensureSendButtonIconSize",value:function(){(0,o.ensureSendButtonIconSize)(this)}},{key:"applyToggleButtonAnimation",value:function(){(0,o.applyToggleButtonAnimation)(this)}},{key:"forceStyleReapplication",value:function(){(0,o.forceStyleReapplication)(this)}},{key:"disableToggleButtonAnimation",value:function(){(0,o.disableToggleButtonAnimation)(this)}},{key:"enableToggleButtonAnimation",value:function(){(0,o.enableToggleButtonAnimation)(this)}},{key:"setupTextBoxEventListeners",value:function(){(0,o.setupTextBoxEventListeners)(this)}},{key:"setupResponsiveHandling",value:function(){(0,o.setupResponsiveHandling)(this)}},{key:"scrollChatToBottom",value:function(){(0,o.scrollChatToBottom)(this)}},{key:"scrollToShowNewMessage",value:function(e){(0,o.scrollToShowNewMessage)(this,e)}},{key:"scrollToBottom",value:function(){(0,o.scrollToBottom)(this)}},{key:"scrollToLastUserMessage",value:function(){(0,o.scrollToLastUserMessage)(this)}},{key:"scrollToLatestMessage",value:function(){(0,o.scrollToLatestMessage)(this)}},{key:"setupScrollContainment",value:function(){(0,o.setupScrollContainment)(this)}},{key:"deleteBackendHistory",value:function(){return(0,o.deleteBackendHistory)(this)}},{key:"setupMessageActions",value:function(e,t){(0,o.setupMessageActions)(this,e,t)}},{key:"updateLastBotMessage",value:function(){(0,o.updateLastBotMessage)(this)}},{key:"hideGreetingActions",value:function(){(0,o.hideGreetingActions)(this)}},{key:"updateStorageAfterRegeneration",value:(l=x(u().mark((function e(t,n){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,o.updateStorageAfterRegeneration)(this,t,n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return l.apply(this,arguments)})},{key:"sendFeedback",value:(c=x(u().mark((function e(t,n){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,o.sendFeedback)(this,t,n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"saveFeedbackState",value:function(e,t){(0,o.saveFeedbackState)(this,e,t)}},{key:"restoreFeedbackState",value:function(e,t){(0,o.restoreFeedbackState)(this,e,t)}},{key:"checkForTriggerWords",value:function(e){return(0,o.checkForTriggerWords)(this,e)}},{key:"isFormActive",value:function(){return(0,o.isFormActive)(this)}},{key:"showHubSpotForm",value:function(){(0,o.showHubSpotForm)(this)}},{key:"setupHubSpotFormHandlers",value:function(e){(0,o.setupHubSpotFormHandlers)(this,e)}},{key:"submitToHubSpot",value:(a=x(u().mark((function e(t){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(0,o.submitToHubSpot)(this,t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"disableChatFunctionality",value:function(){(0,o.disableChatFunctionality)(this)}},{key:"enableChatFunctionality",value:function(){(0,o.enableChatFunctionality)(this)}},{key:"removeActiveForm",value:function(){(0,o.removeActiveForm)(this)}},{key:"showNativeForm",value:function(){(0,o.showNativeForm)(this)}},{key:"setupNativeFormHandlers",value:function(e,t){(0,o.setupNativeFormHandlers)(this,e,t)}}],t&&w(e.prototype,t),i&&w(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,i,a,c,l,p,d,f,m,h,g}();e.exports?e.exports=S:"undefined"!=typeof window&&(window.Chatnest=S,window.EasyChatWidget=S),"undefined"!=typeof window&&window.addEventListener("beforeunload",(function(){window.chatWidgetInstances&&window.chatWidgetInstances.forEach((function(e){null!=e&&e.parlant&&e.parlant.cleanup()}))}))},4727:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,o(r.key),r)}}function o(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}function i(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch(e){console.warn("[Chatnest] localStorage write failed:",(null==e?void 0:e.message)||e)}}Object.defineProperty(t,"__esModule",{value:!0}),t.ChatStorageManager=void 0;t.ChatStorageManager=function(){return e=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.userManager=t,this.config=n,this.enableHistory=!1!==n.enableHistory,this.maxHistoryLength=n.maxHistoryLength||100,this.widget=null,this.domain=t.domain,this.path=t.path},t=[{key:"setWidget",value:function(e){this.widget=e}},{key:"getChatHistory",value:function(){var e=this;if(!this.enableHistory)return[];var t=function(e){try{var t=localStorage.getItem(e);return t?JSON.parse(t):null}catch(e){return null}}(this.userManager.getHistoryKey())||[];return this.config.separateSubpageHistory?t.filter((function(t){return!(t.domain&&t.domain!==e.domain||t.path&&t.path!==e.path)})):t.filter((function(t){return!t.domain||t.domain===e.domain}))}},{key:"saveMessage",value:function(e,t){var n,r,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(this.enableHistory){var s=this.userManager.getHistoryKey(),c=this.getChatHistory();if(o&&"bot"===t){var u=c.findLastIndex((function(e){return"user"===e.sender}));-1!==u&&(c=c.slice(0,u+1))}var l={message:e,sender:t,timestamp:(new Date).toISOString(),domain:this.domain,isRegenerated:o};(null===(n=a.files)||void 0===n?void 0:n.length)>0&&(l.files=a.files),(null===(r=a.products)||void 0===r?void 0:r.length)>0&&(l.products=a.products),this.config.separateSubpageHistory&&(l.path=this.path),c.push(l),c.length>this.maxHistoryLength&&(c=c.slice(-this.maxHistoryLength)),i(s,c)}}},{key:"saveParlantMessage",value:function(e,t,n){if(this.enableHistory){var r=this.userManager.getHistoryKey(),o=this.getChatHistory(),a={message:e,sender:t,timestamp:(new Date).toISOString(),domain:this.domain,queryId:n,userSessionId:this.userManager.userSessionId};this.config.separateSubpageHistory&&(a.path=this.path),o.push(a),o.length>this.maxHistoryLength&&(o=o.slice(-this.maxHistoryLength)),i(r,o)}}},{key:"clearHistory",value:function(){this.enableHistory&&i(this.userManager.getHistoryKey(),[])}}],t&&r(e.prototype,t),n&&r(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}()},3477:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function s(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.ChatUserManager=void 0;t.ChatUserManager=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=t,this.domain=this.getCurrentDomain(),this.path=this.getCurrentPath(),this.currentUser=this.generateUserId(),this.userSessionId=this.getOrCreateUserSessionId(),this.initializeUser(),this.formSubmissionsKey="chatFormSubmissions_".concat(this.domain),this.initializeFormSubmissions()},(t=[{key:"getCurrentDomain",value:function(){return window.location.hostname}},{key:"getCurrentPath",value:function(){return window.location.pathname}},{key:"generateUserId",value:function(){var e=this.config.separateSubpageHistory?"currentChatUser_".concat(this.domain).concat(this.path):"currentChatUser_".concat(this.domain),t=localStorage.getItem(e);if(!t){var n="user_".concat(this.domain).concat(Date.now(),"_").concat(Math.random().toString(36).substring(2,7));return localStorage.setItem(e,n),n}return t}},{key:"getOrCreateUserSessionId",value:function(){var e=this.config.separateSubpageHistory?"userSessionId_".concat(this.domain).concat(this.path):"userSessionId_".concat(this.domain),t=localStorage.getItem(e);return t||(t="session_".concat(Date.now(),"_").concat(Math.random().toString(36).substring(2,11)),localStorage.setItem(e,t)),t}},{key:"getHistoryKey",value:function(){return this.config.separateSubpageHistory?"chatHistory_".concat(this.domain).concat(this.path):"chatHistory_".concat(this.domain)}},{key:"initializeUser",value:function(){if(this.config.enableHistory){var e=this.getHistoryKey();localStorage.getItem(e)||localStorage.setItem(e,JSON.stringify([]))}}},{key:"initializeFormSubmissions",value:function(){localStorage.getItem(this.formSubmissionsKey)||localStorage.setItem(this.formSubmissionsKey,JSON.stringify([]))}},{key:"hasSubmittedForm",value:function(){return JSON.parse(localStorage.getItem(this.formSubmissionsKey)||"[]").includes(this.currentUser)}},{key:"hasFormBeenShown",value:function(){var e="chatFormShown_".concat(this.currentUser);return"true"===localStorage.getItem(e)}},{key:"markFormAsShown",value:function(){var e="chatFormShown_".concat(this.currentUser);localStorage.setItem(e,"true")}},{key:"resetFormShownStatus",value:function(){var e="chatFormShown_".concat(this.currentUser);localStorage.removeItem(e)}},{key:"recordFormSubmission",value:function(e){var t=JSON.parse(localStorage.getItem(this.formSubmissionsKey)||"[]");if(!t.includes(this.currentUser)){t.push(this.currentUser),localStorage.setItem(this.formSubmissionsKey,JSON.stringify(t));var n="chatFormData_".concat(this.currentUser);localStorage.setItem(n,JSON.stringify(o(o({},e),{},{submittedAt:(new Date).toISOString()})))}}},{key:"loadUserData",value:function(){var e=this.getHistoryKey();return{userId:this.currentUser,domain:this.domain,path:this.path,chatHistory:JSON.parse(localStorage.getItem(e))||[]}}},{key:"updateUserIdWithEmail",value:function(e){var t=this.config.separateSubpageHistory?"currentChatUser_".concat(this.domain).concat(this.path):"currentChatUser_".concat(this.domain);localStorage.setItem(t,e),this.currentUser=e}}])&&a(e.prototype,t),n&&a(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}()},5029:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Object.defineProperty(t,"__esModule",{value:!0}),t.formatRequestData=function(e,t,n){var o,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];o="function"==typeof e.userId?e.userId(t):"string"==typeof e.userId&&e.userId.trim()?e.userId.trim():t.currentUser;var a=r(r(r({},e.apiRequestFormat.query,n),e.apiRequestFormat.userId,o),e.apiRequestFormat.domain,t.domain);i&&i.length>0&&("form-data"===e.apiDataFormat&&1===i.length?a.image=i[0]:(i.forEach((function(e,t){a["file_".concat(t)]=e})),a.fileCount=i.length));if(e.transformRequest)return e.transformRequest(a);return a}},942:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Object.defineProperty(t,"__esModule",{value:!0}),t.deleteBackendHistory=function(e){if(e.config.parlant.enabled)return Promise.resolve({message:"Parlant mode: backend history deletion skipped"});var t=e.userManager.currentUser,n=e.userManager.domain;return fetch(e.config.deleteEndpoint,{method:"DELETE",headers:o(o({},e.config.apiHeaders),{},{"Content-Type":"application/json"}),body:JSON.stringify({userId:t,domain:n})}).then((function(e){if(!e.ok)throw new Error("HTTP error! status: ".concat(e.status));return e.json()}))}},3009:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.handleApiError=function(e,t,n){var r,o,i,a,s;console.error("[Chatnest] API Error:",t),n&&n.classList.remove("active");e.stopJavaScriptTypingAnimation();var c="Sorry, there was an error processing your request.";"AbortError"===(null==t?void 0:t.name)?c="Request timed out. Please try again.":null!=t&&null!==(r=t.message)&&void 0!==r&&r.includes("SSL_PROTOCOL_ERROR")?c="A secure connection error occurred. Please ensure the server supports HTTPS.":null!=t&&null!==(o=t.message)&&void 0!==o&&o.includes("Failed to fetch")&&(c="Unable to connect to the server. Please check your internet connection and try again.");e.addMessage(c,"bot",!1,{isError:!0,skipMessageActions:!0}),e.storageManager.saveMessage(c,"bot"),e.isWaitingForResponse=!1,e.enableSendingFunctionality(),e.forceEnableInput();var u=null===(i=e.widget)||void 0===i?void 0:i.querySelector(".chat-input-container");if(u){u.classList.remove("sending"),u.classList.add("send-failed");var l=u.querySelector(".cn-send-status");l||((l=document.createElement("div")).className="cn-send-status",u.appendChild(l)),l.innerHTML="",l.setAttribute("role","alert"),l.setAttribute("aria-live","assertive");var p=document.createElement("span");p.className="cn-send-status-text",p.textContent="Failed to send";var d=document.createElement("button");d.type="button",d.className="cn-retry-btn",d.textContent="Retry",d.setAttribute("aria-label","Retry sending the message"),d.addEventListener("click",(function(){var t;u.classList.remove("send-failed"),l.remove();var n=null===(t=e.widget)||void 0===t?void 0:t.querySelector(".chat-input .chat-textarea");n&&n.focus()})),l.appendChild(p),l.appendChild(d)}null===(a=(s=e.config).onError)||void 0===a||a.call(s,t)}},7421:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"deleteBackendHistory",{enumerable:!0,get:function(){return l.deleteBackendHistory}}),Object.defineProperty(t,"handleApiError",{enumerable:!0,get:function(){return i.handleApiError}}),Object.defineProperty(t,"makeApiCall",{enumerable:!0,get:function(){return r.makeApiCall}}),Object.defineProperty(t,"processApiResponse",{enumerable:!0,get:function(){return o.processApiResponse}}),Object.defineProperty(t,"resetUIAfterSending",{enumerable:!0,get:function(){return u.resetUIAfterSending}}),Object.defineProperty(t,"sendMessage",{enumerable:!0,get:function(){return a.sendMessage}}),Object.defineProperty(t,"sendMessageWithFiles",{enumerable:!0,get:function(){return s.sendMessageWithFiles}}),Object.defineProperty(t,"updateUIForSending",{enumerable:!0,get:function(){return c.updateUIForSending}});var r=n(2787),o=n(1765),i=n(3009),a=n(5056),s=n(6285),c=n(4533),u=n(1356),l=n(942)},2787:(e,t)=>{function n(){var e=c(),t=e.m(n),u=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===u||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function f(e){var t,n;return function(o){t||(t={stop:function(){return n(o.a,2)},catch:function(){return o.v},abrupt:function(e,t){return n(o.a,d[e],t)},delegateYield:function(e,i,a){return t.resultName=i,n(o.d,r(e),a)},finish:function(e){return n(o.f,e)}},n=function(e,n,r){o.p=t.prev,o.n=t.next;try{return e(n,r)}finally{t.next=o.n}}),t.resultName&&(t[t.resultName]=o.v,t.resultName=void 0),t.sent=o.v,t.next=o.n;try{return e.call(this,t)}finally{o.p=t.prev,o.n=t.next}}}return(n=function(){return{wrap:function(t,n,r,o){return e.w(f(t),n,r,o&&o.reverse())},isGeneratorFunction:p,mark:e.m,awrap:function(e,t){return new l(e,t)},AsyncIterator:s,async:function(e,t,n,r,o){return(p(t)?a:i)(f(e),t,n,r,o)},keys:o,values:r}})()}function r(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(p(e)+" is not iterable")}function o(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function i(e,t,n,r,o){var i=a(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function a(e,t,n,r,o){return new s(c().w(e,t,n,r),o||Promise)}function s(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof l?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(u(s.prototype),u(s.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),u(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function c(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return u(l,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),l}var a={};function s(){}function l(){}function p(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(u(t={},r,(function(){return this})),t),f=p.prototype=s.prototype=Object.create(d);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,u(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return l.prototype=p,u(f,"constructor",p),u(p,"constructor",l),l.displayName="GeneratorFunction",u(p,o,"GeneratorFunction"),u(f),u(f,o,"Generator"),u(f,r,(function(){return this})),u(f,"toString",(function(){return"[object Generator]"})),(c=function(){return{w:i,m}})()}function u(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}u=function(e,t,n,r){function i(t,n){u(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},u(e,t,n,r)}function l(e,t){this.v=e,this.k=t}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=p(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==p(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function g(){var e;return e=n().mark((function e(t,r){var o,i,a,s,c,u,l,d,m,h,g,b,v;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=f({},t.config.apiHeaders),t.config.apiKey&&(i.Authorization="Bearer ".concat(t.config.apiKey)),a=t.config.useMultipartFormData||(null===(o=t.config.apiHeaders["Content-Type"])||void 0===o?void 0:o.includes("multipart/form-data"))||"POST"===t.config.apiMethod&&t.config.apiEndpoint.includes("upload")||"form-data"===t.config.apiDataFormat,c=f({},i),a?(u=new FormData,Object.keys(r).forEach((function(e){var t=r[e];t instanceof File||t instanceof Blob?u.append(e,t):"object"===p(t)&&null!==t?u.append(e,JSON.stringify(t)):u.append(e,String(t))})),s=u,delete c["Content-Type"]):(s=JSON.stringify(r),c["Content-Type"]="application/json"),l=new AbortController,d=setTimeout((function(){return l.abort()}),t.config.apiTimeout),e.prev=7,e.next=10,fetch(t.config.apiEndpoint,{method:t.config.apiMethod,headers:c,body:s,signal:l.signal});case 10:if((m=e.sent).ok){e.next=13;break}throw new Error("HTTP error! status: ".concat(m.status," - ").concat(m.statusText));case 13:if(!(h=m.headers.get("content-type"))||!h.includes("application/json")){e.next=21;break}return e.next=17,m.json();case 17:return g=e.sent,e.abrupt("return",g);case 21:if(!h||!h.includes("text/")){e.next=28;break}return e.next=24,m.text();case 24:return b=e.sent,e.abrupt("return",{response:b});case 28:return e.next=30,m.blob();case 30:return v=e.sent,e.abrupt("return",{response:URL.createObjectURL(v)});case 32:e.next=49;break;case 34:if(e.prev=34,e.t0=e.catch(7),"AbortError"!==e.t0.name){e.next=40;break}throw new Error("Request timed out. Please try again.");case 40:if(!e.t0.message.includes("Failed to fetch")){e.next=44;break}throw new Error("Network error. Please check your internet connection.");case 44:if(!e.t0.message.includes("SSL_PROTOCOL_ERROR")){e.next=48;break}throw new Error("Secure connection error. Please ensure the server supports HTTPS.");case 48:throw e.t0;case 49:return e.prev=49,clearTimeout(d),e.finish(49);case 52:case"end":return e.stop()}}),e,null,[[7,34,49,52]])})),g=function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){h(i,r,o,a,s,"next",e)}function s(e){h(i,r,o,a,s,"throw",e)}a(void 0)}))},g.apply(this,arguments)}Object.defineProperty(t,"__esModule",{value:!0}),t.makeApiCall=function(e,t){return g.apply(this,arguments)}},1765:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processApiResponse=function(e,t,n){var o;n&&n.classList.remove("active");e.stopJavaScriptTypingAnimation();var i=(0,r.extractResponseText)(t,e.config),a=i.text,s=i.products;null===(o=e.widget)||void 0===o||null===(o=o.querySelector(".chat-window"))||void 0===o||o.classList.add("active"),e.addMessage(a,"bot",!0,{products:s}),e.storageManager.saveMessage(a,"bot")};var r=n(4960)},1356:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resetUIAfterSending=function(e,t){var n;e.isWaitingForResponse=!1,e.isTypewriterActive||e.enableSendingFunctionality();t.classList.remove("active"),e.stopJavaScriptTypingAnimation();var r=null===(n=e.widget)||void 0===n?void 0:n.querySelector(".chat-input-container");if(r){r.classList.remove("sending","send-failed");var o=r.querySelector(".cn-send-status");o&&o.remove()}}},5056:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.sendMessage=function(e,t){return h.apply(this,arguments)};var o=n(4960);function i(){var e=p(),t=e.m(i),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function r(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var o={throw:1,return:2,break:3,continue:3};function d(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,o[e],t)},delegateYield:function(e,o,i){return t.resultName=o,n(r.d,a(e),i)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(i=function(){return{wrap:function(t,n,r,o){return e.w(d(t),n,r,o&&o.reverse())},isGeneratorFunction:r,mark:e.m,awrap:function(e,t){return new f(e,t)},AsyncIterator:l,async:function(e,t,n,o,i){return(r(t)?u:c)(d(e),t,n,o,i)},keys:s,values:a}})()}function a(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(r(e)+" is not iterable")}function s(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function c(e,t,n,r,o){var i=u(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function u(e,t,n,r,o){return new l(p().w(e,t,n,r),o||Promise)}function l(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof f?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(d(l.prototype),d(l.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),d(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function p(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return d(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function u(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(d(t={},r,(function(){return this})),t),f=u.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,d(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=u,d(f,"constructor",u),d(u,"constructor",c),c.displayName="GeneratorFunction",d(u,o,"GeneratorFunction"),d(f),d(f,o,"Generator"),d(f,r,(function(){return this})),d(f,"toString",(function(){return"[object Generator]"})),(p=function(){return{w:i,m}})()}function d(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}d=function(e,t,n,r){function i(t,n){d(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},d(e,t,n,r)}function f(e,t){this.v=e,this.k=t}function m(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function h(){var e;return e=i().mark((function e(t,n){var r,a,s,c,u,l,p,d,f,m,h,g,b,v,y,x,w,k=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=k.length>2&&void 0!==k[2]&&k[2],!t.isWaitingForResponse&&!t.isTypewriterActive){e.next=3;break}return e.abrupt("return");case 3:if(t.widget){e.next=5;break}return e.abrupt("return");case 5:if(a=t.widget.querySelector(".chat-input .chat-textarea"),s=t.widget.querySelector(".typing-indicator"),a&&s){e.next=9;break}return e.abrupt("return");case 9:if(c=function(){a.value="",t.isMobileBrowser()&&t.config.enableEnhancedMobileInput?a.removeAttribute("readonly"):a.setAttribute("readonly","true"),a.classList.remove("cursor-active"),t.isMobileBrowser()?setTimeout((function(){t.enableMobileInputInteraction(a)}),100):a.focus()},u=function(){t.isWaitingForResponse=!0,t.disableSendingFunctionality(),s.classList.add("active"),setTimeout((function(){return t.startJavaScriptTypingAnimation()}),100)},l=function(){t.isWaitingForResponse=!1,t.enableSendingFunctionality(),s.classList.remove("active"),t.stopJavaScriptTypingAnimation()},e.prev=12,u(),r||(t._userHasScrolledUp=!1,t.addMessage(n,"user"),t.storageManager.saveMessage(n,"user"),null!==(p=t.supabaseManager)&&void 0!==p&&p.isReady&&(t._lastSupabaseUserMessage=n)),!t.parlant||!t.config.parlant.apiBaseUrl){e.next=20;break}return e.next=18,t.parlant.sendMessage(n,{disableSending:u,enableSending:l,resetInputState:c,forceEnableInput:t.forceEnableInput.bind(t)});case 18:e.next=43;break;case 20:return f=t.formatRequestData(n),e.next=23,t.makeApiCall(f);case 23:if(m=e.sent,h=(0,o.extractResponseText)(m,t.config),g=h.text,b=h.products,(v=(0,o.splitResponseByTripleComma)(g)).forEach((function(e,n){var r=n===v.length-1;t.addMessage(e,"bot",!0,{products:0===n?b:[],skipMessageActions:!r})})),(0,o.isEmptyResponse)(g)||t.storageManager.saveMessage(g,"bot",r,{products:b}),null===(d=t.supabaseManager)||void 0===d||!d.isReady||r||(0,o.isEmptyResponse)(g)){e.next=41;break}return y=t.userManager.currentUser,x=t.userManager.domain,w=t._lastSupabaseUserMessage||n,t._lastSupabaseUserMessage=null,e.prev=33,e.next=36,t.supabaseManager.saveChatPair(y,x,w,g);case 36:e.next=41;break;case 38:e.prev=38,e.t0=e.catch(33),console.error("[Supabase] background save failed:",e.t0);case 41:l(),c();case 43:e.next=52;break;case 45:e.prev=45,e.t1=e.catch(12),console.error("API Error:",e.t1),t.addMessage("Sorry, there was an error processing your request.","bot",!1,{isError:!0}),l(),c(),t.forceEnableInput();case 52:case"end":return e.stop()}}),e,null,[[12,45],[33,38]])})),h=function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){m(i,r,o,a,s,"next",e)}function s(e){m(i,r,o,a,s,"throw",e)}a(void 0)}))},h.apply(this,arguments)}},6285:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendMessageWithFiles=function(e,t){return y.apply(this,arguments)};var r=n(9687),o=n(4960);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(){var e=d(),t=e.m(a),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function r(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var o={throw:1,return:2,break:3,continue:3};function i(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,o[e],t)},delegateYield:function(e,o,i){return t.resultName=o,n(r.d,s(e),i)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(a=function(){return{wrap:function(t,n,r,o){return e.w(i(t),n,r,o&&o.reverse())},isGeneratorFunction:r,mark:e.m,awrap:function(e,t){return new m(e,t)},AsyncIterator:p,async:function(e,t,n,o,a){return(r(t)?l:u)(i(e),t,n,o,a)},keys:c,values:s}})()}function s(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(i(e)+" is not iterable")}function c(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function u(e,t,n,r,o){var i=l(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function l(e,t,n,r,o){return new p(d().w(e,t,n,r),o||Promise)}function p(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof m?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(f(p.prototype),f(p.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),f(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function d(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return f(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function u(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(f(t={},r,(function(){return this})),t),p=u.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,f(e,o,"GeneratorFunction")),e.prototype=Object.create(p),e}return c.prototype=u,f(p,"constructor",u),f(u,"constructor",c),c.displayName="GeneratorFunction",f(u,o,"GeneratorFunction"),f(p),f(p,o,"Generator"),f(p,r,(function(){return this})),f(p,"toString",(function(){return"[object Generator]"})),(d=function(){return{w:i,m}})()}function f(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}f=function(e,t,n,r){function i(t,n){f(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},f(e,t,n,r)}function m(e,t){this.v=e,this.k=t}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function y(){var e;return e=a().mark((function e(t,n){var i,s,c,u,l,p,d,f,m,h,b,v,y,x=arguments;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=x.length>2&&void 0!==x[2]?x[2]:[],!t.isWaitingForResponse&&!t.isTypewriterActive){e.next=3;break}return e.abrupt("return");case 3:if(t.widget){e.next=5;break}return e.abrupt("return");case 5:if(s=t.widget.querySelector(".chat-input .chat-textarea"),c=t.widget.querySelector(".typing-indicator"),s&&c){e.next=9;break}return e.abrupt("return");case 9:if(u=g({},t.config.apiHeaders),e.prev=10,t.isWaitingForResponse=!0,t.disableSendingFunctionality(),c.classList.add("active"),setTimeout((function(){return t.startJavaScriptTypingAnimation()}),100),t._userHasScrolledUp=!1,t.addMessage(n,"user",!0,{files:i}),!((p=i.filter((function(e){return e&&e.type&&e.type.startsWith("image/")}))).length>0)){e.next=24;break}return e.next=21,Promise.all(p.map((function(e){return(0,r.fileToBase64)(e)})));case 21:e.t0=e.sent,e.next=25;break;case 24:e.t0=[];case 25:return d=e.t0,t.storageManager.saveMessage(n,"user",!1,{files:d}),f=t.formatRequestData(n,i),t.config.apiHeaders["Content-Type"]="multipart/form-data",e.next=31,t.makeApiCall(f);case 31:m=e.sent,h=(0,o.extractResponseText)(m,t.config),b=h.text,v=h.products,(y=(0,o.splitResponseByTripleComma)(b)).forEach((function(e,n){var r=n===y.length-1;t.addMessage(e,"bot",!0,{products:0===n?v:[],skipMessageActions:!r})})),(0,o.isEmptyResponse)(b)||t.storageManager.saveMessage(b,"bot",!1,{products:v}),null!==(l=t.supabaseManager)&&void 0!==l&&l.isReady&&!(0,o.isEmptyResponse)(b)&&t.supabaseManager.saveChatPair(t.userManager.currentUser,t.userManager.domain,n,b).catch((function(e){return console.error("[Supabase] save failed:",e)})),e.next=43;break;case 39:e.prev=39,e.t1=e.catch(10),console.error("API Error:",e.t1),t.addMessage("Sorry, there was an error processing your request.","bot",!1,{isError:!0});case 43:return e.prev=43,t.config.apiHeaders=u,t.isWaitingForResponse=!1,t.enableSendingFunctionality(),c&&c.classList.remove("active"),t.stopJavaScriptTypingAnimation(),t.forceEnableInput(),s&&(s.value="",t.isMobileBrowser()&&t.config.enableEnhancedMobileInput?s.removeAttribute("readonly"):s.setAttribute("readonly","true"),s.classList.remove("cursor-active"),t.isMobileBrowser()?setTimeout((function(){return t.enableMobileInputInteraction(s)}),100):s.focus()),e.finish(43);case 52:case"end":return e.stop()}}),e,null,[[10,39,43,52]])})),y=function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){v(i,r,o,a,s,"next",e)}function s(e){v(i,r,o,a,s,"throw",e)}a(void 0)}))},y.apply(this,arguments)}},4533:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateUIForSending=function(e,t,n){var r;e._userHasScrolledUp=!1,e.addMessage(n.value.trim(),"user"),e.storageManager.saveMessage(n.value.trim(),"user"),n.value="",t.classList.add("active"),setTimeout((function(){return e.startJavaScriptTypingAnimation()}),100),e.isWaitingForResponse=!0,e.disableSendingFunctionality();var o=null===(r=e.widget)||void 0===r?void 0:r.querySelector(".chat-input-container");if(o){o.classList.add("sending"),o.classList.remove("send-failed");var i=o.querySelector(".cn-send-status");i||((i=document.createElement("div")).className="cn-send-status",o.appendChild(i)),i.textContent="Sending…",i.setAttribute("role","status"),i.setAttribute("aria-live","polite")}}},3639:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.closeChat=function(e){var t=e.widget.querySelector(".chat-window"),n=e.widget.querySelector(".chat-toggle"),r=e.widget.querySelector(".chat-input .chat-textarea");e.parlant&&e.parlant.stopPolling();r&&(r.classList.remove("cursor-active","mobile-focused"),r.blur(),r.style.caretColor="",e._mobileInputCleanup&&(e._mobileInputCleanup(),e._mobileInputCleanup=null));e.activeForm&&e.removeActiveForm();document.body.style.setProperty("overflow","","important"),document.body.style.setProperty("position","","important"),document.body.style.setProperty("width","","important"),document.documentElement.style.setProperty("overflow","","important");var o=e.widget.querySelector(".chat-messages");o&&(o.style.overflow="",o.style.overscrollBehavior="");t.classList.remove("active"),e.updateToggleIcon(!1),n&&(n.setAttribute("aria-expanded","false"),n.focus());setTimeout((function(){t.style.display="none";var n=e.widget.querySelector(".chat-text-box");n&&e.config.showTextBox&&!e._textBoxManuallyClosed&&(n.style.display="block",n.style.opacity="1",n.style.transform="translateY(0)"),e.enableToggleButtonAnimation()}),300)}},9745:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"closeChat",{enumerable:!0,get:function(){return o.closeChat}}),Object.defineProperty(t,"openChat",{enumerable:!0,get:function(){return i.openChat}}),Object.defineProperty(t,"toggleChat",{enumerable:!0,get:function(){return r.toggleChat}}),Object.defineProperty(t,"updateToggleIcon",{enumerable:!0,get:function(){return a.updateToggleIcon}});var r=n(8579),o=n(3639),i=n(2155),a=n(9849)},2155:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.openChat=function(e){var t=e.widget.querySelector(".chat-window"),n=e.widget.querySelector(".chat-input .chat-textarea"),r=e.widget.querySelector(".chat-text-box");r&&e.config.showTextBox&&!e._textBoxManuallyClosed&&(r.style.display="none");t.style.display="flex",e.updateToggleIcon(!0),e.disableToggleButtonAnimation(),requestAnimationFrame((function(){var r,o,i,a;t.classList.add("active"),window.innerWidth<=480&&(t.style.setProperty("position","fixed","important"),t.style.setProperty("top","0","important"),t.style.setProperty("left","0","important"),t.style.setProperty("right","0","important"),t.style.setProperty("bottom","0","important"),t.style.setProperty("width","100vw","important"),t.style.setProperty("height","var(--chat-mobile-vh, 100dvh)","important"),t.style.setProperty("min-width","100vw","important"),t.style.setProperty("max-width","100vw","important"),t.style.setProperty("min-height","var(--chat-mobile-vh, 100dvh)","important"),t.style.setProperty("max-height","var(--chat-mobile-vh, 100dvh)","important"),t.style.setProperty("margin","0","important"),t.style.setProperty("padding","0","important"),t.style.setProperty("border","none","important"),t.style.setProperty("border-radius","0","important"),t.style.setProperty("box-sizing","border-box","important"),t.style.setProperty("z-index","2147483647","important"),t.style.setProperty("background","white","important"),t.style.setProperty("overflow","hidden","important"),t.style.setProperty("transform","translateY(0)","important"),document.body.style.setProperty("overflow","hidden","important"),document.documentElement.style.setProperty("overflow","hidden","important")),e.isMobileBrowser()&&e.config.enableEnhancedMobileInput&&n&&!e._mobileInputSetup&&(e.setupCleanMobileInput(n),e._mobileInputSetup=!0),setTimeout((function(){if(n)n.focus({preventScroll:!0});else{var e=t.querySelector('button:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');e&&e.focus({preventScroll:!0})}}),50);var s=e.widget.querySelector(".chat-toggle");s&&s.setAttribute("aria-expanded","true"),setTimeout((function(){e.scrollToBottom()}),100),e.config.showFormOnStart&&null!==(r=e.config.hubspot)&&void 0!==r&&r.enabled&&!e.userManager.hasSubmittedForm()&&setTimeout((function(){e.showHubSpotForm()}),500),null===(o=e.config.nativeForm)||void 0===o||!o.enabled||"onOpen"!==(null===(i=e.config.nativeForm)||void 0===i?void 0:i.trigger)||null!==(a=e.nativeFormManager)&&void 0!==a&&a.hasSubmitted()||setTimeout((function(){e.showNativeForm()}),400)}))}},8579:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.toggleChat=function(e){var t,n=null===(t=e.widget)||void 0===t?void 0:t.querySelector(".chat-window");if(!n)return;n.classList.contains("active")?e.closeChat():e.openChat()}},9849:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateToggleIcon=function(e,t){var n=e.widget.querySelector(".chat-toggle");if(!n)return;if(n.setAttribute("aria-expanded",String(t)),n.setAttribute("aria-label",t?"Close chat":"Open chat"),t)n.innerHTML="<img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E\" alt=\"Close\">";else if(e.config.toggleButtonIcon){var r=e.config.toggleButtonIcon;r.length<=4&&/(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEDC-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9\uDEF0-\uDEF8])/.test(r)?n.innerHTML='<span style="font-size: 24px;">'.concat(r,"</span>"):r.startsWith("http")||r.startsWith("data:image")||r.startsWith("/")?n.innerHTML='<img src="'.concat(r,'" alt="Chat" style="width: 24px; height: 24px;">'):r.trim().startsWith("<svg")?n.innerHTML=r:n.innerHTML="<img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z'/%3E%3C/svg%3E\" alt=\"Chat\">"}else n.innerHTML="<img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z'/%3E%3C/svg%3E\" alt=\"Chat\">"}},655:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.disableChips=function(e){e.widget.querySelectorAll(".chip").forEach((function(e){return e.classList.add("disabled")}))}},6592:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.enableChips=function(e){e.widget.querySelectorAll(".chip").forEach((function(e){return e.classList.remove("disabled")}))}},4518:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"disableChips",{enumerable:!0,get:function(){return r.disableChips}}),Object.defineProperty(t,"enableChips",{enumerable:!0,get:function(){return o.enableChips}});var r=n(655),o=n(6592)},7310:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setupClickOutsideToClose",{enumerable:!0,get:function(){return a.setupClickOutsideToClose}}),Object.defineProperty(t,"setupEventListeners",{enumerable:!0,get:function(){return r.setupEventListeners}}),Object.defineProperty(t,"setupSuggestionChips",{enumerable:!0,get:function(){return o.setupSuggestionChips}}),Object.defineProperty(t,"setupTextBoxEventListeners",{enumerable:!0,get:function(){return i.setupTextBoxEventListeners}});var r=n(3098),o=n(4508),i=n(810),a=n(6065)},6065:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupClickOutsideToClose=function(e){e._outsideClickHandler&&document.removeEventListener("click",e._outsideClickHandler);e._outsideClickHandler=function(t){var n,r,o=null===(n=e.widget)||void 0===n?void 0:n.querySelector(".chat-window");null!=o&&o.classList.contains("active")&&(null!==(r=e.widget)&&void 0!==r&&r.contains(t.target)||e.closeChat())},document.addEventListener("click",e._outsideClickHandler)}},3098:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupEventListeners=function(e){var t=e.widget.querySelector(".chat-toggle"),n=e.widget.querySelector(".chat-window"),r=e.widget.querySelector(".close-chat"),o=(e.widget.querySelector(".erase-chat"),e.widget.querySelector(".chat-messages")),i=e.widget.querySelector(".chat-input .chat-textarea"),a=e.widget.querySelector(".send-button"),s=e.widget.querySelector(".file-button"),c=e.widget.querySelector(".file-input"),u=e.widget.querySelector(".file-preview");e.widget.querySelector(".typing-indicator");e.setupMobileFullscreenEnforcement();var l=[];e.config.enableFileUpload&&s&&c&&u&&(s.addEventListener("click",(function(){c.click()})),c.addEventListener("change",(function(t){var n=Array.from(t.target.files),r=e.config.maxFiles;l=1===r?n.length>0?[n[0]]:[]:l.concat(n),e.updateFilePreview(l,u)})),u.addEventListener("click",(function(t){if(t.target.classList.contains("remove-file")){var n=parseInt(t.target.dataset.index,10);l.splice(n,1),e.updateFilePreview(l,u)}})));t&&t.addEventListener("click",(function(){e.toggleChat()}));r&&r.addEventListener("click",(function(){e.closeChat()}));e._keydownHandler&&document.removeEventListener("keydown",e._keydownHandler);e._keydownHandler=function(t){var n,r=null===(n=e.widget)||void 0===n?void 0:n.querySelector(".chat-window");if(null==r?void 0:r.classList.contains("active"))if("Escape"!==t.key){if("Tab"===t.key){var o=function(){var t,n=null===(t=e.widget)||void 0===t?void 0:t.querySelector(".chat-window");return n?Array.from(n.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter((function(e){return!e.closest('[style*="display: none"]')&&!e.closest("[hidden]")})):[]}();if(0===o.length)return;var i=o[0],a=o[o.length-1];t.shiftKey?document.activeElement===i&&(t.preventDefault(),a.focus()):document.activeElement===a&&(t.preventDefault(),i.focus())}}else e.closeChat()},document.addEventListener("keydown",e._keydownHandler),a&&(a.disabled=!1,a.style.opacity="1",a.style.pointerEvents="auto");var p=function(t){var n,r,o,a;t&&(t.preventDefault(),t.stopPropagation());var s=(i?i.value:"").replace(/\r\n/g,"\n");if(s.trim().length>0||e.config.enableFileUpload&&0!==l.length){if(!e.isWaitingForResponse&&!e.isTypewriterActive)if(null===(n=e.config.nativeForm)||void 0===n||!n.enabled||"onFirstMessage"!==(null===(r=e.config.nativeForm)||void 0===r?void 0:r.trigger)||null!==(o=e.nativeFormManager)&&void 0!==o&&o.hasSubmitted()){if(i){i.value="";try{i.style.height="auto"}catch(e){}}if(null!==(a=e.config.hubspot)&&void 0!==a&&a.enabled&&!e.userManager.hasSubmittedForm()&&s.trim())e.checkForTriggerWords(s)&&setTimeout((function(){return e.showHubSpotForm()}),200);e.config.enableFileUpload&&l.length>0?(e.sendMessageWithFiles(s,l),l=[],u&&e.updateFilePreview(l,u),c&&(c.value="")):e.sendMessage(s)}else e.showNativeForm()}else i&&i.focus()};if(a)try{a.style.touchAction="manipulation"}catch(e){}var d=!1;a&&(a.addEventListener("pointerdown",(function(e){e&&e.stopPropagation(),a.classList.add("is-pressing")}),{passive:!0}),a.addEventListener("pointerup",(function(e){a.classList.remove("is-pressing"),e&&e.stopPropagation(),e&&e.pointerType&&"mouse"!==e.pointerType&&(d=!0,setTimeout((function(){d=!1}),400),p(e))}),{passive:!1}),a.addEventListener("pointercancel",(function(){a.classList.remove("is-pressing")}),{passive:!0}),a.addEventListener("click",(function(e){e&&e.stopPropagation(),d?e&&e.preventDefault():p(e)})));if(i){i.addEventListener("keydown",(function(t){if("Enter"===t.key)return t.ctrlKey||t.metaKey?(t.preventDefault(),void p(t)):void(e.isMobileBrowser()||t.shiftKey||(t.preventDefault(),p(t)))})),i.addEventListener("input",(function(){if(e.isMobileBrowser())a&&(a.style.opacity="1");else{var t=!(i.value.trim()||e.config.enableFileUpload&&0!==l.length),n=e.isWaitingForResponse||e.isTypewriterActive;a&&(a.style.opacity=n?"0.6":t?"0.7":"1")}}));var f=function(){try{i.style.height="auto";var e=Math.min(i.scrollHeight,140);i.style.height="".concat(e,"px")}catch(e){}};f(),i.addEventListener("input",f),e.isMobileBrowser()&&e.config.enableEnhancedMobileInput?e.setupCleanMobileInput(i):e.setupDesktopInput(i)}n&&n.addEventListener("click",(function(e){e.stopPropagation()}));"ontouchstart"in window&&o&&(o.style.webkitOverflowScrolling="touch",o.style.overscrollBehavior="contain");o&&(e._userHasScrolledUp=!1,e._chatScrollHandler&&o.removeEventListener("scroll",e._chatScrollHandler),e._chatScrollHandler=function(){var t=Math.max(0,o.scrollHeight-o.clientHeight),n=t-o.scrollTop<80;e._userHasScrolledUp=!n&&t>100},o.addEventListener("scroll",e._chatScrollHandler));var m=function(){n&&(window.innerWidth<=480?n.style.setProperty("--chat-mobile-vh","".concat(Math.round(function(){try{var e=window.visualViewport;return e&&e.height?e.height:window.innerHeight}catch(e){return window.innerHeight}}()),"px")):n.style.removeProperty("--chat-mobile-vh"))};e._resizeHandler&&window.removeEventListener("resize",e._resizeHandler);e._orientationHandler&&window.removeEventListener("orientationchange",e._orientationHandler);e._vpResizeHandler&&window.visualViewport&&(window.visualViewport.removeEventListener("resize",e._vpResizeHandler),window.visualViewport.removeEventListener("scroll",e._vpResizeHandler));e._resizeHandler=m,e._orientationHandler=function(){setTimeout((function(){var t;m();var n=null===(t=e.widget)||void 0===t?void 0:t.querySelector(".chat-messages");n&&(n.scrollTop=n.scrollHeight)}),150)},e._vpResizeHandler=m,window.addEventListener("resize",e._resizeHandler),window.addEventListener("orientationchange",e._orientationHandler),window.visualViewport&&(window.visualViewport.addEventListener("resize",e._vpResizeHandler),window.visualViewport.addEventListener("scroll",e._vpResizeHandler));if(m(),!document.getElementById("chat-widget-input-styles")){var h=document.createElement("style");h.id="chat-widget-input-styles",h.textContent="\n .chat-input input:disabled,\n .chat-input .chat-textarea:disabled {\n background-color: #f3f4f6;\n cursor: not-allowed;\n opacity: 0.8;\n }\n .send-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n filter: grayscale(0.3);\n }\n\n /* Send status badge (Sending… / Failed) */\n .cn-send-status {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 2px 8px 4px;\n color: #6b7280;\n letter-spacing: 0.01em;\n }\n .chat-input-container.sending .cn-send-status {\n color: #6b7280;\n }\n .chat-input-container.send-failed .cn-send-status {\n color: #dc2626;\n }\n .cn-send-status-text {\n flex-shrink: 0;\n }\n .cn-retry-btn {\n background: none;\n border: 1px solid currentColor;\n border-radius: 4px;\n color: inherit;\n cursor: pointer;\n font-size: 11px;\n font-weight: 600;\n padding: 1px 7px;\n line-height: 1.4;\n transition: background 0.15s, color 0.15s;\n }\n .cn-retry-btn:hover {\n background: #dc2626;\n border-color: #dc2626;\n color: #fff;\n }\n .cn-retry-btn:focus-visible {\n outline: 2px solid #dc2626;\n outline-offset: 2px;\n }\n ",document.head.appendChild(h)}}},4508:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupSuggestionChips=function(e){e.widget.querySelectorAll(".chip").forEach((function(t){t.addEventListener("click",(function(){if(!e.isWaitingForResponse){var n=t.textContent;e.sendMessage(n),e.disableChips()}}))}));var t=document.createElement("style");t.textContent="\n .chip {\n transition: opacity 0.3s ease, background-color 0.3s ease;\n }\n\n .chip.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n background-color: #e0e0e0;\n }\n ",document.head.appendChild(t)}},810:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupTextBoxEventListeners=function(e){var t=e.widget.querySelector(".chat-text-box-close"),n=e.widget.querySelector(".chat-text-box");if(n){if(e.config.showTextBox)n.setAttribute("data-persistent","true"),n.style.pointerEvents="auto",n.style.visibility="visible",n.style.opacity="1",new MutationObserver((function(t){t.forEach((function(t){"childList"===t.type&&t.removedNodes.forEach((function(t){t===n&&e.config.showTextBox&&!e._textBoxManuallyClosed&&(console.warn("🛡️ Text box removal prevented - showTextBox is true"),e.widget.querySelector(".chat-text-box")||e.widget.insertBefore(n,e.widget.firstChild))}))}))})).observe(e.widget,{childList:!0,subtree:!0});t&&e.config.showTextBoxCloseButton&&t.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),e._textBoxManuallyClosed=!0,n.style.display="none"}))}}},4452:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreFeedbackState",{enumerable:!0,get:function(){return i.restoreFeedbackState}}),Object.defineProperty(t,"saveFeedbackState",{enumerable:!0,get:function(){return o.saveFeedbackState}}),Object.defineProperty(t,"sendFeedback",{enumerable:!0,get:function(){return r.sendFeedback}});var r=n(9615),o=n(9875),i=n(8620)},8620:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.restoreFeedbackState=function(e,t,n){try{var r="feedback_".concat(e.userManager.currentUser),o=localStorage.getItem(r),i=(o?JSON.parse(o):{})[n];if(!i)return;var a=null==t?void 0:t.querySelector(".like-btn"),s=null==t?void 0:t.querySelector(".dislike-btn");if(!a||!s)return;"like"===i?(a.classList.add("active"),s.classList.remove("active")):"dislike"===i&&(s.classList.add("active"),a.classList.remove("active"))}catch(e){}}},9875:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.saveFeedbackState=function(e,t,n){var r="feedback_".concat(e.userManager.currentUser),o=JSON.parse(localStorage.getItem(r)||"{}");"remove"===n?delete o[t]:o[t]=n;localStorage.setItem(r,JSON.stringify(o))}},9615:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(){var e=u(),t=e.m(r),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function l(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function f(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,d[e],t)},delegateYield:function(e,i,a){return t.resultName=i,n(r.d,o(e),a)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(r=function(){return{wrap:function(t,n,r,o){return e.w(f(t),n,r,o&&o.reverse())},isGeneratorFunction:l,mark:e.m,awrap:function(e,t){return new p(e,t)},AsyncIterator:c,async:function(e,t,n,r,o){return(l(t)?s:a)(f(e),t,n,r,o)},keys:i,values:o}})()}function o(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")}function i(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function a(e,t,n,r,o){var i=s(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function s(e,t,n,r,o){return new c(u().w(e,t,n,r),o||Promise)}function c(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof p?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(l(c.prototype),l(c.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),l(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function u(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return l(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function p(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(l(t={},r,(function(){return this})),t),f=p.prototype=s.prototype=Object.create(d);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=p,l(f,"constructor",p),l(p,"constructor",c),c.displayName="GeneratorFunction",l(p,o,"GeneratorFunction"),l(f),l(f,o,"Generator"),l(f,r,(function(){return this})),l(f,"toString",(function(){return"[object Generator]"})),(u=function(){return{w:i,m}})()}function l(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,t,n,r){function i(t,n){l(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},l(e,t,n,r)}function p(e,t){this.v=e,this.k=t}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function g(){var e;return e=r().mark((function e(t,n,o){var i,a;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.config.parlant.enabled){e.next=3;break}return t.saveFeedbackState(o,n),e.abrupt("return");case 3:if((i=t.config.feedbackEndpoint)&&!/your-api|example\.com|localhost:7000/.test(i)){e.next=7;break}return t.saveFeedbackState(o,n),e.abrupt("return");case 7:return e.prev=7,a={type:n,response:o,feedback:null,timestamp:(new Date).toISOString(),userId:t.userManager.currentUser,domain:t.userManager.domain},e.next=11,fetch(t.config.feedbackEndpoint,{method:"POST",headers:f({"Content-Type":"application/json"},t.config.apiHeaders),body:JSON.stringify(a)});case 11:if(e.sent.ok){e.next=14;break}throw new Error("Failed to send feedback");case 14:t.saveFeedbackState(o,n),e.next=20;break;case 17:e.prev=17,e.t0=e.catch(7),t.saveFeedbackState(o,n);case 20:case"end":return e.stop()}}),e,null,[[7,17]])})),g=function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){h(i,r,o,a,s,"next",e)}function s(e){h(i,r,o,a,s,"throw",e)}a(void 0)}))},g.apply(this,arguments)}Object.defineProperty(t,"__esModule",{value:!0}),t.sendFeedback=function(e,t,n){return g.apply(this,arguments)}},7374:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkForTriggerWords=function(e,t){var n;if(null===(n=e.config.hubspot)||void 0===n||!n.enabled)return!1;if(e.userManager.hasSubmittedForm())return!1;if(e.isFormActive())return!1;var r=t.toLowerCase().split(/\s+/);return e.config.hubspot.triggerKeywords.some((function(e){return r.includes(e.toLowerCase())}))}},249:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.disableChatFunctionality=function(e){if(!e.widget)return;var t=e.widget.querySelector(".chat-input .chat-textarea"),n=e.widget.querySelector(".send-button"),r=e.widget.querySelectorAll(".chip");if(t){var o;t.disabled=!0,null===(o=t.closest(".chat-input-container"))||void 0===o||o.classList.add("disabled")}n&&(n.style.opacity=e.isMobileBrowser()?"1":"0.6",n.style.pointerEvents="auto");r.forEach((function(e){e.style.opacity="0.5",e.style.pointerEvents="none"}))}},7886:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.enableChatFunctionality=function(e){if(!e.widget)return;var t=e.widget.querySelector(".chat-input .chat-textarea"),n=e.widget.querySelector(".send-button"),r=e.widget.querySelectorAll(".chip");t&&setTimeout((function(){var e;t.disabled=!1,t.style.opacity="1",t.style.pointerEvents="auto",null===(e=t.closest(".chat-input-container"))||void 0===e||e.classList.remove("disabled")}),0);n&&setTimeout((function(){n.style.opacity="1",n.style.pointerEvents="auto"}),100);r.forEach((function(e,t){setTimeout((function(){e.style.opacity="1",e.style.pointerEvents="auto"}),200+100*t)}))}},730:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"checkForTriggerWords",{enumerable:!0,get:function(){return i.checkForTriggerWords}}),Object.defineProperty(t,"disableChatFunctionality",{enumerable:!0,get:function(){return s.disableChatFunctionality}}),Object.defineProperty(t,"enableChatFunctionality",{enumerable:!0,get:function(){return c.enableChatFunctionality}}),Object.defineProperty(t,"isFormActive",{enumerable:!0,get:function(){return l.isFormActive}}),Object.defineProperty(t,"removeActiveForm",{enumerable:!0,get:function(){return a.removeActiveForm}}),Object.defineProperty(t,"setupHubSpotFormHandlers",{enumerable:!0,get:function(){return o.setupHubSpotFormHandlers}}),Object.defineProperty(t,"showHubSpotForm",{enumerable:!0,get:function(){return r.showHubSpotForm}}),Object.defineProperty(t,"submitToHubSpot",{enumerable:!0,get:function(){return u.submitToHubSpot}});var r=n(4148),o=n(6939),i=n(7374),a=n(7552),s=n(249),c=n(7886),u=n(1326),l=n(6012)},6012:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isFormActive=function(e){return!!e.activeForm||!!e.widget.querySelector(".hubspot-form-modal-overlay")}},7552:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.removeActiveForm=function(e){if(e.activeForm)try{console.log("Removing active form...");var t=e.widget.querySelector(".chat-messages");if(t&&t.classList.remove("modal-active"),e.activeModal&&e.preventScroll)try{e.activeModal.removeEventListener("wheel",e.preventScroll),e.activeModal.removeEventListener("touchmove",e.preventScroll)}catch(e){console.warn("Could not remove scroll prevention listeners:",e)}e.activeForm.style.transition="opacity 0.3s ease",e.activeForm.style.opacity="0",setTimeout((function(){try{e.activeForm&&e.activeForm.parentNode&&(e.activeForm.remove(),console.log("Form removed successfully")),e.activeForm=null,e.activeModal=null;var t=e.widget.querySelector(".chat-window");t&&t.classList.remove("form-active"),e.enableChatFunctionality()}catch(t){console.error("Error during form cleanup:",t),e.activeForm=null,e.activeModal=null;var n=e.widget.querySelector(".chat-window");n&&n.classList.remove("form-active"),e.enableChatFunctionality()}}),300)}catch(t){console.error("Error in removeActiveForm:",t),e.activeForm=null,e.activeModal=null;var n=e.widget.querySelector(".chat-window");n&&n.classList.remove("form-active"),e.enableChatFunctionality()}else console.log("No active form to remove")}},6939:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.setupHubSpotFormHandlers=function(e,t){t.querySelector("#fullname").addEventListener("input",(function(){t.querySelector("#fullname-error").textContent=(0,o.validateFullName)(this.value)?"":"Please enter your full name"})),t.querySelector("#email").addEventListener("input",(function(){t.querySelector("#email-error").textContent=(0,o.validateEmail)(this.value)?"":"Please enter a valid email"})),t.querySelector("#phone").addEventListener("input",(function(){t.querySelector("#phone-error").textContent=(0,o.validatePhoneNumber)(this.value)?"":"Please enter a valid phone number"})),t.addEventListener("submit",function(){var n,r=(n=i().mark((function n(r){var a,s,c,u,l,p,d,f,m;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r.preventDefault(),(a=t.querySelector("#submitButton")).disabled=!0,a.textContent="Submitting...",s=t.querySelector("#fullname").value,c=t.querySelector("#email").value,u=t.querySelector("#phone").value,(0,o.validateFullName)(s)&&(0,o.validateEmail)(c)&&(0,o.validatePhoneNumber)(u)){n.next=11;break}return a.disabled=!1,a.textContent="Submit",n.abrupt("return");case 11:return n.prev=11,n.next=14,e.submitToHubSpot({firstName:s.split(" ")[0],lastName:s.split(" ").slice(1).join(" "),email:c,phone:u.replace(/\D/g,"")});case 14:if(!n.sent.ok){n.next=23;break}e.config.useEmailAsUserId&&e.userManager.updateUserIdWithEmail(c),e.userManager.recordFormSubmission({firstName:s.split(" ")[0],lastName:s.split(" ").slice(1).join(" "),email:c,phone:u.replace(/\D/g,"")}),e.userManager.markFormAsShown(),(l=e.widget.querySelector(".hubspot-form-modal-content"))&&(l.innerHTML='\n <div class="hubspot-form-success" style="opacity: 0; transform: translateY(10px)">\n <h3>Thank you for your submission!</h3>\n <p>We\'ll get back to you shortly.</p>\n <div class="success-countdown">Closing in <span class="countdown-number">2</span> seconds...</div>\n </div>\n ',requestAnimationFrame((function(){var e=l.querySelector(".hubspot-form-success");e.style.transition="opacity 0.3s ease, transform 0.3s ease",e.style.opacity="1",e.style.transform="translateY(0)"})),p=2,d=l.querySelector(".countdown-number"),f=setInterval((function(){p--,d&&(d.textContent=p),p<=0&&clearInterval(f)}),1e3),setTimeout((function(){clearInterval(f),e.removeActiveForm()}),1500),setTimeout((function(){clearInterval(f),e.activeForm&&(e.activeForm.remove(),e.activeForm=null,e.activeModal=null,e.enableChatFunctionality())}),2e3)),n.next=24;break;case 23:throw new Error("Submission failed");case 24:n.next=35;break;case 26:n.prev=26,n.t0=n.catch(11),console.error("HubSpot submission error:",n.t0),a.textContent="Error - Try Again",a.disabled=!1,(m=document.createElement("div")).className="error-message",m.textContent="Failed to submit form. Please try again.",t.appendChild(m);case 35:case"end":return n.stop()}}),n,null,[[11,26]])})),function(){var e=this,t=arguments;return new Promise((function(r,o){var i=n.apply(e,t);function a(e){m(i,r,o,a,s,"next",e)}function s(e){m(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return r.apply(this,arguments)}}())};var o=n(6389);function i(){var e=p(),t=e.m(i),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function r(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var o={throw:1,return:2,break:3,continue:3};function d(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,o[e],t)},delegateYield:function(e,o,i){return t.resultName=o,n(r.d,a(e),i)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(i=function(){return{wrap:function(t,n,r,o){return e.w(d(t),n,r,o&&o.reverse())},isGeneratorFunction:r,mark:e.m,awrap:function(e,t){return new f(e,t)},AsyncIterator:l,async:function(e,t,n,o,i){return(r(t)?u:c)(d(e),t,n,o,i)},keys:s,values:a}})()}function a(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(r(e)+" is not iterable")}function s(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function c(e,t,n,r,o){var i=u(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function u(e,t,n,r,o){return new l(p().w(e,t,n,r),o||Promise)}function l(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof f?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(d(l.prototype),d(l.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),d(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function p(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return d(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function u(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(d(t={},r,(function(){return this})),t),f=u.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,d(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=u,d(f,"constructor",u),d(u,"constructor",c),c.displayName="GeneratorFunction",d(u,o,"GeneratorFunction"),d(f),d(f,o,"Generator"),d(f,r,(function(){return this})),d(f,"toString",(function(){return"[object Generator]"})),(p=function(){return{w:i,m}})()}function d(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}d=function(e,t,n,r){function i(t,n){d(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},d(e,t,n,r)}function f(e,t){this.v=e,this.k=t}function m(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}},4148:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.showHubSpotForm=function(e){var t;if(null===(t=e.config.hubspot)||void 0===t||!t.enabled)return;if(e.userManager.hasSubmittedForm())return;if(e.isFormActive())return;e.disableChatFunctionality(),e.widget.querySelectorAll(".hubspot-form-modal-overlay").forEach((function(e){return e.remove()}));var n=e.widget.querySelector(".chat-window");n.classList.add("form-active");var r=document.createElement("div");r.className="hubspot-form-modal-overlay",r.innerHTML='\n <div class="hubspot-form-modal-backdrop"></div>\n <div class="hubspot-form-modal-container">\n <div class="hubspot-form-modal-content">\n <div class="form-header">\n <h3>'.concat(e.config.formTitle,"</h3>\n <p>").concat(e.config.formSubtitle,'</p>\n </div>\n <form id="hubspotForm" class="hubspot-form">\n <div class="form-group">\n <label for="fullname">Full Name *</label>\n <input type="text" id="fullname" name="fullname" required \n placeholder="Enter your full name">\n <div id="fullname-error" class="error-message"></div>\n </div>\n <div class="form-group">\n <label for="email">Email Address *</label>\n <input type="email" id="email" name="email" required \n placeholder="Enter your email">\n <div id="email-error" class="error-message"></div>\n </div>\n <div class="form-group">\n <label for="phone">Phone Number *</label>\n <input type="tel" id="phone" name="phone" required \n placeholder="Enter your phone number">\n <div id="phone-error" class="error-message"></div>\n </div>\n <button type="submit" id="submitButton">Submit</button>\n </form>\n </div>\n </div>\n '),n.appendChild(r),e.activeForm=r;var o="chat-widget-hubspot-styles";if(!document.getElementById(o)){var i=document.createElement("style");i.id=o,i.textContent="\n .hubspot-form-modal-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 50000;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: modalFadeIn 0.3s ease-out;\n pointer-events: auto;\n overflow: hidden;\n overscroll-behavior: contain;\n }\n\n .chat-window.form-active .chat-input-container,\n .chat-window.form-active .suggestion-chips,\n .chat-window.form-active .chat-branding {\n display: none !important;\n }\n\n .hubspot-form-modal-backdrop {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n filter: none !important;\n }\n\n .hubspot-form-modal-container {\n position: relative;\n z-index: 1001;\n width: 90%;\n max-width: 320px;\n max-height: 70%;\n overflow-y: auto;\n animation: modalSlideIn 0.3s ease-out;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n scrollbar-color: #c1c1c1 #f1f1f1;\n }\n\n .hubspot-form-modal-container::-webkit-scrollbar {\n width: 6px;\n }\n\n .hubspot-form-modal-container::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 3px;\n }\n\n .hubspot-form-modal-container::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 3px;\n }\n\n .hubspot-form-modal-container::-webkit-scrollbar-thumb:hover {\n background: #a8a8a8;\n }\n\n .hubspot-form-modal-content {\n background: #ffffff;\n border-radius: 12px;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);\n padding: 20px;\n border: 1px solid rgba(255, 255, 255, 0.2);\n position: relative;\n overflow: hidden;\n }\n\n @media (max-width: 768px) {\n .hubspot-form-modal-container {\n width: 95%;\n max-width: 300px;\n margin: 8px;\n max-height: 80%;\n }\n\n .hubspot-form-modal-content {\n padding: 16px;\n border-radius: 10px;\n }\n\n .form-header h3 {\n font-size: 16px;\n }\n\n .form-header p {\n font-size: 12px;\n }\n\n .hubspot-form .form-group {\n margin-bottom: 14px;\n }\n\n .hubspot-form input {\n padding: 8px 10px;\n font-size: 13px;\n -webkit-appearance: none;\n border-radius: 6px;\n }\n\n .hubspot-form button {\n padding: 10px 16px;\n font-size: 13px;\n -webkit-appearance: none;\n border-radius: 6px;\n }\n }\n\n @media screen and (-webkit-min-device-pixel-ratio: 0) {\n .hubspot-form input {\n font-size: 16px;\n }\n }\n\n @keyframes modalFadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n @keyframes modalSlideIn {\n from {\n opacity: 0;\n transform: translateY(-20px) scale(0.95);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n\n .form-header {\n margin-bottom: 16px;\n text-align: center;\n }\n\n .form-header h3 {\n margin: 0 0 6px 0;\n color: #333;\n font-size: 18px;\n font-weight: 600;\n }\n\n .form-header p {\n margin: 0;\n color: #666;\n font-size: 13px;\n line-height: 1.3;\n }\n\n .hubspot-form .form-group {\n margin-bottom: 16px;\n }\n\n .hubspot-form label {\n display: block;\n margin-bottom: 6px;\n font-weight: 500;\n color: #333;\n font-size: 13px;\n }\n\n .hubspot-form input {\n width: 100%;\n padding: 10px 12px;\n border: 2px solid #e1e5e9;\n border-radius: 6px;\n font-size: 14px;\n transition: all 0.3s ease;\n background: #ffffff;\n box-sizing: border-box;\n }\n\n .hubspot-form input:focus {\n outline: none !important;\n border-color: #cbd5e1 !important;\n box-shadow: 0 0 0 3px rgba(203, 213, 225, 0.45) !important;\n background: #ffffff !important;\n }\n\n .hubspot-form input::placeholder {\n color: #999;\n }\n\n .hubspot-form .error-message {\n color: #dc3545;\n font-size: 12px;\n margin-top: 4px;\n min-height: 20px;\n }\n\n .hubspot-form button {\n background: var(--chat-primary-color, #0084ff);\n color: white;\n border: none;\n padding: 12px 20px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n font-weight: 600;\n width: 100%;\n transition: all 0.3s ease;\n margin-top: 6px;\n }\n\n .hubspot-form button:hover {\n opacity: 0.9;\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(0, 132, 255, 0.3);\n }\n\n .hubspot-form button:active {\n transform: translateY(0);\n }\n\n .hubspot-form button:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n transform: none;\n box-shadow: none;\n }\n\n .chat-messages.modal-active {\n pointer-events: none;\n user-select: none;\n -webkit-user-select: none;\n opacity: 0.7;\n }\n\n .chat-messages.modal-active * {\n pointer-events: none !important;\n }\n\n .chat-header {\n filter: none !important;\n pointer-events: auto !important;\n }\n\n .chat-header * {\n filter: none !important;\n pointer-events: auto !important;\n }\n\n .hubspot-form-success {\n text-align: center;\n padding: 20px;\n background: #d4edda;\n border-radius: 8px;\n color: #155724;\n margin: 10px 0;\n border: 1px solid #c3e6cb;\n }\n\n .success-countdown {\n margin-top: 15px;\n font-size: 12px;\n color: #6c757d;\n opacity: 0.8;\n }\n\n .countdown-number {\n font-weight: bold;\n color: #155724;\n }\n ",document.head.appendChild(i)}var a=e.widget.querySelector(".chat-messages");a&&a.classList.add("modal-active");requestAnimationFrame((function(){r.style.opacity="1"})),e.preventScroll=function(e){return!e.currentTarget.querySelector(".hubspot-form-modal-container")||(!!e.target.closest(".hubspot-form-modal-container")||(e.preventDefault(),e.stopPropagation(),!1))};try{r.addEventListener("wheel",e.preventScroll,{passive:!1}),r.addEventListener("touchmove",e.preventScroll,{passive:!1})}catch(e){console.warn("Could not add scroll prevention listeners:",e)}var s=r.querySelector("#hubspotForm");s&&e.setupHubSpotFormHandlers(s);e.activeModal=r}},1326:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(){var e=u(),t=e.m(r),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function l(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function f(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,d[e],t)},delegateYield:function(e,i,a){return t.resultName=i,n(r.d,o(e),a)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(r=function(){return{wrap:function(t,n,r,o){return e.w(f(t),n,r,o&&o.reverse())},isGeneratorFunction:l,mark:e.m,awrap:function(e,t){return new p(e,t)},AsyncIterator:c,async:function(e,t,n,r,o){return(l(t)?s:a)(f(e),t,n,r,o)},keys:i,values:o}})()}function o(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")}function i(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function a(e,t,n,r,o){var i=s(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function s(e,t,n,r,o){return new c(u().w(e,t,n,r),o||Promise)}function c(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof p?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(l(c.prototype),l(c.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),l(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function u(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return l(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function p(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(l(t={},r,(function(){return this})),t),f=p.prototype=s.prototype=Object.create(d);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=p,l(f,"constructor",p),l(p,"constructor",c),c.displayName="GeneratorFunction",l(p,o,"GeneratorFunction"),l(f),l(f,o,"Generator"),l(f,r,(function(){return this})),l(f,"toString",(function(){return"[object Generator]"})),(u=function(){return{w:i,m}})()}function l(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,t,n,r){function i(t,n){l(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},l(e,t,n,r)}function p(e,t){this.v=e,this.k=t}function d(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function f(){var e;return e=r().mark((function e(t,n){var o,i,a,s,c;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.config.hubspot,i=o.portalId,a=o.formGuid,s="https://api.hsforms.com/submissions/v3/integration/submit/".concat(i,"/").concat(a),c={submittedAt:Date.now(),fields:[{name:"firstname",value:n.firstName},{name:"lastname",value:n.lastName},{name:"email",value:n.email},{name:"phone",value:n.phone}],context:{pageUri:window.location.href,pageName:document.title}},e.abrupt("return",fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)}));case 4:case"end":return e.stop()}}),e)})),f=function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){d(i,r,o,a,s,"next",e)}function s(e){d(i,r,o,a,s,"throw",e)}a(void 0)}))},f.apply(this,arguments)}Object.defineProperty(t,"__esModule",{value:!0}),t.submitToHubSpot=function(e,t){return f.apply(this,arguments)}},7270:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NativeFormManager",{enumerable:!0,get:function(){return g.NativeFormManager}}),Object.defineProperty(t,"addGreetingMessage",{enumerable:!0,get:function(){return i.addGreetingMessage}}),Object.defineProperty(t,"addMessage",{enumerable:!0,get:function(){return i.addMessage}}),Object.defineProperty(t,"applyTheme",{enumerable:!0,get:function(){return r.applyTheme}}),Object.defineProperty(t,"applyToggleButtonAnimation",{enumerable:!0,get:function(){return o.applyToggleButtonAnimation}}),Object.defineProperty(t,"checkForTriggerWords",{enumerable:!0,get:function(){return h.checkForTriggerWords}}),Object.defineProperty(t,"closeChat",{enumerable:!0,get:function(){return c.closeChat}}),Object.defineProperty(t,"createWidget",{enumerable:!0,get:function(){return o.createWidget}}),Object.defineProperty(t,"deleteBackendHistory",{enumerable:!0,get:function(){return f.deleteBackendHistory}}),Object.defineProperty(t,"destroy",{enumerable:!0,get:function(){return o.destroy}}),Object.defineProperty(t,"disableChatFunctionality",{enumerable:!0,get:function(){return h.disableChatFunctionality}}),Object.defineProperty(t,"disableChips",{enumerable:!0,get:function(){return p.disableChips}}),Object.defineProperty(t,"disableSendingFunctionality",{enumerable:!0,get:function(){return d.disableSendingFunctionality}}),Object.defineProperty(t,"disableToggleButtonAnimation",{enumerable:!0,get:function(){return o.disableToggleButtonAnimation}}),Object.defineProperty(t,"enableChatFunctionality",{enumerable:!0,get:function(){return h.enableChatFunctionality}}),Object.defineProperty(t,"enableChips",{enumerable:!0,get:function(){return p.enableChips}}),Object.defineProperty(t,"enableMobileInputInteraction",{enumerable:!0,get:function(){return s.enableMobileInputInteraction}}),Object.defineProperty(t,"enableSendingFunctionality",{enumerable:!0,get:function(){return d.enableSendingFunctionality}}),Object.defineProperty(t,"enableToggleButtonAnimation",{enumerable:!0,get:function(){return o.enableToggleButtonAnimation}}),Object.defineProperty(t,"ensureGreetingMessageWithAvatar",{enumerable:!0,get:function(){return i.ensureGreetingMessageWithAvatar}}),Object.defineProperty(t,"ensureSendButtonIconSize",{enumerable:!0,get:function(){return o.ensureSendButtonIconSize}}),Object.defineProperty(t,"ensureTypingIndicatorAnimation",{enumerable:!0,get:function(){return u.ensureTypingIndicatorAnimation}}),Object.defineProperty(t,"eraseChat",{enumerable:!0,get:function(){return o.eraseChat}}),Object.defineProperty(t,"forceEnableInput",{enumerable:!0,get:function(){return d.forceEnableInput}}),Object.defineProperty(t,"forceStyleReapplication",{enumerable:!0,get:function(){return o.forceStyleReapplication}}),Object.defineProperty(t,"handleApiError",{enumerable:!0,get:function(){return f.handleApiError}}),Object.defineProperty(t,"hideGreetingActions",{enumerable:!0,get:function(){return i.hideGreetingActions}}),Object.defineProperty(t,"initializeWidget",{enumerable:!0,get:function(){return o.initializeWidget}}),Object.defineProperty(t,"isFormActive",{enumerable:!0,get:function(){return h.isFormActive}}),Object.defineProperty(t,"loadChatHistory",{enumerable:!0,get:function(){return v.loadChatHistory}}),Object.defineProperty(t,"loadStyles",{enumerable:!0,get:function(){return m.loadStyles}}),Object.defineProperty(t,"makeApiCall",{enumerable:!0,get:function(){return f.makeApiCall}}),Object.defineProperty(t,"openChat",{enumerable:!0,get:function(){return c.openChat}}),Object.defineProperty(t,"processApiResponse",{enumerable:!0,get:function(){return f.processApiResponse}}),Object.defineProperty(t,"removeActiveForm",{enumerable:!0,get:function(){return h.removeActiveForm}}),Object.defineProperty(t,"repairTypingAnimation",{enumerable:!0,get:function(){return u.repairTypingAnimation}}),Object.defineProperty(t,"resetUIAfterSending",{enumerable:!0,get:function(){return f.resetUIAfterSending}}),Object.defineProperty(t,"restoreFeedbackState",{enumerable:!0,get:function(){return b.restoreFeedbackState}}),Object.defineProperty(t,"saveFeedbackState",{enumerable:!0,get:function(){return b.saveFeedbackState}}),Object.defineProperty(t,"scrollChatToBottom",{enumerable:!0,get:function(){return l.scrollChatToBottom}}),Object.defineProperty(t,"scrollToBottom",{enumerable:!0,get:function(){return l.scrollToBottom}}),Object.defineProperty(t,"scrollToLastUserMessage",{enumerable:!0,get:function(){return l.scrollToLastUserMessage}}),Object.defineProperty(t,"scrollToLatestMessage",{enumerable:!0,get:function(){return l.scrollToLatestMessage}}),Object.defineProperty(t,"scrollToShowNewMessage",{enumerable:!0,get:function(){return l.scrollToShowNewMessage}}),Object.defineProperty(t,"scrollToTypingIndicator",{enumerable:!0,get:function(){return l.scrollToTypingIndicator}}),Object.defineProperty(t,"sendFeedback",{enumerable:!0,get:function(){return b.sendFeedback}}),Object.defineProperty(t,"sendMessage",{enumerable:!0,get:function(){return f.sendMessage}}),Object.defineProperty(t,"sendMessageWithFiles",{enumerable:!0,get:function(){return f.sendMessageWithFiles}}),Object.defineProperty(t,"setupCleanMobileInput",{enumerable:!0,get:function(){return s.setupCleanMobileInput}}),Object.defineProperty(t,"setupClickOutsideToClose",{enumerable:!0,get:function(){return a.setupClickOutsideToClose}}),Object.defineProperty(t,"setupCopyButtons",{enumerable:!0,get:function(){return i.setupCopyButtons}}),Object.defineProperty(t,"setupDesktopInput",{enumerable:!0,get:function(){return s.setupDesktopInput}}),Object.defineProperty(t,"setupEraseButton",{enumerable:!0,get:function(){return o.setupEraseButton}}),Object.defineProperty(t,"setupEventListeners",{enumerable:!0,get:function(){return a.setupEventListeners}}),Object.defineProperty(t,"setupHubSpotFormHandlers",{enumerable:!0,get:function(){return h.setupHubSpotFormHandlers}}),Object.defineProperty(t,"setupMessageActions",{enumerable:!0,get:function(){return i.setupMessageActions}}),Object.defineProperty(t,"setupMessageLinks",{enumerable:!0,get:function(){return i.setupMessageLinks}}),Object.defineProperty(t,"setupMobileFullscreenEnforcement",{enumerable:!0,get:function(){return s.setupMobileFullscreenEnforcement}}),Object.defineProperty(t,"setupNativeFormHandlers",{enumerable:!0,get:function(){return g.setupNativeFormHandlers}}),Object.defineProperty(t,"setupResponsiveHandling",{enumerable:!0,get:function(){return o.setupResponsiveHandling}}),Object.defineProperty(t,"setupScrollContainment",{enumerable:!0,get:function(){return l.setupScrollContainment}}),Object.defineProperty(t,"setupSuggestionChips",{enumerable:!0,get:function(){return a.setupSuggestionChips}}),Object.defineProperty(t,"setupTextBoxEventListeners",{enumerable:!0,get:function(){return a.setupTextBoxEventListeners}}),Object.defineProperty(t,"showHubSpotForm",{enumerable:!0,get:function(){return h.showHubSpotForm}}),Object.defineProperty(t,"showNativeForm",{enumerable:!0,get:function(){return g.showNativeForm}}),Object.defineProperty(t,"startJavaScriptTypingAnimation",{enumerable:!0,get:function(){return u.startJavaScriptTypingAnimation}}),Object.defineProperty(t,"stopJavaScriptTypingAnimation",{enumerable:!0,get:function(){return u.stopJavaScriptTypingAnimation}}),Object.defineProperty(t,"submitToHubSpot",{enumerable:!0,get:function(){return h.submitToHubSpot}}),Object.defineProperty(t,"synchronizeGreetingWidth",{enumerable:!0,get:function(){return i.synchronizeGreetingWidth}}),Object.defineProperty(t,"toggleChat",{enumerable:!0,get:function(){return c.toggleChat}}),Object.defineProperty(t,"typeWriter",{enumerable:!0,get:function(){return u.typeWriter}}),Object.defineProperty(t,"updateFilePreview",{enumerable:!0,get:function(){return i.updateFilePreview}}),Object.defineProperty(t,"updateLastBotMessage",{enumerable:!0,get:function(){return i.updateLastBotMessage}}),Object.defineProperty(t,"updateStorageAfterRegeneration",{enumerable:!0,get:function(){return v.updateStorageAfterRegeneration}}),Object.defineProperty(t,"updateToggleIcon",{enumerable:!0,get:function(){return c.updateToggleIcon}}),Object.defineProperty(t,"updateUIForSending",{enumerable:!0,get:function(){return f.updateUIForSending}});var r=n(5648),o=n(8435),i=n(7931),a=n(7310),s=n(3757),c=n(9745),u=n(4608),l=n(7498),p=n(4518),d=n(5931),f=n(7421),m=n(2585),h=n(730),g=n(7934),b=n(4452),v=n(220)},2232:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.enableMobileInputInteraction=function(e,t){if(!t)return;try{t.removeAttribute("readonly"),t.disabled=!1,t.readOnly=!1,t.style.pointerEvents="auto",t.style.userSelect="text",t.style.webkitUserSelect="text",t.style.caretColor="auto"}catch(e){}}},3757:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"enableMobileInputInteraction",{enumerable:!0,get:function(){return a.enableMobileInputInteraction}}),Object.defineProperty(t,"setupCleanMobileInput",{enumerable:!0,get:function(){return o.setupCleanMobileInput}}),Object.defineProperty(t,"setupDesktopInput",{enumerable:!0,get:function(){return r.setupDesktopInput}}),Object.defineProperty(t,"setupMobileFullscreenEnforcement",{enumerable:!0,get:function(){return i.setupMobileFullscreenEnforcement}});var r=n(4204),o=n(7409),i=n(9481),a=n(2232)},7409:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupCleanMobileInput=function(e,t){var n=!1,r=function(){t.removeAttribute("readonly"),t.removeAttribute("disabled"),t.style.userSelect="text",t.style.webkitUserSelect="text",t.style.pointerEvents="auto",t.style.fontSize="16px",t.style.webkitAppearance="none",t.style.appearance="none"},o=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).forceEnd,o=void 0===e||e;if(r(),n=!0,t.focus(),t.click(),/iPhone|iPad|iPod/i.test(navigator.userAgent)){var i=document.createElement("input");i.style.position="absolute",i.style.left="-9999px",i.style.fontSize="16px",i.style.opacity="0",document.body.appendChild(i),i.focus(),setTimeout((function(){t.focus(),n&&o&&t.setSelectionRange(t.value.length,t.value.length),document.body.removeChild(i)}),50)}else setTimeout((function(){n&&o&&t.setSelectionRange(t.value.length,t.value.length)}),100)};t.addEventListener("focus",(function(){n=!0,t.classList.add("mobile-focused"),t.style.caretColor="auto",t.style.cursor="text"})),t.addEventListener("blur",(function(){setTimeout((function(){var r,o=document.activeElement,i=null===(r=e.widget)||void 0===r?void 0:r.querySelector(".chat-window");i&&i.contains(o)||(n=!1,t.classList.remove("mobile-focused"),t.style.caretColor="transparent")}),100)})),t.addEventListener("click",(function(){n||o({forceEnd:!1})})),t.addEventListener("touchstart",(function(){n||o({forceEnd:!1})})),t.addEventListener("touchend",(function(){n||o({forceEnd:!1})}));var i=t.closest(".chat-input");if(i){var a=document.createElement("div");a.style.position="absolute",a.style.top="0",a.style.left="0",a.style.right="0",a.style.bottom="0",a.style.zIndex="0",a.style.background="transparent",a.style.cursor="text",a.style.pointerEvents="none",i.style.position="relative",i.appendChild(a);var s=function(e){e&&e.target&&e.target.closest&&e.target.closest(".send-button, .file-button")||e&&(e.target===t||e.target.closest&&e.target.closest(".chat-textarea"))||(e.preventDefault(),e.stopPropagation(),o())};i.addEventListener("click",(function(e){return s(e)})),i.addEventListener("touchstart",(function(e){return s(e)})),i.addEventListener("touchend",(function(e){return s(e)}))}var c=function(r){var o=e.widget.querySelector(".chat-window");n&&!o.contains(r.target)&&(n=!1,t.blur(),t.classList.remove("mobile-focused"),t.style.caretColor="transparent")};document.addEventListener("click",c),document.addEventListener("touchstart",c),e._mobileInputCleanup=function(){document.removeEventListener("click",c),document.removeEventListener("touchstart",c)},r(),e.isMobileBrowser()?t.style.caretColor="transparent":t.style.caretColor="auto"}},4204:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupDesktopInput=function(e,t){t.removeAttribute("readonly"),t.removeAttribute("disabled"),t.style.userSelect="text",t.style.pointerEvents="auto",t.style.cursor="text",t.style.caretColor="auto",t.addEventListener("focus",(function(){t.style.caretColor="auto",t.style.cursor="text",t.classList.add("cursor-active")})),t.addEventListener("blur",(function(){t.style.caretColor="auto",t.style.cursor="text"})),t.addEventListener("click",(function(){t.style.caretColor="auto",t.style.cursor="text",t.classList.add("cursor-active")}))}},9481:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupMobileFullscreenEnforcement=function(e){var t=function(){var t,n=null===(t=e.widget)||void 0===t?void 0:t.querySelector(".chat-window");n&&n.classList.contains("active")&&window.innerWidth<=480&&(n.style.setProperty("position","fixed","important"),n.style.setProperty("top","0","important"),n.style.setProperty("left","0","important"),n.style.setProperty("right","0","important"),n.style.setProperty("bottom","0","important"),n.style.setProperty("width","100vw","important"),n.style.setProperty("height","var(--chat-mobile-vh, 100dvh)","important"),n.style.setProperty("min-width","100vw","important"),n.style.setProperty("max-width","100vw","important"),n.style.setProperty("min-height","var(--chat-mobile-vh, 100dvh)","important"),n.style.setProperty("max-height","var(--chat-mobile-vh, 100dvh)","important"),n.style.setProperty("margin","0","important"),n.style.setProperty("padding","0","important"),n.style.setProperty("border","none","important"),n.style.setProperty("border-radius","0","important"),n.style.setProperty("box-sizing","border-box","important"),n.style.setProperty("z-index","2147483647","important"),n.style.setProperty("background","white","important"),n.style.setProperty("overflow","hidden","important"),n.style.setProperty("transform","translateY(0)","important"))};window.addEventListener("resize",t),window.addEventListener("orientationchange",t),e._mobileFullscreenCleanup=function(){window.removeEventListener("resize",t),window.removeEventListener("orientationchange",t)}}},2992:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addGreetingMessage=function(e){var t=e.widget.querySelector(".chat-messages");if(!t.querySelector("#greeting-row")){var n=document.createElement("div");n.className="message-row",n.id="greeting-row";var o=document.createElement("div");o.className="bot-message-container";var i=document.createElement("div");i.className="message bot-message";var a=e.generateGreetingAvatar();i.innerHTML=a;var s=document.createElement("div");s.className="message-content",s.textContent=e.config.greeting,i.appendChild(s),o.appendChild(i),n.appendChild(o),t.insertBefore(n,t.firstChild),(0,r.synchronizeGreetingWidth)(e,n)}};var r=n(2228)},2997:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addMessage=function(e,t,n){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if("bot"===n&&function(e){if(null==e)return!0;var t=String(e).trim();if(!t)return!0;if(/^\s*\{\s*"response"\s*:\s*""\s*\}\s*$/i.test(t)||"{}"===t)return!0;try{var n,r,o,i,a=JSON.parse(t),s=null!==(n=null!==(r=null!==(o=null!==(i=null==a?void 0:a.response)&&void 0!==i?i:null==a?void 0:a.message)&&void 0!==o?o:null==a?void 0:a.text)&&void 0!==r?r:null==a?void 0:a.content)&&void 0!==n?n:null==a?void 0:a.answer;return null==s||""===String(s).trim()}catch(e){return!1}}(t))return;var c=e.widget.querySelector(".chat-messages"),u=(e.widget.querySelector(".typing-indicator"),e.config.showTimestamp?e.formatTimestamp(i.timestamp):""),l=document.createElement("div");l.className="message-row ".concat(n,"-row"),i.queryId&&l.setAttribute("data-query-id",i.queryId);if("bot"===n){var p,d,f=document.createElement("div");f.className="bot-message-container";var m=document.createElement("div");m.className="message ".concat(n,"-message").concat(i.isError?" error-message":"");var h=document.createElement("div");h.className="message-line bot-message-line";var g=e.generateAiAvatar();m.innerHTML=g;var b=null,v=e.config.showMessageActions&&!i.skipMessageActions;v&&((b=document.createElement("div")).className="message-actions",b.style.display="none",b.innerHTML="\n <button class=\"message-action-btn like-btn\" title=\"Helpful\">\n <img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z'/%3E%3C/svg%3E\" alt=\"Like\">\n </button>\n <button class=\"message-action-btn dislike-btn\" title=\"Not helpful\">\n <img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z'/%3E%3C/svg%3E\" alt=\"Dislike\">\n </button>\n <button class=\"message-action-btn regenerate-btn\" title=\"Regenerate response\">\n <img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z'/%3E%3C/svg%3E\" alt=\"Regenerate\">\n </button>\n ");var y=i.products||[],x=e.config.enableMarkdown&&"bot"===n&&window.marked&&"function"==typeof window.marked.parse,w=o&&e.config.enableTypewriter&&0===y.length,k=e.config.apiResponseFormat||{},S=e.config.productInjectionMarker;if(x)if(w){var P=document.createElement("div");P.className="message-content",m.appendChild(P),e.typeWriter(P,(0,r.sanitizeHtml)(window.marked.parse(t)),(function(){b&&v&&(b.style.display="flex"),e.setupMessageLinks(P),e.updateLastBotMessage()}))}else{var O=document.createElement("div");if(O.className="message-content",y.length>0&&S){var E=a(t,S);if(E)!function(e,t,n,o){var i=function(e){return x&&window.marked?(0,r.sanitizeHtml)(window.marked.parse(e||"")):e||""};if(t){var a=document.createElement("div");a.className="message-content-part",a.innerHTML=i(t),e.appendChild(a)}if(o.length>0){var c=s(o,k);e.appendChild(c)}if(n){var u=document.createElement("div");u.className="message-content-part",u.innerHTML=i(n),e.appendChild(u)}}(O,E.before,E.after,y);else{O.innerHTML=(0,r.sanitizeHtml)(window.marked.parse(t));var j=s(y,k);O.appendChild(j)}}else O.innerHTML=(0,r.sanitizeHtml)(window.marked.parse(t));m.appendChild(O),b&&v&&(b.style.display="flex"),e.setupMessageLinks(O)}else{var T=document.createElement("div");if(T.className="message-content",y.length>0&&S){var D=a(t,S);if(D){var _=document.createElement("div");if(_.className="message-content-part",_.textContent=D.before,T.appendChild(_),T.appendChild(s(y,k)),D.after){var M=document.createElement("div");M.className="message-content-part",M.textContent=D.after,T.appendChild(M)}}else T.textContent=t,T.appendChild(s(y,k))}else T.textContent=t;m.appendChild(T),b&&v&&(b.style.display="flex")}var C=document.createElement("button");if(C.className="message-copy-btn bot-copy-btn",C.title="Copy to clipboard",C.innerHTML="<img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z'/%3E%3C/svg%3E\" alt=\"Copy\">",h.appendChild(m),h.appendChild(C),f.appendChild(h),e.config.showTimestamp&&u){var F=document.createElement("div");F.className="message-timestamp bot-timestamp",F.textContent=u,f.appendChild(F)}b&&f.appendChild(b);var A=i.queryId||(null!==(p=null===(d=e.parlant)||void 0===d?void 0:d.currentQueryId)&&void 0!==p?p:null);A&&f.setAttribute("data-query-id",A),l.appendChild(f),v&&b&&(e.parlant&&(b.style.display="none"),e.setupMessageActions(f,t)),e.hideGreetingActions()}else{var I=document.createElement("div");I.className="user-message-container";var z=document.createElement("div");z.className="message ".concat(n,"-message");var B=document.createElement("div");if(B.className="user-message-content",t&&t.trim()){var L=document.createElement("span");L.className="user-message-text",L.textContent=t,B.appendChild(L)}var q=(i.files||[]).filter((function(e){var t;return e&&((null===(t=e.type)||void 0===t?void 0:t.startsWith("image/"))||e.base64)}));if(q.length>0){var H=document.createElement("div");H.className="user-message-attachments",q.forEach((function(e){try{var t=e.base64||(e.type&&e.type.startsWith("image/")?URL.createObjectURL(e):null);if(t){var n=document.createElement("img");n.src=t,n.alt=e.name||"Attached image",n.className="user-message-attachment-img",H.appendChild(n)}}catch(e){}})),B.appendChild(H)}z.appendChild(B);var R=document.createElement("div");R.className="message-line user-message-line";var N=document.createElement("button");if(N.className="message-copy-btn user-copy-btn",N.title="Copy to clipboard",N.innerHTML="<img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z'/%3E%3C/svg%3E\" alt=\"Copy\">",R.appendChild(N),R.appendChild(z),I.appendChild(R),e.config.showTimestamp&&u){var G=document.createElement("div");G.className="message-timestamp user-timestamp",G.textContent=u,I.appendChild(G)}l.appendChild(I)}var U=c.querySelector(".chat-spacer");c.insertBefore(l,U);var W=c.querySelector(".typing-indicator");W&&U&&W.classList.contains("active")&&c.insertBefore(W,U);e.setupCopyButtons(l,t),"user"===n&&e.scrollToShowNewMessage(l);e.updateLastBotMessage()};var r=n(2456);function o(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t){var n,r=o(Array.isArray(t)?t:[t]);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i&&"string"==typeof i){var a=e.indexOf(i);if(-1!==a)return{before:e.slice(0,a+i.length).trimEnd(),marker:i,after:e.slice(a+i.length).trimStart()}}}}catch(e){r.e(e)}finally{r.f()}return null}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=document.createElement("div");n.className="chatnest-product-carousel";var r=e.map((function(e){return function(e,t){var n,r,o,i,a,s,c=(null==t?void 0:t.productItem)||{};return{name:e[null!==(n=c.name)&&void 0!==n?n:"name"],price:e[null!==(r=c.price)&&void 0!==r?r:"price"],image_url:e[null!==(o=c.image)&&void 0!==o?o:"image_url"],buy_link:e[null!==(i=c.link)&&void 0!==i?i:"buy_link"],highlights:e[null!==(a=c.highlights)&&void 0!==a?a:"highlights"],ctaText:null!==(s=c.ctaText)&&void 0!==s?s:"Buy product"}}(e,t)}));n.innerHTML='\n <div class="chatnest-carousel-nav">\n <button type="button" class="chatnest-carousel-prev" aria-label="Previous products">\n <svg viewBox="0 0 24 24" fill="currentColor"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg>\n </button>\n <button type="button" class="chatnest-carousel-next" aria-label="Next products">\n <svg viewBox="0 0 24 24" fill="currentColor"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>\n </button>\n </div>\n <div class="chatnest-product-carousel-viewport">\n <div class="chatnest-product-carousel-inner">\n '.concat(r.map((function(e){return'\n <div class="chatnest-product-card">\n <div class="chatnest-product-card-image">\n <img src="'.concat(c(e.image_url||""),'" alt="').concat(c(e.name||""),'" loading="lazy" onerror="this.style.display=\'none\';this.nextElementSibling?.classList?.add(\'visible\')">\n <div class="chatnest-product-card-image-placeholder" aria-hidden="true">No image</div>\n </div>\n <div class="chatnest-product-card-body">\n <h4 class="chatnest-product-card-name">').concat(u(e.name||""),"</h4>\n ").concat(e.highlights?'<p class="chatnest-product-card-highlights">'.concat(u(e.highlights),"</p>"):"","\n ").concat(e.price?'<span class="chatnest-product-card-price">'.concat(u(e.price),"</span>"):"",'\n <a href="').concat(c(e.buy_link||"#"),'" target="_blank" rel="noopener noreferrer" class="chatnest-product-card-btn">').concat(u(e.ctaText||"Buy product"),"</a>\n </div>\n </div>\n ")})).join(""),"\n </div>\n </div>\n ");var o=n.querySelector(".chatnest-product-carousel-viewport"),i=n.querySelector(".chatnest-product-carousel-inner"),a=n.querySelector(".chatnest-carousel-prev"),s=n.querySelector(".chatnest-carousel-next"),l=function(e){var t=i.querySelector(".chatnest-product-card"),n=t?t.offsetWidth+12:o.offsetWidth;o.scrollBy({left:e*n,behavior:"smooth"})};return a.addEventListener("click",(function(){return l(-1)})),s.addEventListener("click",(function(){return l(1)})),o.addEventListener("scroll",(function(){a.classList.toggle("disabled",o.scrollLeft<=0),s.classList.toggle("disabled",o.scrollLeft>=i.scrollWidth-o.offsetWidth-2)})),o.dispatchEvent(new Event("scroll")),n}function c(e){return null==e?"":String(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function u(e){if(!e)return"";var t=document.createElement("div");return t.textContent=e,t.innerHTML}},7430:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ensureGreetingMessageWithAvatar=function(e){var t=e.widget.querySelector(".chat-messages").querySelector("#greeting-row");if(t){t.querySelector(".ai-avatar")?e.synchronizeGreetingWidth(t):(t.remove(),e.addGreetingMessage())}else e.addGreetingMessage()}},4045:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hideGreetingActions=function(e){var t=e.widget.querySelector("#greeting-row .greeting-actions");t&&(t.style.transition="opacity 0.3s ease, transform 0.3s ease",t.style.opacity="0",t.style.transform="translateY(-5px)",setTimeout((function(){t.style.display="none"}),300))}},7931:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addGreetingMessage",{enumerable:!0,get:function(){return o.addGreetingMessage}}),Object.defineProperty(t,"addMessage",{enumerable:!0,get:function(){return r.addMessage}}),Object.defineProperty(t,"ensureGreetingMessageWithAvatar",{enumerable:!0,get:function(){return i.ensureGreetingMessageWithAvatar}}),Object.defineProperty(t,"hideGreetingActions",{enumerable:!0,get:function(){return p.hideGreetingActions}}),Object.defineProperty(t,"setupCopyButtons",{enumerable:!0,get:function(){return a.setupCopyButtons}}),Object.defineProperty(t,"setupMessageActions",{enumerable:!0,get:function(){return c.setupMessageActions}}),Object.defineProperty(t,"setupMessageLinks",{enumerable:!0,get:function(){return s.setupMessageLinks}}),Object.defineProperty(t,"synchronizeGreetingWidth",{enumerable:!0,get:function(){return u.synchronizeGreetingWidth}}),Object.defineProperty(t,"updateFilePreview",{enumerable:!0,get:function(){return l.updateFilePreview}}),Object.defineProperty(t,"updateLastBotMessage",{enumerable:!0,get:function(){return d.updateLastBotMessage}});var r=n(2997),o=n(2992),i=n(7430),a=n(3242),s=n(9494),c=n(5748),u=n(2228),l=n(9010),p=n(4045),d=n(8342)},3242:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupCopyButtons=function(e,t,n){var r=t.querySelector(".bot-copy-btn");r&&r.addEventListener("click",(function(e){e.stopPropagation();var o=n,i=t.querySelector(".message-content");if(i)o=i.textContent||i.innerText||n;else{var a=t.querySelector(".message");a&&(o=a.textContent||a.innerText||n)}o=o.trim(),navigator.clipboard.writeText(o).then((function(){r.classList.add("copied","active");r.innerHTML='<img src="'.concat("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E",'" alt="Copied" style="display:block;">'),setTimeout((function(){r.classList.remove("copied","active"),r.innerHTML='<img src="'.concat("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z'/%3E%3C/svg%3E",'" alt="Copy" style="display:block;">')}),2e3)}))}));var o=t.querySelector(".user-copy-btn");o&&o.addEventListener("click",(function(e){e.stopPropagation();var r=n,i=t.querySelector(".user-message");i&&(r=i.textContent||i.innerText||n),r=r.trim(),navigator.clipboard.writeText(r).then((function(){o.classList.add("copied","active");o.innerHTML='<img src="'.concat("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E",'" alt="Copied" style="display:block;">'),setTimeout((function(){o.classList.remove("copied","active"),o.innerHTML='<img src="'.concat("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z'/%3E%3C/svg%3E",'" alt="Copy" style="display:block;">')}),2e3)}))}))}},5748:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(){var e=u(),t=e.m(r),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function l(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function f(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,d[e],t)},delegateYield:function(e,i,a){return t.resultName=i,n(r.d,o(e),a)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(r=function(){return{wrap:function(t,n,r,o){return e.w(f(t),n,r,o&&o.reverse())},isGeneratorFunction:l,mark:e.m,awrap:function(e,t){return new p(e,t)},AsyncIterator:c,async:function(e,t,n,r,o){return(l(t)?s:a)(f(e),t,n,r,o)},keys:i,values:o}})()}function o(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")}function i(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function a(e,t,n,r,o){var i=s(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function s(e,t,n,r,o){return new c(u().w(e,t,n,r),o||Promise)}function c(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof p?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(l(c.prototype),l(c.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),l(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function u(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return l(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function p(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(l(t={},r,(function(){return this})),t),f=p.prototype=s.prototype=Object.create(d);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=p,l(f,"constructor",p),l(p,"constructor",c),c.displayName="GeneratorFunction",l(p,o,"GeneratorFunction"),l(f),l(f,o,"Generator"),l(f,r,(function(){return this})),l(f,"toString",(function(){return"[object Generator]"})),(u=function(){return{w:i,m}})()}function l(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,t,n,r){function i(t,n){l(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},l(e,t,n,r)}function p(e,t){this.v=e,this.k=t}function d(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function f(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){d(i,r,o,a,s,"next",e)}function s(e){d(i,r,o,a,s,"throw",e)}a(void 0)}))}}Object.defineProperty(t,"__esModule",{value:!0}),t.setupMessageActions=function(e,t,n){if(!e.config.showMessageActions){var o=t.querySelector(".message-actions");return void(o&&(o.style.display="none"))}var i=t.querySelector(".like-btn"),a=t.querySelector(".dislike-btn"),s=t.querySelector(".regenerate-btn");if(!i||!a||!s)return;i.addEventListener("click",(function(){var t=i.classList.contains("active");i.classList.remove("active"),a.classList.remove("active"),t?e.sendFeedback("remove",n):(i.classList.add("active"),e.sendFeedback("like",n))})),a.addEventListener("click",(function(){var t=a.classList.contains("active");i.classList.remove("active"),a.classList.remove("active"),t?e.sendFeedback("remove",n):(a.classList.add("active"),e.sendFeedback("dislike",n))})),s.addEventListener("click",f(r().mark((function n(){var o,i,a,s,c,u,l;return r().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.isWaitingForResponse){n.next=21;break}o=Array.from(e.widget.querySelectorAll(".message-row")),i=o.findIndex((function(e){return e.contains(t)})),a="",s=-1,c=i-1;case 6:if(!(c>=0)){n.next=15;break}if(!(u=o[c].querySelector(".user-message"))){n.next=12;break}return a=u.textContent,s=c,n.abrupt("break",15);case 12:c--,n.next=6;break;case 15:if(!a||-1===s){n.next=21;break}for(l=o.length-1;l>s;l--)o[l].remove();return n.next=19,e.updateStorageAfterRegeneration(s,a);case 19:return n.next=21,e.sendMessage(a,!0);case 21:case"end":return n.stop()}}),n)}))))}},9494:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupMessageLinks=function(e,t){t.querySelectorAll("a").forEach((function(e){e.setAttribute("target","_blank"),e.setAttribute("rel","noopener noreferrer")})),t.querySelectorAll("img").forEach((function(e){var t=document.createElement("div");t.className="image-container",e.parentNode.insertBefore(t,e),t.appendChild(e);e.addEventListener("error",(function(){t.innerHTML='\n <svg width="50" height="50" viewBox="0 0 24 24" fill="#999">\n <path d="M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"/>\n </svg>',t.style.padding="20px",t.style.textAlign="center"}))}))}},2228:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.synchronizeGreetingWidth=function(e,t){requestAnimationFrame((function(){var e=null==t?void 0:t.querySelector(".bot-message"),n=null==t?void 0:t.querySelector(".bot-message-container");e&&n&&(n.style.setProperty("max-width","80%","important"),n.style.setProperty("width","80%","important"),e.style.setProperty("max-width","100%","important"),e.style.setProperty("width","100%","important"))}))}},9010:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateFilePreview=function(e,t,n){if(0===t.length)return n.style.display="none",n._objectUrls&&(n._objectUrls.forEach((function(e){return URL.revokeObjectURL(e)})),n._objectUrls=[]),void(n.innerHTML="");n._objectUrls&&n._objectUrls.forEach((function(e){return URL.revokeObjectURL(e)}));n._objectUrls=[],n.style.display="block",n.innerHTML=t.map((function(t,o){var i=e.formatFileSize(t.size),a="";if(t.type&&t.type.startsWith("image/"))try{var s=URL.createObjectURL(t);n._objectUrls.push(s),a='<img class="file-preview-thumb" src="'.concat(s,'" alt="').concat(t.name,'">')}catch(e){a=""}return'\n <div class="file-preview-item" data-index="'.concat(o,'">\n ').concat(a,'\n <div class="file-info">\n <span class="file-name">').concat((0,r.escapeHtml)(t.name),'</span>\n <span class="file-size">').concat((0,r.escapeHtml)(i),'</span>\n </div>\n <button class="remove-file" data-index="').concat(o,'" type="button" aria-label="Remove file">×</button>\n </div>\n ')})).join("")};var r=n(71)},8342:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateLastBotMessage=function(e){if(e.config.parlant.enabled){var t=e.widget.querySelectorAll(".bot-message-container"),n=new Map;if(t.forEach((function(e,t){e.classList.remove("last");var r=e.querySelector(".message-actions");r&&(r.style.display="none");var o=e.closest(".message-row"),i=null==o?void 0:o.getAttribute("data-query-id");i&&(n.has(i)||n.set(i,[]),n.get(i).push({container:e,index:t}))})),n.forEach((function(e){if(e.length>0){var t=e[e.length-1];t.container.classList.add("last");var n=t.container.querySelector(".message-actions");n&&(n.style.display="flex")}})),0===n.size&&t.length>0){var r=t[t.length-1];r.classList.add("last");var o=r.querySelector(".message-actions");o&&(o.style.display="flex")}}else{var i=e.widget.querySelectorAll(".bot-message-container");i.forEach((function(e,t){e.classList.remove("last"),t===i.length-1&&e.classList.add("last")}))}}},7330:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function s(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.NativeFormManager=void 0;t.NativeFormManager=function(){return e=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var r=n.storageKey||"cnf_".concat(t);this._submittedKey="".concat(r,"_submitted"),this._dataKey="".concat(r,"_data")},(t=[{key:"hasSubmitted",value:function(){return"true"===localStorage.getItem(this._submittedKey)}},{key:"saveSubmission",value:function(e){localStorage.setItem(this._submittedKey,"true"),localStorage.setItem(this._dataKey,JSON.stringify(o(o({},e),{},{submittedAt:(new Date).toISOString()})))}},{key:"loadSubmission",value:function(){try{var e=localStorage.getItem(this._dataKey);return e?JSON.parse(e):null}catch(e){return null}}},{key:"clearSubmission",value:function(){localStorage.removeItem(this._submittedKey),localStorage.removeItem(this._dataKey)}}])&&a(e.prototype,t),n&&a(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}()},7934:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NativeFormManager",{enumerable:!0,get:function(){return i.NativeFormManager}}),Object.defineProperty(t,"setupNativeFormHandlers",{enumerable:!0,get:function(){return o.setupNativeFormHandlers}}),Object.defineProperty(t,"showNativeForm",{enumerable:!0,get:function(){return r.showNativeForm}});var r=n(8012),o=n(7611),i=n(7330)},7611:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(){var e=u(),t=e.m(r),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function l(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function f(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,d[e],t)},delegateYield:function(e,i,a){return t.resultName=i,n(r.d,o(e),a)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(r=function(){return{wrap:function(t,n,r,o){return e.w(f(t),n,r,o&&o.reverse())},isGeneratorFunction:l,mark:e.m,awrap:function(e,t){return new p(e,t)},AsyncIterator:c,async:function(e,t,n,r,o){return(l(t)?s:a)(f(e),t,n,r,o)},keys:i,values:o}})()}function o(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")}function i(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function a(e,t,n,r,o){var i=s(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function s(e,t,n,r,o){return new c(u().w(e,t,n,r),o||Promise)}function c(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof p?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(l(c.prototype),l(c.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),l(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function u(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return l(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function p(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(l(t={},r,(function(){return this})),t),f=p.prototype=s.prototype=Object.create(d);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=p,l(f,"constructor",p),l(p,"constructor",c),c.displayName="GeneratorFunction",l(p,o,"GeneratorFunction"),l(f),l(f,o,"Generator"),l(f,r,(function(){return this})),l(f,"toString",(function(){return"[object Generator]"})),(u=function(){return{w:i,m}})()}function l(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,t,n,r){function i(t,n){l(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},l(e,t,n,r)}function p(e,t){this.v=e,this.k=t}function d(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function f(e,t){var n=(e||"").trim();if(t.required&&!n)return"".concat(t.label," is required.");if(!n)return"";if("function"==typeof t.validate)return t.validate(n)||"";if("email"===t.type||"email"===t.name)return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(n)?"":"Enter a valid email address.";if("tel"===t.type||"phone"===t.name){var r=n.replace(/\D/g,"");return r.length>=7&&r.length<=20?"":"Enter a valid phone number."}return"fullname"!==t.name&&"name"!==t.name||!t.required||n.length>=2?"":"Enter your full name."}function m(e,t,n){var r=e.closest(".cnf-form-group");n?(r&&r.classList.add("has-error"),t&&(t.textContent=n),e.setAttribute("aria-invalid","true")):(r&&r.classList.remove("has-error"),t&&(t.textContent=""),e.removeAttribute("aria-invalid"))}function h(e,t){var n,r=null===(n=e.widget)||void 0===n?void 0:n.querySelector(".chat-messages");r&&r.classList.remove("modal-active"),e._nativeFormScrollLock&&(t.removeEventListener("wheel",e._nativeFormScrollLock),t.removeEventListener("touchmove",e._nativeFormScrollLock),e._nativeFormScrollLock=null),t.style.transition="opacity 0.25s ease",t.style.opacity="0",setTimeout((function(){var n,r;t.remove(),e.activeForm=null,e.activeModal=null;var o=null===(n=e.widget)||void 0===n?void 0:n.querySelector(".chat-window");o&&o.classList.remove("form-active"),e.enableChatFunctionality();var i=null===(r=e.widget)||void 0===r?void 0:r.querySelector(".chat-input .chat-textarea");i&&i.focus()}),280)}Object.defineProperty(t,"__esModule",{value:!0}),t.setupNativeFormHandlers=function(e,t,n){var o=e.config.nativeForm;o.fields.forEach((function(e){var n=t.querySelector('[name="'.concat(e.name,'"]')),r=t.querySelector("#cnf-".concat(e.name,"-error"));n&&(n.addEventListener("input",(function(){var t=f(n.value,e);m(n,r,t)})),n.addEventListener("blur",(function(){var t=f(n.value,e);m(n,r,t)})))})),t.addEventListener("submit",function(){var i,a=(i=r().mark((function i(a){var s,c,u,l,p,d,g,b,v;return r().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(a.preventDefault(),s=null,c=!0,u={},o.fields.forEach((function(e){var n=t.querySelector('[name="'.concat(e.name,'"]')),r=t.querySelector("#cnf-".concat(e.name,"-error"));if(n){var o=f(n.value,e);m(n,r,o),o?(c=!1,s||(s=n)):u[e.name]=n.value.trim()}})),c){r.next=8;break}return s&&s.focus(),r.abrupt("return");case 8:if(l=t.querySelector("#cnf-submit"),p=t.querySelector("#cnf-submit-error"),l.disabled=!0,l.classList.add("loading"),p&&(p.textContent=""),r.prev=13,"function"!=typeof o.onSubmit){r.next=20;break}return r.next=17,o.onSubmit(u);case 17:if(!1!==r.sent){r.next=20;break}throw new Error("Form submission rejected by onSubmit callback.");case 20:e.nativeFormManager.saveSubmission(u),o.useEmailAsUserId&&u.email&&e.userManager.updateUserIdWithEmail(u.email),(d=n.querySelector(".cn-native-form-card"))?(d.innerHTML='\n <div class="cnf-success" style="opacity:0;transform:translateY(8px)">\n <div class="cnf-success-icon">\n <svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\n <polyline points="20 6 9 17 4 12"/>\n </svg>\n </div>\n <h4>You\'re all set!</h4>\n <p>Thanks for sharing your details. Let\'s chat.</p>\n <div class="cnf-success-countdown">Starting in <span id="cnf-countdown">2</span>s…</div>\n </div>\n ',requestAnimationFrame((function(){var e=d.querySelector(".cnf-success");e&&(e.style.transition="opacity 0.3s ease, transform 0.3s ease",e.style.opacity="1",e.style.transform="translateY(0)")})),g=2,b=d.querySelector("#cnf-countdown"),v=setInterval((function(){g--,b&&(b.textContent=g),g<=0&&clearInterval(v)}),1e3),setTimeout((function(){clearInterval(v),h(e,n)}),2e3)):h(e,n),r.next=32;break;case 26:r.prev=26,r.t0=r.catch(13),console.error("[Chatnest] Native form submission error:",r.t0),l.disabled=!1,l.classList.remove("loading"),p&&(p.textContent="Something went wrong. Please try again.");case 32:case"end":return r.stop()}}),i,null,[[13,26]])})),function(){var e=this,t=arguments;return new Promise((function(n,r){var o=i.apply(e,t);function a(e){d(o,n,r,a,s,"next",e)}function s(e){d(o,n,r,a,s,"throw",e)}a(void 0)}))});return function(e){return a.apply(this,arguments)}}())}},8012:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.showNativeForm=function(e){var t;if(null===(t=e.config.nativeForm)||void 0===t||!t.enabled)return;if(e.nativeFormManager.hasSubmitted())return;if(e.isFormActive())return;e.disableChatFunctionality(),e.widget.querySelectorAll(".cn-native-form-overlay").forEach((function(e){return e.remove()}));var n=e.widget.querySelector(".chat-window");n.classList.add("form-active");var i=e.config.nativeForm,a=e.widget.classList.contains("dark-theme"),s=i.fields.map((function(e){var t="cnf-".concat(e.name),n=e.required?" *":"",r=e.required?' aria-required="true"':"";return'\n <div class="cnf-form-group" data-field="'.concat(e.name,'">\n <label for="').concat(t,'">').concat(e.label).concat(n,'</label>\n <input\n type="').concat(e.type||"text",'"\n id="').concat(t,'"\n name="').concat(e.name,'"\n placeholder="').concat(e.placeholder||"",'"\n autocomplete="').concat(function(e){var t={email:"email",tel:"tel",text:"name",name:"name"};return t[e.name]||t[e.type]||"on"}(e),'"\n ').concat(r,'\n >\n <div class="cnf-field-error" id="').concat(t,'-error" role="alert" aria-live="polite"></div>\n </div>\n ')})).join(""),c=document.createElement("div");c.className="cn-native-form-overlay",c.setAttribute("role","dialog"),c.setAttribute("aria-modal","true"),c.setAttribute("aria-labelledby","cnf-title"),c.innerHTML='\n <div class="cn-native-form-backdrop"></div>\n <div class="cn-native-form-container">\n <div class="cn-native-form-card'.concat(a?" cn-dark":"",'">\n <div class="cnf-header">\n <h3 id="cnf-title">').concat(i.title,"</h3>\n <p>").concat(i.subtitle,'</p>\n </div>\n <form id="cnf-form" class="cnf-form" novalidate>\n ').concat(s,'\n <div class="cnf-submit-error" id="cnf-submit-error" role="alert" aria-live="assertive"></div>\n <button type="submit" id="cnf-submit" class="cnf-submit-btn">\n ').concat(i.submitLabel,"\n </button>\n </form>\n </div>\n </div>\n "),n.appendChild(c),e.activeForm=c,e.activeModal=c,function(e){if(document.getElementById(o))return;var t=e.config.primaryColor||"#0084ff",n=document.createElement("style");n.id=o,n.textContent="\n /* ── Native Form Overlay ─────────────────────────────── */\n .cn-native-form-overlay {\n position: absolute;\n inset: 0;\n z-index: 50000;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.25s ease;\n overflow: hidden;\n overscroll-behavior: contain;\n }\n\n .cn-native-form-backdrop {\n position: absolute;\n inset: 0;\n background: rgba(15, 23, 42, 0.55);\n backdrop-filter: blur(2px);\n }\n\n .cn-native-form-container {\n position: relative;\n z-index: 1;\n width: 92%;\n max-width: 340px;\n max-height: 88%;\n overflow-y: auto;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n scrollbar-color: #cbd5e1 transparent;\n animation: cnf-slide-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both;\n }\n\n @keyframes cnf-slide-in {\n from { opacity: 0; transform: translateY(-18px) scale(0.96); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n }\n\n /* ── Card ─────────────────────────────────────────────── */\n .cn-native-form-card {\n background: #ffffff;\n border-radius: 16px;\n box-shadow: 0 24px 64px rgba(0,0,0,0.22), 0 0 0 1px rgba(255,255,255,0.06);\n padding: 24px 22px 20px;\n position: relative;\n }\n\n .cn-native-form-card.cn-dark {\n background: #1e293b;\n box-shadow: 0 24px 64px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.06);\n }\n\n /* ── Header ───────────────────────────────────────────── */\n .cnf-header {\n text-align: center;\n margin-bottom: 20px;\n }\n\n .cnf-header h3 {\n margin: 0 0 6px;\n font-size: 17px;\n font-weight: 700;\n color: #0f172a;\n line-height: 1.3;\n }\n\n .cn-native-form-card.cn-dark .cnf-header h3 {\n color: #f1f5f9;\n }\n\n .cnf-header p {\n margin: 0;\n font-size: 13px;\n color: #64748b;\n line-height: 1.45;\n }\n\n .cn-native-form-card.cn-dark .cnf-header p {\n color: #94a3b8;\n }\n\n /* ── Form Groups ──────────────────────────────────────── */\n .cnf-form-group {\n margin-bottom: 14px;\n }\n\n .cnf-form-group label {\n display: block;\n margin-bottom: 5px;\n font-size: 12.5px;\n font-weight: 600;\n color: #374151;\n letter-spacing: 0.01em;\n }\n\n .cn-native-form-card.cn-dark .cnf-form-group label {\n color: #cbd5e1;\n }\n\n .cnf-form-group input {\n width: 100%;\n padding: 9px 12px;\n border: 1.5px solid #e2e8f0;\n border-radius: 9px;\n font-size: 14px;\n color: #0f172a;\n background: #f8fafc;\n box-sizing: border-box;\n transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;\n -webkit-appearance: none;\n }\n\n .cn-native-form-card.cn-dark .cnf-form-group input {\n background: #0f172a;\n border-color: #334155;\n color: #f1f5f9;\n }\n\n .cnf-form-group input::placeholder { color: #9ca3af; }\n\n .cnf-form-group input:focus {\n outline: none;\n border-color: ".concat(t,";\n background: #ffffff;\n box-shadow: 0 0 0 3px ").concat(t,"28;\n }\n\n .cn-native-form-card.cn-dark .cnf-form-group input:focus {\n background: #1e293b;\n }\n\n /* invalid state */\n .cnf-form-group.has-error input {\n border-color: #ef4444;\n box-shadow: 0 0 0 3px rgba(239,68,68,0.18);\n }\n\n .cnf-field-error {\n min-height: 16px;\n font-size: 11.5px;\n color: #ef4444;\n margin-top: 4px;\n font-weight: 500;\n }\n\n .cnf-submit-error {\n min-height: 18px;\n font-size: 12px;\n color: #ef4444;\n text-align: center;\n margin-bottom: 8px;\n font-weight: 500;\n }\n\n /* ── Submit Button ────────────────────────────────────── */\n .cnf-submit-btn {\n width: 100%;\n padding: 11px 16px;\n border: none;\n border-radius: 10px;\n background: ").concat(t,";\n color: #fff;\n font-size: 14px;\n font-weight: 700;\n cursor: pointer;\n letter-spacing: 0.01em;\n transition: opacity 0.18s, transform 0.18s, box-shadow 0.18s;\n margin-top: 4px;\n }\n\n .cnf-submit-btn:hover:not(:disabled) {\n opacity: 0.9;\n transform: translateY(-1px);\n box-shadow: 0 6px 20px ").concat(t,"55;\n }\n\n .cnf-submit-btn:active:not(:disabled) {\n transform: translateY(0);\n }\n\n .cnf-submit-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .cnf-submit-btn.loading {\n position: relative;\n color: transparent;\n }\n\n .cnf-submit-btn.loading::after {\n content: '';\n position: absolute;\n inset: 0;\n margin: auto;\n width: 18px;\n height: 18px;\n border: 2px solid rgba(255,255,255,0.4);\n border-top-color: #fff;\n border-radius: 50%;\n animation: cnf-spin 0.7s linear infinite;\n }\n\n @keyframes cnf-spin {\n to { transform: rotate(360deg); }\n }\n\n /* ── Success state ────────────────────────────────────── */\n .cnf-success {\n text-align: center;\n padding: 10px 4px 4px;\n }\n\n .cnf-success-icon {\n width: 48px;\n height: 48px;\n background: #dcfce7;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 12px;\n }\n\n .cnf-success-icon svg { color: #16a34a; }\n\n .cnf-success h4 {\n margin: 0 0 6px;\n font-size: 16px;\n font-weight: 700;\n color: #0f172a;\n }\n\n .cn-native-form-card.cn-dark .cnf-success h4 { color: #f1f5f9; }\n\n .cnf-success p {\n margin: 0 0 14px;\n font-size: 13px;\n color: #64748b;\n }\n\n .cnf-success-countdown {\n font-size: 11.5px;\n color: #94a3b8;\n }\n\n /* ── Responsive tweaks ───────────────────────────────── */\n @media (max-width: 480px) {\n .cn-native-form-container {\n width: 96%;\n max-width: 100%;\n max-height: 92%;\n }\n .cn-native-form-card {\n border-radius: 12px;\n padding: 18px 16px 16px;\n }\n }\n\n /* hide branding/input when form is active */\n .chat-window.form-active .chat-input-container,\n .chat-window.form-active .suggestion-chips,\n .chat-window.form-active .chat-branding,\n .chat-window.form-active .chat-privacy-notice {\n display: none !important;\n }\n "),document.head.appendChild(n)}(e);var u=e.widget.querySelector(".chat-messages");u&&u.classList.add("modal-active");e._nativeFormScrollLock=function(e){e.target.closest(".cn-native-form-container")||(e.preventDefault(),e.stopPropagation())},c.addEventListener("wheel",e._nativeFormScrollLock,{passive:!1}),c.addEventListener("touchmove",e._nativeFormScrollLock,{passive:!1});var l=c.querySelector("#cnf-form");(0,r.setupNativeFormHandlers)(e,l,c),requestAnimationFrame((function(){c.style.opacity="1"})),setTimeout((function(){var e=c.querySelector("input");e&&e.focus()}),80)};var r=n(7611),o="chat-widget-native-form-styles"},7498:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"scrollChatToBottom",{enumerable:!0,get:function(){return r.scrollChatToBottom}}),Object.defineProperty(t,"scrollToBottom",{enumerable:!0,get:function(){return o.scrollToBottom}}),Object.defineProperty(t,"scrollToLastUserMessage",{enumerable:!0,get:function(){return a.scrollToLastUserMessage}}),Object.defineProperty(t,"scrollToLatestMessage",{enumerable:!0,get:function(){return s.scrollToLatestMessage}}),Object.defineProperty(t,"scrollToShowNewMessage",{enumerable:!0,get:function(){return i.scrollToShowNewMessage}}),Object.defineProperty(t,"scrollToTypingIndicator",{enumerable:!0,get:function(){return u.scrollToTypingIndicator}}),Object.defineProperty(t,"setupScrollContainment",{enumerable:!0,get:function(){return c.setupScrollContainment}});var r=n(3429),o=n(9975),i=n(4808),a=n(7784),s=n(1368),c=n(9788),u=n(538)},3429:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrollChatToBottom=function(e){var t=e.widget.querySelector(".chat-messages");if(!t)return;if(e._userHasScrolledUp)return;var n=t.scrollTop;if(Math.max(0,t.scrollHeight-t.clientHeight)-n<100){var r=function(){t.scrollTop=t.scrollHeight-t.clientHeight};requestAnimationFrame((function(){r(),requestAnimationFrame(r)}))}}},9975:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToBottom=function(e){var t=e.widget.querySelector(".chat-messages");if(!t)return;var n=function(){var e=t.scrollHeight-t.clientHeight;t.scrollTop=e};requestAnimationFrame((function(){n(),requestAnimationFrame(n)}))}},7784:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToLastUserMessage=function(e){var t=e.widget.querySelector(".chat-messages");if(!t)return;var n=t.querySelectorAll(".message-row"),r=Array.from(n).filter((function(e){return e.querySelector(".user-message")}));if(0===r.length)return;var o=r[r.length-1];requestAnimationFrame((function(){var e=o.offsetTop,n=Math.max(0,e-20);t.scrollTo({top:n,behavior:"smooth"})}))}},1368:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToLatestMessage=function(e){var t=e.widget.querySelector(".chat-messages");if(!t)return;if(e.isTypewriterActive)return;requestAnimationFrame((function(){var e=t.querySelectorAll(".message-row:not(#greeting-row)");if(0!==e.length){var n=e[e.length-1];if(n){var r=t.clientHeight,o=t.scrollTop,i=n.offsetTop,a=n.offsetTop+n.offsetHeight;if(i<o||a>o+r){var s=Math.max(0,i-50);t.scrollTo({top:s,behavior:"smooth"})}}}}))}},4808:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToShowNewMessage=function(e,t){var n=e.widget.querySelector(".chat-messages");if(!n||!t)return;requestAnimationFrame((function(){var e=t.offsetTop,r=Math.max(0,e-20);n.scrollTo({top:r,behavior:"smooth"})}))}},538:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToTypingIndicator=function(e){var t=e.widget.querySelector(".chat-messages"),n=e.widget.querySelector(".typing-indicator");t&&n&&requestAnimationFrame((function(){t.scrollTo({top:t.scrollHeight,behavior:"smooth"}),n.scrollIntoView({behavior:"smooth",block:"end"})}))}},9788:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupScrollContainment=function(e){var t=e.widget.querySelector(".chat-messages");if(!t)return;t.addEventListener("wheel",(function(e){if(t.scrollHeight>t.clientHeight){e.stopPropagation();var n=e.deltaY<0,r=e.deltaY>0,o=0===t.scrollTop,i=t.scrollTop+t.clientHeight>=t.scrollHeight;(n&&o||r&&i)&&e.preventDefault()}}),{passive:!1});var n=0;t.addEventListener("touchstart",(function(e){n=e.touches[0].clientY}),{passive:!0}),t.addEventListener("touchmove",(function(e){var r=e.touches[0].clientY>n,o=t.scrollTop<=0,i=t.scrollTop+t.clientHeight>=t.scrollHeight;(r&&o||!r&&i)&&e.preventDefault()}),{passive:!1})}},8986:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.disableSendingFunctionality=function(e){if(!e.widget)return;var t=e.widget.querySelector(".chat-input .chat-textarea"),n=e.widget.querySelector(".send-button");t&&(t.readOnly=!0,t.classList.add("waiting"));n&&(n.style.opacity=e.isMobileBrowser()?"1":"0.6",n.style.pointerEvents="auto");e.disableChips()}},8909:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.enableSendingFunctionality=function(e){if(e.isWaitingForResponse||e.isTypewriterActive)return;if(!e.widget)return;var t=e.widget.querySelector(".chat-input .chat-textarea"),n=e.widget.querySelector(".send-button");t&&(t.readOnly=!1,t.classList.remove("waiting"));n&&(n.style.opacity="1",n.style.pointerEvents="auto");e.enableChips()}},7543:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.forceEnableInput=function(e){var t=e.widget.querySelector(".chat-input .chat-textarea"),n=e.widget.querySelector(".send-button");t&&(t.readOnly=!1,t.disabled=!1,t.style.opacity="1",t.style.pointerEvents="auto",t.classList.remove("waiting"));n&&(n.style.opacity="1",n.style.pointerEvents="auto");e.enableChips(),e.isWaitingForResponse=!1,e.isTypewriterActive=!1;var r=e.widget.querySelector(".typing-indicator");r&&(r.classList.remove("active"),e.stopJavaScriptTypingAnimation())}},5931:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"disableSendingFunctionality",{enumerable:!0,get:function(){return r.disableSendingFunctionality}}),Object.defineProperty(t,"enableSendingFunctionality",{enumerable:!0,get:function(){return o.enableSendingFunctionality}}),Object.defineProperty(t,"forceEnableInput",{enumerable:!0,get:function(){return i.forceEnableInput}});var r=n(8986),o=n(8909),i=n(7543)},220:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"loadChatHistory",{enumerable:!0,get:function(){return o.loadChatHistory}}),Object.defineProperty(t,"updateStorageAfterRegeneration",{enumerable:!0,get:function(){return r.updateStorageAfterRegeneration}});var r=n(7665),o=n(8974)},8974:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(){var e=u(),t=e.m(r),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function l(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function f(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,d[e],t)},delegateYield:function(e,i,a){return t.resultName=i,n(r.d,o(e),a)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(r=function(){return{wrap:function(t,n,r,o){return e.w(f(t),n,r,o&&o.reverse())},isGeneratorFunction:l,mark:e.m,awrap:function(e,t){return new p(e,t)},AsyncIterator:c,async:function(e,t,n,r,o){return(l(t)?s:a)(f(e),t,n,r,o)},keys:i,values:o}})()}function o(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")}function i(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function a(e,t,n,r,o){var i=s(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function s(e,t,n,r,o){return new c(u().w(e,t,n,r),o||Promise)}function c(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof p?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(l(c.prototype),l(c.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),l(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function u(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return l(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function p(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(l(t={},r,(function(){return this})),t),f=p.prototype=s.prototype=Object.create(d);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=p,l(f,"constructor",p),l(p,"constructor",c),c.displayName="GeneratorFunction",l(p,o,"GeneratorFunction"),l(f),l(f,o,"Generator"),l(f,r,(function(){return this})),l(f,"toString",(function(){return"[object Generator]"})),(u=function(){return{w:i,m}})()}function l(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,t,n,r){function i(t,n){l(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},l(e,t,n,r)}function p(e,t){this.v=e,this.k=t}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,t)||y(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function b(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){g(i,r,o,a,s,"next",e)}function s(e){g(i,r,o,a,s,"throw",e)}a(void 0)}))}}function v(e){return function(e){if(Array.isArray(e))return x(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||y(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){if(e){if("string"==typeof e)return x(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?x(e,t):void 0}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function w(e){return e&&"string"==typeof e?String(e).split(",,,").map((function(e){return e.trim()})).filter(Boolean):[""]}function k(e,t,n){var r=null!=n&&n.length?Math.min.apply(Math,v(n.map((function(e){return new Date(e.timestamp||0).getTime()})))):1/0,o=t.filter((function(e){return new Date(e.timestamp||0).getTime()<r})),i=[].concat(v(o.map((function(e){return{sender:e.sender,message:e.message,timestamp:e.timestamp,skipMessageActions:null,files:e.files,products:e.products}}))),v(e.map((function(e){return{sender:e.sender,message:e.message,timestamp:e.timestamp,skipMessageActions:e.skipMessageActions,files:null,products:null}}))));return i.sort((function(e,t){return new Date(e.timestamp).getTime()-new Date(t.timestamp).getTime()})),i}function S(){return S=b(r().mark((function e(t){var n,o,i,a,s,c,u,l,p,d;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.widget){e.next=2;break}return e.abrupt("return");case 2:if(o=t.widget.querySelector(".chat-messages")){e.next=5;break}return e.abrupt("return");case 5:if(i=o.querySelectorAll(".message-row"),a=o.querySelector("#greeting-row"),i.forEach((function(e){e!==a&&e.remove()})),t.config.enableHistory){e.next=10;break}return e.abrupt("return");case 10:if(null===(n=t.supabaseManager)||void 0===n||!n.isReady){e.next=21;break}return s=function(e){if(t.widget&&!t.isWaitingForResponse&&!t.isTypewriterActive){t.addMessage(e.query,"user",!1,{timestamp:e.timestamp}),t.storageManager.saveMessage(e.query,"user");var n=t.supabaseManager._splitParts(e.response);n.forEach((function(r,o){var i=o===n.length-1;t.addMessage(r,"bot",!1,{timestamp:e.timestamp,skipMessageActions:!i})})),e.response&&String(e.response).trim()&&t.storageManager.saveMessage(e.response,"bot"),t.scrollChatToBottom()}},c=function(){var e=b(r().mark((function e(){var n,o,i,a,s,c,u,l,p,d,m;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.widget){e.next=2;break}return e.abrupt("return");case 2:if(!t.isWaitingForResponse&&!t.isTypewriterActive){e.next=4;break}return e.abrupt("return");case 4:if(n=t.widget.querySelector(".chat-messages")){e.next=7;break}return e.abrupt("return");case 7:return o=t.userManager.currentUser,i=t.userManager.domain,e.next=11,Promise.all([t.supabaseManager.getChatHistory(o,i),Promise.resolve(t.storageManager.getChatHistory())]);case 11:if(a=e.sent,s=h(a,2),c=s[0],u=s[1],!t.isWaitingForResponse&&!t.isTypewriterActive){e.next=17;break}return e.abrupt("return");case 17:t.supabaseManager.setLastSeenFromRows(c),l=t.supabaseManager.rowsToMessages(c),p=k(l,u,c),d=t.config.maxHistoryLength||100,m=n.querySelector("#greeting-row"),n.querySelectorAll(".message-row").forEach((function(e){e!==m&&e.remove()})),p.slice(-d).forEach((function(e){var n={timestamp:e.timestamp,files:e.files,products:e.products};if("bot"===e.sender){var r=w(e.message);r.forEach((function(o,i){var a,s=i===r.length-1;t.addMessage(o,"bot",!1,f(f({},n),{},{skipMessageActions:null!==(a=e.skipMessageActions)&&void 0!==a?a:!s,products:0===i?n.products:[]}))}))}else t.addMessage(e.message,e.sender,!1,n)})),t.scrollChatToBottom();case 26:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),u=t.supabaseManager.pollIntervalMs||5e3,e.next=16,c();case 16:return l=t.userManager.currentUser,p=t.userManager.domain,t.supabaseManager.startRealtimeSubscription(l,p,s),t.supabaseManager.startBackgroundRefresh(u,c),e.abrupt("return");case 21:d=t.storageManager.getChatHistory(),d.reduce((function(e,t){if("user"===t.sender)e.push(t);else if("bot"===t.sender){var n=e.findLastIndex((function(e){return"user"===e.sender}));-1!==n&&(e=e.filter((function(e,t){return t<=n||"user"===e.sender}))),e.push(t)}return e}),[]).forEach((function(e){var n={timestamp:e.timestamp};if(e.files&&e.files.length>0&&(n.files=e.files),e.products&&e.products.length>0&&(n.products=e.products),"bot"===e.sender){var r=w(e.message);r.forEach((function(o,i){var a=i===r.length-1,s=f(f({},n),{},{products:0===i?n.products:[],skipMessageActions:!a});t.addMessage(o,e.sender,!1,s)}))}else t.addMessage(e.message,e.sender,!1,n)}));case 24:case"end":return e.stop()}}),e)}))),S.apply(this,arguments)}Object.defineProperty(t,"__esModule",{value:!0}),t.loadChatHistory=function(e){return S.apply(this,arguments)}},7665:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(){var e=u(),t=e.m(r),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function l(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function f(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,d[e],t)},delegateYield:function(e,i,a){return t.resultName=i,n(r.d,o(e),a)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(r=function(){return{wrap:function(t,n,r,o){return e.w(f(t),n,r,o&&o.reverse())},isGeneratorFunction:l,mark:e.m,awrap:function(e,t){return new p(e,t)},AsyncIterator:c,async:function(e,t,n,r,o){return(l(t)?s:a)(f(e),t,n,r,o)},keys:i,values:o}})()}function o(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")}function i(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function a(e,t,n,r,o){var i=s(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function s(e,t,n,r,o){return new c(u().w(e,t,n,r),o||Promise)}function c(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof p?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(l(c.prototype),l(c.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),l(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function u(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return l(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function p(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(l(t={},r,(function(){return this})),t),f=p.prototype=s.prototype=Object.create(d);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=p,l(f,"constructor",p),l(p,"constructor",c),c.displayName="GeneratorFunction",l(p,o,"GeneratorFunction"),l(f),l(f,o,"Generator"),l(f,r,(function(){return this})),l(f,"toString",(function(){return"[object Generator]"})),(u=function(){return{w:i,m}})()}function l(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,t,n,r){function i(t,n){l(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},l(e,t,n,r)}function p(e,t){this.v=e,this.k=t}function d(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function f(){var e;return e=r().mark((function e(t,n,o){var i,a,s,c,u;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.userManager.getHistoryKey(),a=t.storageManager.getChatHistory(),s=-1,c=-1,u=0;case 5:if(!(u<a.length)){e.next=14;break}if("user"!==a[u].sender){e.next=11;break}if(++c!==n){e.next=11;break}return s=u,e.abrupt("break",14);case 11:u++,e.next=5;break;case 14:-1!==s&&((a=a.slice(0,s+1))[s].regenerated=!0,localStorage.setItem(i,JSON.stringify(a)));case 15:case"end":return e.stop()}}),e)})),f=function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){d(i,r,o,a,s,"next",e)}function s(e){d(i,r,o,a,s,"throw",e)}a(void 0)}))},f.apply(this,arguments)}Object.defineProperty(t,"__esModule",{value:!0}),t.updateStorageAfterRegeneration=function(e,t,n){return f.apply(this,arguments)}},2585:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"loadStyles",{enumerable:!0,get:function(){return r.loadStyles}});var r=n(2931)},2931:(e,t)=>{function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.loadStyles=function(e){e.applyTheme();var t="chat-widget-font";if(!document.getElementById(t)){var o=document.createElement("link");o.id=t,o.rel="stylesheet",o.href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&display=swap",document.head.appendChild(o)}var i=document.createElement("style");i.textContent="\n :root {\n --chat-primary-color: ".concat(e.config.primaryColor,";\n --chat-primary-color-gradient: ").concat(e.config.primaryColor,";\n --chat-message-font-size: ").concat(e.config.fontSize,";\n --chat-width: ").concat(e.config.width,";\n --chat-height: ").concat(e.config.height,";\n --chat-toggle-size: ").concat(e.config.toggleButtonSize,"px;\n --chat-toggle-bottom-margin: ").concat(e.config.toggleButtonBottomMargin,"px;\n --chat-toggle-right-margin: ").concat(e.config.toggleButtonRightMargin,"px;\n --website-bottom-spacing: ").concat(e.config.websiteBottomSpacing,"px;\n --text-box-spacing-from-toggle: ").concat(e.config.textBoxSpacingFromToggle,"px;\n --text-box-text-color: ").concat("primary"===e.config.textBoxTextColor?e.config.primaryColor:"default"===e.config.textBoxTextColor?"#374151":e.config.textBoxTextColor,";\n --text-box-submessage-color: ").concat("primary"===e.config.textBoxTextColor?e.config.primaryColor:"default"===e.config.textBoxTextColor?"#6b7280":e.config.textBoxTextColor,";\n --text-box-submessage-opacity: ").concat("primary"===e.config.textBoxTextColor?"0.8":"1",";\n --text-box-is-gradient: ").concat("primary"===e.config.textBoxTextColor&&e.isGradient(e.config.primaryColor)?"true":"false",";\n --chat-border-radius: 20px;\n --chat-shadow: 0 25px 50px -12px rgba(0,0,0,0.18), 0 0 0 1px rgba(0,0,0,0.04);\n --chat-shadow-elevated: 0 32px 64px -12px rgba(0,0,0,0.22), 0 0 0 1px rgba(0,0,0,0.06);\n --typing-dot-color: ").concat(e.config.typingIndicatorColor,";\n --chat-primary-color-rgb: ").concat(e.hexToRgb(e.config.primaryColor),";\n --send-button-icon-size: ").concat(e.config.sendButtonIconSize,"px;\n \n /* Theme variables */\n --chat-bg-color: ").concat(e.getThemeColor("bg"),";\n --chat-text-color: ").concat(e.getThemeColor("text"),";\n --chat-border-color: ").concat(e.getThemeColor("border"),";\n --chat-input-bg: ").concat(e.getThemeColor("inputBg"),";\n --chat-message-bg: ").concat(e.getThemeColor("messageBg"),";\n --chat-header-bg: ").concat(e.getThemeColor("headerBg"),";\n --chat-header-text: ").concat(e.getThemeColor("headerText"),';\n }\n\n /* Scope reset strictly to the widget — never touch the host page */\n .chat-widget,\n .chat-widget * {\n box-sizing: border-box;\n font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;\n }\n\n /* Chat Widget Container */\n .chat-widget {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 2147483647;\n }\n\n .chat-widget.left .chat-toggle {\n left: 20px;\n right: auto;\n }\n\n .chat-widget.left .chat-window {\n left: 20px;\n right: auto;\n }\n\n /* Chat Toggle Button - Modern floating pill with glow */\n .chat-toggle {\n width: var(--chat-toggle-size);\n height: var(--chat-toggle-size);\n min-width: 44px;\n min-height: 44px;\n border: none;\n padding: 0;\n font: inherit;\n border-radius: 50%;\n background: var(--chat-primary-color-gradient);\n box-shadow: 0 8px 32px rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.35), 0 0 0 1px rgba(255,255,255,0.2) inset;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;\n z-index: 2147483650;\n position: fixed;\n text-align: center;\n }\n\n .chat-toggle:hover {\n transform: scale(1.1);\n box-shadow: 0 12px 40px rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.45), 0 0 0 1px rgba(255,255,255,0.3) inset;\n }\n\n .chat-toggle:active {\n transform: scale(1.02);\n }\n\n .chat-toggle:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .chat-toggle,\n .chat-toggle:hover {\n transition: none;\n transform: none;\n }\n .chat-toggle.animation-1,\n .chat-toggle.animation-2,\n .chat-toggle.animation-3,\n .chat-toggle.animation-4,\n .chat-toggle.animation-5 {\n animation: none !important;\n }\n }\n\n .chat-toggle img {\n width: 30px;\n height: 30px;\n display: block;\n margin: 0 auto;\n }\n\n .chat-toggle span {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font-size: 24px;\n line-height: 1;\n }\n\n /* Toggle Button Animations - Enhanced for production compatibility */\n .chat-toggle.animation-1 {\n animation: pulseAnimation 2s infinite !important;\n -webkit-animation: pulseAnimation 2s infinite !important;\n }\n\n .chat-toggle.animation-2 {\n animation: bounceAnimation 2s infinite !important;\n -webkit-animation: bounceAnimation 2s infinite !important;\n }\n\n .chat-toggle.animation-3 {\n animation: shakeAnimation 3s infinite !important;\n -webkit-animation: shakeAnimation 3s infinite !important;\n }\n\n .chat-toggle.animation-4 {\n animation: infinityAnimation 3s infinite !important;\n -webkit-animation: infinityAnimation 3s infinite !important;\n }\n\n .chat-toggle.animation-5 {\n animation: rotateAnimation 4s infinite linear !important;\n -webkit-animation: rotateAnimation 4s infinite linear !important;\n }\n\n /* Keyframe Animations - Enhanced with vendor prefixes for production compatibility */\n @keyframes pulseAnimation {\n 0%, 100% { \n transform: scale(1); \n -webkit-transform: scale(1);\n }\n 50% { \n transform: scale(1.15); \n -webkit-transform: scale(1.15);\n }\n }\n\n @-webkit-keyframes pulseAnimation {\n 0%, 100% { -webkit-transform: scale(1); }\n 50% { -webkit-transform: scale(1.15); }\n }\n\n @keyframes bounceAnimation {\n 0%, 20%, 50%, 80%, 100% { \n transform: translateY(0); \n -webkit-transform: translateY(0);\n }\n 40% { \n transform: translateY(-10px); \n -webkit-transform: translateY(-10px);\n }\n 60% { \n transform: translateY(-5px); \n -webkit-transform: translateY(-5px);\n }\n }\n\n @-webkit-keyframes bounceAnimation {\n 0%, 20%, 50%, 80%, 100% { -webkit-transform: translateY(0); }\n 40% { -webkit-transform: translateY(-10px); }\n 60% { -webkit-transform: translateY(-5px); }\n }\n\n @keyframes shakeAnimation {\n 0%, 100% { \n transform: translateX(0); \n -webkit-transform: translateX(0);\n }\n 10%, 30%, 50%, 70%, 90% { \n transform: translateX(-5px); \n -webkit-transform: translateX(-5px);\n }\n 20%, 40%, 60%, 80% { \n transform: translateX(5px); \n -webkit-transform: translateX(5px);\n }\n }\n\n @-webkit-keyframes shakeAnimation {\n 0%, 100% { -webkit-transform: translateX(0); }\n 10%, 30%, 50%, 70%, 90% { -webkit-transform: translateX(-5px); }\n 20%, 40%, 60%, 80% { -webkit-transform: translateX(5px); }\n }\n\n @keyframes infinityAnimation {\n 0%, 100% { \n transform: scale(1); \n -webkit-transform: scale(1);\n }\n 25% { \n transform: scale(1.2); \n -webkit-transform: scale(1.2);\n }\n 50% { \n transform: scale(1); \n -webkit-transform: scale(1);\n }\n 75% { \n transform: scale(1.2); \n -webkit-transform: scale(1.2);\n }\n }\n\n @-webkit-keyframes infinityAnimation {\n 0%, 100% { -webkit-transform: scale(1); }\n 25% { -webkit-transform: scale(1.2); }\n 50% { -webkit-transform: scale(1); }\n 75% { -webkit-transform: scale(1.2); }\n }\n\n @keyframes rotateAnimation {\n from { \n transform: rotate(0deg); \n -webkit-transform: rotate(0deg);\n }\n to { \n transform: rotate(360deg); \n -webkit-transform: rotate(360deg);\n }\n }\n\n @-webkit-keyframes rotateAnimation {\n from { -webkit-transform: rotate(0deg); }\n to { -webkit-transform: rotate(360deg); }\n }\n\n /* Text Box Styles - Positioned below chat window for better visibility */\n .chat-text-box {\n z-index: 2147483640; /* Lower than chat window (2147483647) to not block branding */\n max-width: min(280px, calc(100vw - 40px)); /* Responsive max-width with proper margins */\n pointer-events: auto;\n box-sizing: border-box;\n position: fixed; /* Ensure proper stacking context */\n opacity: 1;\n /* No transitions for direct show/hide */\n /* Spacing is now handled by CSS variables in position-specific rules */\n }\n\n .chat-text-box-content {\n background: white;\n border-radius: 12px;\n padding: 16px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.15);\n border: 1px solid #e5e7eb;\n position: relative;\n animation: slideInUp 0.3s ease-out;\n }\n\n .chat-text-box-close {\n position: absolute;\n top: 10px;\n right: 10px;\n background: var(--chat-primary-color-gradient);\n border: none;\n cursor: pointer;\n padding: 8px;\n border-radius: 50%;\n color: white;\n width: 34px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n z-index: 10;\n box-shadow: 0 2px 8px rgba(0,0,0,0.2);\n }\n\n .chat-text-box-close:hover {\n filter: brightness(0.9);\n transform: scale(1.15) rotate(90deg);\n box-shadow: 0 4px 12px rgba(0,0,0,0.3);\n }\n\n .chat-text-box-close svg {\n width: 18px;\n height: 18px;\n stroke-width: 2.5;\n }\n\n .chat-text-box-message {\n font-size: 16px;\n line-height: 1.5;\n margin-bottom: 14px;\n font-weight: 600;\n padding-right: 35px;\n }\n \n /* Gradient text support for text box message */\n .chat-text-box-message {\n background: var(--text-box-text-color);\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n color: var(--text-box-text-color); /* Fallback for non-webkit browsers */\n }\n \n /* Non-gradient text fallback */\n .chat-text-box-message:not([data-gradient="true"]) {\n background: none;\n background-clip: unset;\n -webkit-background-clip: unset;\n -webkit-text-fill-color: unset;\n color: var(--text-box-text-color);\n }\n\n .chat-text-box-separator {\n height: 1px;\n background: #e5e7eb;\n margin: 0 -4px 14px -4px;\n }\n\n .chat-text-box-submessage {\n font-size: 15px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 8px;\n opacity: var(--text-box-submessage-opacity);\n }\n \n /* Gradient text support for text box submessage */\n .chat-text-box-submessage {\n background: var(--text-box-submessage-color);\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n color: var(--text-box-submessage-color); /* Fallback for non-webkit browsers */\n }\n \n /* Non-gradient text fallback */\n .chat-text-box-submessage:not([data-gradient="true"]) {\n background: none;\n background-clip: unset;\n -webkit-background-clip: unset;\n -webkit-text-fill-color: unset;\n color: var(--text-box-submessage-color);\n }\n\n .chat-text-box-submessage::before {\n content: \'\';\n width: 8px;\n height: 8px;\n background: #10b981;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n /* Text Box Animation */\n @keyframes slideInUp {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes slideOutDown {\n from {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n to {\n opacity: 0;\n transform: translateY(-10px) scale(0.95);\n }\n }\n\n /* Dark theme styles for text box */\n .chat-widget.dark-theme .chat-text-box-content {\n background: #374151;\n border-color: #4b5563;\n }\n\n .chat-widget.dark-theme .chat-text-box-message {\n color: var(--text-box-text-color);\n }\n\n .chat-widget.dark-theme .chat-text-box-submessage {\n color: var(--text-box-submessage-color);\n opacity: var(--text-box-submessage-opacity);\n }\n\n .chat-widget.dark-theme .chat-text-box-separator {\n background: #4b5563;\n }\n\n .chat-widget.dark-theme .chat-text-box-close {\n color: #9ca3af;\n }\n\n .chat-widget.dark-theme .chat-text-box-close:hover {\n background: #4b5563;\n color: #d1d5db;\n }\n\n /* Chat Window - Modern glass-inspired panel */\n .chat-window {\n position: fixed;\n bottom: 100px;\n right: 20px;\n width: var(--chat-width);\n height: var(--chat-height);\n background: var(--chat-bg-color);\n border-radius: var(--chat-border-radius);\n box-shadow: var(--chat-shadow);\n display: none;\n flex-direction: column;\n overflow: hidden;\n transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease, box-shadow 0.35s ease;\n transform: translateY(24px) scale(0.96);\n opacity: 0;\n font-size: var(--chat-font-size);\n min-width: 300px;\n max-width: 600px;\n min-height: 400px;\n max-height: 800px;\n padding: 0;\n box-sizing: border-box;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n border: 1px solid rgba(255,255,255,0.6);\n }\n\n .chat-window.active {\n display: flex;\n transform: translateY(0) scale(1);\n opacity: 1;\n border-radius: var(--chat-border-radius);\n overflow: hidden;\n box-shadow: var(--chat-shadow-elevated);\n }\n\n /* Chat Header - Refined gradient with subtle depth */\n .chat-header {\n background: var(--chat-primary-color-gradient);\n color: white;\n padding: 1rem 1.25rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n box-sizing: border-box;\n position: relative;\n margin: 0;\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);\n }\n\n /* Fix for header background extending to edges */\n .chat-header::before {\n content: \'\';\n position: absolute;\n top: 0;\n left: -1px;\n right: -1px;\n bottom: 0;\n background: var(--chat-primary-color-gradient);\n z-index: -1;\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n\n .chat-header-title {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n position: relative;\n z-index: 1;\n }\n \n .chat-header-text {\n display: flex;\n flex-direction: column;\n gap: 0.1rem;\n }\n \n .chat-header-subname {\n font-size: 0.8em;\n opacity: 0.8;\n font-weight: 400;\n line-height: 1.2;\n }\n\n .chat-header-avatar {\n width: 44px;\n height: 44px;\n border-radius: 12px;\n background: rgba(255, 255, 255, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: hidden;\n border: 1px solid rgba(255,255,255,0.3);\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n }\n\n .chat-header-avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 11px;\n }\n\n .chat-header-actions {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n position: relative;\n z-index: 1;\n }\n\n .erase-chat, .close-chat {\n background: rgba(255, 255, 255, 0.12);\n border: none;\n color: white;\n cursor: pointer;\n padding: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 10px;\n transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);\n width: 38px;\n height: 38px;\n }\n\n .erase-chat:hover, .close-chat:hover {\n background: rgba(255, 255, 255, 0.22);\n transform: scale(1.06);\n }\n\n .erase-chat:active, .close-chat:active {\n background: rgba(255, 255, 255, 0.15) !important;\n transform: scale(0.96);\n }\n\n /* Enhanced mobile touch support for header buttons */\n @media (max-width: 768px) {\n .erase-chat, .close-chat {\n width: 44px;\n height: 44px;\n -webkit-tap-highlight-color: transparent;\n touch-action: manipulation;\n }\n \n .erase-chat:active, .close-chat:active {\n background: var(--chat-primary-color) !important;\n transform: scale(0.9);\n }\n }\n\n .erase-chat img, .close-chat img {\n width: 20px;\n height: 20px;\n pointer-events: none;\n }\n\n /* Chat Messages - Soft gradient background */\n .chat-messages {\n flex: 1;\n overflow-y: auto;\n padding: 1.25rem 1.25rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n scroll-behavior: smooth;\n scrollbar-width: thin;\n scrollbar-color: rgba(15, 23, 42, 0.2) transparent;\n background: var(--chat-message-bg);\n ').concat(e.config.chatBackgroundImage?"\n background-image: url('".concat(e.config.chatBackgroundImage,"');\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n background-attachment: fixed;\n "):"\n background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);\n ","\n }\n\n .chat-messages::-webkit-scrollbar {\n width: 8px;\n }\n\n .chat-messages::-webkit-scrollbar-track {\n background: transparent;\n }\n\n .chat-messages::-webkit-scrollbar-thumb {\n background-color: rgba(15, 23, 42, 0.15);\n border-radius: 4px;\n }\n\n .chat-messages::-webkit-scrollbar-thumb:hover {\n background-color: rgba(15, 23, 42, 0.25);\n }\n\n /* Prevent iOS rubber-band effect */\n @supports (-webkit-touch-callout: none) {\n .chat-window {\n height: -webkit-fill-available;\n }\n \n .chat-messages {\n height: -webkit-fill-available;\n }\n }\n\n /* Dark theme styles */\n .chat-widget.dark-theme .chat-window {\n background: var(--chat-bg-color);\n border: 1px solid var(--chat-border-color);\n }\n\n .chat-widget.dark-theme .chat-header {\n background: var(--chat-primary-color);\n color: white;\n }\n\n .chat-widget.dark-theme .chat-input input,\n .chat-widget.dark-theme .chat-input .chat-textarea {\n background: var(--chat-input-bg);\n color: var(--chat-text-color);\n border-color: var(--chat-border-color);\n }\n\n .chat-widget.dark-theme .chat-input input::placeholder,\n .chat-widget.dark-theme .chat-input .chat-textarea::placeholder {\n color: #888888;\n }\n\n .chat-widget.dark-theme .bot-message {\n background: var(--chat-message-bg);\n color: var(--chat-text-color);\n border: 1px solid var(--chat-border-color);\n }\n\n .chat-widget.dark-theme .user-message {\n background: var(--chat-primary-color);\n color: white;\n }\n\n .chat-widget.dark-theme .typing-indicator {\n background: var(--chat-message-bg);\n border: 1px solid var(--chat-border-color);\n }\n\n .chat-widget.dark-theme .chip {\n background: var(--chat-message-bg);\n color: var(--chat-text-color);\n border: 1px solid var(--chat-border-color);\n }\n\n .chat-widget.dark-theme .chip:hover {\n background: var(--chat-border-color);\n }\n\n .message {\n max-width: 80%;\n padding: 0.8rem 1rem;\n border-radius: 1rem;\n margin: 0.25rem 0;\n font-size: calc(var(--chat-font-size) * 0.8);\n transition: max-width 0.3s ease, padding 0.3s ease;\n }\n\n .message-row {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n overflow: visible !important;\n }\n\n /* Chat spacer to ensure new messages and responses are visible */\n .chat-spacer {\n height: 20px;\n min-height: 20px;\n flex-shrink: 0;\n pointer-events: none;\n }\n\n /* Bot Message Styling - Modern soft card */\n .bot-message {\n max-width: 80%;\n padding: 1rem 1.25rem;\n background: #ffffff;\n border-radius: 18px;\n border-top-left-radius: 6px;\n font-size: 14px;\n line-height: 1.6;\n color: #1e293b;\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04);\n border: 1px solid rgba(15, 23, 42, 0.06);\n ").concat(e.config.chatBackgroundImage?"\n background: rgba(255, 255, 255, 0.95) !important;\n backdrop-filter: blur(8px);\n ":"",'\n }\n \n /* Ensure bot message consistency */\n .chat-widget .bot-message,\n .chat-widget .ai-message {\n background: #ffffff !important;\n color: #1e293b !important;\n }\n\n /* Error message styling - distinct visual feedback */\n .bot-message.error-message {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important;\n border-left: 4px solid #ef4444 !important;\n color: #991b1b !important;\n box-shadow: 0 2px 12px rgba(239, 68, 68, 0.12) !important;\n }\n\n .chat-widget.dark-theme .bot-message.error-message {\n background: rgba(220, 38, 38, 0.15) !important;\n border-left-color: #ef4444 !important;\n color: #fca5a5 !important;\n }\n\n .bot-message img {\n max-width: 100%;\n height: auto;\n border-radius: 8px;\n margin: 8px 0;\n transition: min-height 0.3s ease;\n }\n\n .bot-message img[src=""] {\n display: none;\n }\n\n .bot-message a {\n color: #0084ff;\n text-decoration: none;\n }\n\n .bot-message a:hover {\n text-decoration: underline;\n }\n\n /* User Message - Premium bubble */\n .user-message {\n margin-left: auto;\n background: var(--chat-primary-color-gradient);\n color: white;\n border-radius: 18px;\n border-top-right-radius: 6px;\n text-align: left;\n box-shadow: 0 4px 16px rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.25), 0 0 0 1px rgba(255,255,255,0.15) inset;\n ').concat(e.config.chatBackgroundImage?"\n background: var(--chat-primary-color-gradient) !important;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;\n ":"","\n }\n\n .user-message-content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .user-message-text {\n display: block;\n }\n\n .user-message-attachments {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 4px;\n }\n\n .user-message-attachment-img {\n max-width: 120px;\n max-height: 120px;\n width: auto;\n height: auto;\n object-fit: cover;\n border-radius: 8px;\n border: 1px solid rgba(255,255,255,0.2);\n }\n\n /* Product Carousel - Klyra API */\n .chatnest-product-carousel {\n margin-top: 16px;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 10px;\n position: relative;\n }\n\n .chatnest-carousel-nav {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n }\n\n .chatnest-carousel-prev,\n .chatnest-carousel-next {\n flex-shrink: 0;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n border: 1px solid rgba(15, 23, 42, 0.12);\n background: #ffffff;\n color: #475569;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);\n }\n\n .chatnest-carousel-prev:hover:not(.disabled),\n .chatnest-carousel-next:hover:not(.disabled) {\n background: var(--chat-primary-color);\n color: white;\n border-color: transparent;\n transform: scale(1.05);\n }\n\n .chatnest-carousel-prev.disabled,\n .chatnest-carousel-next.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n .chatnest-carousel-prev svg,\n .chatnest-carousel-next svg {\n width: 20px;\n height: 20px;\n }\n\n .chatnest-product-carousel-viewport {\n width: 100%;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n }\n\n .chatnest-product-carousel-viewport::-webkit-scrollbar {\n height: 6px;\n }\n\n .chatnest-product-carousel-viewport::-webkit-scrollbar-thumb {\n background: rgba(15, 23, 42, 0.2);\n border-radius: 3px;\n }\n\n .chatnest-product-carousel-inner {\n display: flex;\n gap: 12px;\n padding: 4px 0 12px 0;\n min-width: min-content;\n }\n\n .message-content-part {\n margin-bottom: 0.5em;\n }\n\n .message-content-part:last-child {\n margin-bottom: 0;\n }\n\n .chatnest-product-card {\n flex: 0 0 200px;\n width: 200px;\n scroll-snap-align: start;\n scroll-snap-stop: always;\n display: flex;\n flex-direction: column;\n background: #ffffff;\n border-radius: 14px;\n overflow: hidden;\n border: 1px solid rgba(15, 23, 42, 0.06);\n box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.04);\n transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.2s ease;\n }\n\n .chatnest-product-card:hover {\n transform: translateY(-3px);\n box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.06);\n border-color: rgba(15, 23, 42, 0.1);\n }\n\n .chatnest-product-card-image {\n position: relative;\n width: 100%;\n height: 180px;\n min-height: 180px;\n background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n }\n\n .chatnest-product-card-image img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n object-position: center;\n padding: 12px;\n display: block;\n }\n\n .chatnest-product-card-image-placeholder {\n display: none;\n position: absolute;\n inset: 0;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: #94a3b8;\n background: #f1f5f9;\n }\n\n .chatnest-product-card-image-placeholder.visible {\n display: flex;\n }\n\n .chatnest-product-card-body {\n padding: 14px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n }\n\n .chatnest-product-card-name {\n font-size: 14px;\n font-weight: 600;\n color: #1e293b;\n margin: 0;\n line-height: 1.35;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .chatnest-product-card-highlights {\n font-size: 12px;\n color: #64748b;\n margin: 0;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .chatnest-product-card-price {\n font-size: 15px;\n font-weight: 700;\n color: var(--chat-primary-color);\n margin-top: 2px;\n }\n\n .chatnest-product-card-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-top: 6px;\n padding: 10px 16px;\n font-size: 13px;\n font-weight: 600;\n color: #ffffff;\n background: var(--chat-primary-color-gradient);\n border: none;\n border-radius: 10px;\n text-decoration: none;\n cursor: pointer;\n transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;\n box-shadow: 0 2px 8px rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.3);\n }\n\n .chatnest-product-card-btn:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.4);\n opacity: 0.95;\n }\n\n .chatnest-product-card-btn:active {\n transform: translateY(0);\n }\n\n /* Markdown Content Styles */\n .bot-message h1, .bot-message h2, .bot-message h3 {\n margin: 16px 0 8px 0;\n }\n\n .bot-message p {\n margin: 8px 0;\n }\n\n .bot-message ul, .bot-message ol {\n margin: 8px 0;\n padding-left: 20px;\n }\n\n .bot-message code {\n background: rgba(0, 0, 0, 0.05);\n padding: 2px 4px;\n border-radius: 4px;\n font-family: monospace;\n }\n\n .bot-message pre {\n background: rgba(0, 0, 0, 0.05);\n padding: 12px;\n border-radius: 4px;\n overflow-x: auto;\n }\n\n .bot-message blockquote {\n border-left: 4px solid #0084ff;\n margin: 8px 0;\n padding-left: 12px;\n color: #666;\n }\n \n /* COMPREHENSIVE GREETING WIDTH FIX - Force identical width to other AI responses */\n #greeting-row {\n display: flex !important;\n align-items: flex-start !important;\n gap: 0.5rem !important;\n width: 100% !important;\n max-width: 100% !important;\n }\n \n #greeting-row .bot-message-container {\n display: flex !important;\n flex-direction: column !important;\n align-items: flex-start !important;\n margin-bottom: 1rem !important;\n max-width: 80% !important;\n width: 80% !important;\n min-width: 60px !important;\n }\n \n #greeting-row .bot-message {\n max-width: 100% !important;\n width: 100% !important;\n min-width: 100% !important;\n padding: 1rem 1.25rem !important;\n background: #ffffff !important;\n border-radius: 18px !important;\n border-top-left-radius: 6px !important;\n font-size: 14px !important;\n line-height: 1.6 !important;\n color: #1e293b !important;\n box-sizing: border-box !important;\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06) !important;\n border: 1px solid rgba(15, 23, 42, 0.06) !important;\n }\n \n #greeting-row .message-content {\n margin-top: 0.5rem !important;\n width: 100% !important;\n max-width: 100% !important;\n word-wrap: break-word !important;\n overflow-wrap: break-word !important;\n }\n \n /* Mobile responsive width for greeting */\n @media screen and (max-width: 480px) {\n #greeting-row .bot-message-container {\n max-width: 85% !important;\n width: 85% !important;\n }\n \n #greeting-row .bot-message {\n max-width: 100% !important;\n width: 100% !important;\n }\n }\n \n /* Remove greeting message shadow */\n #greeting-row .bot-message {\n box-shadow: none !important;\n }\n \n /* AI Avatar Styling */\n .bot-message-container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n margin-bottom: 1rem;\n position: relative;\n overflow: visible;\n }\n\n /* Reduce spacing between multiple responses from same query (Parlant) */\n .bot-message-container[data-query-id] + .bot-message-container[data-query-id] {\n margin-top: 0.25rem;\n margin-bottom: 0.5rem;\n }\n \n /* Add larger spacing between different queries */\n .message-row[data-query-id] {\n margin-bottom: 0.5rem;\n }\n \n /* When moving from one query to another (query-id changes), add more spacing */\n .message-row[data-query-id] + .message-row:not([data-query-id]),\n .message-row:not([data-query-id]) + .message-row[data-query-id] {\n margin-top: 1rem;\n }\n\n .bot-message {\n position: relative;\n }\n \n .ai-avatar {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 0.8rem;\n font-size: 0.9em;\n }\n \n .ai-avatar-icon {\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: var(--chat-primary-color, #0084ff);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n color: white;\n flex-shrink: 0;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n position: relative;\n }\n \n /* Enhanced avatar type styles with fallback colors */\n .ai-avatar-icon.emoji-avatar {\n background: transparent !important;\n font-size: 18px;\n color: inherit;\n box-shadow: none;\n }\n \n .ai-avatar-icon.text-avatar {\n background: var(--chat-primary-color, ").concat(e.config.primaryColor||"#0084ff",") !important;\n font-size: 14px;\n font-weight: 600;\n color: white;\n }\n \n .ai-avatar-icon.image-avatar {\n background: transparent !important;\n padding: 0;\n }\n \n .ai-avatar-icon.svg-avatar {\n background: var(--chat-primary-color, ").concat(e.config.primaryColor||"#0084ff",") !important;\n padding: 4px;\n }\n \n /* Fallback for when CSS variables don't load properly */\n .chat-widget .ai-avatar-icon:not(.emoji-avatar):not(.image-avatar) {\n background-color: ").concat(e.config.primaryColor||"#0084ff"," !important;\n }\n \n .ai-avatar-icon img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n display: block;\n }\n \n .ai-avatar-icon svg {\n width: 18px;\n height: 18px;\n fill: currentColor;\n color: white;\n }\n \n .ai-avatar-icon.svg-avatar svg {\n fill: white;\n color: white;\n }\n \n .ai-name {\n font-weight: 600;\n color: var(--chat-primary-color, #0084ff);\n font-size: 0.9em;\n line-height: 1.2;\n }\n \n .message-content {\n margin-top: 0.5rem;\n }\n\n /* Chat Input Container */\n .chat-input-container {\n padding: 1rem 1.25rem;\n border-top: 1px solid rgba(15, 23, 42, 0.08);\n background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\n }\n\n /* Chat Branding */\n /* Privacy notice */\n .chat-privacy-notice {\n display: flex;\n align-items: flex-start;\n gap: 5px;\n padding: 5px 14px 4px;\n font-size: 10.5px;\n color: #94a3b8;\n background: transparent;\n line-height: 1.45;\n letter-spacing: 0.01em;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .chat-widget.dark-theme .chat-privacy-notice {\n color: #64748b;\n border-top-color: rgba(255,255,255,0.06);\n }\n\n .chat-branding {\n padding: 0.625rem 1rem;\n background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);\n text-align: center;\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n font-size: 11px;\n color: #64748b;\n font-weight: 500;\n letter-spacing: 0.02em;\n }\n\n .chat-branding a {\n color: inherit;\n text-decoration: none;\n font-size: inherit;\n font-weight: 600;\n transition: color 0.2s ease;\n }\n\n .chat-branding a:hover {\n color: var(--chat-primary-color);\n text-decoration: none;\n }\n\n .chat-branding strong {\n font-weight: 600;\n font-size: inherit;\n color: #334155;\n }\n\n .chat-widget.dark-theme .chat-branding {\n color: #a0aec0;\n }\n\n .chat-widget.dark-theme .chat-branding a:hover {\n color: var(--chat-primary-color);\n }\n\n .chat-widget.dark-theme .chat-branding strong {\n color: #e2e8f0;\n font-size: inherit;\n }\n\n .chat-widget.dark-theme .chat-branding a:hover strong {\n color: var(--chat-primary-color);\n }\n\n /* Suggestion Chips */\n .suggestion-chips {\n padding: 0.5rem;\n display: flex;\n gap: 0.5rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n scroll-behavior: smooth;\n scrollbar-width: auto;\n scrollbar-color: var(--chat-primary-color) #f0f2f5;\n }\n\n .suggestion-chips::-webkit-scrollbar {\n height: 6px;\n }\n\n .suggestion-chips::-webkit-scrollbar-track {\n background: #f0f2f5;\n border-radius: 3px;\n }\n\n .suggestion-chips::-webkit-scrollbar-thumb {\n background: var(--chat-primary-color);\n border-radius: 3px;\n transition: background 0.2s ease;\n }\n\n .suggestion-chips::-webkit-scrollbar-thumb:hover {\n background: var(--chat-primary-color);\n opacity: 0.8;\n }\n\n .chat-input input {\n -webkit-user-select: text !important; /* Allow text selection on Safari */\n user-select: text !important; /* Ensure text selection works */\n -webkit-tap-highlight-color: transparent !important; /* Remove tap highlight on iOS/Android */\n cursor: text !important; /* Ensure text cursor appears */\n }\n\n /* Avoid global bright blue outline rules (we use ash focus styling above) */\n .chat-input input:focus {\n outline: none !important;\n }\n\n /* Ensure active inputs remain functional */\n .chat-input input.active {\n user-select: text !important; /* Ensure text selection */\n -webkit-user-select: text !important; /* Support for Safari */\n }\n\n /* Keep inactive inputs styled properly */\n .chat-input input:not(.active):focus {\n outline: none !important; /* Remove focus outline */\n border-color: #e4e6eb !important; /* Keep the border color default */\n }\n\n /* Prevent issues with z-index or visibility */\n .chat-input input,\n .chat-input .chat-textarea {\n z-index: 1 !important;\n visibility: visible !important;\n pointer-events: auto !important;\n }\n\n\n .chip {\n border: 1px solid rgba(15, 23, 42, 0.08);\n padding: 0.625rem 1.25rem;\n min-height: 44px;\n font: inherit;\n font-size: 14px;\n font-weight: 500;\n background: #ffffff;\n border-radius: 12px;\n white-space: nowrap;\n cursor: pointer;\n transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);\n color: #475569;\n box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);\n }\n\n .chip:hover {\n background: linear-gradient(135deg, rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.08) 0%, rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.04) 100%);\n color: var(--chat-primary-color);\n border-color: rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.2);\n box-shadow: 0 4px 12px rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.12);\n transform: translateY(-2px);\n }\n\n .chip:active {\n transform: translateY(0);\n }\n\n .chip:focus-visible {\n outline: 2px solid var(--chat-primary-color);\n outline-offset: 2px;\n }\n\n /* Optimized Chat Input - Desktop */\n .chat-input {\n display: flex;\n gap: 8px;\n margin-top: 8px;\n margin-bottom: 0;\n padding: 0;\n position: relative;\n }\n\n .chat-input input,\n .chat-input .chat-textarea {\n flex: 1;\n padding: 12px 16px;\n border: 1.5px solid rgba(15, 23, 42, 0.1);\n border-radius: 14px;\n outline: none;\n font-size: 15px;\n background-color: #ffffff;\n cursor: text;\n transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;\n min-height: 48px;\n height: 48px;\n line-height: 1.5;\n box-sizing: border-box;\n color: #1f2937;\n }\n\n .chat-input input::placeholder,\n .chat-input .chat-textarea::placeholder {\n color: #9ca3af;\n }\n\n /* Multiline textarea specifics */\n .chat-input .chat-textarea {\n resize: none;\n overflow: hidden;\n height: auto;\n max-height: 140px;\n padding: 12px 48px 12px 16px; /* space for send button */\n }\n \n .chat-input input:focus,\n .chat-input .chat-textarea:focus {\n border-color: var(--chat-primary-color);\n border-width: 2px;\n box-shadow: 0 0 0 3px rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.15);\n outline: none;\n background-color: white;\n padding: 11px 47px 11px 15px; /* Adjust for thicker border + send icon space */\n }\n\n .chat-input input.cursor-active,\n .chat-input .chat-textarea.cursor-active {\n cursor: text !important;\n caret-color: auto !important;\n }\n\n .chat-input input:focus,\n .chat-input .chat-textarea:focus {\n cursor: text !important;\n caret-color: auto !important;\n outline: none;\n }\n\n /* Perfect mobile input design with send button inside */\n @media (max-width: 768px) {\n .chat-input {\n padding: 4px 8px !important;\n position: sticky !important;\n bottom: 0 !important;\n background: var(--chat-input-bg) !important;\n border-top: 1px solid #e4e6eb !important;\n z-index: 1000 !important;\n display: flex !important;\n align-items: flex-end !important;\n gap: 10px !important;\n /* Minimal design */\n min-height: auto !important;\n touch-action: manipulation !important;\n position: relative !important;\n margin: 0 !important;\n }\n \n .chat-input input,\n .chat-input .chat-textarea {\n font-size: 16px !important; /* Prevent iOS zoom */\n -webkit-user-select: text !important;\n user-select: text !important;\n -webkit-touch-callout: default !important;\n cursor: text !important;\n /* Perfect size */\n min-height: 48px !important;\n height: auto !important;\n line-height: 20px !important;\n touch-action: manipulation !important;\n -webkit-appearance: none !important;\n appearance: none !important;\n border-radius: 14px !important;\n /* Send button is outside on mobile now */\n padding: 12px 14px !important;\n border: 1.5px solid #e4e6eb !important;\n background: #ffffff !important;\n transition: all 0.25s ease !important;\n outline: none !important;\n z-index: 100 !important;\n position: relative !important;\n width: 100% !important;\n flex: 1 !important;\n /* Ensure full clickability */\n pointer-events: auto !important;\n -webkit-tap-highlight-color: rgba(0,0,0,0.1) !important;\n box-sizing: border-box !important;\n /* Subtle shadow */\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;\n margin: 0 !important;\n }\n \n .chat-input input::placeholder {\n color: #9ca3af !important;\n font-size: 15px !important;\n pointer-events: none !important;\n user-select: none !important;\n -webkit-user-select: none !important;\n }\n \n .chat-input input:focus,\n .chat-input input.mobile-focused {\n border-color: var(--chat-primary-color) !important;\n border-width: 2px !important;\n box-shadow: 0 0 0 3px rgba(var(--chat-primary-rgb), 0.15) !important;\n background: #ffffff !important;\n caret-color: var(--chat-primary-color) !important;\n transform: none !important;\n padding: 0 47px 0 17px !important; /* Adjust for thicker border and smaller button */\n }\n \n .chat-input input:active {\n background: #ffffff !important;\n border-color: var(--chat-primary-color) !important;\n }\n \n /* Mobile send button (rectangular, inside input) */\n .send-button {\n position: relative !important;\n right: auto !important;\n bottom: auto !important;\n top: auto !important;\n left: auto !important;\n transform: none !important;\n min-width: 48px !important;\n min-height: 48px !important;\n width: 48px !important;\n height: 48px !important;\n touch-action: manipulation !important;\n /* Rectangular (mobile) */\n border-radius: 12px !important;\n margin: 0 !important;\n flex-shrink: 0 !important;\n -webkit-tap-highlight-color: rgba(0,0,0,0.05) !important;\n z-index: 200 !important;\n /* Use primary color on mobile like your screenshot */\n background: var(--chat-primary-color-gradient) !important;\n border: none !important;\n cursor: pointer !important;\n box-shadow: none !important;\n transition: all 0.2s ease !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n padding: 0 !important;\n pointer-events: auto !important;\n -webkit-user-select: none !important;\n user-select: none !important;\n opacity: 1 !important;\n }\n\n .send-button:hover {\n transform: scale(1.06) !important;\n background: rgba(0,0,0,0.06) !important;\n }\n \n .send-button:active {\n transform: scale(0.94) !important;\n background: rgba(0,0,0,0.08) !important;\n }\n \n .send-button:disabled {\n opacity: 1 !important;\n pointer-events: auto !important;\n cursor: pointer !important;\n }\n\n .send-button img {\n width: 22px !important;\n height: 22px !important;\n margin: 0 !important;\n padding: 0 !important;\n object-fit: contain !important;\n /* Modern chromatic aberration (pink + cyan glow) */\n filter: drop-shadow(0.5px 0 0 rgba(255,107,157,0.65)) drop-shadow(-0.5px 0 0 rgba(0,212,255,0.65)) brightness(0) invert(1) !important;\n pointer-events: none !important;\n }\n \n /* Mobile typing indicator: Thinking + animated ellipsis (no 3-dot bubbles) */\n .chat-widget .typing-indicator {\n margin: 10px 0 !important;\n margin-left: 0 !important;\n margin-right: auto !important;\n padding: 12px 16px !important;\n max-width: 220px !important;\n min-width: 110px !important;\n border-radius: 14px !important;\n border-top-left-radius: 6px !important;\n height: auto !important;\n }\n \n .chat-widget .typing-indicator.active {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n }\n \n /* Mobile chat window adjustments */\n .chat-window {\n overflow: hidden !important;\n }\n \n .chat-messages {\n overflow-y: auto !important;\n -webkit-overflow-scrolling: touch !important;\n overscroll-behavior: contain !important;\n }\n }\n\n\n\n /* Default send button styling (desktop/tablet). Mobile is overridden above in the (max-width: 768px) block. */\n /* Desktop/tablet send button (circular) only when the device supports hover + fine pointer. */\n @media (hover: hover) and (pointer: fine) {\n .send-button {\n background: var(--chat-primary-color-gradient) !important;\n color: white !important;\n border: none !important;\n border-radius: 50% !important;\n width: 48px !important;\n height: 48px !important;\n cursor: pointer !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n transition: all 0.25s ease !important;\n margin: 0 !important;\n min-width: 48px !important;\n min-height: 48px !important;\n flex-shrink: 0 !important;\n box-shadow: 0 1px 4px rgba(var(--chat-primary-color-rgb), 0.25) !important;\n }\n\n .send-button:hover {\n background: var(--chat-primary-color-gradient) !important;\n transform: scale(1.02) !important;\n box-shadow: 0 2px 8px rgba(var(--chat-primary-color-rgb), 0.35) !important;\n }\n\n .send-button:active {\n transform: scale(0.98) !important;\n }\n\n .send-button img {\n width: var(--send-button-icon-size, ").concat(e.config.sendButtonIconSize,"px) !important;\n height: var(--send-button-icon-size, ").concat(e.config.sendButtonIconSize,"px) !important;\n min-width: var(--send-button-icon-size, ").concat(e.config.sendButtonIconSize,"px) !important;\n min-height: var(--send-button-icon-size, ").concat(e.config.sendButtonIconSize,"px) !important;\n max-width: var(--send-button-icon-size, ").concat(e.config.sendButtonIconSize,"px) !important;\n max-height: var(--send-button-icon-size, ").concat(e.config.sendButtonIconSize,'px) !important;\n object-fit: contain !important;\n display: block !important;\n flex-shrink: 0 !important;\n /* Modern chromatic aberration (pink + cyan glow) */\n filter: drop-shadow(0.5px 0 0 rgba(255,107,157,0.65)) drop-shadow(-0.5px 0 0 rgba(0,212,255,0.65)) brightness(0) invert(1) !important;\n pointer-events: none !important;\n }\n }\n\n /* HARD OVERRIDE: touch devices must keep the mobile rectangular send button */\n @media (pointer: coarse) {\n .chat-input .send-button {\n border-radius: 12px !important;\n background: var(--chat-primary-color-gradient) !important;\n opacity: 1 !important;\n }\n }\n\n /* Typing indicator: "Thinking…" text with animated ellipsis (no 3-dot bubbles) */\n .chat-widget .typing-indicator {\n display: none !important;\n padding: 12px 18px !important;\n background: #ffffff !important;\n border-radius: 18px !important;\n border-top-left-radius: 6px !important;\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06) !important;\n border: 1px solid rgba(15, 23, 42, 0.06) !important;\n align-self: flex-start !important;\n margin: 12px 0 !important;\n margin-left: 0 !important;\n margin-right: auto !important;\n box-shadow: none !important;\n border: 1px solid rgba(0, 0, 0, 0.06) !important;\n position: relative !important;\n width: fit-content !important;\n max-width: 220px !important;\n animation: fadeInUp 0.4s ease-out !important;\n -webkit-animation: fadeInUp 0.4s ease-out !important;\n }\n \n .typing-indicator.active {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n }\n\n .typing-text {\n display: inline-flex !important;\n align-items: center !important;\n gap: 6px !important;\n font-size: 13px !important;\n color: #6b7280 !important;\n font-weight: 600 !important;\n line-height: 1 !important;\n white-space: nowrap !important;\n }\n\n .typing-spinner {\n display: inline-block !important;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 999px;\n border: 2px solid rgba(107, 114, 128, 0.25);\n border-top-color: var(--chat-primary-color);\n animation: typingSpin 0.8s linear infinite;\n }\n @keyframes typingSpin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n\n /* Safety: if an old cached build still renders dot <span>s, hide them */\n .typing-indicator span {\n display: none !important;\n }\n\n @keyframes fadeInUp {\n from {\n opacity: 0;\n transform: translateY(15px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes shimmer {\n 0% { left: -100%; }\n 100% { left: 100%; }\n }\n\n /* Dark theme typing indicator */\n .chat-widget.dark-theme .typing-indicator {\n background: #1f2937 !important;\n border: 1px solid rgba(255, 255, 255, 0.12) !important;\n }\n .chat-widget.dark-theme .typing-text {\n color: #cbd5e1 !important;\n }\n\n /* Typing Text Styles (only when showTypingText is true) */\n .typing-text {\n font-size: 11px;\n color: #6c757d;\n margin-top: 4px;\n text-align: center;\n font-weight: 400;\n opacity: 0.7;\n animation: pulse 2s infinite;\n }\n\n @keyframes pulse {\n 0%, 100% { opacity: 0.6; }\n 50% { opacity: 1; }\n }\n\n .chat-widget.dark-theme .typing-text {\n color: #a0aec0;\n }\n\n /* File Upload Styles */\n .file-button {\n background: none;\n border: none;\n border-radius: 50%;\n width: 40px;\n height: 40px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n margin-right: 8px;\n }\n\n .file-button:hover {\n background: rgba(0, 0, 0, 0.05);\n transform: scale(1.05);\n }\n\n .file-button img {\n width: 20px;\n height: 20px;\n opacity: 0.7;\n transition: opacity 0.2s ease;\n }\n\n .file-button:hover img {\n opacity: 1;\n }\n\n .file-preview {\n margin-top: 8px;\n padding: 8px;\n background: #f8f9fa;\n border-radius: 8px;\n border: 1px solid #e9ecef;\n }\n\n .file-preview-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n margin: 4px 0;\n background: white;\n border-radius: 10px;\n border: 1px solid rgba(15, 23, 42, 0.1);\n gap: 10px;\n }\n\n .file-preview-item .file-preview-thumb {\n width: 40px;\n height: 40px;\n object-fit: cover;\n border-radius: 8px;\n flex-shrink: 0;\n }\n\n .file-preview-item .file-info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 2px;\n flex: 1;\n min-width: 0;\n }\n\n .file-preview-item .file-name {\n font-size: 12px;\n color: #495057;\n max-width: 150px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .file-preview-item .file-size {\n font-size: 10px;\n color: #6c757d;\n }\n\n .file-preview-item .remove-file {\n background: none;\n border: none;\n color: #dc3545;\n cursor: pointer;\n padding: 2px;\n border-radius: 2px;\n font-size: 12px;\n }\n\n .file-preview-item .remove-file:hover {\n background: #dc3545;\n color: white;\n }\n\n .chat-widget.dark-theme .file-preview {\n background: #2d3748;\n border-color: #4a5568;\n }\n\n .chat-widget.dark-theme .file-preview-item {\n background: #1a202c;\n border-color: #4a5568;\n }\n\n .chat-widget.dark-theme .file-preview-item .file-name {\n color: #e2e8f0;\n }\n\n .chat-widget.dark-theme .file-preview-item .file-size {\n color: #a0aec0;\n }\n\n /* Output Styles */\n #output {\n white-space: pre-wrap;\n font-family: Arial, sans-serif;\n line-height: 1.5;\n }\n\n #output img {\n max-width: 100%;\n height: auto;\n }\n\n #output code {\n background-color: #f4f4f4;\n padding: 2px 4px;\n border-radius: 3px;\n }\n\n /* Dark Theme */\n .chat-widget.dark-theme{\n --chat-bg-color: #1a1a1a;\n --chat-text-color: #ffffff;\n --chat-message-bg: #2d2d2d;\n --chat-bot-message-bg: #383838;\n --chat-input-bg: #2d2d2d;\n --chat-input-border: #404040;\n }\n\n .chat-widget.dark-theme .chat-window {\n background: var(--chat-bg-color);\n color: var(--chat-text-color);\n }\n\n .chat-widget.dark-theme .message {\n background: var(--chat-message-bg);\n color: var(--chat-text-color);\n }\n\n .chat-widget.dark-theme .bot-message {\n background: #2d2d2d;\n color: #ffffff;\n box-shadow: none !important;\n }\n\n .chat-widget.dark-theme .chat-input input {\n background: var(--chat-input-bg);\n color: var(--chat-text-color);\n border-color: var(--chat-input-border);\n }\n\n /* Initial greeting message style - removed to match other AI responses */\n\n /* Responsive Design */\n /* Mobile Portrait */\n @media screen and (max-width: 480px) {\n :root {\n --chat-toggle-size: 50px;\n }\n\n .chat-input input {\n -webkit-user-select: text !important; /* Allow text selection on Safari */\n user-select: text !important; /* Ensure text selection works */\n -webkit-tap-highlight-color: transparent !important; /* Remove tap highlight on iOS/Android */\n cursor: text !important; /* Ensure text cursor appears */\n }\n\n .chat-input input:focus {\n outline: none !important;\n }\n\n /* Ensure active inputs remain functional */\n .chat-input input.active {\n user-select: text !important; /* Ensure text selection */\n -webkit-user-select: text !important; /* Support for Safari */\n }\n\n /* Keep inactive inputs styled properly */\n .chat-input input:not(.active):focus {\n outline: none !important; /* Remove focus outline */\n border-color: #e4e6eb !important; /* Keep the border color default */\n }\n\n /* Prevent issues with z-index or visibility */\n .chat-input input {\n z-index: 1 !important;\n visibility: visible !important;\n pointer-events: auto !important;\n }\n\n \n .chat-window {\n position: fixed !important;\n bottom: 0 !important;\n right: 0 !important;\n left: 0 !important;\n top: 0 !important;\n width: 100vw !important;\n height: var(--chat-mobile-vh, 100dvh) !important;\n min-width: 100vw !important;\n max-width: 100vw !important;\n min-height: var(--chat-mobile-vh, 100dvh) !important;\n max-height: var(--chat-mobile-vh, 100dvh) !important;\n margin: 0 !important;\n padding: 0 !important;\n border: none !important;\n border-radius: 0 !important;\n box-sizing: border-box !important;\n transform: translateY(100%) !important;\n transition: transform 0.3s ease-in-out !important;\n z-index: 999999 !important;\n background: white !important;\n overflow: hidden !important;\n display: flex !important;\n flex-direction: column !important;\n }\n\n .chat-window.active {\n transform: translateY(0) !important;\n }\n \n /* Extra aggressive fullscreen for npm/CDN */\n .chat-widget .chat-window.active {\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n width: 100vw !important;\n height: var(--chat-mobile-vh, 100dvh) !important;\n min-width: 100vw !important;\n max-width: 100vw !important;\n min-height: var(--chat-mobile-vh, 100dvh) !important;\n max-height: var(--chat-mobile-vh, 100dvh) !important;\n margin: 0 !important;\n padding: 0 !important;\n border: none !important;\n border-radius: 0 !important;\n box-sizing: border-box !important;\n z-index: 999999 !important;\n background: white !important;\n overflow: hidden !important;\n transform: translateY(0) !important;\n display: flex !important;\n flex-direction: column !important;\n }\n \n .chat-toggle {\n position: fixed !important;\n bottom: 20px !important;\n right: 20px !important;\n z-index: 2147483650 !important;\n transform: none;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n visibility: visible !important;\n }\n\n .chat-toggle img {\n width: 24px !important;\n height: 24px !important;\n display: block !important;\n margin: 0 auto !important;\n }\n\n .chat-toggle span {\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n width: 100% !important;\n height: 100% !important;\n font-size: 24px !important;\n line-height: 1 !important;\n }\n\n /* Hide toggle when chat is active on mobile */\n .chat-widget .chat-window.active ~ .chat-toggle {\n display: none !important;\n }\n \n .chat-header {\n padding: 0.8rem;\n }\n \n .chat-messages {\n padding: 0.8rem;\n }\n \n .chat-input-container {\n padding: 0.8rem;\n padding-bottom: max(0.8rem, env(safe-area-inset-bottom));\n border-top: none;\n position: sticky !important;\n bottom: 0 !important;\n z-index: 9999 !important;\n background: var(--chat-input-bg) !important;\n }\n \n .message {\n max-width: 85%;\n padding: 0.7rem;\n }\n \n .suggestion-chips {\n padding: 0.5rem 0;\n }\n \n .chip {\n padding: 0.4rem 0.8rem;\n font-size: 0.9rem;\n }\n }\n \n /* Mobile Landscape */\n @media screen and (max-height: 500px) and (orientation: landscape) {\n .chat-window {\n height: 100vh;\n max-height: calc(100vh - 20px);\n }\n\n .chat-input input {\n -webkit-user-select: text !important; /* Allow text selection on Safari */\n user-select: text !important; /* Ensure text selection works */\n -webkit-tap-highlight-color: transparent !important; /* Remove tap highlight on iOS/Android */\n cursor: text !important; /* Ensure text cursor appears */\n }\n\n .chat-input input:focus {\n outline: none !important;\n }\n\n /* Ensure active inputs remain functional */\n .chat-input input.active {\n user-select: text !important; /* Ensure text selection */\n -webkit-user-select: text !important; /* Support for Safari */\n }\n\n /* Keep inactive inputs styled properly */\n .chat-input input:not(.active):focus {\n outline: none !important; /* Remove focus outline */\n border-color: #e4e6eb !important; /* Keep the border color default */\n }\n\n /* Prevent issues with z-index or visibility */\n .chat-input input {\n z-index: 1 !important;\n visibility: visible !important;\n pointer-events: auto !important;\n }\n\n \n .chat-messages {\n flex: 1;\n max-height: calc(100vh - 180px);\n }\n \n .suggestion-chips {\n padding: 0.3rem 0;\n }\n \n .chip {\n padding: 0.3rem 0.6rem;\n }\n \n .chat-input-container {\n padding: 0.5rem;\n border-top: none;\n }\n .chat-input input {\n -webkit-user-select: none; /* For Safari */\n -webkit-tap-highlight-color: transparent; /* Remove tap highlight on iOS */\n }\n\n .chat-input input.active {\n user-select: text; /* Allow text selection when active */\n -webkit-user-select: text; /* For Safari */\n }\n\n /* Prevent any focus styling until activated */\n .chat-input input:not(.active):focus {\n outline: none;\n border-color: #e4e6eb; /* Keep default border */\n }\n }\n \n /* Tablet Portrait */\n @media screen and (min-width: 481px) and (max-width: 768px) {\n .chat-window {\n width: 380px;\n height: 520px;\n bottom: 80px;\n right: 10px;\n }\n \n .chat-toggle {\n bottom: 15px;\n right: 15px;\n }\n .chat-input input {\n user-select: text;\n -webkit-user-select: text;\n }\n }\n \n /* Tablet Landscape */\n @media screen and (min-width: 769px) and (max-width: 1024px) {\n .chat-window {\n width: 420px;\n height: 580px;\n }\n }\n \n /* Desktop */\n @media screen and (min-width: 1025px) and (max-width: 1919px) {\n .chat-window {\n width: 425px;\n height: 600px;\n }\n }\n \n /* Large Desktop (1920px and above) */\n @media screen and (min-width: 1920px) {\n .chat-window {\n width: 500px;\n height: 700px;\n }\n \n .chat-messages {\n font-size: 1.1em;\n }\n \n .chat-input input {\n font-size: 1em;\n padding: 1rem 1.2rem;\n }\n \n .send-button {\n width: 48px !important;\n height: 48px !important;\n min-width: 48px !important;\n min-height: 48px !important;\n }\n \n .send-button img {\n width: ').concat(Math.round(1.17*e.config.sendButtonIconSize),"px !important;\n height: ").concat(Math.round(1.17*e.config.sendButtonIconSize),"px !important;\n min-width: ").concat(Math.round(1.17*e.config.sendButtonIconSize),"px !important;\n min-height: ").concat(Math.round(1.17*e.config.sendButtonIconSize),"px !important;\n max-width: ").concat(Math.round(1.17*e.config.sendButtonIconSize),"px !important;\n max-height: ").concat(Math.round(1.17*e.config.sendButtonIconSize),"px !important;\n }\n \n .chat-header {\n padding: 1.2rem;\n }\n }\n \n /* 4K Displays */\n @media screen and (min-width: 2560px) {\n .chat-window {\n width: 600px;\n height: 800px;\n }\n \n .chat-messages {\n font-size: 1.2em;\n }\n \n .chat-input input {\n font-size: 1.1em;\n padding: 1.2rem 1.4rem;\n }\n \n .send-button {\n width: 52px !important;\n height: 52px !important;\n min-width: 52px !important;\n min-height: 52px !important;\n }\n \n .send-button img {\n width: ").concat(Math.round(1.25*e.config.sendButtonIconSize),"px !important;\n height: ").concat(Math.round(1.25*e.config.sendButtonIconSize),"px !important;\n min-width: ").concat(Math.round(1.25*e.config.sendButtonIconSize),"px !important;\n min-height: ").concat(Math.round(1.25*e.config.sendButtonIconSize),"px !important;\n max-width: ").concat(Math.round(1.25*e.config.sendButtonIconSize),"px !important;\n max-height: ").concat(Math.round(1.25*e.config.sendButtonIconSize),"px !important;\n }\n \n .chat-header {\n padding: 1.4rem;\n }\n }\n\n @media screen and (min-width: 1930px) {\n .chat-window {\n width: 450px;\n height: 600px;\n }\n }\n\n .hubspot-form-container {\n transition: opacity 0.3s ease, transform 0.3s ease;\n }\n\n .chat-input-container.disabled {\n opacity: 0.7;\n pointer-events: none;\n }\n\n .chat-input-container.disabled::after {\n content: 'Please complete the form above';\n position: absolute;\n top: -20px;\n left: 50%;\n transform: translateX(-50%);\n font-size: 12px;\n color: var(--chat-primary-color);\n opacity: 0.8;\n }\n\n .hubspot-form-success {\n transition: opacity 0.3s ease, transform 0.3s ease;\n padding: 20px;\n background: #d4edda;\n border-radius: 8px;\n text-align: center;\n }\n\n .chip {\n transition: opacity 0.3s ease, pointer-events 0.3s ease;\n }\n\n .chat-input input,\n .send-button {\n transition: opacity 0.3s ease, background-color 0.3s ease;\n }\n\n /* Safe Area Insets for Modern Mobile Devices */\n @supports (padding: max(0px)) {\n .chat-window {\n padding-bottom: max(1rem, env(safe-area-inset-bottom));\n }\n\n .chat-input-container {\n padding-bottom: max(1rem, env(safe-area-inset-bottom));\n }\n }\n\n /* High Contrast Mode */\n @media (prefers-contrast: high) {\n .chat-widget {\n --chat-primary-color: #000000;\n --chat-secondary-color: #ffffff;\n }\n\n .message {\n border: 2px solid #000000;\n }\n }\n\n /* Reduced Motion */\n @media (prefers-reduced-motion: reduce) {\n .chat-toggle,\n .chat-window {\n transition: none;\n }\n }\n\n /* Print Styles */\n @media print {\n .chat-widget {\n display: none;\n }\n }\n ").concat("string"==typeof e.config.customStyles?e.config.customStyles:"object"===r(e.config.customStyles)&&e.config.customStyles?Object.entries(e.config.customStyles).map((function(e){var t,r,o=(r=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,r)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return"string"==typeof a?"".concat(i,"{").concat(a,"}"):""})).filter(Boolean).join(""):"","\n\n /* Image Preview Styles */\n .image-container {\n position: relative;\n margin: 8px 0;\n border-radius: 8px;\n }\n\n .image-container img {\n max-width: 100%;\n height: auto;\n display: block;\n border-radius: 8px;\n }\n\n .image-container svg {\n opacity: 0.7;\n }\n\n .fullscreen-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.9);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2147483647;\n padding: 20px;\n }\n\n .preview-container {\n position: relative;\n max-width: 90vw;\n max-height: 90vh;\n }\n\n .preview-image {\n max-width: 100%;\n max-height: 90vh;\n object-fit: contain;\n }\n\n .close-preview {\n position: absolute;\n top: -40px;\n right: -40px;\n background: none;\n border: none;\n color: white;\n font-size: 32px;\n cursor: pointer;\n padding: 10px;\n line-height: 1;\n }\n\n .close-preview:hover {\n color: #ddd;\n }\n\n @media (max-width: 768px) {\n .close-preview {\n top: -40px;\n right: 0;\n }\n }\n\n /* Amazon Product Link Styles */\n .amazon-product-link {\n margin: 10px 0;\n }\n\n .amazon-button {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 10px;\n border: 1px solid #007bff;\n border-radius: 5px;\n color: #007bff;\n text-decoration: none;\n transition: background-color 0.3s ease;\n }\n\n .amazon-button:hover {\n background-color: #007bff;\n color: #ffffff;\n }\n\n .amazon-icon {\n width: 20px;\n height: 20px;\n }\n\n .chat-input input.waiting {\n background-color: #ffffff !important; /* Keep background white when waiting */\n cursor: text !important; /* Keep text cursor */\n }\n\n .chat-input input:disabled {\n background-color: #f5f5f5;\n cursor: not-allowed;\n }\n\n .send-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .chat-input-container.waiting::after {\n content: 'Processing...';\n position: absolute;\n top: -20px;\n left: 50%;\n transform: translateX(-50%);\n font-size: 12px;\n color: var(--chat-primary-color);\n opacity: 0.7;\n }\n\n /* Keep default font size for chat input */\n .chat-input input {\n font-size: 14px; /* Fixed size */\n padding: 0.8rem 1rem;\n border: 1px solid #e4e6eb;\n border-radius: 20px;\n outline: none;\n }\n\n /* Apply custom font size only to messages */\n .message.user-message,\n .message.bot-message {\n font-size: var(--chat-message-font-size);\n }\n\n /* Keep all other elements at their default size */\n .chat-header,\n .chat-header-title h2,\n .chat-input-container,\n .suggestion-chips,\n .chip,\n .send-button,\n .close-chat,\n .erase-chat {\n font-size: 14px; /* Fixed size */\n }\n\n /* Ensure markdown content inside bot messages uses the custom font size */\n .bot-message p,\n .bot-message ul,\n .bot-message ol,\n .bot-message li {\n font-size: var(--chat-message-font-size);\n }\n\n /* Keep code blocks slightly smaller than message text */\n .bot-message code {\n font-size: calc(var(--chat-message-font-size) * 0.9);\n }\n\n /* Keep headers in markdown proportional to message size */\n .bot-message h1 { font-size: calc(var(--chat-message-font-size) * 1.5); }\n .bot-message h2 { font-size: calc(var(--chat-message-font-size) * 1.3); }\n .bot-message h3 { font-size: calc(var(--chat-message-font-size) * 1.1); }\n\n .message-actions {\n display: none;\n gap: 8px;\n margin-top: 8px;\n }\n\n .bot-message-container:hover .message-actions,\n .bot-message-container.last .message-actions {\n display: flex;\n }\n\n .message-action-btn {\n background: none;\n border: 1px solid #e4e6eb;\n border-radius: 4px;\n padding: 4px 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n transition: all 0.2s ease;\n }\n\n .message-action-btn:hover {\n background: #f0f2f5;\n }\n\n .message-action-btn.active {\n background: var(--chat-primary-color);\n color: white;\n border-color: var(--chat-primary-color);\n }\n\n .message-action-btn img {\n width: 16px;\n height: 16px;\n }\n\n .bot-message-container {\n display: flex;\n flex-direction: column;\n }\n\n /* Message Actions Container */\n .message-actions {\n display: none; /* Hidden by default */\n gap: 8px;\n margin-top: 8px;\n opacity: 0;\n transition: opacity 0.2s ease;\n }\n\n /* Show actions on container hover */\n .bot-message-container:hover .message-actions {\n display: flex;\n opacity: 1;\n }\n\n /* Always show actions for last message */\n .bot-message-container.last .message-actions {\n display: flex !important;\n opacity: 1;\n }\n\n .message-action-btn {\n background: #ffffff;\n border: 1px solid #e4e6eb;\n border-radius: 4px;\n padding: 6px 12px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n transition: all 0.2s ease;\n font-size: 12px;\n color: #666;\n }\n\n .message-action-btn:hover {\n background: #f0f2f5;\n border-color: #d4d4d4;\n }\n\n .message-action-btn.active {\n background: var(--chat-primary-color);\n color: white;\n border-color: var(--chat-primary-color);\n }\n\n .message-action-btn.active img {\n filter: brightness(0) invert(1);\n }\n\n .message-action-btn img {\n width: 16px;\n height: 16px;\n opacity: 0.7;\n }\n\n .bot-message-container {\n display: flex;\n flex-direction: column;\n }\n\n /* Reduce spacing between multiple responses from same query (Parlant) */\n .bot-message-container[data-query-id] + .bot-message-container[data-query-id] {\n margin-top: 0.25rem;\n margin-bottom: 0.5rem;\n }\n \n /* Add larger spacing between different queries */\n .message-row[data-query-id] {\n margin-bottom: 0.5rem;\n }\n \n /* When moving from one query to another (query-id changes), add more spacing */\n .message-row[data-query-id] + .message-row:not([data-query-id]),\n .message-row:not([data-query-id]) + .message-row[data-query-id] {\n margin-top: 1rem;\n }\n\n .bot-message {\n position: relative;\n }\n\n /* Copied tooltip */\n .copy-btn.copied::after {\n content: 'Copied!';\n position: absolute;\n top: -25px;\n left: 50%;\n transform: translateX(-50%);\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n pointer-events: none;\n }\n\n /* Copy button on bot messages (right side) - always visible, outside text container */\n .bot-message-container {\n overflow: visible !important;\n }\n \n .message-copy-btn.bot-copy-btn {\n position: absolute;\n right: -36px;\n top: 50%;\n transform: translateY(-50%);\n background: rgba(255, 255, 255, 0.95);\n border: 1px solid #e4e6eb;\n border-radius: 4px;\n padding: 4px;\n cursor: pointer;\n opacity: 1 !important;\n transition: opacity 0.2s ease, background 0.2s ease;\n width: 24px;\n height: 24px;\n display: flex !important;\n align-items: center;\n justify-content: center;\n z-index: 10;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n }\n\n .bot-message-container:hover .bot-copy-btn,\n .bot-message:hover .bot-copy-btn {\n background: rgba(255, 255, 255, 1);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n .bot-copy-btn img {\n width: 14px;\n height: 14px;\n }\n\n .bot-copy-btn:hover {\n background: #f0f2f5;\n }\n\n /* Copy button on user messages (left side) - always visible, outside text container */\n .user-message-container {\n overflow: visible !important;\n position: relative;\n }\n \n .message-copy-btn.user-copy-btn {\n position: absolute;\n left: -36px;\n top: 50%;\n transform: translateY(-50%);\n background: rgba(255, 255, 255, 0.95);\n border: 1px solid rgba(255, 255, 255, 0.3);\n border-radius: 4px;\n padding: 4px;\n cursor: pointer;\n opacity: 1 !important;\n transition: opacity 0.2s ease, background 0.2s ease;\n width: 24px;\n height: 24px;\n display: flex !important;\n align-items: center;\n justify-content: center;\n z-index: 10;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n }\n\n .user-message {\n position: relative;\n }\n\n .user-message:hover .user-copy-btn {\n background: rgba(255, 255, 255, 1);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n .user-copy-btn img {\n width: 14px;\n height: 14px;\n }\n\n .user-copy-btn:hover {\n background: rgba(255, 255, 255, 0.2);\n }\n\n .message-timestamp {\n font-size: 11px;\n color: #9aa0a6;\n margin-top: 4px;\n line-height: 1.2;\n }\n\n .bot-message-container .message-timestamp {\n align-self: flex-start;\n margin-left: 0.2rem;\n }\n\n .user-message-container .message-timestamp {\n align-self: flex-end;\n margin-right: 0.2rem;\n }\n\n .chat-widget.dark-theme .message-timestamp {\n color: #94a3b8;\n }\n\n .message-actions {\n display: none;\n gap: 4px;\n margin-top: 4px;\n opacity: 0;\n transition: opacity 0.2s ease;\n }\n\n .bot-message-container:hover .message-actions {\n display: flex;\n opacity: 1;\n }\n\n .bot-message-container.last .message-actions {\n display: flex !important;\n opacity: 1;\n }\n\n .message-action-btn {\n background: #ffffff;\n border: 1px solid #e4e6eb;\n border-radius: 4px;\n padding: 4px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n width: 28px;\n height: 28px;\n }\n\n .message-action-btn:hover {\n background: #f0f2f5;\n border-color: #d4d4d4;\n }\n\n .message-action-btn img {\n width: 16px;\n height: 16px;\n opacity: 0.7;\n }\n\n .message-action-btn.active {\n background: var(--chat-primary-color) !important;\n border-color: var(--chat-primary-color) !important;\n color: white !important;\n }\n\n .message-action-btn.active img {\n opacity: 1;\n filter: brightness(0) invert(1);\n }\n \n /* Specific styling for copy button when active/copied */\n .copy-btn.active,\n .copy-btn.copied {\n background: var(--chat-primary-color) !important;\n border-color: var(--chat-primary-color) !important;\n color: white !important;\n }\n \n .copy-btn.active img,\n .copy-btn.copied img {\n filter: brightness(0) invert(1) !important;\n }\n\n /* Copied tooltip */\n .copy-btn.copied::after {\n content: 'Copied!';\n position: absolute;\n top: -25px;\n left: 50%;\n transform: translateX(-50%);\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n pointer-events: none;\n }\n\n /* Greeting actions specific styles */\n .greeting-actions {\n transition: opacity 0.3s ease, transform 0.3s ease;\n }\n\n .greeting-actions.hiding {\n opacity: 0;\n transform: translateY(-5px);\n }\n\n /* Add powered by link styles */\n .powered-by {\n text-align: center;\n padding: 0px;\n font-size: 12px;\n color: #666;\n /* border-top: 1px solid #e4e6eb; */\n }\n\n .powered-by a {\n color: var(--chat-primary-color);\n text-decoration: none;\n font-weight: 500;\n }\n\n .powered-by a:hover {\n text-decoration: underline;\n }\n\n /* Base chat widget positioning */\n .chat-widget {\n position: fixed;\n z-index: 2147483647;\n }\n\n /* Position-specific styles for toggle and window with advanced spacing */\n .chat-widget.bottom-right .chat-toggle {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing));\n right: var(--chat-toggle-right-margin);\n }\n .chat-widget.bottom-right .chat-window {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing) + var(--chat-toggle-size) + 20px);\n right: var(--chat-toggle-right-margin);\n }\n\n .chat-widget.bottom-left .chat-toggle {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing));\n left: 20px;\n }\n .chat-widget.bottom-left .chat-window {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing) + var(--chat-toggle-size) + 20px);\n left: 20px;\n }\n\n .chat-widget.bottom-center .chat-toggle {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing));\n left: 50%;\n transform: translateX(-50%)\n }\n .chat-widget.bottom-center .chat-window {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing) + var(--chat-toggle-size) + 20px);\n left: 50%;\n transform: translateX(-50%)\n }\n\n .chat-widget.top .chat-toggle {\n top: 20px;\n left: 50%;\n transform: translateX(-50%)\n }\n .chat-widget.top .chat-window {\n top: 100px;\n left: 50%;\n transform: translateX(-50%)\n }\n\n .chat-widget.left .chat-toggle {\n left: 20px;\n top: 50%;\n transform: translateY(-50%)\n }\n .chat-widget.left .chat-window {\n left: 20px;\n top: 50%;\n transform: translateY(-50%)\n }\n\n .chat-widget.right .chat-toggle {\n right: 20px;\n top: 50%;\n transform: translateY(-50%)\n }\n .chat-widget.right .chat-window {\n right: 20px;\n top: 50%;\n transform: translateY(-50%)\n }\n\n .chat-widget.top-right .chat-toggle {\n top: 20px;\n right: 20px;\n }\n .chat-widget.top-right .chat-window {\n top: 100px;\n right: 20px;\n }\n\n .chat-widget.top-left .chat-toggle {\n top: 20px;\n left: 20px;\n }\n .chat-widget.top-left .chat-window {\n top: 100px;\n left: 20px;\n }\n\n /* Position-specific styles for text box - positioned close to toggle button */\n .chat-widget.bottom-right .chat-text-box {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing) + var(--chat-toggle-size) + var(--text-box-spacing-from-toggle));\n right: var(--chat-toggle-right-margin);\n left: auto;\n transform: none;\n max-width: min(280px, calc(100vw - 40px));\n }\n\n .chat-widget.bottom-left .chat-text-box {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing) + var(--chat-toggle-size) + var(--text-box-spacing-from-toggle));\n left: 20px;\n right: auto;\n transform: none;\n max-width: min(280px, calc(100vw - 40px));\n }\n\n .chat-widget.bottom-center .chat-text-box {\n bottom: calc(var(--chat-toggle-bottom-margin) + var(--website-bottom-spacing) + var(--chat-toggle-size) + var(--text-box-spacing-from-toggle));\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n max-width: min(280px, calc(100vw - 40px));\n }\n\n .chat-widget.top .chat-text-box {\n top: 90px;\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n max-width: min(280px, calc(100vw - 40px));\n }\n\n .chat-widget.left .chat-text-box {\n left: 90px;\n right: auto;\n top: 50%;\n transform: translateY(-50%);\n max-width: min(280px, calc(100vw - 130px)); /* Account for left positioning */\n }\n\n .chat-widget.right .chat-text-box {\n right: 20px;\n left: auto;\n top: 50%;\n transform: translateY(-50%);\n max-width: min(280px, calc(100vw - 40px));\n }\n\n .chat-widget.top-right .chat-text-box {\n top: 90px;\n right: 20px;\n left: auto;\n transform: none;\n max-width: min(280px, calc(100vw - 40px));\n }\n\n .chat-widget.top-left .chat-text-box {\n top: 90px;\n left: 20px;\n right: auto;\n transform: none;\n max-width: min(280px, calc(100vw - 40px));\n }\n\n /* Mobile adjustments */\n @media screen and (max-width: 480px) {\n .chat-widget .chat-window {\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n width: 100vw !important;\n height: var(--chat-mobile-vh, 100dvh) !important;\n min-width: 100vw !important;\n max-width: 100vw !important;\n min-height: var(--chat-mobile-vh, 100dvh) !important;\n max-height: var(--chat-mobile-vh, 100dvh) !important;\n margin: 0 !important;\n padding: 0 !important;\n border: none !important;\n border-radius: 0 !important;\n box-sizing: border-box !important;\n transform: translateY(100%) !important;\n transition: transform 0.3s ease-in-out !important;\n z-index: 2147483647 !important;\n background: white !important;\n overflow: hidden !important;\n }\n\n .chat-widget .chat-window.active {\n transform: translateY(0) !important;\n }\n\n .chat-toggle {\n position: fixed !important;\n bottom: 20px !important;\n right: 20px !important;\n z-index: 2147483650 !important;\n transform: none;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n visibility: visible !important;\n }\n\n .chat-toggle img {\n width: 24px !important;\n height: 24px !important;\n display: block !important;\n margin: 0 auto !important;\n }\n\n .chat-toggle span {\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n width: 100% !important;\n height: 100% !important;\n font-size: 24px !important;\n line-height: 1 !important;\n }\n\n .chat-widget.left .chat-toggle {\n left: 20px !important;\n right: auto !important;\n }\n\n /* Hide toggle when chat is active on mobile */\n .chat-widget .chat-window.active ~ .chat-toggle {\n display: none !important;\n }\n\n .chat-text-box {\n max-width: calc(100vw - 30px) !important;\n margin-left: 15px !important;\n margin-right: 15px !important;\n font-size: 14px !important;\n }\n\n .chat-text-box-content {\n padding: 12px !important;\n }\n\n .chat-text-box-message {\n font-size: 14px !important;\n padding-right: 30px !important;\n }\n\n .chat-text-box-submessage {\n font-size: 13px !important;\n }\n\n /* Mobile-specific positioning for text box */\n .chat-widget.bottom-right .chat-text-box,\n .chat-widget.bottom-left .chat-text-box,\n .chat-widget.bottom-center .chat-text-box {\n right: 15px !important;\n left: auto !important;\n transform: none !important;\n max-width: calc(100vw - 30px) !important;\n }\n }\n\n /* Tablet and large mobile adjustments */\n @media screen and (max-width: 768px) and (min-width: 481px) {\n .chat-text-box {\n max-width: min(300px, calc(100vw - 60px)) !important;\n margin-left: 30px !important;\n margin-right: 30px !important;\n }\n\n .chat-widget.bottom-right .chat-text-box,\n .chat-widget.top-right .chat-text-box {\n right: 30px !important;\n }\n\n .chat-widget.bottom-left .chat-text-box,\n .chat-widget.top-left .chat-text-box {\n left: 30px !important;\n }\n }\n\n /* Ensure text box never goes beyond viewport bounds */\n @media screen and (max-width: 320px) {\n .chat-text-box {\n max-width: calc(100vw - 20px) !important;\n margin-left: 10px !important;\n margin-right: 10px !important;\n }\n\n .chat-text-box-content {\n padding: 10px !important;\n }\n\n .chat-text-box-message {\n font-size: 13px !important;\n }\n\n .chat-text-box-submessage {\n font-size: 12px !important;\n }\n }\n\n /* Only show cursor when input is specifically activated */\n .chat-input input.cursor-active {\n user-select: text;\n -webkit-user-select: text;\n }\n\n /* --- Refined UI overrides (modern premium) --- */\n .chat-widget,\n .chat-widget * {\n font-family: \"Plus Jakarta Sans\", \"Segoe UI\", sans-serif;\n }\n\n .chat-window {\n background: #ffffff;\n border: 1px solid rgba(15, 23, 42, 0.06);\n box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.2);\n }\n\n .chat-header {\n background: var(--chat-primary-color-gradient);\n }\n\n .chat-header-title h2 {\n font-size: 18px;\n font-weight: 700;\n letter-spacing: -0.02em;\n }\n\n .chat-header-subname {\n font-size: 12px;\n opacity: 0.9;\n font-weight: 500;\n }\n\n\n .chat-messages {\n background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);\n padding: 20px;\n gap: 12px;\n }\n\n .message-row {\n gap: 10px;\n width: 100%;\n justify-content: flex-start;\n }\n\n .message-row.user-row {\n justify-content: flex-end;\n }\n\n .message-row.bot-row {\n justify-content: flex-start;\n }\n\n .message-row[data-query-id] {\n margin-bottom: 0.25rem;\n }\n\n .message-row[data-query-id] + .message-row[data-query-id] {\n margin-top: 0.2rem;\n }\n\n .bot-message-container,\n .user-message-container {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .bot-message-container {\n margin-bottom: 0.4rem;\n max-width: 80%;\n }\n\n .bot-message-container[data-query-id] + .bot-message-container[data-query-id] {\n margin-top: 0.2rem;\n margin-bottom: 0.3rem;\n }\n\n .user-message-container {\n max-width: 80%;\n }\n\n .chat-widget.parlant-mode .bot-message-container:hover .message-actions {\n display: none !important;\n opacity: 0 !important;\n }\n\n .chat-widget.parlant-mode .bot-message-container.last .message-actions {\n display: flex !important;\n opacity: 1 !important;\n }\n\n .chat-widget.parlant-mode .message-row[data-query-id] {\n margin-bottom: 0.2rem !important;\n }\n\n .chat-widget.parlant-mode .message-row[data-query-id] + .message-row[data-query-id] {\n margin-top: 0.1rem !important;\n }\n\n .chat-widget.parlant-mode .bot-message-container[data-query-id] + .bot-message-container[data-query-id] {\n margin-top: 0.1rem !important;\n margin-bottom: 0.2rem !important;\n }\n\n .user-message-container {\n align-items: flex-end;\n }\n\n .message-line {\n display: flex;\n align-items: center;\n gap: 8px;\n max-width: 100%;\n }\n\n .user-message-line {\n justify-content: flex-end;\n }\n\n .bot-message {\n background: #ffffff !important;\n border: 1px solid rgba(15, 23, 42, 0.06);\n border-radius: 18px;\n border-top-left-radius: 6px;\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04);\n color: #1e293b;\n }\n\n .user-message {\n background: var(--chat-primary-color-gradient);\n border-radius: 18px;\n border-top-right-radius: 6px;\n color: #ffffff;\n box-shadow: 0 4px 16px rgba(var(--chat-primary-color-rgb, 26, 115, 232), 0.25);\n }\n\n .user-message-line .user-message {\n margin-left: 0;\n }\n\n .message-content {\n font-size: var(--chat-message-font-size);\n line-height: 1.5;\n }\n\n .message-copy-btn {\n position: relative !important;\n transform: none !important;\n top: auto !important;\n right: auto !important;\n left: auto !important;\n width: 28px;\n height: 28px;\n border-radius: 8px;\n border: 1px solid rgba(15, 23, 42, 0.12);\n background: #ffffff;\n box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);\n transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;\n }\n\n .message-copy-btn img {\n width: 14px;\n height: 14px;\n opacity: 0.75;\n }\n\n .user-message-line .message-copy-btn {\n background: rgba(255, 255, 255, 0.9);\n border-color: rgba(255, 255, 255, 0.4);\n }\n\n .message-copy-btn:hover {\n transform: translateY(-1px);\n box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);\n }\n\n .message-copy-btn.active,\n .message-copy-btn.copied {\n background: var(--chat-primary-color-gradient);\n border-color: transparent;\n overflow: visible;\n }\n\n .message-copy-btn.active img,\n .message-copy-btn.copied img {\n filter: brightness(0) invert(1);\n opacity: 1;\n }\n\n .message-copy-btn.copied::after {\n content: \"Copied!\";\n position: absolute;\n top: -32px;\n left: 50%;\n transform: translateX(-50%);\n background: rgba(15, 23, 42, 0.95);\n color: #ffffff;\n padding: 6px 10px;\n border-radius: 8px;\n font-size: 11px;\n font-weight: 600;\n pointer-events: none;\n white-space: nowrap;\n z-index: 100;\n box-shadow: 0 2px 8px rgba(0,0,0,0.15);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .chat-widget .chip,\n .chat-widget .chip:hover {\n transform: none !important;\n }\n .chat-widget .chip,\n .chat-widget .typing-spinner,\n .chat-widget .typing-indicator {\n transition: none !important;\n animation: none !important;\n }\n }\n ");var a=document.getElementById("chat-widget-styles");a&&a.remove();i.id="chat-widget-styles",document.head.appendChild(i)}},7171:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.applyTheme=function(e){var t,n,o=(0,r.getCurrentTheme)(e.config.theme);if(e.widget){var i=new Set(e.widget.className.split(/\s+/).filter(Boolean));i.forEach((function(e){e.endsWith("-theme")&&i.delete(e)})),i.add("chat-widget"),i.add("".concat(o,"-theme")),e.config.parlant.enabled?i.add("parlant-mode"):i.delete("parlant-mode"),e.widget.className=Array.from(i).join(" ")}var a=null===(t=(n=window).matchMedia)||void 0===t?void 0:t.call(n,"(prefers-color-scheme: dark)");a&&(e._systemThemeHandler&&(a.removeEventListener("change",e._systemThemeHandler),e._systemThemeHandler=null),"system"===e.config.theme&&(e._systemThemeHandler=function(){return e.loadStyles()},a.addEventListener("change",e._systemThemeHandler)))};var r=n(10)},5648:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyTheme",{enumerable:!0,get:function(){return r.applyTheme}});var r=n(7171)},2730:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ensureTypingIndicatorAnimation=function(e){var t=e.widget.querySelectorAll(".typing-indicator span");if(3===t.length){var n=!1;t.forEach((function(e){var t=window.getComputedStyle(e).animationName;"none"!==t&&t&&"initial"!==t||(n=!0)})),n&&e.repairTypingAnimation()}}},4608:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureTypingIndicatorAnimation",{enumerable:!0,get:function(){return a.ensureTypingIndicatorAnimation}}),Object.defineProperty(t,"repairTypingAnimation",{enumerable:!0,get:function(){return s.repairTypingAnimation}}),Object.defineProperty(t,"startJavaScriptTypingAnimation",{enumerable:!0,get:function(){return o.startJavaScriptTypingAnimation}}),Object.defineProperty(t,"stopJavaScriptTypingAnimation",{enumerable:!0,get:function(){return i.stopJavaScriptTypingAnimation}}),Object.defineProperty(t,"typeWriter",{enumerable:!0,get:function(){return r.typeWriter}});var r=n(7373),o=n(9096),i=n(846),a=n(2730),s=n(9380)},9380:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.repairTypingAnimation=function(e){e.widget.querySelectorAll(".typing-indicator span").forEach((function(e){e.style.animation="none",e.style.webkitAnimation="none",e.offsetHeight})),e.startJavaScriptTypingAnimation()}},9096:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.startJavaScriptTypingAnimation=function(e){e.typingAnimationInterval&&clearInterval(e.typingAnimationInterval);var t=e.widget.querySelectorAll(".typing-indicator span");if(3!==t.length)return;var n=0,r=[0,20,40];e.typingAnimationInterval=setInterval((function(){t.forEach((function(e,t){var o=(n+r[t])%60/15,i=.4+.8*Math.abs(Math.sin(o*Math.PI)),a=.3+.7*Math.abs(Math.sin(o*Math.PI));e.style.setProperty("transform","scale(".concat(i,")"),"important"),e.style.setProperty("-webkit-transform","scale(".concat(i,")"),"important"),e.style.setProperty("opacity",a.toString(),"important")})),n=(n+1)%60}),50)}},846:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.stopJavaScriptTypingAnimation=function(e){if(e.typingAnimationInterval){clearInterval(e.typingAnimationInterval),e.typingAnimationInterval=null,e.widget.querySelectorAll(".typing-indicator span").forEach((function(e){e.style.setProperty("transform","scale(1)","important"),e.style.setProperty("opacity","1","important")}))}}},7373:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.typeWriter=function(e,t,n,r){e._typewriterCount=(e._typewriterCount||0)+1,e.isTypewriterActive=!0,e.disableSendingFunctionality();var o=0,i=e.widget.querySelector(".chat-messages"),a=function(){e.isMobileBrowser()||(i.scrollTop<o&&!0,o=i.scrollTop)};e.isMobileBrowser()||i.addEventListener("scroll",a);t.innerHTML="";var s="",c=function(e){for(var t=[],n="",r=!1,o=!1,i=0;i<e.length;i++){var a=e[i];"<"!==a||o?">"===a&&r?(n+=a,t.push(n),n="",r=!1):r?n+=a:"*"===a&&"*"===e[i+1]?(n&&t.push(n),t.push("**"),i++,n=""):"["===a||"!"===a&&"["===e[i+1]?(n&&t.push(n),n=a,o=!0):o&&"]"===a&&"("===e[i+1]?(n+=a+"(",i++):o&&")"===a?(n+=a,t.push(n),n="",o=!1):" "===a||"\n"===a?(n&&t.push(n),t.push(a),n=""):(n+=a,o||r||i!==e.length-1&&" "!==e[i+1]&&"\n"!==e[i+1]||(t.push(n),n="")):(n&&t.push(n),n=a,r=!0)}return n&&t.push(n),t}(n),u=0,l=function(){if(u>=c.length)return e.isMobileBrowser()||i.removeEventListener("scroll",a),e._typewriterCount=Math.max(0,(e._typewriterCount||1)-1),0===e._typewriterCount&&(e.isTypewriterActive=!1,e.enableSendingFunctionality()),void(r&&r());var o,p=c[u],d=p.startsWith("<")&&p.endsWith(">"),f=p.startsWith("**")||p.startsWith("[")||p.startsWith("![");s+=p,t.innerHTML=s,e.config.typewritewithscroll&&(!e.config.typewritewithscroll&&e.isTypewriterActive||i.scrollTo({top:i.scrollHeight,behavior:"smooth"})),u++,0===(o=d||f?0:" "===p?20:"\n"===p?50:40*Math.random()+30)?requestAnimationFrame(l):setTimeout((function(){try{l()}catch(o){console.error("Typewriter error:",o),t.innerHTML=n,e._typewriterCount=Math.max(0,(e._typewriterCount||1)-1),0===e._typewriterCount&&(e.isTypewriterActive=!1,e.enableSendingFunctionality(),e.forceEnableInput()),r&&r()}}),o)};l()}},3677:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.applyToggleButtonAnimation=function(e){var t=e.widget.querySelector(".chat-toggle");t&&e.config.toggleButtonAnimation>0&&(t.classList.remove("animation-1","animation-2","animation-3","animation-4","animation-5"),t.classList.add("animation-".concat(e.config.toggleButtonAnimation)))}},8871:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createWidget=function(e){var t=document.createElement("div");t.className="chat-widget ".concat(e.config.theme,"-theme ").concat(e.config.position).concat(e.config.parlant.enabled?" parlant-mode":"");var n=r.togglePositions[e.config.position],i=Object.entries(n.toggle).map((function(e){var t=o(e,2),n=t[0],r=t[1];return"".concat(n,": ").concat(r,";")})).join(" "),a='\n <button type="button" class="chat-toggle" aria-label="Open chat" aria-expanded="false" style="position: fixed; '.concat(i,'">\n ').concat(function(){if(!e.config.toggleButtonIcon)return"<img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z'/%3E%3C/svg%3E\" alt=\"Chat\">";var t=e.config.toggleButtonIcon;return t.length<=4&&/(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEDC-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9\uDEF0-\uDEF8])/.test(t)?'<span style="font-size: 24px; line-height: 1; display: flex; align-items: center; justify-content: center;">'.concat(t,"</span>"):t.startsWith("http")||t.startsWith("data:image")||t.startsWith("/")?'<img src="'.concat(t,'" alt="Chat" style="width: 24px; height: 24px; object-fit: contain;">'):t.trim().startsWith("<svg")?t:"<img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z'/%3E%3C/svg%3E\" alt=\"Chat\">"}(),"\n </button>\n "),s=e.config.showTextBox?'\n <div class="chat-text-box" style="position: fixed;">\n <div class="chat-text-box-content">\n '.concat(e.config.showTextBoxCloseButton?'\n <button type="button" class="chat-text-box-close" aria-label="Dismiss message">\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">\n <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>\n </svg>\n </button>\n ':"",'\n <div class="chat-text-box-message" ').concat("primary"===e.config.textBoxTextColor&&e.isGradient(e.config.primaryColor)?'data-gradient="true"':"",">").concat(e.config.textBoxMessage,'</div>\n <div class="chat-text-box-separator"></div>\n <div class="chat-text-box-submessage" ').concat("primary"===e.config.textBoxTextColor&&e.isGradient(e.config.primaryColor)?'data-gradient="true"':"",">").concat(e.config.textBoxSubMessage,"</div>\n </div>\n </div>\n "):"",c=Object.entries(n.window).map((function(e){var t=o(e,2),n=t[0],r=t[1];return"".concat(n,": ").concat(r,";")})).join(" "),u=e.config.showTimestamp?'<div class="message-timestamp bot-timestamp">'.concat(e.formatTimestamp(),"</div>"):"",l=e.config.showTypingText?'<div class="typing-text" aria-live="polite" aria-atomic="true">Thinking<div class="typing-spinner" aria-hidden="true"></div></div>':'<div class="typing-spinner" aria-hidden="true"></div>',p='\n <div class="chat-window" role="dialog" aria-modal="true" aria-labelledby="chat-dialog-title" style="position: fixed; '.concat(c,'">\n <div class="chat-header">\n <div class="chat-header-title">\n <div class="chat-header-avatar">\n <img src="').concat(e.config.botImage,'" alt="').concat(e.config.botName,'" class="bot-avatar">\n </div>\n <div class="chat-header-text">\n <h2 id="chat-dialog-title" style="font-weight: bold; font-size: 20px; margin: 0;">').concat(e.config.botName,"</h2>\n ").concat(e.config.showBotSubname&&e.config.botSubname?'<div class="chat-header-subname">'.concat(e.config.botSubname,"</div>"):"",'\n </div>\n </div>\n <div class="chat-header-actions">\n ').concat(e.config.enableDeleteButton?'\n <button type="button" class="erase-chat" aria-label="Clear chat history">\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="20" height="20" aria-hidden="true">\n <path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/>\n </svg>\n </button>\n ':"",'\n <button type="button" class="close-chat" aria-label="Close chat">\n <img src="data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'white\'%3E%3Cpath d=\'M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\'/%3E%3C/svg%3E" alt="" aria-hidden="true">\n </button>\n </div>\n </div>\n\n <div class="chat-messages">\n <div class="message-row" id="greeting-row">\n <div class="message bot-message greeting-message">\n ').concat(e.config.greeting,"\n ").concat(u,'\n </div>\n </div>\n <div class="typing-indicator" aria-live="polite" aria-atomic="true">\n ').concat(l,'\n </div>\n <div class="chat-spacer"></div>\n </div>\n\n ').concat(e.config.chips.length>0?'\n <div class="suggestion-chips" role="group" aria-label="Suggested questions">\n '.concat(e.config.chips.map((function(e){return'\n <button type="button" class="chip">'.concat(e,"</button>\n ")})).join(""),"\n </div>\n "):"",'\n\n <div class="chat-input-container">\n <div class="chat-input">\n <textarea class="chat-textarea" rows="1" placeholder="').concat(e.config.placeholder,'" aria-label="Chat input"></textarea>\n ').concat(e.config.enableFileUpload?'\n <input type="file" class="file-input" '.concat(1!==e.config.maxFiles?"multiple":"",' accept="').concat(e.config.fileAccept,'" style="display: none;">\n <button type="button" class="file-button" aria-label="').concat(1===e.config.maxFiles?"Attach image":"Attach files","\">\n <img src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z'/%3E%3C/svg%3E\" alt=\"\" aria-hidden=\"true\">\n </button>\n "):"",'\n <button type="button" class="send-button" aria-label="Send message">\n <img src="').concat("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M3.4 20.4l17.45-7.48a1 1 0 000-1.84L3.4 3.6a.993.993 0 00-1.39.91L2 9.12c0 .5.37.93.87.99L17 12 2.87 13.88c-.5.06-.87.49-.87.99l.01 4.61c0 .71.73 1.2 1.39.91z'/%3E%3C/svg%3E",'" alt="" aria-hidden="true">\n </button>\n </div>\n ').concat(e.config.enableFileUpload?'<div class="file-preview" style="display: none;"></div>':"","\n </div>\n ").concat(e.config.showPrivacyNotice?'\n <div class="chat-privacy-notice" role="note">\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" width="11" height="11" style="flex-shrink:0;margin-top:1px"><path d="M8 1a4 4 0 0 0-4 4v1H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-1V5a4 4 0 0 0-4-4zm-2 5V5a2 2 0 1 1 4 0v1H6z"/></svg>\n '.concat(e.config.privacyNoticeText,"\n </div>\n "):"","\n ").concat(e.config.showBranding?'\n <div class="chat-branding">\n Powered by <a href="'.concat(e.config.brandingUrl,'" target="_blank" rel="noopener noreferrer"><strong>').concat(e.config.brandingText.replace(/^Powered by\s*/i,""),"</strong></a>\n </div>\n "):"","\n </div>\n ");t.innerHTML=s+a+p,document.body.appendChild(t),e.widget=t};var r=n(684);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}},1333:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.destroy=function(e){e._mobileInputCleanup&&(e._mobileInputCleanup(),e._mobileInputCleanup=null);e._mobileFullscreenCleanup&&(e._mobileFullscreenCleanup(),e._mobileFullscreenCleanup=null);e._mobileInputSetup=!1,e._typingIndicatorInterval&&(clearInterval(e._typingIndicatorInterval),e._typingIndicatorInterval=null);e.removeActiveForm(),e.parlant&&e.parlant.cleanup();e.supabaseManager&&(e.supabaseManager.stopRealtimeSync(),e.supabaseManager.stopRealtimeSubscription(),e.supabaseManager.stopBackgroundRefresh());document.body.style.overflow="",document.body.style.position="",document.body.style.width="",document.documentElement.style.overflow="",e.widget&&(e.widget.remove(),e.widget=null);if(window.chatWidgetInstances){var t=window.chatWidgetInstances.indexOf(e);-1!==t&&window.chatWidgetInstances.splice(t,1)}}},2245:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.disableToggleButtonAnimation=function(e){var t=e.widget.querySelector(".chat-toggle");t&&t.classList.remove("animation-1","animation-2","animation-3","animation-4","animation-5")}},464:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.enableToggleButtonAnimation=function(e){var t=e.widget.querySelector(".chat-toggle");t&&e.config.toggleButtonAnimation>0&&t.classList.add("animation-".concat(e.config.toggleButtonAnimation))}},5119:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ensureSendButtonIconSize=function(e){var t=e.widget.querySelector(".send-button"),n=e.widget.querySelector(".send-button img");if(t&&n){var r=e.config.sendButtonIconSize;t.style.width="".concat(r+16,"px"),t.style.height="".concat(r+16,"px"),t.style.minWidth="".concat(r+16,"px"),t.style.minHeight="".concat(r+16,"px"),n.style.width="".concat(r,"px"),n.style.height="".concat(r,"px"),n.style.minWidth="".concat(r,"px"),n.style.minHeight="".concat(r,"px"),n.style.maxWidth="".concat(r,"px"),n.style.maxHeight="".concat(r,"px"),n.style.objectFit="contain",n.style.display="block",n.style.flexShrink="0"}}},5395:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.eraseChat=function(e){var t;if(!confirm("Are you sure you want to clear the chat history? This action cannot be undone."))return;var n=null===(t=e.widget)||void 0===t?void 0:t.querySelector(".erase-chat");n&&(n.style.opacity="0.5",n.disabled=!0);try{var r=e.widget.querySelector(".chat-messages");r.querySelectorAll(".message-row").forEach((function(e){"greeting-row"===e.id||e.classList.contains("hubspot-form-row")||e.remove()})),e.storageManager.clearHistory(),!0===e.config.enableServerHistoryDelete&&e.config.deleteEndpoint&&e.deleteBackendHistory().then((function(){})).catch((function(e){console.error("Failed to delete backend history:",e)}));var o=r.querySelector("#greeting-row");if(o)o.querySelector(".ai-avatar")||(o.remove(),e.addGreetingMessage());else e.addGreetingMessage();var i=e.widget.querySelector(".chat-input .chat-textarea");i&&(i.value="")}catch(t){console.error("Error during chat erasure:",t),e.addMessage("Failed to clear chat history. Please try again.","bot",!1,{isError:!0})}finally{n&&(n.style.opacity="1",n.disabled=!1)}}},3990:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.forceStyleReapplication=function(e){e.widget.querySelectorAll(".ai-avatar-icon:not(.emoji-avatar):not(.image-avatar)").forEach((function(t){t.style.backgroundColor||t.style.setProperty("background-color",e.config.primaryColor||"#0084ff","important")})),e.widget.querySelectorAll("#greeting-row .ai-avatar-icon:not(.emoji-avatar):not(.image-avatar)").forEach((function(t){t.style.setProperty("background-color",e.config.primaryColor||"#0084ff","important")})),e.widget.querySelectorAll(".typing-indicator span").forEach((function(e){e.style.setProperty("background","#666","important"),e.style.setProperty("background-color","#666","important"),e.style.setProperty("display","inline-block","important"),e.style.setProperty("visibility","visible","important"),e.style.setProperty("width","10px","important"),e.style.setProperty("height","10px","important"),e.style.setProperty("border-radius","50%","important"),e.style.setProperty("margin","0 3px","important"),e.style.setProperty("box-shadow","none","important"),e.style.animation="none",e.style.webkitAnimation="none"})),setTimeout((function(){e.startJavaScriptTypingAnimation()}),100);var t=e.widget.querySelector(".typing-indicator");t&&(t.style.setProperty("padding","16px 20px","important"),t.style.setProperty("height","50px","important"),t.style.setProperty("min-width","85px","important"),t.style.setProperty("max-width","100px","important"),t.style.setProperty("border-radius","24px","important"),t.style.setProperty("background","#f0f2f5","important"),t.style.setProperty("box-shadow","none","important"));if(e.widget.querySelectorAll(".bot-message, .ai-message").forEach((function(e){e.style.setProperty("box-shadow","none","important")})),window.innerWidth<=480){var n=e.widget.querySelector(".chat-window");n&&n.classList.contains("active")&&(n.style.setProperty("position","fixed","important"),n.style.setProperty("top","0","important"),n.style.setProperty("left","0","important"),n.style.setProperty("right","0","important"),n.style.setProperty("bottom","0","important"),n.style.setProperty("width","100vw","important"),n.style.setProperty("height","var(--chat-mobile-vh, 100dvh)","important"),n.style.setProperty("min-width","100vw","important"),n.style.setProperty("max-width","100vw","important"),n.style.setProperty("min-height","var(--chat-mobile-vh, 100dvh)","important"),n.style.setProperty("max-height","var(--chat-mobile-vh, 100dvh)","important"),n.style.setProperty("margin","0","important"),n.style.setProperty("padding","0","important"),n.style.setProperty("border","none","important"),n.style.setProperty("border-radius","0","important"),n.style.setProperty("box-sizing","border-box","important"),n.style.setProperty("z-index","2147483647","important"),n.style.setProperty("background","white","important"),n.style.setProperty("overflow","hidden","important"),n.style.setProperty("transform","translateY(0)","important"))}}},8435:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyToggleButtonAnimation",{enumerable:!0,get:function(){return l.applyToggleButtonAnimation}}),Object.defineProperty(t,"createWidget",{enumerable:!0,get:function(){return r.createWidget}}),Object.defineProperty(t,"destroy",{enumerable:!0,get:function(){return i.destroy}}),Object.defineProperty(t,"disableToggleButtonAnimation",{enumerable:!0,get:function(){return p.disableToggleButtonAnimation}}),Object.defineProperty(t,"enableToggleButtonAnimation",{enumerable:!0,get:function(){return d.enableToggleButtonAnimation}}),Object.defineProperty(t,"ensureSendButtonIconSize",{enumerable:!0,get:function(){return u.ensureSendButtonIconSize}}),Object.defineProperty(t,"eraseChat",{enumerable:!0,get:function(){return s.eraseChat}}),Object.defineProperty(t,"forceStyleReapplication",{enumerable:!0,get:function(){return f.forceStyleReapplication}}),Object.defineProperty(t,"initializeWidget",{enumerable:!0,get:function(){return o.initializeWidget}}),Object.defineProperty(t,"setupEraseButton",{enumerable:!0,get:function(){return a.setupEraseButton}}),Object.defineProperty(t,"setupResponsiveHandling",{enumerable:!0,get:function(){return c.setupResponsiveHandling}});var r=n(8871),o=n(7109),i=n(1333),a=n(3778),s=n(5395),c=n(4841),u=n(5119),l=n(3677),p=n(2245),d=n(464),f=n(3990)},7109:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.initializeWidget=function(e){e.createWidget(),e.setupSuggestionChips(),e.setupResponsiveHandling(),e.setupScrollContainment(),setTimeout((function(){e.ensureGreetingMessageWithAvatar()}),200),setTimeout((function(){e.ensureSendButtonIconSize()}),300),setTimeout((function(){e.applyToggleButtonAnimation()}),100),setTimeout((function(){e.forceStyleReapplication()}),500),e._typingIndicatorInterval=setInterval((function(){e.ensureTypingIndicatorAnimation()}),2e3),setTimeout((function(){e.setupTextBoxEventListeners()}),100),e.setupClickOutsideToClose(),e.config.onInit&&"function"==typeof e.config.onInit&&e.config.onInit()}},3778:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupEraseButton=function(e){var t,n=null===(t=e.widget)||void 0===t?void 0:t.querySelector(".erase-chat");if(!n)return;n._eraseChatHandler&&n.removeEventListener("click",n._eraseChatHandler);var r=function(){return e.eraseChat()};n._eraseChatHandler=r,n.addEventListener("click",r)}},4841:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setupResponsiveHandling=function(e){var t=function(){var t=e.widget.querySelector(".chat-window"),n=e.widget.querySelector(".chat-toggle");if(t&&n){var i=function(){var e=window.innerHeight,t=window.innerWidth,n=Math.min(Math.max(.3*t,320),600),r=Math.min(Math.max(.7*e,400),800);t<=480?(n=t,r=e,r=e-parseInt(getComputedStyle(document.documentElement).getPropertyValue("--sab")||"0",10)):t<=768?(n=Math.min(.8*t,400),r=Math.min(.8*e,600)):t<=1024?(n=Math.min(.35*t,420),r=Math.min(.7*e,580)):t<=1366?(n=Math.min(.3*t,450),r=Math.min(.75*e,600)):t<=1920?(n=Math.min(.25*t,500),r=Math.min(.8*e,700)):(n=Math.min(.2*t,600),r=Math.min(.8*e,800)),n=Math.max(n,320),r=Math.max(r,400);var o=e-(t<=480?0:120);return{width:n,height:r=Math.min(r,o)}}(),a=i.width,s=i.height,c=(window.innerHeight,window.innerWidth);if(t.style.width="".concat(a,"px"),t.style.height="".concat(s,"px"),c<=480)t.style.bottom="0",t.style.right="0",t.style.left="0",t.style.top="0",t.style.width="100%",t.style.height="100%",t.style.borderRadius="0",t.style.maxHeight="100%",t.style.transform="none";else{var u=r.togglePositions[e.config.position];Object.entries(u.window).forEach((function(e){var n,r,i=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=i[0],s=i[1];t.style[a]=s}))}var l=Math.min(Math.max(.04*a,14),16);t.style.fontSize="".concat(l,"px");var p=t.querySelector(".chat-messages"),d=t.querySelector(".chat-input-container");if(p){var f=Math.min(Math.max(.03*a,8),16);p.style.padding="".concat(f,"px");var m=t.querySelector(".chat-header").offsetHeight,h=d?d.offsetHeight:0;p.style.height="calc(100% - ".concat(m+h,"px)")}if(d){var g=Math.min(Math.max(.03*a,8),16);d.style.padding="".concat(g,"px")}}};n=document.createElement("style"),n.innerHTML="\n :root {\n --sab: env(safe-area-inset-bottom);\n --sat: env(safe-area-inset-top);\n --sal: env(safe-area-inset-left);\n --sar: env(safe-area-inset-right);\n }\n ",document.head.appendChild(n),t(),window.addEventListener("resize",(0,r.debounce)(t,250)),window.addEventListener("orientationchange",(function(){setTimeout(t,100)}));var n;var i=new ResizeObserver((0,r.debounce)((function(){var t=e.widget.querySelector(".chat-messages");t&&(t.scrollTop=t.scrollHeight)}),100)),a=e.widget.querySelector(".chat-window");a&&i.observe(a)};var r=n(684);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}},4327:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t,n){var r=parseInt(e,10);return"".concat(Math.min(Math.max(r||0,t),n),"px")}function s(e){var t;t="string"==typeof e?parseInt(e.replace("px",""),10):"number"==typeof e?e:14;var n=Math.min(Math.max(14,t),25);return"".concat(n,"px")}function c(e){return e?e.startsWith("//")?"".concat(window.location.protocol).concat(e):e.startsWith("/")?"".concat(window.location.origin).concat(e):e.startsWith("http")?e:"http://".concat(e):"http://localhost:7000/chat"}Object.defineProperty(t,"__esModule",{value:!0}),t.initConfig=function(e){var t,n,r,i,u,l,p,d,f,m,h,g,b,v,y,x,w,k,S,P,O,E,j,T,D,_,M,C=c(e.apiEndpoint);return{botName:e.botName||"Chat Assistant",botImage:e.botImage||"https://cdn-icons-png.flaticon.com/512/1786/1786548.png",greeting:e.greeting||"Hello! How can I help you today?",placeholder:e.placeholder||"Type your message here...",primaryColor:e.primaryColor||"#0084ff",fontSize:s(e.fontSize||14),width:a(e.width||"400px",300,600),height:a(e.height||"600px",400,800),showTimestamp:e.showTimestamp||!1,enableTypingIndicator:!1!==e.enableTypingIndicator,enableMarkdown:!1!==e.enableMarkdown,enableHistory:!1!==e.enableHistory,maxHistoryLength:e.maxHistoryLength||100,enableTypewriter:!1!==e.enableTypewriter,typewriterSpeed:e.typewriterSpeed||{min:30,max:70},typewritewithscroll:void 0!==e.typewritewithscroll&&e.typewritewithscroll,chips:e.chips||[],customStyles:e.customStyles||{},onInit:e.onInit||null,onMessage:e.onMessage||null,onError:e.onError||null,apiEndpoint:C,apiKey:e.apiKey||"",apiHeaders:e.apiHeaders||{"Content-Type":"application/json"},apiRequestFormat:e.apiRequestFormat||{query:"query",userId:"userId",domain:"domain"},apiResponseFormat:o(o({response:"response",products:"products"},e.apiResponseFormat||{}),{},{productItem:o({name:"name",price:"price",image:"image_url",link:"buy_link",highlights:"highlights",ctaText:"Buy product"},(null===(t=e.apiResponseFormat)||void 0===t?void 0:t.productItem)||{})}),productInjectionMarker:null!==(n=e.productInjectionMarker)&&void 0!==n?n:["Here are some product recommendations that might be beneficial for your skin condition:","Now, here are some products that might be helpful:"],userId:null!==(r=e.userId)&&void 0!==r?r:null,apiMethod:e.apiMethod||"POST",apiTimeout:e.apiTimeout||3e4,enableBackendHistory:!1!==e.enableBackendHistory,backendHistoryEndpoint:e.backendHistoryEndpoint?c(e.backendHistoryEndpoint):"",deleteEndpoint:e.deleteEndpoint?c(e.deleteEndpoint):"".concat(C.replace(/\/chat$/,""),"/delete-history"),separateSubpageHistory:e.separateSubpageHistory||!1,feedbackEndpoint:e.feedbackEndpoint?c(e.feedbackEndpoint):"".concat(C.replace(/\/?$/,""),"/feedback"),hubspot:{enabled:(null===(i=e.hubspot)||void 0===i?void 0:i.enabled)||!1,portalId:(null===(u=e.hubspot)||void 0===u?void 0:u.portalId)||"",formGuid:(null===(l=e.hubspot)||void 0===l?void 0:l.formGuid)||"",triggerKeywords:(null===(p=e.hubspot)||void 0===p?void 0:p.triggerKeywords)||["pricing","demo","contact","quote","help","support"],formShownToUsers:new Set,formSubmittedUsers:new Set},position:e.position||"bottom-right",enableServerHistoryDelete:void 0!==e.enableServerHistoryDelete&&e.enableServerHistoryDelete,enableFileUpload:!1!==e.enableFileUpload,fileAccept:null!==(d=e.fileAccept)&&void 0!==d?d:"image/*,.pdf,.doc,.docx,.txt",maxFiles:null!==(f=e.maxFiles)&&void 0!==f?f:null,enableDeleteButton:!1!==e.enableDeleteButton,useMultipartFormData:!1!==e.useMultipartFormData,apiDataFormat:e.apiDataFormat||"json",typingIndicatorColor:e.typingIndicatorColor||"#666",showTypingText:!1!==e.showTypingText,toggleButtonIcon:e.toggleButtonIcon||null,chatBackgroundImage:e.chatBackgroundImage||null,chatBackgroundColor:e.chatBackgroundColor||"#ffffff",sendButtonIconSize:e.sendButtonIconSize||24,enableEnhancedMobileInput:!1!==e.enableEnhancedMobileInput,aiAvatar:e.aiAvatar||null,showAiAvatar:!1!==e.showAiAvatar,botSubname:e.botSubname||null,showBotSubname:!1!==e.showBotSubname,showFormOnStart:!1!==e.showFormOnStart,useEmailAsUserId:!1!==e.useEmailAsUserId,formTitle:e.formTitle||"Give Your Details",formSubtitle:e.formSubtitle||"Please provide your information to start chatting.",theme:e.theme||"light",showBranding:!1!==e.showBranding,brandingText:e.brandingText||"Powered by NeuroBrain",brandingUrl:e.brandingUrl||"https://neurobrains.co/",showMessageActions:!1!==e.showMessageActions,showTextBox:!1!==e.showTextBox,textBoxMessage:e.textBoxMessage||"Hi there! If you need any assistance, I am always here.",textBoxSubMessage:e.textBoxSubMessage||"24/7 Live Chat Support",showTextBoxCloseButton:!1!==e.showTextBoxCloseButton,toggleButtonAnimation:void 0!==e.toggleButtonAnimation?Math.max(0,Math.min(5,parseInt(e.toggleButtonAnimation,10)||0)):4,toggleButtonSize:e.toggleButtonSize?Math.max(40,Math.min(80,parseInt(e.toggleButtonSize,10))):60,toggleButtonBottomMargin:e.toggleButtonBottomMargin?Math.max(10,Math.min(50,parseInt(e.toggleButtonBottomMargin,10))):50,toggleButtonRightMargin:e.toggleButtonRightMargin?Math.max(10,Math.min(100,parseInt(e.toggleButtonRightMargin,10))):30,websiteBottomSpacing:e.websiteBottomSpacing?Math.max(0,Math.min(100,parseInt(e.websiteBottomSpacing,10))):0,textBoxSpacingFromToggle:void 0!==e.textBoxSpacingFromToggle?Math.max(0,Math.min(30,parseInt(e.textBoxSpacingFromToggle,10))):0,textBoxTextColor:e.textBoxTextColor||"primary",showPrivacyNotice:!1!==e.showPrivacyNotice,privacyNoticeText:e.privacyNoticeText||"Messages may be stored to improve responses.",nativeForm:{enabled:(null===(m=e.nativeForm)||void 0===m?void 0:m.enabled)||!1,trigger:(null===(h=e.nativeForm)||void 0===h?void 0:h.trigger)||"onOpen",title:(null===(g=e.nativeForm)||void 0===g?void 0:g.title)||"Before we start",subtitle:(null===(b=e.nativeForm)||void 0===b?void 0:b.subtitle)||"Tell us a little about yourself.",submitLabel:(null===(v=e.nativeForm)||void 0===v?void 0:v.submitLabel)||"Start chatting",useEmailAsUserId:!1!==(null===(y=e.nativeForm)||void 0===y?void 0:y.useEmailAsUserId),storageKey:(null===(x=e.nativeForm)||void 0===x?void 0:x.storageKey)||null,fields:Array.isArray(null===(w=e.nativeForm)||void 0===w?void 0:w.fields)&&e.nativeForm.fields.length>0?e.nativeForm.fields:[{name:"fullname",label:"Full Name",type:"text",required:!0,placeholder:"Your full name"},{name:"email",label:"Email",type:"email",required:!0,placeholder:"you@example.com"},{name:"phone",label:"Phone",type:"tel",required:!1,placeholder:"Optional"}],onSubmit:(null===(k=e.nativeForm)||void 0===k?void 0:k.onSubmit)||null},parlant:{enabled:(null===(S=e.parlant)||void 0===S?void 0:S.enabled)||!1,apiBaseUrl:(null===(P=e.parlant)||void 0===P?void 0:P.apiBaseUrl)||""},supabase:{enabled:(null===(O=e.supabase)||void 0===O?void 0:O.enabled)||!1,url:(null===(E=e.supabase)||void 0===E?void 0:E.url)||"",anonKey:(null===(j=e.supabase)||void 0===j?void 0:j.anonKey)||"",tableName:(null===(T=e.supabase)||void 0===T?void 0:T.tableName)||"chat_history",historyLimit:(null===(D=e.supabase)||void 0===D?void 0:D.historyLimit)||50,pollIntervalMs:null!==(_=null===(M=e.supabase)||void 0===M?void 0:M.pollIntervalMs)&&void 0!==_?_:5e3}}}},684:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.additionalStyles=void 0,t.debounce=function(e,t){var n;return function(){for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];clearTimeout(n),n=setTimeout((function(){clearTimeout(n),e.apply(void 0,o)}),t)}},t.togglePositions=void 0;t.togglePositions={"bottom-right":{toggle:{bottom:"20px",right:"20px",left:"auto",transform:"none"},window:{bottom:"100px",right:"20px",left:"auto",transform:"none"}},"bottom-left":{toggle:{bottom:"20px",left:"20px",right:"auto",transform:"none"},window:{bottom:"100px",left:"20px",right:"auto",transform:"none"}},"bottom-center":{toggle:{bottom:"20px",left:"50%",right:"auto",transform:"translateX(-50%)"},window:{bottom:"100px",left:"50%",right:"auto",transform:"translateX(-50%)"}}},t.additionalStyles="\n .chat-window {\n transition: width 0.3s ease, height 0.3s ease, bottom 0.3s ease, right 0.3s ease;\n position: fixed;\n z-index: 2147483647;\n }\n .chat-toggle {\n position: fixed;\n z-index: 2147483649;\n transition: bottom 0.3s ease, right 0.3s ease;\n }\n .chat-messages {\n transition: padding 0.3s ease, height 0.3s ease;\n scroll-behavior: smooth;\n overflow-y: auto;\n flex: 1;\n }\n .message {\n transition: max-width 0.3s ease, padding 0.3s ease;\n }\n @media screen and (max-width: 480px) {\n .chat-window.active {\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n width: 100vw !important;\n height: var(--chat-mobile-vh, 100dvh) !important;\n min-width: 100vw !important;\n max-width: 100vw !important;\n min-height: var(--chat-mobile-vh, 100dvh) !important;\n max-height: var(--chat-mobile-vh, 100dvh) !important;\n margin: 0 !important;\n padding: 0 !important;\n border: none !important;\n border-radius: 0 !important;\n box-sizing: border-box !important;\n display: flex !important;\n flex-direction: column !important;\n z-index: 2147483647 !important;\n background: white !important;\n overflow: hidden !important;\n }\n .chat-input-container {\n padding-bottom: max(8px, env(safe-area-inset-bottom));\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .chat-window, .chat-toggle, .chat-messages, .message {\n transition: none;\n }\n }\n @supports (-webkit-touch-callout: none) {\n .chat-window {\n padding-bottom: max(env(safe-area-inset-bottom), 20px);\n }\n }\n"},6661:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ChatStorageManager",{enumerable:!0,get:function(){return a.ChatStorageManager}}),Object.defineProperty(t,"ChatUserManager",{enumerable:!0,get:function(){return i.ChatUserManager}}),Object.defineProperty(t,"THEME_COLORS",{enumerable:!0,get:function(){return u.THEME_COLORS}}),Object.defineProperty(t,"additionalStyles",{enumerable:!0,get:function(){return r.additionalStyles}}),Object.defineProperty(t,"debounce",{enumerable:!0,get:function(){return r.debounce}}),Object.defineProperty(t,"escapeHtml",{enumerable:!0,get:function(){return l.escapeHtml}}),Object.defineProperty(t,"formatFileSize",{enumerable:!0,get:function(){return l.formatFileSize}}),Object.defineProperty(t,"formatRequestData",{enumerable:!0,get:function(){return d.formatRequestData}}),Object.defineProperty(t,"formatTimestamp",{enumerable:!0,get:function(){return u.formatTimestamp}}),Object.defineProperty(t,"generateAvatarHtml",{enumerable:!0,get:function(){return c.generateAvatarHtml}}),Object.defineProperty(t,"getCurrentTheme",{enumerable:!0,get:function(){return u.getCurrentTheme}}),Object.defineProperty(t,"getThemeColor",{enumerable:!0,get:function(){return u.getThemeColor}}),Object.defineProperty(t,"hexToRgb",{enumerable:!0,get:function(){return s.hexToRgb}}),Object.defineProperty(t,"initConfig",{enumerable:!0,get:function(){return o.initConfig}}),Object.defineProperty(t,"isEmoji",{enumerable:!0,get:function(){return c.isEmoji}}),Object.defineProperty(t,"isGradient",{enumerable:!0,get:function(){return s.isGradient}}),Object.defineProperty(t,"isImageUrl",{enumerable:!0,get:function(){return c.isImageUrl}}),Object.defineProperty(t,"isMobileBrowser",{enumerable:!0,get:function(){return l.isMobileBrowser}}),Object.defineProperty(t,"isSvg",{enumerable:!0,get:function(){return c.isSvg}}),Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return l.loadScript}}),Object.defineProperty(t,"sanitizeSvg",{enumerable:!0,get:function(){return c.sanitizeSvg}}),Object.defineProperty(t,"togglePositions",{enumerable:!0,get:function(){return r.togglePositions}}),Object.defineProperty(t,"validateEmail",{enumerable:!0,get:function(){return p.validateEmail}}),Object.defineProperty(t,"validateFullName",{enumerable:!0,get:function(){return p.validateFullName}}),Object.defineProperty(t,"validatePhoneNumber",{enumerable:!0,get:function(){return p.validatePhoneNumber}});var r=n(684),o=n(4327),i=n(3477),a=n(4727),s=n(4360),c=n(678),u=n(10),l=n(71),p=n(6389),d=n(5029)},1117:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=i(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){if(e){if("string"==typeof e)return a(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(){var e=f(),t=e.m(s),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function r(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var o={throw:1,return:2,break:3,continue:3};function i(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,o[e],t)},delegateYield:function(e,o,i){return t.resultName=o,n(r.d,c(e),i)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(s=function(){return{wrap:function(t,n,r,o){return e.w(i(t),n,r,o&&o.reverse())},isGeneratorFunction:r,mark:e.m,awrap:function(e,t){return new h(e,t)},AsyncIterator:d,async:function(e,t,n,o,a){return(r(t)?p:l)(i(e),t,n,o,a)},keys:u,values:c}})()}function c(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")}function u(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function l(e,t,n,r,o){var i=p(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function p(e,t,n,r,o){return new d(f().w(e,t,n,r),o||Promise)}function d(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof h?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(m(d.prototype),m(d.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),m(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function f(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return m(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function u(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(m(t={},r,(function(){return this})),t),p=u.prototype=s.prototype=Object.create(l);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,m(e,o,"GeneratorFunction")),e.prototype=Object.create(p),e}return c.prototype=u,m(p,"constructor",u),m(u,"constructor",c),c.displayName="GeneratorFunction",m(u,o,"GeneratorFunction"),m(p),m(p,o,"Generator"),m(p,r,(function(){return this})),m(p,"toString",(function(){return"[object Generator]"})),(f=function(){return{w:i,m:d}})()}function m(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}m=function(e,t,n,r){function i(t,n){m(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},m(e,t,n,r)}function h(e,t){this.v=e,this.k=t}function g(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function b(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){g(i,r,o,a,s,"next",e)}function s(e){g(i,r,o,a,s,"throw",e)}a(void 0)}))}}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,y(r.key),r)}}function y(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.SupabaseManager=void 0;t.SupabaseManager=function(){return e=function e(t){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.url=t.url||"",this.anonKey=t.anonKey||"",this.tableName=t.tableName||"chat_history",this.historyLimit=t.historyLimit||50,this.pollIntervalMs=null!==(n=t.pollIntervalMs)&&void 0!==n?n:5e3,this.client=null,this.initialized=!1,this._ourInsertedIds=new Set,this._lastSeenId=-1,this._pollTimer=null,this._pollCallback=null,this._backgroundRefreshTimer=null,this._realtimeChannel=null},t=[{key:"initialize",value:(c=b(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.url&&this.anonKey){e.next=3;break}return console.warn("[Supabase] Missing url or anonKey — Supabase disabled."),e.abrupt("return");case 3:if(e.prev=3,window.supabase&&window.supabase.createClient){e.next=7;break}return e.next=7,this._loadScript("https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2/dist/umd/supabase.js");case 7:if(null!==(t=window.supabase)&&void 0!==t&&t.createClient){e.next=9;break}throw new Error("supabase-js failed to load from CDN");case 9:this.client=window.supabase.createClient(this.url,this.anonKey),this.initialized=!0,e.next=16;break;case 13:e.prev=13,e.t0=e.catch(3),console.error("[Supabase] Initialization failed:",e.t0);case 16:case"end":return e.stop()}}),e,this,[[3,13]])}))),function(){return c.apply(this,arguments)})},{key:"_loadScript",value:function(e){return new Promise((function(t,n){if(document.querySelector('script[src="'.concat(e,'"]'))){var r=0,o=function(){var e;null!==(e=window.supabase)&&void 0!==e&&e.createClient?t():++r>100?n(new Error("Supabase CDN timeout")):setTimeout(o,50)};o()}else{var i=document.createElement("script");i.src=e,i.onload=t,i.onerror=function(){return n(new Error("Failed to load script: ".concat(e)))},document.head.appendChild(i)}}))}},{key:"getChatHistory",value:(a=b(s().mark((function e(t,n){var r,o,i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.initialized&&this.client){e.next=2;break}return e.abrupt("return",[]);case 2:return e.prev=2,e.next=5,this.client.from(this.tableName).select("id, user_id, domain, query, response, timestamp").eq("user_id",t).eq("domain",n).order("timestamp",{ascending:!0}).limit(this.historyLimit);case 5:if(r=e.sent,o=r.data,!(i=r.error)){e.next=10;break}throw i;case 10:return e.abrupt("return",o||[]);case 13:return e.prev=13,e.t0=e.catch(2),console.error("[Supabase] getChatHistory error:",e.t0),e.abrupt("return",[]);case 17:case"end":return e.stop()}}),e,this,[[2,13]])}))),function(e,t){return a.apply(this,arguments)})},{key:"saveChatPair",value:(i=b(s().mark((function e(t,n,r,o){var i,a,c,u;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.initialized&&this.client){e.next=2;break}return e.abrupt("return",null);case 2:return e.prev=2,e.next=5,this.client.from(this.tableName).insert({user_id:t,domain:n,query:r,response:o,timestamp:(new Date).toISOString()}).select("id").single();case 5:if(a=e.sent,c=a.data,!(u=a.error)){e.next=10;break}throw u;case 10:return null!=c&&c.id&&this._ourInsertedIds.add(c.id),e.abrupt("return",null===(i=null==c?void 0:c.id)||void 0===i||i);case 14:return e.prev=14,e.t0=e.catch(2),console.error("[Supabase] saveChatPair error:",e.t0),e.abrupt("return",null);case 18:case"end":return e.stop()}}),e,this,[[2,14]])}))),function(e,t,n,r){return i.apply(this,arguments)})},{key:"setLastSeenFromRows",value:function(e){if(null!=e&&e.length){var t=Math.max.apply(Math,o(e.map((function(e){var t;return null!==(t=e.id)&&void 0!==t?t:0}))));t>this._lastSeenId&&(this._lastSeenId=t)}}},{key:"startRealtimeSync",value:function(e,t,n){var o=this;this.stopRealtimeSync(),this._pollCallback=n;var i=function(){var n=b(s().mark((function n(){var i,a,c,u,l,p,d;return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(o.initialized&&o.client){n.next=2;break}return n.abrupt("return");case 2:return n.prev=2,n.next=5,o.client.from(o.tableName).select("id, query, response, timestamp").eq("user_id",e).eq("domain",t).gt("id",o._lastSeenId).order("id",{ascending:!0});case 5:if(i=n.sent,a=i.data,!(c=i.error)){n.next=10;break}throw c;case 10:u=r(a||[]),n.prev=12,u.s();case 14:if((l=u.n()).done){n.next=22;break}if(d=l.value,!o._ourInsertedIds.has(d.id)){n.next=18;break}return n.abrupt("continue",20);case 18:o._lastSeenId=d.id,null===(p=o._pollCallback)||void 0===p||p.call(o,d);case 20:n.next=14;break;case 22:n.next=27;break;case 24:n.prev=24,n.t0=n.catch(12),u.e(n.t0);case 27:return n.prev=27,u.f(),n.finish(27);case 30:n.next=35;break;case 32:n.prev=32,n.t1=n.catch(2),console.warn("[Supabase] poll error:",null===n.t1||void 0===n.t1?void 0:n.t1.message);case 35:case"end":return n.stop()}}),n,null,[[2,32],[12,24,27,30]])})));return function(){return n.apply(this,arguments)}}();this._pollTimer=setInterval(i,this.pollIntervalMs),i()}},{key:"stopRealtimeSync",value:function(){this._pollTimer&&(clearInterval(this._pollTimer),this._pollTimer=null),this._pollCallback=null}},{key:"startBackgroundRefresh",value:function(e,t){var n=this;this.stopBackgroundRefresh();var r=null!=e?e:this.pollIntervalMs;this._backgroundRefreshTimer=setInterval((function(){n.initialized&&n.client&&t().catch((function(e){return console.warn("[Supabase] background refresh:",null==e?void 0:e.message)}))}),r)}},{key:"stopBackgroundRefresh",value:function(){this._backgroundRefreshTimer&&(clearInterval(this._backgroundRefreshTimer),this._backgroundRefreshTimer=null)}},{key:"startRealtimeSubscription",value:function(e,t,n){var r=this;this.stopRealtimeSubscription(),this.initialized&&this.client&&(this._realtimeChannel=this.client.channel("chatnest-".concat(t,"-").concat(null==e?void 0:e.slice(0,20))).on("postgres_changes",{event:"INSERT",schema:"public",table:this.tableName},(function(o){var i=null==o?void 0:o.new;if(i&&i.user_id===e&&i.domain===t&&!r._ourInsertedIds.has(i.id)){var a={id:i.id,query:i.query,response:i.response,timestamp:i.timestamp};n(a)}})).subscribe((function(e){"SUBSCRIBED"!==e&&"CHANNEL_ERROR"===e&&console.warn("[Supabase] Realtime subscribe failed — enable Realtime for",r.tableName,"in Dashboard")})))}},{key:"stopRealtimeSubscription",value:function(){if(this._realtimeChannel){try{var e;null===(e=this.client)||void 0===e||e.removeChannel(this._realtimeChannel)}catch(e){}this._realtimeChannel=null}}},{key:"_splitParts",value:function(e){return e&&"string"==typeof e?String(e).split(",,,").map((function(e){return e.trim()})).filter(Boolean):[""]}},{key:"rowsToMessages",value:function(e){var t,n=this,o=[],i=r(e);try{var a=function(){var e=t.value,r=e.timestamp||(new Date).toISOString(),i=e.id;o.push({sender:"user",message:e.query,timestamp:r,rowId:i,partKey:null!=i?"sb-".concat(i,"-u"):null});var a=n._splitParts(e.response);a.forEach((function(e,t){var n=t===a.length-1;o.push({sender:"bot",message:e,timestamp:r,skipMessageActions:!n,rowId:i,partKey:null!=i?"sb-".concat(i,"-b").concat(t):null})}))};for(i.s();!(t=i.n()).done;)a()}catch(e){i.e(e)}finally{i.f()}return o}},{key:"isReady",get:function(){return this.initialized&&!!this.client}}],t&&v(e.prototype,t),n&&v(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n,i,a,c}()},3524:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"SupabaseManager",{enumerable:!0,get:function(){return r.SupabaseManager}});var r=n(1117)},678:(e,t)=>{function n(e){if(!e||e.length>20)return!1;var t=/(?:\uD83C[\uDFFB-\uDFFF])|\u200D|\uFE0F/.test(e);return/^(?:\uD83D[\uDE00-\uDE4F])|(?:\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF])|(?:\uD83D[\uDE80-\uDEFF])|(?:\uD83C[\uDDE0-\uDDFF])|[\u2600-\u26FF]|[\u2700-\u27BF]|(?:\uD83E[\uDD00-\uDDFF])|(?:\uD83C[\uDC18-\uDE70])|[\u238C-\u2454]|[\u20D0-\u20FF]|\uFE0F|\u200D|(?:\uDB40[\uDC20-\uDC7F])/.test(e)||t||/(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEDC-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9\uDEF0-\uDEF8])/.test(e)}function r(e){if(!e||"string"!=typeof e)return!1;return[/^https?:\/\/.+\.(jpg|jpeg|png|gif|svg|webp|bmp|ico)(\?.*)?$/i,/^data:image\/.+;base64,/i,/^\/.*\.(jpg|jpeg|png|gif|svg|webp|bmp|ico)(\?.*)?$/i,/^\.\.?\/.*\.(jpg|jpeg|png|gif|svg|webp|bmp|ico)(\?.*)?$/i].some((function(t){return t.test(e.trim())}))||e.startsWith("http")||e.startsWith("data:image")||e.startsWith("/")||e.includes("://")}function o(e){if(!e||"string"!=typeof e)return!1;var t=e.trim();return t.startsWith("<svg")&&t.includes("</svg>")}function i(e){var t=e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/on\w+="[^"]*"/gi,"").replace(/on\w+='[^']*'/gi,"").replace(/javascript:/gi,"").replace(/vbscript:/gi,"").replace(/data:/gi,"");return!t.includes("viewBox")&&t.includes("<svg")&&(t=t.replace("<svg",'<svg viewBox="0 0 24 24"')),t}Object.defineProperty(t,"__esModule",{value:!0}),t.generateAvatarHtml=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s="boolean"==typeof a?{showAvatar:a}:a,c=s.showAvatar,u=void 0===c||c,l=s.forGreeting;if(!(void 0!==l&&l||u))return"";var p='\n <div class="ai-avatar">\n <div class="ai-avatar-icon">🤖</div>\n <div class="ai-name">'.concat(t,"</div>\n </div>\n ");if(!e)return p;if(n(e))return'\n <div class="ai-avatar">\n <div class="ai-avatar-icon emoji-avatar">'.concat(e,'</div>\n <div class="ai-name">').concat(t,"</div>\n </div>\n ");if(r(e))return'\n <div class="ai-avatar">\n <div class="ai-avatar-icon image-avatar">\n <img src="'.concat(e,'" alt="').concat(t,'" \n onerror="this.style.display=\'none\'; this.parentNode.innerHTML=\'🤖\';" \n onload="this.style.display=\'block\';" />\n </div>\n <div class="ai-name">').concat(t,"</div>\n </div>\n ");if(o(e))return'\n <div class="ai-avatar">\n <div class="ai-avatar-icon svg-avatar">'.concat(i(e),'</div>\n <div class="ai-name">').concat(t,"</div>\n </div>\n ");if(e.length<=10)return'\n <div class="ai-avatar">\n <div class="ai-avatar-icon text-avatar">'.concat(e,'</div>\n <div class="ai-name">').concat(t,"</div>\n </div>\n ");return p},t.isEmoji=n,t.isImageUrl=r,t.isSvg=o,t.sanitizeSvg=i},4360:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hexToRgb=function(e){if(!e)return"0, 132, 255";if(e.includes("linear-gradient")||e.includes("radial-gradient")){var t=e.match(/#[a-fA-F0-9]{6}|#[a-fA-F0-9]{3}/);if(t){var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t[0]);return n?"".concat(parseInt(n[1],16),", ").concat(parseInt(n[2],16),", ").concat(parseInt(n[3],16)):"0, 132, 255"}return"0, 132, 255"}var r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return r?"".concat(parseInt(r[1],16),", ").concat(parseInt(r[2],16),", ").concat(parseInt(r[3],16)):"0, 132, 255"},t.isGradient=function(e){return e&&(e.includes("linear-gradient")||e.includes("radial-gradient"))}},71:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.escapeHtml=function(e){var t=document.createElement("div");return t.textContent=String(null!=e?e:""),t.innerHTML},t.formatFileSize=function(e){if(0===e)return"0 Bytes";var t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB"][t]},t.isMobileBrowser=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},t.loadScript=function(e){return new Promise((function(t,n){var r=document.createElement("script");r.src=e,r.async=!0,r.onload=t,r.onerror=n,document.head.appendChild(r)}))}},9687:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fileToBase64=function(e){return new Promise((function(t,n){if(e&&e instanceof File){var r=new FileReader;r.onload=function(){var n=r.result;t({base64:n,name:e.name,type:e.type})},r.onerror=function(){return n(r.error)},r.readAsDataURL(e)}else n(new Error("Invalid file"))}))}},6389:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateEmail=function(e){return/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(String(e||"").trim())},t.validateFullName=function(e){return/^[A-Za-z]+\s+[A-Za-z]+(\s+[A-Za-z]+)?$/.test(String(e||"").trim())},t.validatePhoneNumber=function(e){var t=String(e||"").replace(/\D/g,"");return t.length>=7&&t.length<=20}},4960:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e){if(null==e)return!0;var t=String(e).trim();if(!t)return!0;if("{}"===t||'{"response":""}'===t||'{"response": ""}'===t)return!0;try{var n,r,o,i,a=JSON.parse(t),s=null!==(n=null!==(r=null!==(o=null!==(i=null==a?void 0:a.response)&&void 0!==i?i:null==a?void 0:a.message)&&void 0!==o?o:null==a?void 0:a.text)&&void 0!==r?r:null==a?void 0:a.content)&&void 0!==n?n:null==a?void 0:a.answer;return null==s||""===String(s).trim()}catch(e){return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.extractResponseText=function(e,t){var o="Sorry, there was an error processing the response. Please try again.";try{if(null!=t&&t.transformResponse){var i=t.transformResponse(e);if("string"==typeof i)return{text:r(i)?"":i,products:[]};if(i&&"object"===n(i)){var a,s,c=null!==(a=null!==(s=i.response)&&void 0!==s?s:i.message)&&void 0!==a?a:"";return{text:r(c)?"":c||i.response||i.message||"",products:i.products||[]}}return{text:r(i)?"":String(i)||"",products:[]}}if("string"==typeof e)return{text:r(e)?"":e,products:[]};if(e&&"object"===n(e)){var u,l,p,d,f,m=(null==t?void 0:t.apiResponseFormat)||{},h=null!==(u=null!==(l=null!==(p=null!==(d=null!==(f=e.response)&&void 0!==f?f:e.message)&&void 0!==d?d:e.text)&&void 0!==p?p:e.content)&&void 0!==l?l:e.answer)&&void 0!==u?u:e[m.response],g=e[m.products]||e.products||[];return r(h)?{text:"",products:g}:{text:h||o,products:g}}return{text:o,products:[]}}catch(e){return console.error("[Chatnest] extractResponseText error:",e),{text:o,products:[]}}},t.isEmptyResponse=r,t.splitResponseByTripleComma=function(e){return e&&"string"==typeof e?e.split(",,,").map((function(e){return e.trim()})).filter(Boolean):[""]}},2456:(e,t)=>{function n(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e,t){if(e){if("string"==typeof e)return a(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function o(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function i(e){if(Array.isArray(e))return a(e)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,"__esModule",{value:!0}),t.sanitizeHtml=function(e){if("undefined"!=typeof window&&window.DOMPurify&&"function"==typeof window.DOMPurify.sanitize)return window.DOMPurify.sanitize(e,{FORBID_TAGS:(t=s,i(t)||o(t)||r(t)||n()),FORBID_ATTR:["onerror","onload","onclick","onmouseover"],ALLOW_DATA_ATTR:!1});var t;var a=document.createElement("template");return a.innerHTML=e,l(a.content),a.innerHTML};var s=new Set(["script","style","iframe","frame","frameset","object","embed","applet","base","form","input","button","select","textarea","link","meta","noscript","template","slot","canvas","svg"]),c=/^on|^srcdoc$|^data:$|^formaction$|^action$/i,u=/^(https?:|ftp:|mailto:|tel:|#|\/|\.)/i;function l(e){for(var t=0,n=Array.from(e.childNodes);t<n.length;t++){var r=n[t];if(r.nodeType===Node.ELEMENT_NODE){var o=r.tagName.toLowerCase();if(s.has(o)){r.remove();continue}for(var i=0,a=Array.from(r.attributes);i<a.length;i++){var p=a[i],d=p.name.toLowerCase(),f=p.value;c.test(d)?r.removeAttribute(p.name):"href"!==d&&"src"!==d&&"action"!==d||!f||u.test(f.trim())||r.removeAttribute(p.name)}if("a"===o){var m=r.getAttribute("href")||"";(m.startsWith("http")||m.startsWith("//"))&&(r.setAttribute("target","_blank"),r.setAttribute("rel","noopener noreferrer"))}l(r)}}}},10:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.THEME_COLORS=void 0,t.formatTimestamp=function(e){var t=e?new Date(e):new Date;return Number.isNaN(t.getTime())?"":t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},t.getCurrentTheme=r,t.getThemeColor=function(e,t){var o,i=r(t);return(null===(o=n[i])||void 0===o?void 0:o[e])||n.light[e]};var n=t.THEME_COLORS={light:{bg:"#ffffff",text:"#333333",border:"#e1e5e9",inputBg:"#ffffff",messageBg:"#ffffff",headerBg:"#ffffff",headerText:"#333333"},dark:{bg:"#1a1a1a",text:"#ffffff",border:"#404040",inputBg:"#2d2d2d",messageBg:"#2d2d2d",headerBg:"#2d2d2d",headerText:"#ffffff"}};function r(e){return"system"===e?"undefined"!=typeof window&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e}},5630:(e,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(){var e=p(),t=e.m(i),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function r(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var o={throw:1,return:2,break:3,continue:3};function d(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,o[e],t)},delegateYield:function(e,o,i){return t.resultName=o,n(r.d,a(e),i)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(i=function(){return{wrap:function(t,n,r,o){return e.w(d(t),n,r,o&&o.reverse())},isGeneratorFunction:r,mark:e.m,awrap:function(e,t){return new f(e,t)},AsyncIterator:l,async:function(e,t,n,o,i){return(r(t)?u:c)(d(e),t,n,o,i)},keys:s,values:a}})()}function a(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")}function s(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function c(e,t,n,r,o){var i=u(e,t,n,r,o);return i.next().then((function(e){return e.done?e.value:i.next()}))}function u(e,t,n,r,o){return new l(p().w(e,t,n,r),o||Promise)}function l(e,t){function n(r,o,i,a){try{var s=e[r](o),c=s.value;return c instanceof f?t.resolve(c.v).then((function(e){n("next",e,i,a)}),(function(e){n("throw",e,i,a)})):t.resolve(c).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,a)}))}catch(e){a(e)}}var r;this.next||(d(l.prototype),d(l.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),d(this,"_invoke",(function(e,o,i){function a(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(a,a):a()}),!0)}function p(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return d(u,"_invoke",function(n,r,o){var i,s,c,u=0,l=o||[],p=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,c=e,d.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!p&&u&&!o&&t<l.length;t++){var o,i=l[t],f=d.p,m=i[2];n>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(s=0,d.v=r,d.n=i[1]):f<m&&(o=n<3||i[0]>r||r>m)&&(i[4]=n,i[5]=r,d.n=m,s=0))}if(o||n>1)return a;throw p=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(p&&1===l&&f(l,m),s=l,c=m;(t=s<2?e:c)||!p;){i||(s?s<3?(s>1&&(d.n=-1),f(s,c)):d.n=c:d.v=c);try{if(u=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(p=d.n<0)?c:n.call(r,d))!==a)break}catch(t){i=e,s=1,c=t}finally{u=1}}return{value:t,done:p}}}(n,o,i),!0),u}var a={};function s(){}function c(){}function u(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(d(t={},r,(function(){return this})),t),f=u.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,d(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=u,d(f,"constructor",u),d(u,"constructor",c),c.displayName="GeneratorFunction",d(u,o,"GeneratorFunction"),d(f),d(f,o,"Generator"),d(f,r,(function(){return this})),d(f,"toString",(function(){return"[object Generator]"})),(p=function(){return{w:i,m}})()}function d(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}d=function(e,t,n,r){function i(t,n){d(e,t,(function(e){return this._invoke(t,n,e)}))}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},d(e,t,n,r)}function f(e,t){this.v=e,this.k=t}function m(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function h(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){m(i,r,o,a,s,"next",e)}function s(e){m(i,r,o,a,s,"throw",e)}a(void 0)}))}}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,b(r.key),r)}}function b(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.ParlantIntegration=void 0;t.ParlantIntegration=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.chatnest=t,this.config=t.config,this.userManager=t.userManager;var n=this.config.separateSubpageHistory?"parlantSessionId_".concat(this.userManager.domain).concat(this.userManager.path):"parlantSessionId_".concat(this.userManager.domain);this.sessionStorageKey=n,this.sessionId=localStorage.getItem(n)||null,this.agentId=null,this.lastEventOffset=-1,this.pollingInterval=null,this.processedMessageOffsets=new Set,this.waitingForResponse=!1,this.isFirstAgentMessageInSequence=!0,this.agentReadyStatusReceived=!1,this.readyStatusGracePeriodTimer=null,this.connectionCheckInterval=null,this.currentQueryId=null,this.queryResponses=new Map,this.typingIndicatorState="thinking",this.typingIndicatorTimeout=null,this._safetyTimeout=null,this._lastAgentEventTime=null,this._lastAgentMessageTime=null},t=[{key:"widget",get:function(){return this.chatnest.widget}},{key:"storageManager",get:function(){return this.chatnest.storageManager}},{key:"initialize",value:(d=h(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.config.parlant.enabled&&this.config.parlant.apiBaseUrl){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,this.checkAPIConnection();case 5:return e.prev=5,e.next=8,this.getAgentId();case 8:e.next=12;break;case 10:e.prev=10,e.t0=e.catch(5);case 12:e.next=16;break;case 14:e.prev=14,e.t1=e.catch(2);case 16:case"end":return e.stop()}}),e,this,[[2,14],[5,10]])}))),function(){return d.apply(this,arguments)})},{key:"checkAPIConnection",value:(p=h(i().mark((function e(){var t,n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.config.parlant.enabled&&this.config.parlant.apiBaseUrl){e.next=2;break}return e.abrupt("return",!1);case 2:return e.prev=2,t=new AbortController,n=setTimeout((function(){return t.abort()}),5e3),e.next=7,fetch("".concat(this.config.parlant.apiBaseUrl,"/healthz"),{signal:t.signal});case 7:if(r=e.sent,clearTimeout(n),!r.ok){e.next=11;break}return e.abrupt("return",!0);case 11:throw new Error("Health check failed");case 14:return e.prev=14,e.t0=e.catch(2),e.abrupt("return",!1);case 17:case"end":return e.stop()}}),e,this,[[2,14]])}))),function(){return p.apply(this,arguments)})},{key:"getAgentId",value:(l=h(i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.agentId){e.next=2;break}return e.abrupt("return",this.agentId);case 2:if(this.config.parlant.apiBaseUrl){e.next=4;break}throw new Error("Parlant API base URL is not configured");case 4:return e.next=6,fetch("".concat(this.config.parlant.apiBaseUrl,"/agents"));case 6:if(!(t=e.sent).ok){e.next=15;break}return e.next=10,t.json();case 10:if(!((n=e.sent)&&n.length>0)){e.next=14;break}return this.agentId=n[0].id,e.abrupt("return",this.agentId);case 14:throw new Error("No agents found. Please create an agent first.");case 15:throw new Error("Failed to fetch agents: ".concat(t.status));case 16:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"createSession",value:(u=h(i().mark((function e(){var t,n,r,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.sessionId){e.next=2;break}return e.abrupt("return",this.sessionId);case 2:if(this.config.parlant.apiBaseUrl){e.next=4;break}throw new Error("Parlant API base URL is not configured");case 4:return e.next=6,this.getAgentId();case 6:return t=e.sent,e.next=9,fetch("".concat(this.config.parlant.apiBaseUrl,"/sessions"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent_id:t,mode:"auto"})});case 9:if(!(n=e.sent).ok){e.next=17;break}return e.next=13,n.json();case 13:return r=e.sent,this.sessionId=r.id,localStorage.setItem(this.sessionStorageKey,this.sessionId),e.abrupt("return",this.sessionId);case 17:return e.next=19,n.json().catch((function(){return{}}));case 19:throw o=e.sent,new Error(o.detail||o.message||"Failed to create session: ".concat(n.status));case 21:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"sendUserMessage",value:(c=h(i().mark((function e(t){var n,r,o,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.config.parlant.apiBaseUrl){e.next=2;break}throw new Error("Parlant API base URL is not configured");case 2:return e.next=4,this.createSession();case 4:return n=e.sent,e.next=7,fetch("".concat(this.config.parlant.apiBaseUrl,"/sessions/").concat(n,"/events"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kind:"message",source:"customer",message:t})});case 7:if(!(r=e.sent).ok){e.next=14;break}return e.next=11,r.json();case 11:return o=e.sent,this.lastEventOffset=o.offset,e.abrupt("return",o);case 14:return e.next=16,r.json().catch((function(){return{}}));case 16:throw a=e.sent,new Error(a.detail||a.message||"Failed to send message: ".concat(r.status));case 18:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"pollForAgentResponse",value:(s=h(i().mark((function e(){var t,o,a,s,c,u,l,p,d,f,m,h,g,b,v,y,x,w,k,S,P,O,E,j=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.sessionId&&this.config.parlant.apiBaseUrl){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,t=this.lastEventOffset+1,e.next=6,fetch("".concat(this.config.parlant.apiBaseUrl,"/sessions/").concat(this.sessionId,"/events?offset=").concat(t),{method:"GET",headers:{"Content-Type":"application/json"}});case 6:if(!(o=e.sent).ok){e.next=41;break}return e.next=10,o.json();case 10:a=e.sent,s=Array.isArray(a)?a:a.items||[],c=r(s),e.prev=13,c.s();case 15:if((u=c.n()).done){e.next=33;break}if(!((l=u.value).offset<=this.lastEventOffset)){e.next=19;break}return e.abrupt("continue",31);case 19:if(l.offset>this.lastEventOffset&&(this.lastEventOffset=l.offset),"ai_agent"===l.source&&(this._lastAgentEventTime=Date.now()),"status"===l.kind&&"ai_agent"===l.source&&l.data&&"ready"===l.data.status&&(this.agentReadyStatusReceived=!0,this.readyStatusGracePeriodTimer&&clearTimeout(this.readyStatusGracePeriodTimer),this.readyStatusGracePeriodTimer=setTimeout((function(){if(j.agentReadyStatusReceived&&j.waitingForResponse)if(j.processedMessageOffsets.size>0){var e;j.chatnest.updateLastBotMessage(),j.stopPolling(),j.waitingForResponse=!1,j.agentReadyStatusReceived=!1,j.typingIndicatorTimeout&&(clearTimeout(j.typingIndicatorTimeout),j.typingIndicatorTimeout=null);var t=null===(e=j.widget)||void 0===e?void 0:e.querySelector(".typing-indicator");null!=t&&t.classList.contains("active")&&(t.classList.remove("active"),j.chatnest.stopJavaScriptTypingAnimation())}else j.readyStatusGracePeriodTimer=setTimeout((function(){if(j.agentReadyStatusReceived&&j.waitingForResponse&&0===j.processedMessageOffsets.size){var e;j.typingIndicatorTimeout&&(clearTimeout(j.typingIndicatorTimeout),j.typingIndicatorTimeout=null);var t=null===(e=j.widget)||void 0===e?void 0:e.querySelector(".typing-indicator");null!=t&&t.classList.contains("active")&&(t.classList.remove("active"),j.chatnest.stopJavaScriptTypingAnimation()),j.stopPolling(),j.waitingForResponse=!1,j.agentReadyStatusReceived=!1,j.currentQueryId=null}}),2e3)}),3e3)),this.waitingForResponse&&!this.processedMessageOffsets.size&&(null!=(d=null===(p=this.widget)||void 0===p?void 0:p.querySelector(".typing-indicator"))&&d.classList.contains("active")||(m=null===(f=this.widget)||void 0===f?void 0:f.querySelector(".chat-messages"))&&(h=m.querySelector(".typing-indicator"))&&(h.classList.add("active"),this.updateTypingIndicator("thinking"),this.chatnest.startJavaScriptTypingAnimation(),(g=m.querySelector(".chat-spacer"))&&m.insertBefore(h,g))),"status"!==l.kind||"ai_agent"!==l.source||!l.data||"typing"!==l.data.status&&"processing"!==l.data.status||(this.agentReadyStatusReceived&&(this.agentReadyStatusReceived=!1,this.readyStatusGracePeriodTimer&&(clearTimeout(this.readyStatusGracePeriodTimer),this.readyStatusGracePeriodTimer=null)),this.updateTypingIndicator("thinking"),(v=null===(b=this.widget)||void 0===b?void 0:b.querySelector(".typing-indicator"))&&!v.classList.contains("active")&&(v.classList.add("active"),this.chatnest.startJavaScriptTypingAnimation())),"message"!==l.kind||"ai_agent"!==l.source){e.next=31;break}if(!this.processedMessageOffsets.has(l.offset)){e.next=27;break}return e.abrupt("continue",31);case 27:this.agentReadyStatusReceived&&(this.agentReadyStatusReceived=!1,this.readyStatusGracePeriodTimer&&(clearTimeout(this.readyStatusGracePeriodTimer),this.readyStatusGracePeriodTimer=null)),w="",l.data&&"object"===n(l.data)&&l.data.message?w=l.data.message:l.message?w=l.message:l.data&&"string"==typeof l.data?w=l.data:null!==(y=l.data)&&void 0!==y&&y.text?w=l.data.text:null!==(x=l.data)&&void 0!==x&&x.content&&(w=l.data.content),w&&(this.currentQueryId&&((k=this.queryResponses.get(this.currentQueryId)||[]).push(w),this.queryResponses.set(this.currentQueryId,k)),this.typingIndicatorTimeout&&(clearTimeout(this.typingIndicatorTimeout),this.typingIndicatorTimeout=null),this.chatnest.addMessage(w,"bot",!0),(S=this.currentQueryId)||(S="query_".concat(Date.now(),"_").concat(Math.random().toString(36).substring(2,11)),this.currentQueryId=S),this.storageManager.saveParlantMessage(w,"bot",S),this.isFirstAgentMessageInSequence&&(this.isFirstAgentMessageInSequence=!1),this.processedMessageOffsets.add(l.offset),this._lastAgentMessageTime=Date.now(),P=this.widget.querySelectorAll(".message-row"),(O=P[P.length-1])&&this.currentQueryId&&(O.setAttribute("data-query-id",this.currentQueryId),(E=O.querySelector(".bot-message-container"))&&E.setAttribute("data-query-id",this.currentQueryId)),this.chatnest.updateLastBotMessage());case 31:e.next=15;break;case 33:e.next=38;break;case 35:e.prev=35,e.t0=e.catch(13),c.e(e.t0);case 38:return e.prev=38,c.f(),e.finish(38);case 41:e.next=46;break;case 43:e.prev=43,e.t1=e.catch(2),"AbortError"!==(null===e.t1||void 0===e.t1?void 0:e.t1.name)&&console.warn("[Parlant] Poll error:",(null===e.t1||void 0===e.t1?void 0:e.t1.message)||e.t1);case 46:case"end":return e.stop()}}),e,this,[[2,43],[13,35,38,41]])}))),function(){return s.apply(this,arguments)})},{key:"startPolling",value:function(){var e=this;this.pollingInterval&&clearInterval(this.pollingInterval),this.pollingInterval=setInterval((function(){return e.pollForAgentResponse()}),800)}},{key:"stopPolling",value:function(){this.pollingInterval&&(clearInterval(this.pollingInterval),this.pollingInterval=null),this._safetyTimeout&&(clearTimeout(this._safetyTimeout),this._safetyTimeout=null),this.readyStatusGracePeriodTimer&&(clearTimeout(this.readyStatusGracePeriodTimer),this.readyStatusGracePeriodTimer=null)}},{key:"cleanup",value:function(){this.config.parlant.enabled&&(this.stopPolling(),this.connectionCheckInterval&&(clearInterval(this.connectionCheckInterval),this.connectionCheckInterval=null))}},{key:"updateTypingIndicator",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"thinking";if(this.config.parlant.enabled&&this.config.showTypingText){var r=null===(e=this.widget)||void 0===e?void 0:e.querySelector(".typing-indicator");if(r){this.typingIndicatorState=n;var o=r.querySelector(".typing-text");o||((o=document.createElement("div")).className="typing-text",r.insertBefore(o,r.firstChild)),o.textContent=null!==(t={thinking:"Thinking",typing:"Typing",processing:"Processing"}[n])&&void 0!==t?t:"Thinking"}}}},{key:"sendMessage",value:(a=h(i().mark((function e(t){var n,r,o,a,s,c=this,u=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(n=u.length>1&&void 0!==u[1]?u[1]:{}).disableSending,r=n.enableSending,o=n.resetInputState,a=n.forceEnableInput,this.currentQueryId="query_".concat(Date.now(),"_").concat(Math.random().toString(36).substring(2,11)),this.queryResponses.set(this.currentQueryId,[]),this.agentReadyStatusReceived=!1,this.readyStatusGracePeriodTimer&&(clearTimeout(this.readyStatusGracePeriodTimer),this.readyStatusGracePeriodTimer=null),this.processedMessageOffsets.clear(),this.waitingForResponse=!0,this.isFirstAgentMessageInSequence=!0,this.typingIndicatorState="thinking",e.prev=10,e.next=13,this.sendUserMessage(t);case 13:return this.typingIndicatorTimeout=setTimeout((function(){if(c.waitingForResponse&&!c.processedMessageOffsets.size){var e,t=null===(e=c.widget)||void 0===e?void 0:e.querySelector(".typing-indicator");if(t&&!t.classList.contains("active")){var n;t.classList.add("active"),c.updateTypingIndicator("thinking"),c.chatnest.startJavaScriptTypingAnimation();var r=null===(n=c.widget)||void 0===n?void 0:n.querySelector(".chat-messages"),o=null==r?void 0:r.querySelector(".chat-spacer");r&&o&&r.insertBefore(t,o)}}}),1e3),this.startPolling(),e.next=17,this.pollForAgentResponse();case 17:setTimeout((function(){return c.pollForAgentResponse()}),500),this._lastAgentMessageTime=Date.now(),this._lastAgentEventTime=Date.now(),this._safetyTimeout&&clearTimeout(this._safetyTimeout),s=setTimeout((function(){if(c.waitingForResponse){var e;c.stopPolling(),c.waitingForResponse=!1,c.agentReadyStatusReceived=!1,c.readyStatusGracePeriodTimer&&clearTimeout(c.readyStatusGracePeriodTimer),0===c.processedMessageOffsets.size&&c.chatnest.addMessage("Response timeout after 60 seconds. The agent may still be processing your message.","bot",!1,{isError:!0}),c.typingIndicatorTimeout&&(clearTimeout(c.typingIndicatorTimeout),c.typingIndicatorTimeout=null);var t=null===(e=c.widget)||void 0===e?void 0:e.querySelector(".typing-indicator");null!=t&&t.classList.contains("active")&&(t.classList.remove("active"),c.chatnest.stopJavaScriptTypingAnimation())}}),6e4),this._safetyTimeout=s,this.chatnest.isWaitingForResponse=!1,o&&o(),e.next=37;break;case 27:e.prev=27,e.t0=e.catch(10),this.stopPolling(),this.waitingForResponse=!1,this.agentReadyStatusReceived=!1,this.readyStatusGracePeriodTimer&&clearTimeout(this.readyStatusGracePeriodTimer),this.chatnest.addMessage(e.t0.message||"Failed to send message. Please check if the Parlant API server is running.","bot",!1,{isError:!0}),r&&r(),o&&o(),a&&a();case 37:case"end":return e.stop()}}),e,this,[[10,27]])}))),function(e){return a.apply(this,arguments)})}],t&&g(e.prototype,t),o&&g(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,o,a,s,c,u,l,p,d}()},5912:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ParlantIntegration",{enumerable:!0,get:function(){return r.ParlantIntegration}});var r=n(5630)},6709:(e,t)=>{function n(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function r(e){t.defaults=e}t.defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};const o=/[&<>"']/,i=new RegExp(o.source,"g"),a=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,s=new RegExp(a.source,"g"),c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=e=>c[e];function l(e,t){if(t){if(o.test(e))return e.replace(i,u)}else if(a.test(e))return e.replace(s,u);return e}const p=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;const d=/(^|[^\[])\^/g;function f(e,t){e="string"==typeof e?e:e.source,t=t||"";const n={replace:(t,r)=>(r=(r="object"==typeof r&&"source"in r?r.source:r).replace(d,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}function m(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}const h={exec:()=>null};function g(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,o=t;for(;--o>=0&&"\\"===n[o];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n}function b(e,t,n){const r=e.length;if(0===r)return"";let o=0;for(;o<r;){const i=e.charAt(r-o-1);if(i!==t||n){if(i===t||!n)break;o++}else o++}return e.slice(0,r-o)}function v(e,t,n,r){const o=t.href,i=t.title?l(t.title):null,a=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;const e={type:"link",raw:n,href:o,title:i,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,e}return{type:"image",raw:n,href:o,title:i,text:l(a)}}class y{options;rules;lexer;constructor(e){this.options=e||t.defaults}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:b(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=b(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=b(t[0].replace(/^ *>[ \t]?/gm,""),"\n"),n=this.lexer.state.top;this.lexer.state.top=!0;const r=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:r,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim();const r=n.length>1,o={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");const i=new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`);let a="",s="",c=!1;for(;e;){let n=!1;if(!(t=i.exec(e)))break;if(this.rules.block.hr.test(e))break;a=t[0],e=e.substring(a.length);let r=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),u=e.split("\n",1)[0],l=0;this.options.pedantic?(l=2,s=r.trimStart()):(l=t[2].search(/[^ ]/),l=l>4?1:l,s=r.slice(l),l+=t[1].length);let p=!1;if(!r&&/^ *$/.test(u)&&(a+=u+"\n",e=e.substring(u.length+1),n=!0),!n){const t=new RegExp(`^ {0,${Math.min(3,l-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,l-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),o=new RegExp(`^ {0,${Math.min(3,l-1)}}(?:\`\`\`|~~~)`),i=new RegExp(`^ {0,${Math.min(3,l-1)}}#`);for(;e;){const c=e.split("\n",1)[0];if(u=c,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),o.test(u))break;if(i.test(u))break;if(t.test(u))break;if(n.test(e))break;if(u.search(/[^ ]/)>=l||!u.trim())s+="\n"+u.slice(l);else{if(p)break;if(r.search(/[^ ]/)>=4)break;if(o.test(r))break;if(i.test(r))break;if(n.test(r))break;s+="\n"+u}p||u.trim()||(p=!0),a+=c+"\n",e=e.substring(c.length+1),r=u.slice(l)}}o.loose||(c?o.loose=!0:/\n *\n *$/.test(a)&&(c=!0));let d,f=null;this.options.gfm&&(f=/^\[[ xX]\] /.exec(s),f&&(d="[ ] "!==f[0],s=s.replace(/^\[[ xX]\] +/,""))),o.items.push({type:"list_item",raw:a,task:!!f,checked:d,loose:!1,text:s,tokens:[]}),o.raw+=a}o.items[o.items.length-1].raw=a.trimEnd(),o.items[o.items.length-1].text=s.trimEnd(),o.raw=o.raw.trimEnd();for(let e=0;e<o.items.length;e++)if(this.lexer.state.top=!1,o.items[e].tokens=this.lexer.blockTokens(o.items[e].text,[]),!o.loose){const t=o.items[e].tokens.filter((e=>"space"===e.type)),n=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));o.loose=n}if(o.loose)for(let e=0;e<o.items.length;e++)o.items[e].loose=!0;return o}}html(e){const t=this.rules.block.html.exec(e);if(t){return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}}def(e){const t=this.rules.block.def.exec(e);if(t){const e=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline._escapes,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(t){if(!/[:|]/.test(t[2]))return;const e={type:"table",raw:t[0],header:g(t[1]).map((e=>({text:e,tokens:[]}))),align:t[2].replace(/^\||\| *$/g,"").split("|"),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){let t,n,r,o,i=e.align.length;for(t=0;t<i;t++){const n=e.align[t];n&&(/^ *-+: *$/.test(n)?e.align[t]="right":/^ *:-+: *$/.test(n)?e.align[t]="center":/^ *:-+ *$/.test(n)?e.align[t]="left":e.align[t]=null)}for(i=e.rows.length,t=0;t<i;t++)e.rows[t]=g(e.rows[t],e.header.length).map((e=>({text:e,tokens:[]})));for(i=e.header.length,n=0;n<i;n++)e.header[n].tokens=this.lexer.inline(e.header[n].text);for(i=e.rows.length,n=0;n<i;n++)for(o=e.rows[n],r=0;r<o.length;r++)o[r].tokens=this.lexer.inline(o[r].text);return e}}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:l(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;const t=b(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let n=0;for(let r=0;r<e.length;r++)if("\\"===e[r])r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return-1}(t[2],"()");if(e>-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(n=this.options.pedantic&&!/>$/.test(e)?n.slice(1):n.slice(1,-1)),v(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:r?r.replace(this.rules.inline._escapes,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return v(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrong.lDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const n=[...r[0]].length-1;let o,i,a=n,s=0;const c="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=c.exec(t));){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(i=[...o].length,r[3]||r[4]){a+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){s+=i;continue}if(a-=i,a>0)continue;i=Math.min(i,i+a+s);const t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+i);if(Math.min(n,i)%2){const e=c.slice(1,-1);return{type:"em",raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}const u=c.slice(2,-2);return{type:"strong",raw:c,text:u,tokens:this.lexer.inlineTokens(u)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=l(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,n;return"@"===t[2]?(e=l(t[1]),n="mailto:"+e):(e=l(t[1]),n=e),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])e=l(t[0]),n="mailto:"+e;else{let r;do{r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])[0]}while(r!==t[0]);e=l(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:l(t[0]),{type:"text",raw:t[0],text:e}}}}const x={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:h,lheading:/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};x.def=f(x.def).replace("label",x._label).replace("title",x._title).getRegex(),x.bullet=/(?:[*+-]|\d{1,9}[.)])/,x.listItemStart=f(/^( *)(bull) */).replace("bull",x.bullet).getRegex(),x.list=f(x.list).replace(/bull/g,x.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+x.def.source+")").getRegex(),x._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",x._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,x.html=f(x.html,"i").replace("comment",x._comment).replace("tag",x._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),x.lheading=f(x.lheading).replace(/bull/g,x.bullet).getRegex(),x.paragraph=f(x._paragraph).replace("hr",x.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",x._tag).getRegex(),x.blockquote=f(x.blockquote).replace("paragraph",x.paragraph).getRegex(),x.normal={...x},x.gfm={...x.normal,table:"^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},x.gfm.table=f(x.gfm.table).replace("hr",x.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",x._tag).getRegex(),x.gfm.paragraph=f(x._paragraph).replace("hr",x.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",x.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",x._tag).getRegex(),x.pedantic={...x.normal,html:f("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",x._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:h,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:f(x.normal._paragraph).replace("hr",x.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",x.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const w={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:h,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:h,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^((?![*_])[\spunctuation])/,_punctuation:"\\p{P}$+<=>`^|~"};w.punctuation=f(w.punctuation,"u").replace(/punctuation/g,w._punctuation).getRegex(),w.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,w.anyPunctuation=/\\[punct]/g,w._escapes=/\\([punct])/g,w._comment=f(x._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),w.emStrong.lDelim=f(w.emStrong.lDelim,"u").replace(/punct/g,w._punctuation).getRegex(),w.emStrong.rDelimAst=f(w.emStrong.rDelimAst,"gu").replace(/punct/g,w._punctuation).getRegex(),w.emStrong.rDelimUnd=f(w.emStrong.rDelimUnd,"gu").replace(/punct/g,w._punctuation).getRegex(),w.anyPunctuation=f(w.anyPunctuation,"gu").replace(/punct/g,w._punctuation).getRegex(),w._escapes=f(w._escapes,"gu").replace(/punct/g,w._punctuation).getRegex(),w._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,w._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,w.autolink=f(w.autolink).replace("scheme",w._scheme).replace("email",w._email).getRegex(),w._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,w.tag=f(w.tag).replace("comment",w._comment).replace("attribute",w._attribute).getRegex(),w._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,w._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,w._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,w.link=f(w.link).replace("label",w._label).replace("href",w._href).replace("title",w._title).getRegex(),w.reflink=f(w.reflink).replace("label",w._label).replace("ref",x._label).getRegex(),w.nolink=f(w.nolink).replace("ref",x._label).getRegex(),w.reflinkSearch=f(w.reflinkSearch,"g").replace("reflink",w.reflink).replace("nolink",w.nolink).getRegex(),w.normal={...w},w.pedantic={...w.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:f(/^!?\[(label)\]\((.*?)\)/).replace("label",w._label).getRegex(),reflink:f(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",w._label).getRegex()},w.gfm={...w.normal,escape:f(w.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},w.gfm.url=f(w.gfm.url,"i").replace("email",w.gfm._extended_email).getRegex(),w.breaks={...w.gfm,br:f(w.br).replace("{2,}","*").getRegex(),text:f(w.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()};class k{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||t.defaults,this.options.tokenizer=this.options.tokenizer||new y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const n={block:x.normal,inline:w.normal};this.options.pedantic?(n.block=x.pedantic,n.inline=w.pedantic):this.options.gfm&&(n.block=x.gfm,this.options.breaks?n.inline=w.breaks:n.inline=w.gfm),this.tokenizer.rules=n}static get rules(){return{block:x,inline:w}}static lex(e,t){return new k(t).lex(e)}static lexInline(e,t){return new k(t).inlineTokens(e)}lex(e){let t;for(e=e.replace(/\r\n|\r/g,"\n"),this.blockTokens(e,this.tokens);t=this.inlineQueue.shift();)this.inlineTokens(t.src,t.tokens);return this.tokens}blockTokens(e,t=[]){let n,r,o,i;for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,((e,t,n)=>t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?t.push(n):(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(r.raw+="\n"+n.raw,r.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(o=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startBlock.forEach((e=>{r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(o)))r=t[t.length-1],i&&"paragraph"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n),i=o.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r,o,i,a,s,c=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.anyPunctuation.exec(c));)c=c.slice(0,i.index)+"++"+c.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(a||(s=""),a=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,c,s))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e))){if(o=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startInline.forEach((e=>{r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(o))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(s=n.raw.slice(-1)),a=!0,r=t[t.length-1],r&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class S{options;constructor(e){this.options=e||t.defaults}code(e,t,n){const r=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+"\n",r?'<pre><code class="language-'+l(r)+'">'+(n?e:l(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:l(e,!0))+"</code></pre>\n"}blockquote(e){return`<blockquote>\n${e}</blockquote>\n`}html(e,t){return e}heading(e,t,n){return`<h${t}>${e}</h${t}>\n`}hr(){return"<hr>\n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"}listitem(e,t,n){return`<li>${e}</li>\n`}checkbox(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph(e){return`<p>${e}</p>\n`}table(e,t){return t&&(t=`<tbody>${t}</tbody>`),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"}tablerow(e){return`<tr>\n${e}</tr>\n`}tablecell(e,t){const n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>\n`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,n){const r=m(e);if(null===r)return n;let o='<a href="'+(e=r)+'"';return t&&(o+=' title="'+t+'"'),o+=">"+n+"</a>",o}image(e,t,n){const r=m(e);if(null===r)return n;let o=`<img src="${e=r}" alt="${n}"`;return t&&(o+=` title="${t}"`),o+=">",o}text(e){return e}}class P{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class O{options;renderer;textRenderer;constructor(e){this.options=e||t.defaults,this.options.renderer=this.options.renderer||new S,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new P}static parse(e,t){return new O(t).parse(e)}static parseInline(e,t){return new O(t).parseInline(e)}parse(e,t=!0){let n="";for(let r=0;r<e.length;r++){const o=e[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[o.type]){const e=o,t=this.options.extensions.renderers[e.type].call({parser:this},e);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(e.type)){n+=t||"";continue}}switch(o.type){case"space":continue;case"hr":n+=this.renderer.hr();continue;case"heading":{const e=o;n+=this.renderer.heading(this.parseInline(e.tokens),e.depth,this.parseInline(e.tokens,this.textRenderer).replace(p,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):"")));continue}case"code":{const e=o;n+=this.renderer.code(e.text,e.lang,!!e.escaped);continue}case"table":{const e=o;let t="",r="";for(let t=0;t<e.header.length;t++)r+=this.renderer.tablecell(this.parseInline(e.header[t].tokens),{header:!0,align:e.align[t]});t+=this.renderer.tablerow(r);let i="";for(let t=0;t<e.rows.length;t++){const n=e.rows[t];r="";for(let t=0;t<n.length;t++)r+=this.renderer.tablecell(this.parseInline(n[t].tokens),{header:!1,align:e.align[t]});i+=this.renderer.tablerow(r)}n+=this.renderer.table(t,i);continue}case"blockquote":{const e=o,t=this.parse(e.tokens);n+=this.renderer.blockquote(t);continue}case"list":{const e=o,t=e.ordered,r=e.start,i=e.loose;let a="";for(let t=0;t<e.items.length;t++){const n=e.items[t],r=n.checked,o=n.task;let s="";if(n.task){const e=this.renderer.checkbox(!!r);i?n.tokens.length>0&&"paragraph"===n.tokens[0].type?(n.tokens[0].text=e+" "+n.tokens[0].text,n.tokens[0].tokens&&n.tokens[0].tokens.length>0&&"text"===n.tokens[0].tokens[0].type&&(n.tokens[0].tokens[0].text=e+" "+n.tokens[0].tokens[0].text)):n.tokens.unshift({type:"text",text:e+" "}):s+=e+" "}s+=this.parse(n.tokens,i),a+=this.renderer.listitem(s,o,!!r)}n+=this.renderer.list(a,t,r);continue}case"html":{const e=o;n+=this.renderer.html(e.text,e.block);continue}case"paragraph":{const e=o;n+=this.renderer.paragraph(this.parseInline(e.tokens));continue}case"text":{let i=o,a=i.tokens?this.parseInline(i.tokens):i.text;for(;r+1<e.length&&"text"===e[r+1].type;)i=e[++r],a+="\n"+(i.tokens?this.parseInline(i.tokens):i.text);n+=t?this.renderer.paragraph(a):a;continue}default:{const e='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw new Error(e)}}}return n}parseInline(e,t){t=t||this.renderer;let n="";for(let r=0;r<e.length;r++){const o=e[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[o.type]){const e=this.options.extensions.renderers[o.type].call({parser:this},o);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){n+=e||"";continue}}switch(o.type){case"escape":{const e=o;n+=t.text(e.text);break}case"html":{const e=o;n+=t.html(e.text);break}case"link":{const e=o;n+=t.link(e.href,e.title,this.parseInline(e.tokens,t));break}case"image":{const e=o;n+=t.image(e.href,e.title,e.text);break}case"strong":{const e=o;n+=t.strong(this.parseInline(e.tokens,t));break}case"em":{const e=o;n+=t.em(this.parseInline(e.tokens,t));break}case"codespan":{const e=o;n+=t.codespan(e.text);break}case"br":n+=t.br();break;case"del":{const e=o;n+=t.del(this.parseInline(e.tokens,t));break}case"text":{const e=o;n+=t.text(e.text);break}default:{const e='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw new Error(e)}}}return n}}class E{options;constructor(e){this.options=e||t.defaults}static passThroughHooks=new Set(["preprocess","postprocess"]);preprocess(e){return e}postprocess(e){return e}}class j{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e(k.lex,O.parse);parseInline=this.#e(k.lexInline,O.parseInline);Parser=O;Renderer=S;TextRenderer=P;Lexer=k;Tokenizer=y;Hooks=E;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(const r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":{const e=r;for(const r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(const r of e.rows)for(const e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case"list":{const e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{const e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach((r=>{n=n.concat(this.walkTokens(e[r],t))})):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),n.extensions=t),e.renderer){const t=this.defaults.renderer||new S(this.defaults);for(const n in e.renderer){const r=e.renderer[n],o=n,i=t[o];t[o]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new y(this.defaults);for(const n in e.tokenizer){const r=e.tokenizer[n],o=n,i=t[o];t[o]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new E;for(const n in e.hooks){const r=e.hooks[n],o=n,i=t[o];E.passThroughHooks.has(n)?t[o]=e=>{if(this.defaults.async)return Promise.resolve(r.call(t,e)).then((e=>i.call(t,e)));const n=r.call(t,e);return i.call(t,n)}:t[o]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return k.lex(e,t??this.defaults)}parser(e,t){return O.parse(e,t??this.defaults)}#e(e,t){return(n,r)=>{const o={...r},i={...this.defaults,...o};!0===this.defaults.async&&!1===o.async&&(i.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),i.async=!0);const a=this.#t(!!i.silent,!!i.async);if(null==n)return a(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(i.hooks&&(i.hooks.options=i),i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(n):n).then((t=>e(t,i))).then((e=>i.walkTokens?Promise.all(this.walkTokens(e,i.walkTokens)).then((()=>e)):e)).then((e=>t(e,i))).then((e=>i.hooks?i.hooks.postprocess(e):e)).catch(a);try{i.hooks&&(n=i.hooks.preprocess(n));const r=e(n,i);i.walkTokens&&this.walkTokens(r,i.walkTokens);let o=t(r,i);return i.hooks&&(o=i.hooks.postprocess(o)),o}catch(e){return a(e)}}}#t(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="<p>An error occurred:</p><pre>"+l(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}}const T=new j;function D(e,t){return T.parse(e,t)}D.options=D.setOptions=function(e){return T.setOptions(e),D.defaults=T.defaults,r(D.defaults),D},D.getDefaults=n,D.defaults=t.defaults,D.use=function(...e){return T.use(...e),D.defaults=T.defaults,r(D.defaults),D},D.walkTokens=function(e,t){return T.walkTokens(e,t)},D.parseInline=T.parseInline,D.Parser=O,D.parser=O.parse,D.Renderer=S,D.TextRenderer=P,D.Lexer=k,D.lexer=k.lex,D.Tokenizer=y,D.Hooks=E,D.parse=D;const _=D.options,M=D.setOptions,C=D.use,F=D.walkTokens,A=D.parseInline,I=D,z=O.parse,B=k.lex;t.Hooks=E,t.Lexer=k,t.Marked=j,t.Parser=O,t.Renderer=S,t.TextRenderer=P,t.Tokenizer=y,t.getDefaults=n,t.lexer=B,t.marked=D,t.options=_,t.parse=I,t.parseInline=A,t.parser=z,t.setOptions=M,t.use=C,t.walkTokens=F}},t={};var n=function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(6877);return n})()));
|