var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;$jscomp.FORCE_POLYFILL_PROMISE=!1;$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(f,k,p){if(f==Array.prototype||f==Object.prototype)return f;f[k]=p.value;return f}; $jscomp.getGlobal=function(f){f=["object"==typeof globalThis&&globalThis,f,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var k=0;k>>0,$jscomp.propertyToPolyfillSymbol[r]=$jscomp.IS_SYMBOL_NATIVE? $jscomp.global.Symbol(r):$jscomp.POLYFILL_PREFIX+p+"$"+r),$jscomp.defineProperty(q,$jscomp.propertyToPolyfillSymbol[r],{configurable:!0,writable:!0,value:k})))};$jscomp.underscoreProtoCanBeSet=function(){var f={a:!0},k={};try{return k.__proto__=f,k.a}catch(p){}return!1}; $jscomp.setPrototypeOf=$jscomp.TRUST_ES6_POLYFILLS&&"function"==typeof Object.setPrototypeOf?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(f,k){f.__proto__=k;if(f.__proto__!==k)throw new TypeError(f+" is not extensible");return f}:null;$jscomp.arrayIteratorImpl=function(f){var k=0;return function(){return k{function f(){return Ma.isValidContrastRatio("#FFFFFF",O("chatButton"))}function k(a){try{var b=new URL(a);return!!b&&"https:"===b.protocol}catch(c){return!1}}function p(a=!1){return embeddedservice_bootstrap.isLocalStorageAvailable&&a?localStorage:embeddedservice_bootstrap.isSessionStorageAvailable?sessionStorage:void 0}function q(){let a,b;const c=JSON.stringify({});embeddedservice_bootstrap.isLocalStorageAvailable&&!localStorage.getItem(u)&&(a=c,localStorage.setItem(u,a));embeddedservice_bootstrap.isSessionStorageAvailable&& !sessionStorage.getItem(u)&&(b=c,sessionStorage.setItem(u,b));(a||b)&&ja("ESW_3RDPARTY_STORAGE_SET_OBJECTS",{orgId:embeddedservice_bootstrap.settings.orgId,localStorageObj:a,sessionStorageObj:b});m("initializeWebStorage","web storage initialized")}function r(a,b=!0){let c;(b=p(b))&&(c=(b.getItem(u)&&JSON.parse(b.getItem(u))||{})[a]);return c}function K(a,b){if(b&&a){const c=b.getItem(u)&&JSON.parse(b.getItem(u))||{};Object.keys(a).forEach(d=>{c[d]=a[d]});0!==Object.keys(c).length&&b.setItem(u,JSON.stringify(c))}} function E(a,b,c=!0,d=!1){const e=p(c);if(e){const g=e.getItem(u)&&JSON.parse(e.getItem(u))||{};g[a]=b;e.setItem(u,JSON.stringify(g));m("setItemInWebStorage",`${a} set in ${c?"localStorage":"sessionStorage"}`);d&&ja("ESW_3RDPARTY_STORAGE_SET_ITEMS",{orgId:embeddedservice_bootstrap.settings.orgId,key:a,value:b,inLocalStorage:c})}}function Na(a){if(embeddedservice_bootstrap.isLocalStorageAvailable&&localStorage.getItem(u)){var b=JSON.parse(localStorage.getItem(u))||{};delete b[a];localStorage.setItem(u, JSON.stringify(b))}embeddedservice_bootstrap.isSessionStorageAvailable&&sessionStorage.getItem(u)&&(b=JSON.parse(sessionStorage.getItem(u))||{},delete b[a],sessionStorage.setItem(u,JSON.stringify(b)));m("removeItemInWebStorage",`${a} removed from web storage`)}function lc(){const a=[z.INVITATION_ACCEPTED,z.INVITATION_REJECTED];let b={};const c=localStorage.getItem(u);if(c)try{const d=JSON.parse(c);a.forEach(e=>{void 0!==d[e]&&(b[e]=d[e])})}catch(d){console.warn("Failed to parse localStorage data:", d)}localStorage.removeItem(u);0{Qa=b});S={};ka={};G=void 0;Ra=Sa=la=ca=M=!1;ma=na=void 0; sb();tb();nc();m("clearInMemoryData","Cleared in-memory data.");const a=ub();m("clearInMemoryData",`Reset conversationId. Old conversationId: ${C} & New conversationId: ${a}`);C=a}function vb(a){const b=(c,d)=>{Object.keys(d).forEach(e=>{"object"===typeof c[e]&&typeof("object"===d[e])?b(c[e],d[e]):void 0===c[e]&&(c[e]=d[e])})};a&&"object"===typeof a&&b(embeddedservice_bootstrap.settings,a)}function oa(a,b,c){if((c||embeddedservice_bootstrap.settings.devMode)&&console&&console[a])console[a]("[EmbeddedServiceBootstrap] "+ (Array.isArray(b)?b.join(", "):b))}function m(a,b,c){oa("log",b,c);c={};Object.assign(c,{configDev:embeddedservice_bootstrap.settings.eswConfigDevName,method:a?a:"",stateMessage:b?`[bootstrap][timestamp: ${Date.now()}] ${b}`:"",convId:C,convType:v(),hostUrl:window.location.href});Aa(c)}function t(a,b,c){b?oa("warn","Warning: "+b,c):oa("warn","EmbeddedServiceBootstrap sent an anonymous warning.",c);c={};Object.assign(c,{configDev:embeddedservice_bootstrap.settings.eswConfigDevName,method:a?a:"",stateMessage:b? `[bootstrap][timestamp: ${Date.now()}] ${b}`:"",convId:C,convType:v(),hostUrl:window.location.href});Aa(c)}function h(a,b,c,d){b?oa("error",b,d):oa("error","EmbeddedServiceBootstrap responded with an unspecified error.",d);d={};Object.assign(d,Object.assign({},{configDev:embeddedservice_bootstrap.settings.eswConfigDevName,method:a?a:"",errMessage:b?`[bootstrap][timestamp: ${Date.now()}] ${b}`:""},c&&{errCode:c},{convId:C,convType:v(),hostUrl:window.location.href}));Aa(null,d)}function ub(){const a= new Uint32Array(32);crypto.getRandomValues(a);let b="";for(let c=0;32>c;c++){if(8===c||12===c||16===c||20===c)b+="-";b=12===c?b+"4":16===c?b+"0123456789abcdef".charAt(a[c]&3|8):b+"0123456789abcdef".charAt(a[c]&15)}return b}function oc(){try{const a=new Uint8Array(16);crypto.getRandomValues(a);return Array.from(a,b=>b.toString(16).padStart(2,"0")).join("")}catch(a){return h("generateTraceId",`Error generating a x-b3-traceId: ${a}`),""}}function pc(){try{const a=new Uint8Array(8);crypto.getRandomValues(a); return Array.from(a,b=>b.toString(16).padStart(2,"0")).join("")}catch(a){return h("generateSpanId",`Error generating a x-b3-spanId: ${a}`),""}}function Ta(a,b,c){const d=document.createElementNS("http://www.w3.org/2000/svg",b);Object.getOwnPropertyNames(c).forEach(e=>{"children"===e?c.children.forEach(g=>{Ta(d,g.type,g)}):d.setAttribute(e,c[e])});a.appendChild(document.createTextNode("\n"));a.appendChild(d);a.appendChild(document.createTextNode("\n"))}function da(a){const b=document.createElementNS("http://www.w3.org/2000/svg", "svg");if(a)return b.setAttribute("focusable","false"),b.setAttribute("aria-hidden","true"),b.setAttribute("viewBox","0 0 100 100"),Array.isArray(a)?a.forEach(c=>{Ta(b,c.type,c)}):Ta(b,"path",{d:a}),b;h("renderSVG","Invalid icon data.")}function qc(){[{name:"document",object:document,functions:"addEventListener createAttribute createComment createDocumentFragment createElementNS createTextNode createRange getElementById getElementsByTagName getElementsByClassName querySelector querySelectorAll removeEventListener".split(" ")}, {name:"window",object:window,functions:"addEventListener clearTimeout dispatchEvent open removeEventListener requestAnimationFrame setInterval setTimeout fetch".split(" ")}].forEach(a=>{a.functions.forEach(b=>{b in a.object&&!Function.prototype.toString.call(a.object[b]).match(/\[native code\]/)&&t("checkForNativeFunctionOverrides","EmbeddedService Messaging Bootstrap may not function correctly with this native JS function modified: "+a.name+"."+b,!0)})})}function Ba(a){"string"!==typeof a?h("setAndStoreJwt", `Expected to receive string, instead received: ${a}.`):(L=a,E(z.JWT,L))}function rc(){window.addEventListener("message",wb);embeddedservice_bootstrap.isLocalStorageAvailable&&window.addEventListener("storage",xb);document.addEventListener("visibilitychange",function(){Ua="visible"===document.visibilityState});try{(new PerformanceObserver(a=>{a.getEntries().forEach(b=>{"reload"===b.type&&w("EMBEDDED_MESSAGING_APP_AFTER_REFRESH")})})).observe({type:"navigation",buffered:!0})}catch(a){h("addEventHandlers", `Unable to initialize PerformanceObserver ${a}.`)}}function wb(a){if(a&&a.data&&a.origin)if(embeddedservice_bootstrap.filePreviewFrame&&embeddedservice_bootstrap.filePreviewFrame.contentWindow===a.source)switch(a.data.method){case "ESW_APP_SHOW_FILE_PREVIEW_FRAME":yb(!0);break;case "ESW_APP_HIDE_FILE_PREVIEW_FRAME":yb(!1);break;default:t("handleMessageEvent","Unrecognized event name: "+a.data.method)}else if(embeddedservice_bootstrap.siteContextFrame&&embeddedservice_bootstrap.siteContextFrame.contentWindow=== a.source)switch(a.data.method){case "ESW_3RDPARTY_STORAGE_READY":zb();break;case "ESW_3RDPARTY_STORAGE_RESPONSE":a.data.data&&a.data.data.localStorage&&K(a.data.data.localStorage,localStorage);a.data.data&&a.data.data.sessionStorage&&K(a.data.data.sessionStorage,sessionStorage);Ab();break;default:t("handleMessageEvent","Unrecognized event name: "+a.data.method)}else if(0===H().indexOf(a.origin)&&embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame()&&embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame().contentWindow=== a.source&&embeddedservice_bootstrap.isMessageFromSalesforceDomain(a.origin)||embeddedservice_bootstrap.settings.customDomain&&embeddedservice_bootstrap.isMessageFromCustomDomain(a.origin)){var b=embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame();switch(a.data.method){case "ESW_APP_READY_EVENT":Qa();break;case "ESW_APP_LOADED":a=B();b=document.getElementById("embeddedMessagingIconContainer");var c=document.getElementById("embeddedMessagingIconChat"),d=document.getElementById("embeddedMessagingIconProgressIndicator"); embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame()||t("handleAfterAppLoad","Embedded Messaging iframe not available for post-app-load updates.");a?(b&&d&&b.removeChild(d),c&&(c.style.display="none"),a.disabled=!1,a.classList.remove("embeddedMessagingConversationButtonLoading"),a.classList.add("embeddedMessagingConversationButtonLoaded"),a.classList.add("no-hover")):t("handleAfterAppLoad","Embedded Messaging static button not available for post-app-load updates.");Bb();ca=!0;try{A("onEmbeddedMessagingInitSuccess")}catch(e){ca= !1,h("emitEmbeddedMessagingInitSuccessEvent",`Something went wrong in firing onEmbeddedMessagingInitSuccess event ${e}.`)}break;case "ESW_APP_INITIALIZATION_ERROR":P();break;case "ESW_APP_MINIMIZE":embeddedservice_bootstrap.minimizeIframe(b,a.data.data);break;case "ESW_APP_MAXIMIZE":embeddedservice_bootstrap.maximizeIframe(b,a.data.data);break;case "ESW_APP_RESET_INITIAL_STATE":X();break;case "ESW_SET_JWT_EVENT":Ba(a.data.data);break;case "ESW_CLEAR_WEBSTORAGE_EVENT":Oa();break;case "ESW_DOWNLOAD_FILE":sc(a.data.data); break;case "ESW_SET_WEBSTORAGE_FAILEDMESSAGES_EVENT":a=a.data.data;"object"!==typeof a?h("storeFailedMessagesInWebStorage",`Expected to receive object, instead received: ${a}.`):E(z.FAILED_OUTBOUND_MESSAGE_ENTRIES,a,!1);break;case "ESW_CLEAN_UP_WEBSTORAGE_FAILEDMESSAGES_EVENT":Na(z.FAILED_OUTBOUND_MESSAGE_ENTRIES);break;case "ESW_APP_UPDATE_TITLE_NOTIFICATION":sb(a.data.data);break;case "ESW_APP_SEND_HIDDEN_PRECHAT_FIELDS":w("ESW_APP_RECEIVE_HIDDEN_PRECHAT_FIELDS",S);break;case "ESW_APP_SEND_AUTORESPONSE_PARAMETERS":w("ESW_APP_RECEIVE_AUTORESPONSE_PARAMETERS", ka);break;case "EMBEDDED_MESSAGING_IDENTITY_TOKEN_EXPIRED_EVENT":v()!==x.AUTH?t("handleIdentityTokenExpiredEvent","handleIdentityTokenExpiredEvent method called but User Verification isn\u2019t enabled in Messaging Settings."):A("onEmbeddedMessagingIdentityTokenExpired");break;case "EMBEDDED_MESSAGING_JWT_RETRIEVAL_FAILURE_EVENT":Cb();break;case "ESW_APP_PRECHAT_SUBMIT":tc(a.data.data);break;case "ESW_APP_SHOW_MINIMIZED_STATE_NOTIFICATION":(a=embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame())&& a.classList.add("hasMinimizedNotification");break;case "EMBEDDED_MESSAGING_REQUEST_TRANSCRIPT_EVENT":uc();break;case "EMBEDDED_MESSAGING_DISPATCH_EVENT_TO_HOST":A(a.data.data&&a.data.data.eventName,{detail:a.data.data.eventDetails||{}});break;case "EMBEDDED_MESSAGING_PUBLIC_SEND_TEXT_MESSAGE_API_RESPONSE":a=a.data.data;a.success?na():ma(a.error);ma=na=void 0;break;case "EMBEDDED_MESSAGING_TEXT_MESSAGE_LINK_CLICK":try{a&&a.data&&a.data.data&&(c=a.data.data,A("onEmbeddedMessageLinkClicked",{detail:Object.assign({}, JSON.parse(c.conversationEntry),{link:c.link})}),c.link&&(d=document.createElement("a"),d.setAttribute("href",c.link),d.setAttribute("rel","noopener noreferrer"),!Db()&&embeddedservice_bootstrap.settings.shouldOpenLinksInSameTab||d.setAttribute("target","_blank"),d.click()))}catch(e){h("handleLinkClick",`Something went wrong in handling a link click: ${e}`)}break;case "EMBEDDED_MESSAGING_SCREENREADER_ANNOUNCEMENT":vc(a.data.data);break;case "ESW_APP_RESET_AND_RELAUNCH":wc();break;default:t("handleMessageEvent", "Unrecognized event name: "+a.data.method)}}else if(a.origin===window.location.origin&&a.source===window)switch(a.data.method){case "EMBEDDED_MESSAGING_INVITATIONS_RULE_TREE_CREATED":m("handleMessageEvent",`Invitations rule tree created from formula: ${a.data.data.formula}`);break;case "EMBEDDED_MESSAGING_INVITATIONS_RULE_TREE_EVALUATED":m("handleMessageEvent",`Invitations rule tree evaluated with result: ${a.data.data.result}`);break;case "EMBEDDED_MESSAGING_INVITATIONS_CONDITIONS_MET":if(Eb())if((embeddedservice_bootstrap.settings.embeddedServiceConfig.invitation|| {}).isChatInvitationCustomizable)A("onEmbeddedMessagingInvitationShown"),m("handleInvitationConditionsMet","Default invitation skipped to allow custom invitation"),embeddedservice_bootstrap.invitations.reset();else{if(a=B())"none"===a.style.display?Q()&&!pa()&&embeddedservice_bootstrap.utilAPI.showChatButton():(minimizedNotification=Va(I("EmbeddedMessagingInvitationWindow","InvitationBodyText")||"Have questions? Let\u2019s chat",!0),a.parentNode.insertBefore(minimizedNotification,a),A("onEmbeddedMessagingInvitationShown"), m("handleInvitationConditionsMet","Invitation shown"),embeddedservice_bootstrap.invitations.reset())}else m("handleInvitationConditionsMet","Invitation conditions met but should not show invitation based on settings/previous actions"),embeddedservice_bootstrap.invitations.reset();break;case "EMBEDDED_MESSAGING_INVITATIONS_RULE_TREE_CREATION_ERROR":h("handleMessageEvent",`Failed to create invitations rule tree with formula "${a.data.data.formula}": ${a.data.data.error}`);break;case "EMBEDDED_MESSAGING_INVITATIONS_RULE_TREE_EVALUATION_ERROR":h("handleMessageEvent", `Failed to evaluate invitations rule tree: ${a.data.data.error}`);break;default:t("handleMessageEvent","Unrecognized event name: "+a.data.method)}else h("handleMessageEvent",`Unexpected message origin: ${a.origin}`)}function wc(){R()||embeddedservice_bootstrap.userVerificationAPI.clearSession().then(()=>{embeddedservice_bootstrap.utilAPI.launchChat().then(()=>{m("handleAppResetAndRelaunch","Reset and Relaunched the client.")}).catch(a=>{h("handleAppResetAndRelaunch",`Failed to Reset and Relaunch the client: ${a}`)})}).catch(a=> {h("handleAppResetAndRelaunch",`Failed to Reset and Relaunch the client: ${a}`)})}function Fb(){const a=document.getElementById("embeddedMessagingMinimizedNotification");a&&"true"===a.getAttribute("is-invitation")&&Wa(!0);A("onEmbeddedMessagingButtonClicked");return Xa()}function xb(a){a&&a.key&&a.key===u&&null===a.newValue&&R()&&Ya(!1,!0)}function P(){la=!0;try{Aa(),A("onEmbeddedMessagingInitError")}catch(a){la=!1,h("emitEmbeddedMessagingInitErrorEvent",`Something went wrong in firing onEmbeddedMessagingInitError event ${a}.`)}} function Ca(a){let b=Q()&&!embeddedservice_bootstrap.settings.hideChatButtonOnLoad;b=void 0!==a&&null!==a?a:b;v()===x.AUTH&&(b=b&&Da(G));try{A("onEmbeddedMessagingChannelMenuVisibilityChanged",{detail:{devName:embeddedservice_bootstrap.settings.eswConfigDevName,isVisible:b}})}catch(c){h("emitEmbeddedMessagingChannelMenuVisibilityChangeEvent",`Something went wrong in firing emitEmbeddedMessagingChannelMenuVisibilityChange event ${c}.`)}}function A(a,b={detail:{}}){if(!a)throw Error(`Expected an eventName parameter with a string value. Instead received ${a}.`); if(b&&!("detail"in b))throw Error(`The options parameter of the event is malformed: ${b}.`);try{"onEmbeddedMessagingConversationOpened"===a&&(Sa=!0),window.dispatchEvent(new CustomEvent(a,b))}catch(c){throw Error("Something went wrong while dispatching the event "+a+":"+c);}}function sb(a){if(a){const b=JSON.parse(a)[0],c=Gb;qa&&window.clearInterval(qa);qa=window.setInterval(()=>{document.title=document.title===b?c:b},1E3)}else window.clearInterval(qa),qa=void 0,document.title=Gb}function Y(){return document.getElementById("embedded-messaging")} function B(){return document.getElementById("embeddedMessagingConversationButton")}function yb(a){var b=embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame();if(embeddedservice_bootstrap.filePreviewFrame&&b){if(a){if(embeddedservice_bootstrap.filePreviewFrame.classList.add("show"),embeddedservice_bootstrap.filePreviewFrame.contentWindow.focus(),embeddedservice_bootstrap.filePreviewFrame.setAttribute("aria-hidden","false"),b.tabIndex="-1",b.setAttribute("aria-hidden","true"),b=Y())b.inert= !0}else if(embeddedservice_bootstrap.filePreviewFrame.classList.remove("show"),embeddedservice_bootstrap.filePreviewFrame.setAttribute("aria-hidden","true"),b.tabIndex="0",b.setAttribute("aria-hidden","false"),b=Y())b.inert=!1;m("setFilePreviewFrameVisibility",`Full size file preview ${a?"shown":"hidden"}`)}}function sc(a){let b;if(!k(a.attachmentDownloadURL))throw Error(`Invalid attachmentDownloadURL : ${a.attachmentDownloadURL}.`);b=document.createElement("iframe");b.style.display="none";b.src= a.attachmentDownloadURL||"";document.body.appendChild(b);a.shouldOpenFileInNewTab&&window.open(b.src,"_blank","noreferrer noopener");setTimeout(()=>{document.body.removeChild(b)},1E3)}function Hb(a){return new Promise((b,c)=>{let d=H(),e=document.createElement("link");e.id="embeddedMessagingBootstrapStyles";e.class="embeddedMessagingBootstrapStyles";e.href=d+"/assets/styles/bootstrap"+(embeddedservice_bootstrap.settings.devMode?"":".min")+".css";e.type="text/css";e.rel="stylesheet";e.onerror=c;e.onload= b;document.getElementsByTagName("head")[0].appendChild(e)})}function Ib(){return Ea(embeddedservice_bootstrap.settings.scrt2URL+"/embeddedservice/v1/embedded-service-config?orgId="+embeddedservice_bootstrap.settings.orgId+"&esConfigName="+embeddedservice_bootstrap.settings.eswConfigDevName+"&language="+embeddedservice_bootstrap.settings.language,"GET","getConfigurationData")}function Za(){return Ea(embeddedservice_bootstrap.settings.scrt2URL+"/embeddedservice/v2/agent-availability?orgId="+embeddedservice_bootstrap.settings.orgId+ "&esConfigName="+embeddedservice_bootstrap.settings.eswConfigDevName,"GET","getAgentAvailabilityData").then(a=>{if(a.success)return!!a.response.agentAvailable||!1;h("getAgentAvailabilityData",`Failed to retrieve Agent Availability data. Returning the default value as False. Error : ${a.error.message}`,a.error.errorCode);return!1}).catch(a=>{h("getAgentAvailabilityData",`Failed to retrieve Agent Availability data. Returning the default value as False ${a}`);return!1})}function $a(){return Ea(embeddedservice_bootstrap.settings.scrt2URL+ "/embeddedservice/v1/businesshours?orgId="+embeddedservice_bootstrap.settings.orgId+"&esConfigName="+embeddedservice_bootstrap.settings.eswConfigDevName,"GET","getBusinessHoursInterval").then(a=>{a=a&&a.businessHoursInfo;m("getBusinessHoursInterval","Successfully retrieved Business Hours data");a&&Array.isArray(a.businessHours)&&0{throw a;})}function Jb(a){h("handleBusinessHoursError", "Failed to retrieve Business Hours data. Retrying the request.",a);return $a()}function Fa(){if(embeddedservice_bootstrap.settings.snippetConfig.expSiteUrl){var a=embeddedservice_bootstrap.settings.snippetConfig.expSiteUrl===window.location.origin;a=`${embeddedservice_bootstrap.settings.snippetConfig.expSiteUrl}${embeddedservice_bootstrap.settings.snippetConfig.expSiteContext===bb.AURA?"":(a?"/":"")+"vforcesite"}${"/_nc_external/system/security/session/SessionTimeServlet?buster="}${(new Date).getTime()}`; return Ea(a,"GET","getExpSiteSessionTimeout").then(b=>{try{b=JSON.parse(b.substring(b.indexOf("{"),b.indexOf("}")+1))}catch(c){h("getExpSiteSessionTimeout","Error parsing response text from server ",c)}"number"===typeof b.sr&&(m("getExpSiteSessionTimeout","Successfully retrieved experience site session timeout"),0{Fa()},1E3*b.sr)):(embeddedservice_bootstrap.settings.snippetConfig.isExpSiteGuestUser= !0,embeddedservice_bootstrap.userVerificationAPI.clearSession()))})}}function Ea(a,b,c){const d=performance.now();return new Promise((e,g)=>{const n=new XMLHttpRequest;n.open(b,a,!0);n.onreadystatechange=l=>{if((l=l.target)&&l.readyState===l.DONE||204===l.status){const F=((performance.now()-d)/1E3).toFixed(3);if(200===l.status||204===l.status)if("getExpSiteSessionTimeout"!==c){const y=l.responseText?JSON.parse(l.responseText):l.responseText;e(y)}else e(l.responseText);else g(l.status);m("sendXhrRequest", `${c?c:a} took ${F} seconds and returned with the status code ${l.status}`)}};n.send()})}function xc(){return R()?Kb().then(a=>Ga().then(b=>{m("initializeConversationState","finished joining verified user conversation");ra(a,b)}).catch(()=>{P()})):v()===x.UNAUTH?Lb()||(embeddedservice_bootstrap.settings.embeddedServiceConfig.termsAndConditions||{}).isTermsAndConditionsEnabled?(ra(),Promise.resolve()):db().then(a=>sa(S).then(b=>{m("initializeConversationState","finished creating conversation");ra(a, b)}).catch(()=>{P()})):Promise.reject(Error("Something went wrong initializing conversation state."))}function Mb(a){ra(null,null,a);return Promise.resolve()}function ra(a,b,c,d=!1){var e=r(z.FAILED_OUTBOUND_MESSAGE_ENTRIES,!1);const g=embeddedservice_bootstrap.settings.standardLabels,n=embeddedservice_bootstrap.settings.embeddedServiceConfig.customLabels;if(embeddedservice_bootstrap.settings.imageCompressionOptions){var l=embeddedservice_bootstrap.settings.imageCompressionOptions;l=Object.assign({}, l.quality&&!isNaN(Number(l.quality))&&0<=Number(l.quality)&&1>=Number(l.quality)&&{quality:Number(l.quality)},l.maxHeight&&!isNaN(Number(l.maxHeight))&&0{c&&c.isExistingConversation?(m("handlePrechatSubmit","Pre-chat submitted but a conversation already exits for the verified user. Joining the existing conversation."),w("EMBEDDED_MESSAGING_SET_CONVERSATION_DATA_EVENT",c)):(m("handlePrechatSubmit","Pre-chat submitted. Creating a new conversation."),sa(b).then(d=>{w("EMBEDDED_MESSAGING_SET_CONVERSATION_DATA_EVENT",d)}))}):v()===x.UNAUTH&&(N()?(m("handlePrechatSubmit","Pre-chat submitted but a JWT exists in web storage. Fetching existing conversations."), L=r(z.JWT),Nb().then(c=>{w("ESW_SET_JWT_EVENT",c);Ga().then(d=>{d&&d.isExistingConversation?(m("handlePrechatSubmit","Pre-chat submitted but a conversation already exits for the unverified user. Joining the existing conversation."),w("EMBEDDED_MESSAGING_SET_CONVERSATION_DATA_EVENT",d)):(m("handlePrechatSubmit","Pre-chat submitted and no existing conversations found. Creating a new conversation."),sa(b).then(e=>{w("EMBEDDED_MESSAGING_SET_CONVERSATION_DATA_EVENT",e)}))})})):(m("handlePrechatSubmit", "Pre-chat submitted. Fetching a JWT and starting a new conversation."),db().then(c=>{w("ESW_SET_JWT_EVENT",c);sa(b).then(d=>{w("EMBEDDED_MESSAGING_SET_CONVERSATION_DATA_EVENT",d)})})))}function Ob(){return new Promise(a=>{embeddedservice_bootstrap.createFilePreviewFrame();embeddedservice_bootstrap.createIframe().then(()=>{a("Created Embedded Messaging frame.")})})}function Nb(){return r(z.JWT)?zc().then(a=>{Ba(a.accessToken);m("handleGetContinuityJwt","Sucessfully retreived a Continuity JWT");return a}).catch(a=> {h("handleGetContinuityJwt",`Failed to get Continuity JWT: ${a&&a.message?a.message:a}.`);X()}):Promise.reject(void 0)}function zc(){const a=embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/authorization/continuityAccessToken");return ea(a,"GET","cors",null,null,"getContinuityJwt").then(b=>{if(!b.ok)throw b;return b.json()})}function db(){return Ac().then(a=>{Ba(a.accessToken);m("handleGetUnauthenticatedJwt","Successfully retreived an Unauthenticated JWT");return a}).catch(a=>Bc(a))} function Pb(a){var b=Qb();b=b?embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/authorization/unauthenticated/accessToken","?",b):embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/authorization/unauthenticated/accessToken");return ea(b,"POST","cors",{"Content-Type":"application/json"},a,"sendUnauthenticatedJwtRequest").then(c=>{J()&&U();if(!c.ok)throw c;return c.json()})}function Ac(){let a={orgId:embeddedservice_bootstrap.settings.orgId,developerName:embeddedservice_bootstrap.settings.eswConfigDevName, capabilitiesVersion:"258"};return J()?Rb().then(b=>{if(!b)throw Error("ReCaptcha token generation failed at client.");a.captchaToken=b;return Pb(a)}):Pb(a)}function Kb(){return(v()===x.EXP_SITE_AUTH?Cc():Dc()).then(a=>{a=v()===x.EXP_SITE_AUTH?a.data:a;Ba(a.accessToken);m("handleGetAuthenticatedJwt","Successfully retreived an Authenticated JWT");return a}).catch(a=>{J()&&U();a=(null==a?void 0:a.message)||a;h("handleGetAuthenticatedJwt",`Error retrieving authenticated token: ${a}.`);Cb();throw a;})} function Cc(){const a=embeddedservice_bootstrap.settings.snippetConfig.expSiteUrl+"/miaw/auth/accesstoken"+`?platformType=${"Web"}&developerName=${embeddedservice_bootstrap.settings.eswConfigDevName}&capabilitiesVersion=${"258"}`,b={Cos:"0x0204","Content-Type":"application/json"};return ua(a,"GET","cors",b,null,"getExpSiteAuthenticatedJwt").then(c=>{if(!c.ok)throw c;return c.json()}).catch(c=>Ha(c,a,"GET","cors",b,null,"getExpSiteAuthenticatedJwt"))}function Sb(a){const b=G,c=Qb(),d=c?embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/authorization/authenticated/accessToken", "?",c):embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/authorization/authenticated/accessToken"),e={"Content-Type":"application/json"};return b&&Da(b)?ua(d,"POST","cors",e,a,"sendAuthenticatedJwtRequest").then(g=>{J()&&U();if(!g.ok)throw g;return g.json()}).catch(g=>{J()&&U();return Ha(g,d,"POST","cors",e,a,"sendAuthenticatedJwtRequest")}):(new Promise(g=>{Tb({apiPath:d,method:"POST",mode:"cors",requestHeaders:e,requestBody:a,resolve:g})})).then(g=>{J()&&U();if(!g.ok)throw g;return g.json()})} function Dc(){let a={orgId:embeddedservice_bootstrap.settings.orgId,developerName:embeddedservice_bootstrap.settings.eswConfigDevName,capabilitiesVersion:"258",authorizationType:eb.JWT,customerIdentityToken:G};return J()?Rb().then(b=>{if(!b)throw Error("ReCaptcha token generation failed at client.");a.captchaToken=b;return Sb(a)}):Sb(a)}function Ec(){Fc().then(()=>{m("handleRegisterDeviceCapabilities","Successfully Registered Device Capabilities.")})}function Fc(){const a=embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/device/registerDeviceCapabilities"); return ea(a,"POST","cors",null,{},"registerDeviceCapabilities")}function Ga(a){return Gc(!1,embeddedservice_bootstrap.settings.restrictSessionOnMessagingChannel?embeddedservice_bootstrap.settings.embeddedServiceConfig.embeddedServiceMessagingChannel.channelAddressIdentifier:null).then(b=>{let c=[];if(!b.conversations||!Array.isArray(b.conversations))throw Error(`Invalid conversation list: ${b.conversations}.`);c=b.conversations.filter(d=>0===d.endTimestamp);if(0===c.length){if(a)throw t("handleListConversation", "No open conversation found, deleting stale data from web storage.",!0),X(),!ba()||V()||fa()||Ub(Date.now()),Error("No open conversation found for JWT in web storage.");return Lb()||(embeddedservice_bootstrap.settings.embeddedServiceConfig.termsAndConditions||{}).isTermsAndConditionsEnabled?null:(t("handleListConversation","No existing conversation found and pre-chat is not enabled. Will start a new conversation."),sa(S).then(d=>d))}1e.startTimestamp-d.startTimestamp));b=c[0];if(!Hc(b.conversationId))throw Error(`Invalid conversation identifier: ${b.conversationId}.`);m("handleListConversation","Successfully retrieved existing conversation");C!==b.conversationId&&(m("handleListConversation",`ConversationId change detected. Old conversation-id: ${C} & New conversation-id: ${b.conversationId}`),C=b.conversationId);b.isExistingConversation=!0;return b}).catch(b=>{h("handleListConversation",`Failed to list conversation entries: ${b&& b.message?b.message:b}.`);throw Error(`Failed to list conversation entries: ${b&&b.message?b.message:b}.`);})}function Gc(a,b){const c=embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/queries/conversation/list");return ea(c,"POST","cors",null,Object.assign({},{includeClosedConversations:a},b&&{channelAddressIdentifier:b}),"listConversation").then(d=>d.json())}function Bc(a){if(a&&a.status&&401===a.status)return h("handleGetJwtError","Unauthorized error caused by JWT expiration. Attempt to get another JWT", a.status),db().catch(b=>{throw Error(b);});J()&&U();throw Error(`Error retrieving unauthenticated token: ${(null==a?void 0:a.message)||a}.`);}function Lb(){return(embeddedservice_bootstrap.settings.embeddedServiceConfig.forms||[]).some(a=>{a.formFields=a.formFields||[];return"PreChat"===a.formType&&0{A("onEmbeddedMessagingConversationStarted",{detail:{conversationId:C}});Ec();b.esDeveloperName=embeddedservice_bootstrap.settings.eswConfigDevName;m("handleCreateNewConversation",`Initialized the esDeveloperName associated with current conversation to: ${embeddedservice_bootstrap.settings.eswConfigDevName}`); return b})}function Ic(a){const b=embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/conversation"),c=embeddedservice_bootstrap.settings.language;ta["x-b3-traceId"]=oc();ta["x-b3-spanId"]=pc();return ea(b,"POST","cors",Object.assign({},{"Content-Type":"application/json"},L&&{Authorization:"Bearer "+L},{"x-b3-traceId":ta["x-b3-traceId"],"x-b3-spanId":ta["x-b3-spanId"]}),Object.assign({},a&&{routingAttributes:a},{conversationId:C,language:c}),"createNewConversation").then(d=>d.json())} function Jc(){const a=embeddedservice_bootstrap.settings.scrt2URL.concat("/iamessage/v1/conversation","/",C,"/transcript");return ea(a,"GET","cors",null,null,"getTranscript").then(b=>b.arrayBuffer())}function uc(){A("onEmbeddedMessagingTranscriptRequested",{detail:{conversationId:C}});Jc().then(a=>{a=new Blob([a],{type:"octet/stream"});a=window.URL.createObjectURL(a);const b=document.createElement("a");b.href=a;b.download="ConversationTranscript.pdf";b.click();window.URL.revokeObjectURL(a);w("EMBEDDED_MESSAGING_REQUEST_TRANSCRIPT_SUCCESS_EVENT"); A("onEmbeddedMessagingTranscriptDownloadSuccessful",{detail:{conversationId:C}})}).catch(a=>{if(a){const b=a.status;a=a.message||void 0;w("EMBEDDED_MESSAGING_REQUEST_TRANSCRIPT_ERROR_EVENT",{detail:{errorCode:b,errorMessage:a}});h("handleRequestTranscript",`Transcript request failed with status code: ${b} & message: ${a}`,b)}else w("EMBEDDED_MESSAGING_REQUEST_TRANSCRIPT_ERROR_EVENT");A("onEmbeddedMessagingTranscriptRequestFailed",{detail:{conversationId:C}})})}function ua(a,b,c,d,e,g=a){d=d?d:Object.assign({}, {"Content-Type":"application/json"},L&&{Authorization:"Bearer "+L});e=e?JSON.stringify(e):void 0;const n=performance.now();return fetch(a,Object.assign({},{method:b,mode:c,headers:d},e&&{body:e})).then(l=>$jscomp.asyncExecutePromiseGeneratorFunction(function*(){const F=((performance.now()-n)/1E3).toFixed(3);m("sendFetchRequest",`${g} took ${F} seconds and returned with the status code ${l.status}`);if(!l.ok){let y;try{y=Object.assign(l,yield l.json())}catch(Z){y=Object.assign(l,{message:`Error reading the body stream of error object: ${l}`})}throw y; }return l}))}function Ha(a,b,c,d,e,g,n=b){if(!a||!a.status||500<=a.status&&599>=a.status)return h("handleSendFetchRequestError",`Something went wrong in ${n}: ${a&&a.message?a.message:JSON.stringify(Object.assign({},a,{status:a.status,statusText:a.statusText,type:a.type}))}. Re-trying the request.`,a&&a.status),ua(b,c,d,e,g,n).catch(l=>{h("handleSendFetchRequestError",`${n} request failed again: ${l&&l.message?l.message:JSON.stringify(Object.assign({},l,{status:l.status,statusText:l.statusText,type:l.type}))}.`, l&&l.status);throw l;});if(401===a.status){h("handleSendFetchRequestError",`${n}: ${a&&a.message?a.message:JSON.stringify(Object.assign({},a,{status:a.status,statusText:a.statusText,type:a.type}))}.`,a&&a.status);if(v()===x.UNAUTH)throw Oa(),a;if(R())return G&&Da(G)||v()===x.EXP_SITE_AUTH?new Promise(l=>{Vb({apiPath:b,method:c,mode:d,requestHeaders:e,requestBody:g,resolve:l})}):new Promise(l=>{Tb({apiPath:b,method:c,mode:d,requestHeaders:e,requestBody:g,resolve:l})})}else if(423===a.status){const l= {};Object.assign(l,{errorStatus:a.status,errorCode:a.errorCode});if(a.errorCode&&"ORG_UNDER_MAINTENANCE"===a.errorCode||"ORG_NOT_SUPPORTED"===a.errorCode)h("handleSendFetchRequestError",`Received a ${a.status} in ${n}: ${a&&a.message?a.message:JSON.stringify(Object.assign({},a,{status:a.status,statusText:a.statusText,type:a.type}))}`,a&&a.status),ca?w("EMBEDDED_MESSAGING_CONVO_ERROR_DATA_RECEIVED",l):Mb(l)}else throw h("handleSendFetchRequestError",`Something went wrong in ${n}: ${a&&a.message?a.message: JSON.stringify(Object.assign({},a,{status:a.status,statusText:a.statusText,type:a.type}))}`,a&&a.status),a;}function ea(a,b,c,d,e,g){return ua(a,b,c,d,e,g).catch(n=>Ha(n,a,b,c,d,e,g))}function Qb(){let a="";const b=fb();b&&(a=(new URLSearchParams({os:b.os.name,osVersion:b.os.version,browser:b.browser.name,browserVersion:b.browser.version})).toString());return a}function fb(){var a=[navigator.platform,navigator.userAgent,navigator.appVersion,navigator.vendor,window.opera].join(" ");const b=Wb(a,[{name:"Windows Phone", value:"Windows Phone",version:"OS"},{name:"Windows",value:"Win",version:"NT"},{name:"iPhone",value:"iPhone",version:"OS"},{name:"iPad",value:"iPad",version:"OS"},{name:"Kindle",value:"Silk",version:"Silk"},{name:"Android",value:"Android",version:"Android"},{name:"PlayBook",value:"PlayBook",version:"OS"},{name:"BlackBerry",value:"BlackBerry",version:"/"},{name:"Macintosh",value:"Mac",version:"OS X"},{name:"Linux",value:"Linux",version:"rv"},{name:"Palm",value:"Palm",version:"PalmOS"}]);a=Wb(a,[{name:"Edge", value:"Edg",version:"Edg"},{name:"Chrome",value:"Chrome",version:"Chrome"},{name:"Firefox",value:"Firefox",version:"Firefox"},{name:"Safari",value:"Safari",version:"Version"},{name:"Internet Explorer",value:"MSIE",version:"MSIE"},{name:"Opera",value:"Opera",version:"Opera"},{name:"BlackBerry",value:"CLDC",version:"CLDC"},{name:"Mozilla",value:"Mozilla",version:"Mozilla"}]);return{os:b,browser:a}}function Wb(a,b){let c;let d;for(c=0;c=a&&c{clearTimeout(va);va=void 0;Lc(b);b?A("onEmbeddedMessagingBusinessHoursEnded"):A("onEmbeddedMessagingBusinessHoursStarted")},a-Date.now()))}}function Lc(a){Ia();a?(T=void 0,embeddedservice_bootstrap.utilAPI.hideChatButton(), $a().then(ab()).catch(b=>Jb(b))):(V()||(pa()?hb():Promise.resolve(!0)).then(()=>{Q()&&embeddedservice_bootstrap.utilAPI.showChatButton()}),ab())}function Mc(){const a=!!navigator.userAgent.match(/iP(hone|ad|od)/i);var b=navigator.userAgent.match(/(?!=OS)(([0-9]){2})/i);b=b&&0{embeddedservice_bootstrap.invitations=window.embeddedservice_invitations;embeddedservice_bootstrap.invitations.initialize(a)};embeddedservice_bootstrap.settings.targetElement.appendChild(b)}(b=r(z.PAGE_COUNT))?E(z.PAGE_COUNT,parseInt(b)+1,!0):E(z.PAGE_COUNT,1,!0);r(z.SITE_TIME)||E(z.SITE_TIME, Date.now(),!0)}else m("initializeInvitations","Skipping invitation initialization due to previous actions and settings")}function Eb(){var a;if(a=ba())a=!!embeddedservice_bootstrap.settings.embeddedServiceConfig.invitation.isSendInvtAllowedAfterAccept||!r(z.INVITATION_ACCEPTED,!0);a&&(a=!!embeddedservice_bootstrap.settings.embeddedServiceConfig.invitation.isSendInvtAllowedAfterReject||!r(z.INVITATION_REJECTED,!0));return a}function Wa(a){a=a?{storageKey:z.INVITATION_ACCEPTED,eventName:"onEmbeddedMessagingInvitationAccepted", logMessage:"Invitation accepted"}:{storageKey:z.INVITATION_REJECTED,eventName:"onEmbeddedMessagingInvitationRejected",logMessage:"Invitation rejected"};E(a.storageKey,Date.now(),!0);Na(z.PAGE_COUNT);Na(z.SITE_TIME);A(a.eventName);m("handleInvitationNotificationAction",a.logMessage)}function ib(a){const b=embeddedservice_bootstrap.settings.targetElement.children;let c;for(const d in b)c=b[d],c!==Y()&&c!==embeddedservice_bootstrap.filePreviewFrame&&(c.inert=a)}function vc(a){const b=document.getElementById("embeddedMessagingLiveRegion"); b.textContent=a.text;jb&&clearTimeout(jb);jb=setTimeout(()=>{b.textContent=""},3E3)}function Zb(){const a=document.querySelector('meta[name="viewport"]');a&&(a.setAttribute("content",ha),ha=void 0)}function w(a,b){Pa.then(()=>{const c=embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame();if("string"!==typeof a)throw Error(`Expected a string to use as message param in post message, instead received ${a}.`);c&&c.contentWindow?c.contentWindow.postMessage(Object.assign({},{method:a},b&&{data:b}), H()):t("sendPostMessageToAppIframe",`Embedded Messaging iframe not available for post message with method ${a}.`)})}function ja(a,b){Nc.then(()=>{const c=embeddedservice_bootstrap.siteContextFrame;if("string"!==typeof a)throw Error(`Expected a string to use as message param in post message, instead received ${a}.`);c&&c.contentWindow?c.contentWindow.postMessage(Object.assign({},{method:a},b&&{data:b}),H()):t("sendPostMessageToSiteContextIframe",`Embedded Messaging site context iframe not available for post message with method ${a}.`)})} function $b(){ja("ESW_PREFETCH_LWR_RESOURCES")}function Oc(a){a||h("handleAuraSite","Failed to load aura app. Iframe is undefined.");a.src=H()+"/embeddedService/embeddedService.app"}function Pc(a){let b=H();a||h("handleLWRSite","Failed to load LWR site. Iframe is undefined.");b.endsWith("/")||(b+="/");a.src=b+"?lwc.mode="+(embeddedservice_bootstrap.settings.devMode?"dev":"prod")}function Xa(){return new Promise((a,b)=>{try{let c=B(),d=embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame(); kb();if(c&&!c.classList.contains("embeddedMessagingConversationButtonLoaded")){if(N())return m("handleClick","Conversation button clicked but a JWT exists in web storage. Joining the existing conversation."),L=r(z.JWT),ac(!1).then(()=>{a()}).catch(e=>{P();h("handleClick",e.message);b(e)});E(z.CONVERSATION_BUTTON_CLICK_TIME,Date.now(),!0,!0);Xb();m("handleClick","Conversation button clicked");Ia();(pa()&&!V()?Za():Promise.resolve(!0)).then(e=>{m("handleClick",`Received getAgentAvailability API response after button click: ${e}`); !1===e?(Qc(),b("Agent Unavailable")):(Ob().then(()=>{a()}).catch(g=>{h("handleClick",g.message);b(g)}),(embeddedservice_bootstrap.settings.embeddedServiceConfig.fallbackMessage||{}).isFallbackMessageEnabled?Mb():xc().catch(g=>{P();h("handleClick",g.message);b(g)}),ba()&&embeddedservice_bootstrap.invitations.reset())}).catch(e=>{h("handleClick",`Failed to retrieve Agent Availability data. Returning with the default value as agentAvailable : false ${e}`);b(e)})}else c&&c.classList.contains("embeddedMessagingConversationButtonLoaded")&& d&&d.classList&&d.classList.contains("isMaximized")?w("ESW_APP_MINIMIZE"):h("handleClick","Something went wrong handling button click event.")}catch(c){b(c)}})}function Qc(){var a;X(!1,!1);embeddedservice_bootstrap.generateMarkup();if(a=B())a.style.display="block",J()&&U(),a=Va(I("EmbeddedMessagingMinimizedState","AgentUnavailableText")||"Service reps are not available right now. Try again later."),embeddedservice_bootstrap.settings.targetElement.appendChild(a)}function Rc(a){let b=embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame(); a&&a.key&&(a.key===wa.SPACE||a.key===wa.ENTER?(a.preventDefault(),Fb()):a.key===wa.TAB&&a.shiftKey&&b&&b.classList&&b.classList.contains("isMaximized")&&(a.preventDefault(),w("trapfocustolast")))}function kb(a=!1){const b=document.getElementById("embeddedMessagingMinimizedNotification"),c=B();b&&(a&&"true"===b.getAttribute("is-invitation")&&Wa(!1),b.parentNode.removeChild(b));c&&c.focus()}function Sc(a){if(a.key===wa.ENTER||a.key===wa.SPACE)a.preventDefault(),kb(!0)}function N(){return!!r(z.JWT)} function ac(a){if(r(z.JWT))return Xb(),Ob().catch(h),Nb().then(b=>{Ga(a).then(c=>{ra(b,c,null,a)})}).catch(h)}function X(a,b=!0){m("resetClientToInitialState","Resetting client to initial state.");try{Oa(a),mc(),q()}catch(c){h("resetClientToInitialState",`Error on clearing web storage for the previously ended conversation: ${c}`)}ha&&Zb();lb.test(navigator.userAgent)&&ib(!1);embeddedservice_bootstrap.removeMarkup();(pa()&&b?hb():Promise.resolve(!0)).then(()=>{bc()?cc().then(()=>dc()):dc()})}function dc(){if(v()=== x.UNAUTH||v()===x.EXP_SITE_AUTH&&!embeddedservice_bootstrap.settings.snippetConfig.isExpSiteGuestUser)v()===x.EXP_SITE_AUTH&&Fa(),embeddedservice_bootstrap.generateMarkup(),B()&&B().focus();m("resetClientToInitialState","Successfully reset client to initial state.");xa&&"function"===typeof xa&&(xa(),m("resolveClearSessionPromise","Resolved Clear Session promise."),xa=void 0)}function Tc(){const a=document.createElement("div");a.id="embeddedMessagingModalOverlay";return a}function Va(a,b=!1){const c= document.createElement("div"),d=document.createElement("div"),e=document.createElement("span"),g=document.createElement("span"),n=Uc();c.id="embeddedMessagingMinimizedNotification";c.className="embeddedMessagingMinimizedNotification";c.style.setProperty("--eswNotificationBackgroundColor",O("chatButton"));embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection&&"string"===typeof embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection&&c.setAttribute("dir",embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection.toLowerCase()); b&&(c.setAttribute("is-invitation","true"),c.style.cursor="pointer",c.addEventListener("click",function(F){F&&F.target&&!F.target.closest(".embeddedMessagingMinimizedNotificationDismissButton")&&(Wa(!0),Xa())}));d.className="embeddedMessagingMinimizedNotificationTextWrapper";embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection&&"string"===typeof embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection&&d.setAttribute("dir",embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection.toLowerCase()); e.className="embeddedMessagingMinimizedNotificationText";embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection&&"string"===typeof embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection&&e.setAttribute("dir",embeddedservice_bootstrap.settings.embeddedServiceConfig.htmlDirection.toLowerCase());e.role="status";e.title=a;if(a)try{var l=a.replace(/
/gi,"
")}catch(F){h("parseInvitationMarkdown","Failed to parse invitation markdown."),l=""}else l="";e.innerHTML=l; e.style.setProperty("font-family",O("font"));e.style.setProperty("--eswNotificationTextColor",O("invitationText"));g.className="slds-assistive-text";g.innerHTML=I("EmbeddedMessagingMinimizedState","MinimizedNotificationAssistiveText")||"Expand the text.";d.appendChild(e);d.appendChild(g);c.appendChild(d);c.appendChild(n);return c}function Uc(){const a=document.createElement("button"),b=document.createElement("span"),c=document.createElement("span");a.className="embeddedMessagingMinimizedNotificationDismissButton"; a.addEventListener("click",d=>{d.stopPropagation();kb(!0)});a.addEventListener("keydown",Sc);a.setAttribute("aria-describedby","dismissButton-help");a.style.setProperty("--eswNotificationButtonColor",O("invitationDismissalButton"));a.style.setProperty("--eswNotificationButtonHoverColor",Ma.getHoverBackgroundColor(O("chatButton")));b.className="embeddedMessagingMinimizedNotificationDismissButtonText";b.appendChild(da(aa.DISMISS));b.setAttribute("aria-hidden","true");c.className="slds-assistive-text"; c.id="dismissButton-help";c.innerHTML=I("EmbeddedMessagingMinimizedState","MinimizedNotificationDismissButtonAssistiveText")||"Close the chat notification";a.appendChild(b);a.appendChild(c);return a}function Aa(a,b){a&&Ka.currentStateLogs.push(a);b&&Ka.errorLogs.push(b);Pa.then(()=>{w("EMBEDDED_MESSAGING_PUSH_PARENT_FRAME_LOGS",{pendingLogs:Ka});tb()})}function tb(){Ka={currentStateLogs:[],errorLogs:[]}}function mb(){}function Ya(a,b,c=!1){embeddedservice_bootstrap.utilAPI.getEmbeddedMessagingFrame()? w("EMBEDDED_MESSAGING_CLEAR_USER_SESSION_EVENT",{shouldRevokeJwt:a,shouldEndSession:c}):X(b)}function Vb(a){return new Promise(b=>{m("renewAuthenticatedJwt","Renewing Authenticated JWT");Kb().then(()=>{ec(a);b()})})}function ec(a){a&&ua(a.apiPath,a.method,a.mode,a.requestHeaders,a.requestBody).then(b=>{a.resolve&&"function"===typeof a.resolve&&a.resolve(b)}).catch(b=>Ha(b,a.apiPath,a.method,a.mode,a.requestHeaders,a.requestBody))}function Tb(a){if(a){A("onEmbeddedMessagingIdentityTokenExpired");var b= new Promise(d=>{ya=d}),c=new Promise((d,e)=>{setTimeout(()=>{e()},3E4)});Promise.race([b,c]).then(()=>{m("handleIdentityTokenExpiry","Valid identity token found. Fetch authenticated JWT.");a.apiPath.includes("/accessToken")?(a.requestBody.customerIdentityToken=G,ec(a)):Vb(a)}).catch(()=>{h("handleIdentityTokenExpiry","Failed to fetch authenticated JWT due to setIdentityToken timeout or other error. Clearing the messaging session on all tabs.");Ya(!1,!1)})}}function Cb(){let a;X(!1);embeddedservice_bootstrap.generateMarkup(); a=B();var b=document.getElementById("embeddedMessagingIconChat");var c=document.getElementById("embeddedMessagingIconContainer");a&&(a.style.display="block",a.setAttribute("tabindex",-1),a.style.setProperty("cursor","default"),a.classList.add("no-hover"),c&&b&&c.removeChild(b),J()&&U(),b=da(aa.ERROR),b.setAttribute("id","embeddedMessagingIconError"),b.setAttribute("class","embeddedMessagingIconError"),c.appendChild(b),c=Va(I("EmbeddedMessagingMinimizedState","JWTRetrievalFailureText")||"Something went wrong. Log in again to continue your messaging conversation."), a.disabled=!0,embeddedservice_bootstrap.settings.targetElement.appendChild(c))}function fc(a){a=a.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");a=decodeURIComponent(window.atob(a).split("").map(function(b){return"%"+("00"+b.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}function Da(a){let b,c;if(!a)return embeddedservice_bootstrap.settings.devMode&&m("validateJwt","Empty jwt parameter passed in - skipping validation."),!1;try{return b=fc(a),c=Math.floor(Date.now()/1E3)< b.exp,embeddedservice_bootstrap.settings.devMode&&!c&&m("validateJwt",`JWT has expired at ${(new Date(1E3*b.exp)).toString()}`),c}catch(d){return embeddedservice_bootstrap.settings.devMode&&h("validateJwt",`JWT validation failed: ${d.message}`),!1}}function v(){let a=null;try{a=embeddedservice_bootstrap.settings.embeddedServiceConfig&&embeddedservice_bootstrap.settings.embeddedServiceConfig.embeddedServiceMessagingChannel&&embeddedservice_bootstrap.settings.embeddedServiceConfig.embeddedServiceMessagingChannel.authMode}catch(b){h("getAuthMode", `Failed to retrieve auth mode flag: ${b.message}`)}return a}function R(){return v()===x.AUTH||v()===x.EXP_SITE_AUTH}function za(){}function gc(a,b,c,d){const e="setHiddenPrechatFields"===a;var g=e?Vc():ia();const n=g.map(({name:l})=>l);g=g.find(l=>l.name===b);return n.includes(b)?"string"===typeof c&&(c.toLowerCase().includes("javascript:")||c.toLowerCase().includes("