@snf/access-qa-bot 3.6.0 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-qa-bot.js +3717 -3706
- package/dist/access-qa-bot.js.map +1 -1
- package/dist/access-qa-bot.umd.cjs +43 -43
- package/dist/access-qa-bot.umd.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-qa-bot.js","sources":["../node_modules/@snf/qa-bot-core/dist/qa-bot-core.js","../src/config/constants.ts","../src/flows/main-menu-flow.ts","../src/utils/flow-context.ts","../src/utils/ticket-api.ts","../src/utils/validation.ts","../src/flows/access-login-flow.tsx","../src/flows/resource-login-flow.tsx","../src/flows/general-help-flow.tsx","../src/flows/ticket-flow.ts","../src/flows/security-flow.tsx","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/flows/metrics-flow.ts","../src/utils/session.ts","../src/utils/shadow-dom-styles.ts","../src/components/AccessQABot.tsx"],"sourcesContent":["import*as e from\"react\";import t,{forwardRef as n,createContext as r,useContext as o,useCallback as A,useRef as i,useState as a,useEffect as l,useMemo as s,isValidElement as c,Fragment as u,createElement as d,useImperativeHandle as p}from\"react\";import f from\"react-dom/client\";import{jsx as h,jsxs as g,Fragment as m}from\"react/jsx-runtime\";import v from\"react-dom/server\";import{createPortal as b}from\"react-dom\";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(null,arguments)}function w(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function x(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&\"undefined\"!=typeof document){var r=document.head||document.getElementsByTagName(\"head\")[0],o=document.createElement(\"style\");o.type=\"text/css\",\"top\"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}\"function\"==typeof SuppressedError&&SuppressedError;x('.rcb-chat-header-container{border-bottom:1px solid #ccc;color:#fff;display:flex;justify-content:space-between;max-height:55px;padding:12px}.rcb-chat-header{display:flex;flex-direction:row}.rcb-bot-avatar{background-size:cover;border-radius:50%;height:30px;margin-right:12px;width:30px}.rcb-message-prompt-container.visible{align-items:center;animation:rcb-animation-pop-in .3s ease-in-out;bottom:0;display:flex;justify-content:center;margin:auto;opacity:1;pointer-events:auto;position:sticky}.rcb-message-prompt-container.hidden{height:0;opacity:0;pointer-events:none;visibility:hidden}.rcb-message-prompt-text{background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;font-size:12px;padding:6px 12px;transition:color .3s ease,border-color .3s ease;z-index:9999}.rcb-message-prompt-container.hidden .rcb-message-prompt-text{padding:0}.rcb-user-message-container{display:flex;flex-direction:row;justify-content:right}.rcb-user-message{border-radius:22px;font-size:15px;height:fit-content;margin-right:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:right;white-space:pre-wrap;width:fit-content}.rcb-user-message-offset{margin-right:50px}.rcb-user-message-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-message-user-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:-10px;margin-right:6px;margin-top:9px;width:40px}.rcb-bot-message-container{display:flex;flex-direction:row}.rcb-bot-message{border-radius:22px;font-size:15px;height:fit-content;margin-left:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:left;white-space:pre-wrap;width:fit-content}.rcb-bot-message-offset{margin-left:50px}.rcb-bot-message-entry{animation:rcb-animation-bot-message-entry .3s ease-in backwards}.rcb-message-bot-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:6px;margin-right:-10px;margin-top:9px;width:40px}.rcb-typing-indicator{align-items:center;display:flex}.rcb-dot{animation:rcb-animation-bot-typing 1s infinite;background-color:#ccc;border-radius:50%;height:8px;margin-right:4px;width:8px}.rcb-dot:nth-child(2){animation-delay:.2s}.rcb-dot:nth-child(3){animation-delay:.4s}.rcb-chat-body-container{height:100%;overflow-x:hidden;overflow-y:scroll;padding-bottom:16px;position:relative;touch-action:pan-y;width:100%}.rcb-chat-body-container::-webkit-scrollbar-track{background-color:#f1f1f1}.rcb-chat-body-container::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:4px}.rcb-chat-body-container::-webkit-scrollbar-thumb:hover{background-color:#cfcfcf}.rcb-chat-body-container::-webkit-scrollbar-corner{background-color:#f1f1f1}.rcb-checkbox-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;padding-top:12px}.rcb-checkbox-offset{margin-left:50px!important}.rcb-checkbox-row-container{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:flex;gap:5px;max-height:32px;min-height:30px;overflow:hidden;width:80%}.rcb-checkbox-row-container:hover{box-shadow:0 0 5px #0003}.rcb-checkbox-row{align-items:center;cursor:pointer;display:inline-flex;margin-left:10px}.rcb-checkbox-mark{align-items:center;background-color:#f2f2f2;border:none;border-radius:50%;cursor:pointer;display:flex;height:20px;justify-content:center;margin-right:10px;transition:all .3s ease;width:20px}.rcb-checkbox-mark:hover{background-color:#c2c2c2}.rcb-checkbox-mark:before{content:\"✓\";transition:all .3s ease}.rcb-checkbox-label{font-size:14px}.rcb-checkbox-next-button{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-block;font-size:24px;max-height:32px;min-height:30px;text-align:center;width:80%}.rcb-checkbox-next-button:before{content:\"→\"}.rcb-checkbox-next-button:hover{box-shadow:0 0 5px #0003}.rcb-options-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;max-width:70%;padding-top:12px}.rcb-options-offset{margin-left:50px!important}.rcb-options{align-items:center;animation:rcb-animation-options-entry .5s ease-out;border-radius:20px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;overflow:hidden;padding:10px 20px;transition:background-color .3s ease}.rcb-options:hover{box-shadow:0 0 5px #0003}.rcb-line-break-container{align-items:center;display:flex;justify-content:center;max-height:45px;padding-bottom:5px;padding-top:10px}.rcb-line-break-text{color:#adadad;font-size:12px;padding:6px 12px}.rcb-spinner-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-spinner{animation:rcb-animation-spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;height:22px;width:22px}.rcb-chat-input{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;padding:8px 16px}.rcb-chat-input::placeholder{color:#999}.rcb-chat-input-textarea{background-color:#fff;border:none;border-radius:4px;color:#000;flex:1;font-family:inherit;font-size:16px;height:auto;min-height:38px;outline:none;overflow-y:scroll;padding:8px;resize:none;touch-action:none}.rcb-chat-input-textarea::-webkit-scrollbar,.rcb-chat-input-textarea::-webkit-scrollbar-thumb{background-color:initial}.rcb-chat-input-textarea::-webkit-scrollbar-thumb:hover{background-color:initial}.rcb-chat-input-char-counter{font-size:14px;margin-left:8px;margin-top:3px}.rcb-chat-footer-container{align-items:flex-end;background-color:#f2f2f2;border-top:1px solid #ccc;color:#000;display:flex;font-size:12px;justify-content:space-between;max-height:55px;padding:12px 16px 8px 10px}.rcb-chat-footer,.rcb-toggle-button{display:flex;flex-direction:row}.rcb-toggle-button{border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 4px #0003;cursor:pointer;height:75px;position:fixed;right:20px;width:75px;z-index:9999}.rcb-toggle-button.rcb-button-hide{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}.rcb-toggle-button.rcb-button-show{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-toggle-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:inherit;height:100%;margin:auto;width:100%}.rcb-badge,.rcb-toggle-icon{align-items:center;display:flex;justify-content:center}.rcb-badge{background-color:red;border-radius:50%;color:#fff;height:25px;position:absolute;right:-6px;top:-6px;width:25px}.rcb-chat-tooltip{border-radius:20px;box-shadow:0 2px 6px #0003;cursor:pointer;font-size:20px;padding:16px;position:fixed;transition:transform .3s ease;white-space:nowrap;z-index:9999}.rcb-chat-tooltip-tail{border-style:solid;border-width:10px 0 10px 10px;content:\"\";margin-top:-10px;position:absolute;right:-10px;top:50%}.rcb-chat-tooltip.rcb-tooltip-hide{animation:rcb-animation-tooltip-out .5s ease-in-out;opacity:0;visibility:hidden}.rcb-chat-tooltip.rcb-tooltip-show{animation:rcb-animation-tooltip-in .5s ease-in-out;opacity:1;visibility:visible}.rcb-toast-prompt{animation:rcb-animation-pop-in .3s ease-in-out;background-color:#fff;border:.5px solid #7a7a7a;border-radius:5px;color:#7a7a7a;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 12px;text-align:center;transition:color .3s ease,border-color .3s ease;width:100%;z-index:9999}.rcb-toast-prompt-container{align-items:center;animation:popIn .3s ease-in-out;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:50%;margin:200 auto auto;opacity:1;pointer-events:auto;position:absolute;transform:translate(-50%)}.rcb-media-display-image-container,.rcb-media-display-video-container{border-radius:22px;margin-right:16px;margin-top:8px;padding:16px;width:fit-content}.rcb-media-display-offset{margin-right:50px!important}.rcb-media-display-image{border-radius:22px;height:auto;object-fit:cover;width:100%}.rcb-media-display-video{background-color:#000;border-radius:22px;height:auto;width:100%}.rcb-media-display-audio{border-radius:22px;height:auto;margin-right:16px;margin-top:8px;width:100%}.rcb-media-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-attach-button-disabled,.rcb-attach-button-enabled{background-size:cover;border-radius:6px;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-attach-button-disabled input[type=file],.rcb-attach-button-enabled input[type=file]{display:none;height:100%;position:absolute;width:100%}.rcb-attach-button-enabled{cursor:pointer}.rcb-attach-button-disabled{opacity:.5}.rcb-attach-button-enabled:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-attach-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-attach-icon-disabled,.rcb-attach-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;height:24px;margin-top:2px;transition:background-image .3s ease;width:24px}.rcb-attach-icon-enabled{cursor:pointer}.rcb-emoji-button-disabled,.rcb-emoji-button-enabled{background-size:cover;border-radius:6px;cursor:pointer;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-emoji-icon-disabled,.rcb-emoji-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;font-size:20px;height:24px;margin-top:2px;position:relative;width:24px}.rcb-emoji-icon-enabled{cursor:pointer}.rcb-emoji-icon-disabled{opacity:.5}.rcb-emoji-button-enabled:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-emoji-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-emoji-button-popup{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;max-height:200px;overflow-y:auto;padding:8px;position:absolute;transform:translateY(calc(-100% - 30px));width:158px}.rcb-emoji{cursor:pointer;font-size:24px;padding:3px;transition:transform .2s ease-in-out}.rcb-emoji:hover{transform:scale(1.2)}.rcb-audio-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-audio-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-audio-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-close-chat-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-close-chat-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-close-chat-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-notification-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-notification-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-notification-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-voice-button-disabled,.rcb-voice-button-enabled{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:all .3s ease;width:32px}.rcb-voice-button-enabled{border:1px solid red;box-shadow:0 0 3px #ff000080}.rcb-voice-button-enabled:hover{border:1px solid #3d0000}.rcb-voice-button-disabled{border:1px;border-color:#0003;border-style:solid}.rcb-voice-button-disabled:hover{box-shadow:0 0 3px #8a0000}.rcb-voice-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:60%;object-fit:cover;width:60%}.rcb-voice-icon.on{animation:rcb-animation-ping 1s infinite}.rcb-send-button{border:none;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:background-color .3s ease;width:51px}.rcb-send-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:50%;object-fit:cover;transform:translateY(20%);width:50%}.rcb-view-history-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-view-history-button{align-items:center;background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;display:inline-flex;font-size:12px;justify-content:center;max-width:60%;padding:6px 12px;transition:color .3s ease,border-color .3s ease}.rcb-view-history-button>p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcb-chatbot-global{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;z-index:9999}.rcb-chat-window{background-color:#fff;border-radius:10px;bottom:20px;box-shadow:0 2px 4px #0003;display:flex;flex-direction:column;height:550px;overflow:hidden;position:fixed;right:20px;transition:all .3s ease;width:375px}.rcb-window-embedded .rcb-chat-window{bottom:auto;opacity:1;position:relative;right:auto;visibility:visible}.rcb-window-open .rcb-chat-window{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-window-close .rcb-chat-window{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}@keyframes rcb-animation-expand{0%{opacity:0;transform:translate(100%,100%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-collapse{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,100%) scale(0)}}@keyframes rcb-animation-ping{0%{filter:brightness(100%);opacity:1}50%{filter:brightness(50%);opacity:.8}}@keyframes rcb-animation-bot-message-entry{0%{opacity:0;transform:translate(-100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-user-message-entry{0%{opacity:0;transform:translate(100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-bot-typing{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes rcb-animation-pop-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes rcb-animations-checkboxes-entry{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes rcb-animation-options-entry{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes rcb-animation-tooltip-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes rcb-animation-tooltip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes rcb-animation-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}',{insertAt:\"top\"});const E={AUDIO_BUTTON:\"audio-button\",NOTIFICATION_BUTTON:\"notification-button\",CLOSE_CHAT_BUTTON:\"close-chat-button\",SEND_MESSAGE_BUTTON:\"send-button\",VOICE_MESSAGE_BUTTON:\"voice-button\",FILE_ATTACHMENT_BUTTON:\"file-attachment-button\",EMOJI_PICKER_BUTTON:\"emoji-button\"},B=\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%201000%201000'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-99%20362)%20scale(3.4003)'/%3e%3cpath%20d='M0%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(180%20106%20386)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-46%20282)%20scale(3.4003)'/%3e%3cpath%20d='M19%2065h4l5%204v1H14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-3%20240)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(236%20175)%20scale(3.4003)'/%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20139%20600)%20scale(3.4003)'/%3e%3cpath%20d='M184%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20219%20548)%20scale(3.4003)'/%3e%3cpath%20d='M175%2065h4l5%204v1h-14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20262%20505)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(767%20175)%20scale(3.4003)'/%3e%3crect%20width='116.7'%20height='70'%20x='-58.4'%20y='-35'%20rx='31.5'%20ry='31.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20877)%20scale(3.4003)'/%3e%3crect%20width='60'%20height='20'%20x='-30'%20y='-10'%20rx='3'%20ry='3'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='translate(502%20728)%20scale(3.4003)'/%3e%3ccircle%20r='75'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20473)%20scale(3.4003)'/%3e%3crect%20width='129.4'%20height='82.3'%20x='-64.7'%20y='-41.1'%20rx='37'%20ry='37'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23fff;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3crect%20width='108'%20height='68.6'%20x='-54'%20y='-34.3'%20rx='30.9'%20ry='30.9'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(415%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(591%20464)%20scale(3.4003)'/%3e%3crect%20width='96'%20height='53.2'%20x='-48'%20y='-26.6'%20rx='23.9'%20ry='23.9'%20style='stroke:%23162334;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(503%20875)%20scale(3.4003)'/%3e%3cpath%20stroke-linecap='round'%20d='m68%20215%207-15M81%20222l-7-22M81%20222l7-14M101%20208H87M114%20219l-7-24M113%20219l13-22M131%20214l-5-17M148%20214h-18M69%20214H51M100%20209l7-15'%20style='stroke:%23a478fc;stroke-width:3;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:10;is-custom-font:none;font-file-url:none;fill:none;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3c/g%3e%3c/svg%3e\",P=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 0 637 637\",ref:n,...t},e.createElement(\"path\",{d:\"m478 113-13 2-4 1h4l14-2c10-2 35-2 42-1l6 3 3 1c3 0-4-3-8-5-7-1-34-1-44 1m56 6 8 6c7 5 20 17 20 19s7 12 8 12l-3-6-4-6c0-3-15-17-25-24-5-3-8-4-4-1m-198 16-9 1a512 512 0 0 1 9-1m-180 30a412 412 0 0 0-23 4 167 167 0 0 0-32 8 439 439 0 0 1 46-9 304 304 0 0 1 11-2l6-1h-8m369 8 4 3-7-6c-1 0 0 2 3 3m-439 9c-7 3-18 13-18 15l6-5c5-5 9-8 14-10l6-4-8 4m442 12-10 11-7 6 7-6c7-5 14-14 13-16l-3 5M65 205l-1 11c0 9 0 10 4 17 5 10 7 12 22 11 10 0 15 0 38-5l5-1-6 1-16 2-21 2c-13 1-16-1-21-10-3-5-4-6-4-15l1-12c1-4 1-5-1-1m335 1c3 0 3 1 3 3l-2 6c-2 5-35 39-76 80-53 51-120 117-138 137-21 24-22 25-22 27 0 3 6 9 9 9 4 0 14-8 38-27a5073 5073 0 0 1 15-16 1421 1421 0 0 0-17 15l-31 25-6 2-4-3c-3-3-3-4-2-6 3-8 79-85 160-163 57-57 79-80 79-86 0-2-3-4-7-4-2 0-2 0 1 1m165 18c-9 17-25 32-57 53l-10 8 16-11 12-8c15-10 27-22 39-39 5-7 6-8 4-8l-4 5m-221 2a199 199 0 0 0-19 10 183 183 0 0 1 27-12c0-1-1-1-8 2m-34 16c-3 3-2 3 2 0l1-2-3 2m151 3-1 2 2-2c3-3 2-3-1 0m-16 12-11 10a281 281 0 0 0 11-10m-24 18-7 5-7 5-42 31c-10 7-24 19-22 19l7-6 16-12a343 343 0 0 0 35-25 573 573 0 0 0 20-17m-187 0-2 2 4-2 3-2-5 2m-14 6-3 2 4-1 4-3-5 2m-7 3-8 4-18 8 18-7 7-3 3-1c1-2 0-2-2-1m254 24a2672 2672 0 0 1-71 54 601 601 0 0 0 39-29 1352 1352 0 0 1 32-25m-291-8-2 2 4-2 3-2-5 2m-13 5-2 2h3c5-3 4-4-1-2m-19 9-7 3-13 6c-10 5-13 7-14 10-3 4-2 5 1 0 2-3 5-5 14-9l13-6 12-6-6 2m178 36c-17 12-21 16-21 17a390 390 0 0 1 20-17m-206 34 1 4 1 3 1 5 2 8 1 5v-6l-1-8-2-5-1-4-1-2c-1-2-1-2-1 0m222 23-9 7a683 683 0 0 0-56 44 261 261 0 0 0-26 20 1345 1345 0 0 0-46 34c-6 3-7 3-19 3-11 0-12 0-18-3-8-4-10-8-17-20l-5-10 4 10c5 10 12 18 19 22 4 2 6 2 17 2 13 0 14 0 21-3l26-19 42-33a2183 2183 0 0 0 43-34 643 643 0 0 1 24-20\",fill:\"#fff\",fillRule:\"evenodd\"}),e.createElement(\"path\",{d:\"M478 114a620 620 0 0 1-39 6l-21 3a5481 5481 0 0 0-19 3 870 870 0 0 1-54 8l-1 1-6 1-12 2-13 2a992 992 0 0 0-76 12 400 400 0 0 1-45 8l-6 1-5 1h-3l-3 1-2 1-26 4-13 2-17 3c-23 5-33 9-43 19-7 8-9 13-9 27 0 8 1 9 4 14 5 9 8 11 21 10l21-2a1133 1133 0 0 1 23-4 659 659 0 0 0 74-14l3-1h3l3-1h3l2-1 2-1h3l2-1h2l24-5 38-7a2100 2100 0 0 1 93-18l3-1 10-1a2082 2082 0 0 1 120-17l2 1c2 0 8 5 8 7l1 2 1 6c0 4 0 6-3 10-2 4-16 16-18 16l-7 5-10 8a1070 1070 0 0 0-11 7 113 113 0 0 1-20 14l-2 2-3 2-2 2h-1a154 154 0 0 1-28 21l-5 4-5 4a573 573 0 0 1-50 37 175 175 0 0 0-24 18l-1 2-2 1-2 1-2 1-1 1-12 10a396 396 0 0 0-32 25l-8 6-6 5-9 7a326 326 0 0 1-25 20l-13 12a5073 5073 0 0 0-17 15c-24 20-34 27-39 27-2 0-8-6-8-9 0-2 1-3 22-27 18-20 85-86 138-137 41-41 74-75 76-80l2-6c0-2 0-3-2-3l-7 1a233 233 0 0 1-26 9l-1 1-1 1h-1l-1 1h-2l-3 2-1 1h-2l-3 2h-1l-5 2-22 10-9 4-4 2-5 2-10 4-2 1-2 1-2 1-13 6a334 334 0 0 1-38 17 75 75 0 0 0-14 6l-5 2-4 1-2 1-3 2-7 3-16 6a247 247 0 0 0-32 14l-1 1h-2l-1 1h-2l-1 1-12 6a103 103 0 0 0-27 15l-2 5-1 1v11l1 5 1 5 1 4c0 3 0 4 2 4v3l1 3 1 2 2 10 1 4 1 5 2 10 2 8 1 4 1 4c3 3 9 25 11 38l1 7v2l1 4v1l1 1v2l1 2 1 3v1l5 10c7 13 9 16 17 20 6 3 7 3 18 3 12 0 13 0 19-3 8-4 11-6 26-18a1345 1345 0 0 1 85-67 683 683 0 0 1 50-39l12-9a513 513 0 0 1 44-33 201 201 0 0 0 22-17 2270 2270 0 0 0 73-54 158 158 0 0 0 58-59c2 0 3-9 4-27l-1-19-1-4-1-6-1-3-4-6-4-6c0-2-6-8-13-14a77 77 0 0 0-28-18c-6-1-34-1-43 1\"}))),k=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M765-321q0 117-84 196-83 80-200 80-118 0-200-80t-83-196v-392q0-85 61-144 61-58 146-58 86 0 147 58 61 59 61 144v374q0 54-39 92-39 37-93 37-55 0-93-37-38-38-38-92v-372h110v372q0 9 6 14t15 5q8 0 15-5t7-14v-374q0-39-29-66t-68-27q-40 0-69 27t-29 66v392q0 71 51 119t122 48q71 0 122-48t51-119v-426h111v426Z\"}))),D=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M125-165v-113h77v-273q0-93 55-167 56-75 146-100v-19q0-32 22-55 23-23 55-23t55 23q22 23 22 55v19q90 25 146 99 56 73 56 168v273h77v113H125ZM480-32q-38 0-66-27-27-27-27-66h186q0 39-27 66t-66 27Z\"}))),C=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M137-190v-113h78v-253q0-41 11-79 11-39 35-71l-9 150h10L17-802l74-74L873-92l-74 74-175-172H137Zm609-149L319-769q20-15 41-25t44-16v-28q0-32 22-54t54-22q32 0 55 22t22 54v28q85 23 137 94t52 160v217ZM481-47q-38 0-65-27t-27-65h184q0 38-27 65t-65 27Z\"}))),S=n((t,n)=>e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 100 100\",ref:n,...t},e.createElement(\"g\",{strokeLinecap:\"round\",strokeWidth:10},e.createElement(\"path\",{d:\"m19 19 61 61M80 19 19 80\"})))),T=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M94-136v-255l351-93-351-92v-253l816 346L94-136Z\"}))),I=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M480-372q-61 0-105-43-43-43-43-105v-240q0-61 43-105 43-43 105-43 61 0 105 43 43 44 43 105v240q0 62-43 105t-105 43ZM425-76v-122q-121-16-197-108t-76-214h109q0 91 64 154t155 63q91 0 155-63t64-154h109q0 122-77 214T534-198v122H425Z\"}))),Q=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"m763-343-80-79q8-20 13-44 5-23 5-54h109q0 49-11 95t-36 82ZM625-482 336-770v-2q3-56 45-96t101-40q62 0 105 43t43 105v249l-1 17q-1 7-4 12ZM427-76v-122q-120-16-196-108-77-92-77-214h109q0 91 64 154t155 63q43 0 80-14 37-15 67-41l78 79q-35 32-78 53t-93 28v122H427Zm362 27L41-796l75-75 748 748-75 74Z\"}))),M=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M625-511q29 0 50-21t20-50q0-29-20-50-21-20-50-20t-50 20-20 50q0 29 20 50 21 21 50 21Zm-290 0q29 0 50-21t20-49q0-30-20-50t-50-21q-29 0-50 20-20 21-20 50 0 30 20 50 21 21 50 21Zm145 268q75 0 137-43t85-115H258q24 72 85 115 62 43 137 43Zm0 198q-90 0-170-34-79-34-138-93T79-310q-34-80-34-170t34-170q34-79 93-138t138-93q80-34 170-34t170 34q79 34 138 93t93 138q34 80 34 170t-34 170q-34 79-93 138T650-79q-80 34-170 34Zm0-435Zm0 322q134 0 228-94t94-228q0-134-94-228t-228-94q-134 0-228 94t-94 228q0 134 94 228t228 94Z\"}))),O=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M553-64v-108q107-27 173-113 67-87 67-197 0-109-67-195T553-789v-108q152 26 249 144 97 117 97 271 0 155-97 273T553-64ZM61-335v-290h176l236-237v764L237-335H61Zm492 28v-346q51 23 82 70t31 103-31 103q-31 47-82 70Z\"}))),L=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M807-15 700-123q-33 21-71 37-38 15-80 22v-108q20-4 38-12l35-17-153-154v257L234-335H57v-290h144L10-818l74-75L882-90l-75 75Zm37-264-80-79q13-30 19-60 7-31 7-64 0-109-68-195-67-86-173-112v-108q152 26 249 144 98 117 98 271 0 55-14 107-13 51-38 96ZM661-462 549-575v-78q51 23 83 70 31 47 31 103l-1 9-1 9ZM469-655 366-759l103-103v207Z\"}))),N={general:{primaryColor:\"#42b0c5\",secondaryColor:\"#491d8d\",fontFamily:\"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",showHeader:!0,showFooter:!0,showInputRow:!0,actionDisabledIcon:\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2042%2042'%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:4'%20d='M17%209a8%208%200%200%201-8%208%208%208%200%200%201-8-8%208%208%200%200%201%208-8%208%208%200%200%201%208%208Zm0%200'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:10'%20d='M14.66%2014.66%203.34%203.34'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3c/svg%3e\",embedded:!1,flowStartTrigger:\"ON_LOAD\"},tooltip:{mode:\"CLOSE\",text:\"Talk to me! 😊\"},chatButton:{icon:P},header:{title:h(\"div\",{style:{cursor:\"pointer\",margin:0,fontSize:20,fontWeight:\"bold\"},onClick:()=>window.open(\"https://github.com/tjtanjin/\",\"_blank\",\"noopener,noreferrer\"),children:\"Tan Jin\"}),showAvatar:!0,avatar:B,buttons:[E.NOTIFICATION_BUTTON,E.AUDIO_BUTTON,E.CLOSE_CHAT_BUTTON],closeChatIcon:S},notification:{disabled:!1,defaultToggledOn:!0,volume:.2,icon:D,iconDisabled:C,sound:\"data:audio/wav;base64,UklGRmaIAABXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNjAuMTYuMTAwAGRhdGEgiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAA//////7/////////AAABAAAAAgABAAEAAQAAAAIAAQABAP//AAD+////AAD+//7////+////AAD//wAA/v8AAAAA/v8AAP//AAAAAAAAAgD////////+////AAABAAEAAgD/////AQABAAAA//8CAP//AAAAAAAA/v8AAAAA//8AAAEA//8EAAAAAAAAAAAA//8BAP//AQABAAEA/////wEA/v///wAAAAACAAAAAAABAAAA//8AAP//AAACAP//////////AAAAAAEAAAAAAAEA//8AAAEAAQADAAIAAgAAAAAA/v///wEAAAAAAAEAAAAAAAEA//8AAAEAAQD//wAA//8AAAEAAAABAAEAAAABAP//AAD//wAAAgAAAP//AQD/////AAAAAP7/AgAAAAIAAAAAAAAAAAABAAAAAQABAP//AAABAP///v8AAP////8AAP//AAD//wAA//8BAP//AAD///7///8BAP7///8AAAIAAgABAAEA/v8AAP//AQADAAEAAAACAAEA/////////v///wEA/v////7/AAD+////AAAAAAAAAgAAAAAAAAD//wEAAAAAAAAAAQABAAIA/v8AAAAA//8AAAEAAAAAAP//AgD//wEA/////wAAAQACAAAAAAAAAP//AQD/////AQAAAAEA/v8AAAEAAQABAAEA///+////AQD//wEAAgD+//7/AAAAAAAAAQAAAAAAAQAAAAAAAAAAAP//AAD//wEAAQD//wAAAQABAP7///8AAP7/AAABAP7/AQABAAEAAAABAAEAAAD+/wIAAAABAAAAAQD/////AQACAP////8AAP//AQD//wEA/v8CAAEAAAAAAAAAAQAAAAIAAQAAAAEAAgD//wEAAAAAAP7///8BAP//AgAAAP///v8CAAAAAgD///////////7/AAACAAEAAgD//wAAAAABAP//AwAAAAMA//8AAAAAAQD+/wAAAAD//wAAAQD//wEA//8BAP7/AAABAAAA//8BAAAA//8AAP//AQADAP3////+////AgD+/////v8BAAEAAQACAAAAAAAAAAAA//8AAP//AAD+/wEA/v8AAP7/AAD//wAAAQACAAAAAQAAAP//AQAAAAAAAAABAAAAAAD+//////8AAAAAAAD//wAAAAABAAEA//8AAAEA//8AAP//AgD+/wAA///+/wAA/v///wAAAQABAAAAAQD//wAA//8AAAEA//8BAAAAAgABAP//AAACAAIAAQABAP//AAAAAAAA//8BAAIAAAABAAAA//8CAAEA/v//////AAAAAAEA////////AQAAAP//AAD//wAAAAAAAP3/AAAAAAEAAAACAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAP///v///wAAAAABAAAAAAD//wEAAAABAAEAAQD//wAAAAACAAAAAQD+/wAA//8BAAEAAAD+/wAA/////wAAAAABAAAAAAD//////v8AAAAA//8AAAAAAAAAAAIAAAABAAEAAAABAP7/AAD9//////////7///8BAP//AAD///3/AQABAP//AAD//wAAAAABAAAA//8AAP//AAD/////AQABAAEA//8AAAAA//8BAAMA//8AAAAA//8AAP7/AAD//wAAAAAAAP7/AQAAAAAA/v8CAP//AAABAAIAAQABAAAA//8BAAEAAQD///7/AQD//wAAAQABAP//AAD//wEAAAAAAAAAAQAAAAIA//8AAP////8AAP//AQD//////v///wEA/v8AAAIAAgACAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQD//wAA/////wAAAQACAP////8AAAAAAAD//wAAAQD+/wEA//8AAAEAAwD//wEAAQAAAAAAAAABAP////8AAAAAAQAAAAAAAAAAAAEAAQAAAP////////7/AQABAAEAAQD///////8BAAAA//8AAAAAAgABAAEA/v8BAP7///8BAP3/AQABAAIAAAD//wEAAAAAAP//AAABAAIA//8CAAAAAQAAAAEA//8BAAAA/////wAAAAD//wEAAQD//wAAAAAAAP//AAAAAAAAAQABAAAAAQAAAP//AQD//////v8AAAEAAAAAAAAA//8AAAAAAAACAAEAAQAAAP//AAABAAEA/////wAAAgABAAAAAAAAAAEAAAABAP//AQABAP7////+/wEAAAAAAP//AAABAAAAAAABAAEAAAAAAAAA//8BAP///f/+/wEAAQD///7///8AAAAAAQAAAP////8AAAAAAAABAAAAAQD/////AAD//wEA//8AAAIA//8CAAAA//8AAAAAAAD+/wEAAAD+/wAA/////wAA////////AAAAAAAA//8BAAAAAAD//wAAAAD//wEA//8AAP//AQD+/wAAAAAAAP7/AAD+/wEAAQABAP//AAABAAEAAQD//wAA/////wEA//8AAAAAAgAAAAAA//8BAAAAAgAAAAAAAAAAAP7/AQD//wAAAAD+/wAAAAADAAIA/////wAAAQD//wIA//8BAAEA/v8AAAIAAAAAAP3///8AAAAAAAAAAAAAAAABAP///////wAA//8AAAEAAQABAAEAAQABAAAAAQAAAAAAAQABAP7/AQD//wAAAQABAAEA//8BAAAAAgAAAAEAAAABAP//AAD/////AAD//wIA/////wIAAAD///7/AAAAAAAAAAACAP//AAABAP////8AAAAAAAABAAAAAgAAAAAAAQD+/wEA/////wAA/////wAAAAAAAAAA/v//////AAAAAP//AAABAAAAAQAAAAIAAAACAAAA//8AAAAA//8AAP7/AAAAAP//AAACAP//AQABAP//AQABAAAA/////////v8AAP//AQAAAAAA///+/wAAAQD+/wEAAQAAAAEA/////wAAAQD//wAA//8AAAAA/v8BAAEA//8AAP7//v8BAAAAAAAAAAEA//8AAAEA/////wAAAAD//////////wEAAAABAAEA//8CAAEA/f8AAAAA//8BAAAABAABAAEAAQAAAAAAAAAAAP7///8AAAAA/v8BAAAA//8AAAIA//8AAP////8BAP//AAAAAAAAAAD/////AQD///7/////////AQD8////AgABAAIA////////AAD//wAAAAABAAAAAAAAAAEAAgAAAP//AQD//wAAAAAAAP/////+/wAAAAABAAAAAwABAP///////wEAAAADAP//AQACAAAA//8CAAEAAAAAAP///////wIAAAAAAAAAAQAAAAAAAgD//wEAAAABAAAA/v8AAAAAAAAAAAAAAAAAAAEA/v8AAP//AQD//wAA//////7///8AAAAAAAAAAP7/AQD//wAA//8AAAEAAAABAAEAAQD/////AAD//wEAAAD/////AQAAAAEAAAD//wEAAAD/////AgD//wAAAQD//////////wAAAAD//wAAAAABAAAAAAD//wAAAQD///7/AQD//wEAAAD/////AAD//wEA//8AAAEA//8CAAAAAQD//wEAAgAAAAEAAwAAAAAA/v8BAAEAAgD//wEAAAAAAAAAAAD//wEA//8AAAAAAQACAP///////wAAAQABAAEAAAAAAAEAAQD+/wEA/f////////8AAAAA//8AAAEA//8BAAAA/v///wEAAAAAAAEA/////wAAAAAAAP//AAAAAAIAAAABAAAA/////wAAAAD//wAA/v8AAAMAAQD+/wEAAAABAAEA//8BAP//AgAAAAAAAAD//wAA/////wEA/v8CAP3/AAACAP3/AQABAAAAAQACAAEA/v8AAAAA//8BAAAAAgAAAAAAAgACAAEA/v/9/wAAAQABAP7///8AAP//AgD+/////v8CAP////8BAP//AQACAAEAAQABAP//AAD///7/AAABAAEAAgD//wEA//8CAAEAAQABAAEAAAABAAAA/v8AAAEA/v8AAP//AAABAP//AQAAAAEAAgAAAAAA/v///wEAAQAAAAIAAAD/////AgAAAAEA/v8AAP7/AQAAAAAAAQAAAAEAAAACAAEA//8BAP////8AAAIAAAAAAP//AAAAAAIAAAAAAAAAAwABAP///v8BAAAAAAAAAP3/AAABAAEA/v////////////3//v8AAAAAAQABAAIAAAD+/////v8AAAAAAQABAAEAAQAAAP//AAAAAP//AQAAAP//AAABAAAAAAAAAAAA////////AAAAAP//AQD/////AAABAAEA//8CAP7///8AAP7//v8BAAEAAAD+/////////wEAAAAAAAAAAgD//wAAAQAAAP7/AQABAP//AQAAAAAAAAD/////AAACAP////8BAAAAAAD//wAA//8AAAEAAQABAAAAAAABAAAAAQD+/wEA/v8AAAEAAQD/////AAD//wAAAQABAP7//v//////AAACAAAAAAAAAAAAAAACAAAAAQAAAAAA//8BAP//AQD//wAA///+/wIAAQD//wAAAAD//wAA/v8AAP3///8AAAAAAAAAAAAA/f8AAAAA//8CAP7/AAD///7/AAAAAAAAAAD//wEAAAAAAAEAAAAAAAAA//8BAP////8BAP7///8CAAEA//8BAP3///////////8BAAAAAAAAAAEAAgD+//////8BAAMAAQADAAEAAAACAAAAAQD/////AAABAAMAAQAAAP//AQD//wAA//8AAAAA//8CAP7//////wAAAAAAAAIA/v8AAP//AAACAP//AwD//wAA//8AAP//AwD//wEAAQABAAEAAQACAAEAAAD//wAA//8AAAIAAAAAAP///////wAAAQD//wIA//8BAP7/AAD///////8AAAAAAAAAAAEAAAD//wAAAQD//wEA//8BAAAAAAD/////AgABAAIAAAABAAAAAAAAAP//AAAAAAAA//8AAAAAAAD/////AQAAAAAAAQD//wAA///+////AAAAAAEAAgABAAEAAAAAAP//AQAAAAAAAQD+/wAAAAABAAEAAAD/////AQABAP7///8AAAIAAAACAAAA//8AAP//AgACAAAA///+/wAAAAABAAAAAQAAAAEA/v8BAAEA//8CAP//AQD+/////v8AAAAAAAACAP//AAD+/wIA/v8BAAAAAAD/////AAAAAP7///8AAP7//////wEAAAABAAAAAAD//wAAAAAAAAAAAgACAAAAAAABAAAA/f8AAP7/AgAAAAEA//8BAAAAAAD///7/AQD//wAAAAAAAAEAAAAAAAEAAAAAAAAAAQAAAAAA//8AAAAAAAABAP///////wAAAgABAAEA//8AAP//AAACAP//AQABAAEA//8BAAAAAAABAAAA//8AAAEAAAAAAAIA/v8BAP//AQD//wEAAAABAAEAAQACAAEAAAAAAAEAAAABAAAAAAD/////AAABAAEA//8AAAAAAQABAP//AAAAAP//AAD/////AQD//wAAAAABAAEA//8BAAAA//8AAP///f/+/wAA/////wAAAQAAAAIAAAAAAAAAAAD+/wEA/f8CAAAA//8AAAEAAgAAAAMAAAABAAAAAAAAAP//AQAAAAAAAQABAAAAAQAAAP//AAAAAAAA//8AAAAAAAABAAAAAQAAAAAAAAABAAIAAAAAAP7/AQD//wAAAAD+////AAAAAAAAAAABAAAA/////wAA//8AAAAAAAD/////AgD//wAA//8CAP//AQACAAEA/f////////8BAAIAAQABAP//AAD//wAA///+////AAD+/wAAAQD/////AAAAAAAA/////wAAAAABAAAAAQAAAAAA//8AAAIAAAABAP//AQABAAEA//8AAAAAAAADAAEAAAABAP//AgD//wMA//8AAAAAAAD//wAAAAD9/wEA///+/wAA//8BAAEA//8BAAAA//8AAP///v8BAP///////////v8BAAAAAQABAAAAAAAAAAAA//8AAP7/AQAAAAAAAAAAAP7/AQAAAAAAAgABAAEAAAABAAEAAAAAAAAAAAD+/wAAAAD//wEAAAAAAAAAAAAAAP//AgABAAAAAAABAAEAAAD/////AAAAAP//AAABAP////8BAAAAAQABAP7//v/+////AQAAAAAAAQAAAAEAAgAAAAAAAQAAAAEAAAD+/////v8BAP//AAABAP//AQABAAAAAAD//wAA//8CAP//AAAAAAEAAAABAAAAAAAAAP//AAD+////AwAAAAAAAQD//wEAAAACAAEAAAADAAAAAAD/////AAAAAAEAAAABAAAA//8AAAEA//8BAP///v8AAP//AAD//wAAAQABAP//AQAAAAAA/////wEAAQAAAP////8AAAEA//8BAAAAAQAAAP////8AAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAD//wEAAAAAAP////8AAAAA//8BAAEAAAAAAAIA///+/wIA/v8BAAAAAQACAAAAAQAAAP7///8AAP//AAAAAAEAAAAAAP7/AAD+////AAAAAAAAAAD//wAA/v8BAAMAAAABAAIAAgD//wAA//8BAAEA//8BAP7/AAAAAP7///8BAAAAAQAAAP7/AQD/////AAAAAAEAAAABAP//AQABAAAAAgABAAAAAAAAAP///////wEA//8AAAEA//8AAAAAAQAAAAIAAAABAP7//////wAAAQABAAAAAAABAAEA///+/wAA//8BAP///v8AAP///v8BAAAA//8CAAAAAQAAAAEAAQABAAAAAAD+/wAAAAD+/wAAAAAAAAAA/f////////8AAAAAAQABAP///////wEA//8BAAEAAAAAAAAA/////wEA/v//////AAAAAP//AAABAAAAAAD+/wAAAAD9////AQAAAAEAAwD//wEAAQAAAP//AgAAAAAAAAD+/wIAAAAAAAAAAAAAAAIA//8AAAEAAQACAAAAAQD//wAAAAD//wIAAQABAAAAAAD//wEA//8BAAEAAQAAAAAAAQABAP7/AAD//wEAAAACAP7/AQAAAAAAAAD//wIAAQACAAIAAQAAAAAAAAAAAP3///8BAAAAAQACAP//AgD9/wAAAAD//wEA/v////////8AAAAAAAD//wEAAQD//wMAAQAAAAEA//8AAAEA//8AAAAAAAACAAAAAAD//wAAAQD///////8AAAAA//8BAAIA/v8BAAEA/f8AAAAAAAAAAAAAAgD/////AAD+/wAAAAD//wAAAAAAAP//////////AgABAP///v8AAAIAAQAAAP//AAABAAAA/////wAAAAAAAAEAAAABAP///v///wIA//8BAAEAAQAAAAAA///+/wEAAAAAAAAA/////////v8BAP3/AAAAAAAAAAAAAAAA//8AAP//AAAAAP//AAABAAIAAAACAP////8DAAAAAAABAAAAAwABAP//AAABAP//AAAAAP////8BAAAAAgD//wAA///+/wAAAQD//wAA//8AAP7///8AAAAA/v8AAAAAAQD//wEA/v////////8AAAAAAQAAAP//AQACAAAAAAAAAP//AAD//wAAAAD//wAAAAD+/wAAAAAAAP//AQD//wAAAgAAAAAAAQABAAAAAwD+/wAAAAD///7/AQD//wIAAQAAAP//AAD//wAA//8CAAEAAAAAAAAA/////wAAAAD//wEAAQD///////8BAAAA//8BAAEAAAAAAAAA/v///wEAAAAAAAAAAAADAAAAAAAAAAAAAQABAAEAAAD+//7//v8AAP//AQAAAAAAAAABAAEAAgAAAAAAAQD//wAA/f8AAAAAAAABAAAAAQAAAAAAAAAAAAIA//8BAP///////wIA/////wAAAAABAAEA//8BAAAAAAD//wAAAQD//wEAAAAAAAIA/v8BAP//AAAAAAEAAAABAP//AAAAAAAAAQABAP7/AAABAAAAAQD//wIAAAAAAAEA///+/wAA//8AAP//AAAAAAAAAAABAP///////wIAAQAAAAEAAQAAAP7/AQAAAAAAAQAAAAAAAQD/////AQAAAAAA///+//7/AAD+/wEA//8AAAAA///+/wEAAAABAAIAAQABAAAA//8AAP//AAD//wAAAAD//wAAAAAAAP//AQAAAAAA////////AQAAAAAAAQD+////AQABAP7/AAD///7/AgD//wAAAAAAAP//AAAAAAEA//8BAAEAAgAAAAIAAAD//wEA/////wAAAQD///7/AQD//wEAAQD/////AAAAAAEAAgAAAAAAAQD//wEA//8AAP7//////wAA//8BAAEA//8BAAAAAQD/////AAABAP//AAACAP//AQAAAP//AAABAP////8AAAAAAAABAAEAAwABAAAAAgD//wAAAAD//wEAAAABAAAAAAABAAEA/////wAA//8AAAIAAAAAAAEAAQABAAEAAQABAP//AgAAAAAA//8BAP3//v///wAA//8AAAAAAQAAAP//AQD//wEAAAACAAIAAAABAAAA//8BAAEA//8BAP//AAAAAP//AQAAAAIAAAD//wAAAAAAAAEA////////AQAAAP//AQD//wAAAQD+/wEAAAABAP///v///wAAAAAAAP//AAAAAAIAAQD//wAAAgD+/wAAAAD//wAAAAABAP///P//////AAACAP////8AAAIAAAABAAAAAAAAAAAA//8AAAAAAQADAP//AQAAAAAAAAABAAEAAQAAAAAA/v8AAAAAAAD//wAAAQD//wAAAAD//wAA/v////////8CAAEA/v8BAP7/AAAAAAAA//8AAAEAAAD//wIAAQAAAAIAAQAAAAAAAAD///7/AQABAP//AAAAAP//AAACAAEA//8BAAAAAwAAAAAAAAD//wEAAAD//wAA///////////+/wAAAQABAAIAAAABAAEAAAD//wEAAAD/////AAD+/wIAAwABAAEA/v8BAAEAAAD//wAA//8AAP//AAAAAAEAAAAAAP//AAAAAAEAAQABAAEA/v///wAAAAD//wEAAAACAAAA/f/+/wAA/v///wAA//8AAAEAAQD///7/AAAAAAAAAAABAAAAAAACAAAAAAABAAAAAAABAP//AQD//wAA//8BAP7/AgABAAEAAQAAAAAAAQD//wEA/v8AAP////8AAP///////wIAAQD//wAAAAD//wAA/v///wAAAQD//wIA/////wEAAAAAAAIAAAABAAAAAAD//wEA//8AAAAA/////wAAAQAAAAAAAAD//wEAAQAAAAAAAAACAP///////wAAAgD//wAA/v8AAAIAAAAAAAEAAAABAP//AQABAAEAAQAAAP///v8BAAEAAAAAAP////8AAAAAAQD//wIAAQAAAAEAAAAAAAAA//8BAP//AAAAAP7//v///wEAAAAAAAIAAAAAAP//AAD//wEA//8BAAAAAAABAAEAAAABAP7///8AAAIAAAABAP//AAD//wEAAAAAAP//AAAAAAEAAAAAAAAAAAAAAP7/AQD//wAAAQD+/wEA/v8BAP7/AAABAAEAAAACAAIAAAADAAAA//8AAAEAAAABAP//AQD//wIA/////wEA//8AAAEA//8AAAEAAAAAAAAAAQABAAAAAAAAAAAAAAD//////////wAA//8AAP7/AAD+/wAAAQAAAAAA/////wAABAAAAAAA//8AAAEAAAAAAAAA/v8AAP//AAAAAAAAAAD//wAAAAD///////8BAAEAAAD/////AgABAAEA/v/+/wAAAQACAAEAAAD//wAAAwABAP//AgD+/wAA/v8AAAAAAAAAAAEA//8AAAEAAAD+/wEAAAAAAAEAAgAAAAEAAAABAP//AQD+/wIA/////wAAAQD//wAAAQD+/wAAAQABAAAA////////AAACAAAAAQAAAAIA//8BAP///v///wEA//8BAAEAAQD+/wAAAQD9/wAAAQAAAAEAAAABAAAAAgAAAP//AAD+/wAA/f8AAAAA////////AgAAAAcAAQD7/wEA/f8AAAIA//8GAP7//v/+//b/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+P/F//z/rv/i/7r/6v/Z/wYABwAoADAAKQBOABkATAD0/zQA1P8PANv/0//v/6//FwCi/ywAxP8oAPn//v82APT/WwD4/00A+/8yAPv//f/8/83/+v+w/+T/sf/j/9b/AQACACoAIgAtAEIAHwBPAAEAQADe/xcA0v/k/+X/t/8IAKv/IgC//yEA6/8EACMA9/9PAPf/VAD+/zcA+/8JAPn/1P8AALf/6f+w/+P/zf////j/HAAdAC0APgAfAEsABwBCAOP/IADV/+//2v/B//3/rP8PALv/GADd/xEAFgABAEMABABaAP//QgACABcA+//n/wAAwP/w/67/4v+///3/6f8WABcAKQA0ACIARgAQAEcA8f8pANn/9f/U/87/7f+v/wgAtP8RANP/FgANAAIAOQACAFQA/f9HAAAAIAABAO3//P/E/wEAs//q/7n/9P/i/wYAEQAZADEAJABBABMASAAAADEA3/8CANL/1v/g/7H/AACy/w8Axf8ZAPv/CQAzAAIAVQD//1AAAAAsAAIA9v/7/8r/AwC2//P/tf/m/+H/AwADABEAKQApADoAHgBHAAgAPADr/wkA1//f/93/vP/6/7L/CgDA/x4A7/8hACkAAgBPAPz/UgD1/zIABAAEAPz/0v/5/7f/AACy//H/2f/+/wEAAAAkABUAMwAdADoAEQA9APD/EADU//L/1P/H/+z/tf8LALv/HADk/ygAGgADAEMA//9TAPn/QAAAABAAAQDc//z/wf8DALD/7P/Q//z/9/8HABoAFgA3ACMAMAAOADwA+P8ZANv/+P/Y/9H/5v+8/wUAu/8WANf/HgAMAAoAPQABAFMA/f9HAP7/HwAEAN//+v/H/wMAs//2/8r/8//y/wMADgAQAC4AIwAyABMAJwD8/xcA3v8LANP/5v/f/8j/AgC4/w4A1P8eAAQACgAxAAEAUgD+/0gA/v8nAAIA8f/5/8r/BAC6/+3/wP/l/+b/AQAIABkAIwArAC4AIAAoAAkAGADj/w0A0f/r/9//0P8DAL3/CgDN/xkA//8IACUAAgBJAAAATwD+/ysAAQD7//3/z/8DAMT/+f/K/+L/5P/1////EgAcACYALgApAC4ACwAcAPL/EADZ//L/1f/U//f/uv8KAMX/DwDu/wcAHwADAEUABgBNAAEANQAAAAYAAQDf////xf/+/9P/4f/b//X/9v8LAA4AGAAlACoAMAAQABkA9v8TAOL/+f/W/9r/8f/I/wcAxP8MAOr/BwATAAQAOAAGAEcAAABCAAEADwAEAOP//v/F/wIAzf/o/93/8P/s/w4ACwAZACEAKgAyABMAIQD5/xgA6v8DANb/4P/y/9H/AQDJ/wkA4/8DAAoA/f8wAAQAQwABAEAA//8VAAIA7P/+/8r/BADP/+v/2v/s/+n/CwAIAA0AHAAjADQAHAAkAP//GQDy/wQA5v/i//b/0P/7/8f/AADh/wMAAAD+/yUAAAA7AAEAOAAAABwAAAD6/wAA1/8CAMr/AADb/+3/5f8BAAIACAAVABcALwAfACgA+/8XAPn/DgDe/+//7v/Q/wMAz/8JAOP/CwDx////EAAHADEAAQArAAIAHQAEAAcAAADr/wEAzv8CANj//f/k/wEA+f/+/xQABwAqAB4ALAD+/x4A8P8SAOb/8//f/9j//f/N/wEA3v8LAO7/AgAMAAQALAAEAC0AAQAdAAQADwABAPP/BADV/wMA0/8AAOH/AQD1/wAAEAADACQAGwAwAAQAHwD0/xUA8f/4/+L/2//7/8z/AwDc/woA6f8AAAQAAwAoAAcANAAAACcAAgAUAAEA+P8CANv/AgDR/wEA4v8BAOz/AgAIAPv/JAAVADMAFAAhAPP/GQDz//7/3P/l/+3/z/8BANf/CgDn/wkA/P///xoABwAwAAIAJwACABcAAwABAAIA4f8BAND/AgDd//3/6P8CAAYA/f8YAAwALwAZACUA9v8bAPj/AwDq/+r/7P/S//7/1/8EAOX/CQD6//7/GQAFAC8AAQApAAEAGQACAAMAAgDm/wEAzv8BANv//v/p/wIA//8BABMABQArACAALAABAB4A8f8NAOv/7v/m/9n/+P/R/wMA4f8OAPT/AQATAAMAKwAHACoAAwAbAAMABQADAO7/AQDU/wEA2f8AAOL////3////EgAAACUAGgAvAAUAHQD2/xIA9f/0//T/3P/4/8///f/h/wIA7f8AAAoAAQApAAQALQADACAAAgAPAP//9P///9r//f/T/wAA3f/9//D/AQAQAP//HAAHAC8ACQAfAPv/GAD+//f/+P/j/wEA0v/+/9n/AADq/wIABgD//x0AAQAuAAEAIwAAABQAAwD8/wEA3/8AAM//AADe////7f8BAAwA//8ZAAMALwAAACEA//8dAP3//v/9/+n////U//z/1v8BAOT/AAD+/wAAGwD+/ywA/v8kAAIAGAD///3////q/wEA0P///97/AADk/wAABAAAABUAAQAqAAEAKQAAABwAAAAFAP//6f8AANr////X/wAA4/8AAPj/AgAUAAAAKgD//ywAAAAcAP7/AQAAAOv/AADU/wAA2v8CAOP/AAABAAAAFgABABsAAAAqAAEAHwAAABQAAgDv/wEA3v///9H////f////7/8BAAoAAQApAAAALgD//yEAAQAIAAAA8P8BANr//v/V////4f8AAPf//v8UAAAAFAAAACYAAQAhAP7/GwD+//T/AADo/wIA1v8CANr/AgDp/wEABgAAAB8AAQAsAAEAJAAAAAwA///z/wEA3/8AANT/AADh/wEA9P///xQAAgASAAAAJQAAACEAAAAaAP//+v8BAOj////W////2P8BAOf///8DAAAAHwAAAC4AAAAlAAAAEgAAAPL/AQDm////0f8CAN3/AADr//7/EQD//xAAAQAhAAIAJQAAAB8AAAABAP//6v8CAN//AQDX/wAA4/8AAPr/AAAXAAAAKgABACgAAAAbAP///f8AAOj/AADU/wAA2v///+f/AQANAAMAEQD+/xwA/v8kAP7/IQABAAgA/v/p////5/8AANf/AQDd/wEA8v8BABMAAQAjAAAALgAAACAAAQADAAEA7f8BANn/AgDY//7/4P/+/wEAAAAXAAIAFAAFACUA/P8jAP//EgAAAO//AQDo////1/8AAN3/AADx//7/DgAAAB0AAQAoAAAAIwAAAAoAAQDv/wMA4f8AANn/AQDi/wEA+v///xgAAAAQAP3/IwD//yUA/v8XAAAA7/8AAOv/AADc/wAA3P/+/+v/AQALAAEAGgACACkAAAAkAP7/EAABAO/////q//7/1/8AANz/AgDw/wEAEgD//w8AAAAcAAIAJQAAAB0AAAD2////7P8AAOP/AgDa/wAA5P8BAAQAAQAWAAAAIgAAACMAAAAaAP//+P///+v/AQDZ/wAA2////+7/AAARAAAADgAAABYAAAAhAAAAIAABAPz/AQDt/wAA5P8AANr/AQDg/wEA/P8BABcAAAAhAP//KQD//xwAAAD8/wEA7v8AAN3////Z/wAA6f8BAA0AAAARAAEAEQAAACMAAAAgAAEA/f8CAO3/AADv/wAA3v8BANv////1////EgAAABkA//8nAAAAIgAAAAMAAADu/wAA6P8CANn/AQDg////BQD//xMAAQAOAP//IAABACYAAAAGAAAA6f////H/AADg/wEA2f8AAO3///8PAAAAFQACACQAAAAkAAEADQABAO//AADp/wAA2////9z/AQD7/wEAFgAAAAwAAQAXAP7/JQD9/xMAAADx/wAA8f8AAOr/AADc/wEA4/8BAAkAAAAVAAAAIQD//yYA//8UAAEA9P8BAOz/AADf/wAA3P8AAPP/AAAQAAAADQABAA0AAAAlAAEAGAD///H//v/0/wEA7v8CAN//AADg//3/BAACABUAAQAfAAAAJwABABgAAQD0//7/7f///+L/AADa/wIA8P///w4A//8SAAMACQAAACAAAQAgAP//+v////P////y/wEA4/8BANr/AQD9/wAAEwD//xkAAQAjAAAAIgABAPz////s/wAA6v8BANX/AQDr//7/BwABABMAAAAHAP//FwAAACYAAAD//wEA9P8BAPb/AQDu////2v8BAPn/AAATAP//FwD//yEAAAAjAAAAAgAAAOn/AQDr//7/2P8CAOT/AAABAP//FgABAAUAAQATAP//IwAAAAEAAgDy/wEA9/8AAPb/AADb/wAA6/8BABAAAAATAP7/IQAAACYA//8UAP//7/8AAPD/AADd/wEA3P/+//7///8OAAAACgAAAAgAAAAhAP//CQACAPT/AQD2/wAA9v///97////m/wIADgABABMAAQAfAP//JwAAABMAAADw/wAA8P///+r/AQDb/wAA9f8AAA8AAAARAAIABAD//wYA/v8HAAAAAQD//wMAAgAGAAAA7f8AAOz/AAALAP//DwACABQA//8bAAAAHgD///f/AADq/wEA6/8BANj//v/t/wAACAD+/xAAAgAEAAAABAABAAcAAQADAAAA//8AAAUA///1/wAA5f///wIAAAAOAAAAEAAAABsAAAAhAAAA/v8BAOj////y////3f8AAOf/AQAGAAEADAAAAAcA//8BAP//CQABAAMA//8BAP//BQAAAAAAAADo/wAA+/8AAAoAAAALAAAAFAAAACAAAQAGAAIA7f8BAPH/AADm/wMA3P8CAP7/AgASAP//CgD//wAAAAAIAP//BQD//wEAAAACAP7/BAAAAPz/AwD8////BAAAAAEA//8HAAAAHQAAAAgA/v/x//7/8f///+f/AQDg/////P///woAAAAMAP//AAABAAYA//8EAAAAAgAAAAUAAAACAAAAAwAAAAIAAAABAAAAAQABAAAAAgAcAP//DgD///T/AQDx/wAA9P8CAOH/AAD3/wAACQAAAAoAAQABAP//AwAAAAcAAAD+/wAAAgACAAEAAAD+////AwD+/wAAAAABAP//+v8BABEAAQATAAAA9f/+//L//f/z/wIA6f8AAPb/AQAFAP//DAAAAAAAAAAFAP//BQD//wEA//8DAAEAAQAAAP7///8AAAAA//8BAAIAAAD+/wAAEAABABYAAgD6/wEA8v8BAPX/AwDp/wAA8////wMA//8JAAEABAABAAEA//8FAAEA//8AAAMAAQACAP//AQAAAAEAAgAFAP//AQABAAAAAQAAAP//EQABAAAAAAD5/wEA+P8AAPr////6/wAA+/8BAAIA//8BAAAA//8CAAUA//8BAP7/AAABAAEAAgAAAAAAAwAAAAEA/v8DAAIAAAACAAQA//8TAAAA/P8BAPr////3//////8AAPz/AQD7/wEAAgD/////AAABAAEABAAAAP//////////AAAAAAAAAAADAAAAAwAAAAAA//8EAP///v/+/xAA//8HAAAA+/////j/AQD8////AAD///n///8AAAAA//8AAP////8DAP//AgAAAAAAAAACAAIAAAD+/wAAAQD//wAA/////wIAAgD9////CQACAAYA///9////+f8BAPr/AQAAAAIA/v///wAA//8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAAAAAEAAQABAAAAAgABAP//AAD//wEAAAD///////8BAAIAAQAAAAAA/v/+//////8BAAAAAQABAP//AAD///////8BAAAAAQABAP////8CAAEAAQD//wEA/v//////AQAAAAAAAAAAAAAAAAD9/wMA/////wAAAQD+/wEA/v/+//7/AQD//wMAAAAAAAAAAAABAAEA//////7/AAACAP3/AAD//wAAAQAAAP//AQD//wAAAAAAAAEA//8CAP//AAAAAAAA/v8AAAAA//8BAP//AAABAP//AAAAAP//AQD//wAAAQABAAAAAAABAAEA/v///wAAAAD//////////wAAAAAAAP//AAD////////8/wIAAAADAAEA/////wEA/v8BAP7/AgAAAAEAAgAAAP//AgD/////AQD//wEA//////7/AQD//wMAAAAAAAAA//8CAP//AQAAAP//AAACAAAAAAABAP//AQD+/wAA/////wAA/f///wAAAAAAAP7/AAAAAAAAAgD//wEAAQACAP//AAAAAAEAAQD//wAAAAAAAAAA//8BAAMA/v8AAP7/AQAAAAAAAQAAAAAA///+//7/AAAAAAAA//8BAP7/AQAAAP//AQABAAAAAQAAAP//AAD//wIA/v///wAAAQABAP//AAD//wEA//8BAP//AgAAAP///////wAAAQABAP//AwABAAAAAAAAAAAA/////wIAAwACAAAA/v8BAAAAAAAAAAAA//8AAP////8AAAAA/////wAA/////wEA/v8CAAEAAQD//wAAAAABAAAAAAD//wEAAQABAAAA//8CAAAAAAAAAP7/AAABAAAAAQABAAAAAgABAAAAAQD//wEAAwD+/wAA/v8AAAEAAAAAAAAAAAAAAAEAAAD//wMA/v///wAAAAACAAEAAAAAAP7///8DAAEAAQD//wEA/f8BAAEAAQD//wEAAQABAAMAAgAAAAEA//8AAP//BAAAAAIA/v//////AQABAAAAAAD//wEAAAACAAIAAQAAAAAAAgAAAAAAAAABAAIAAAABAAIAAQAAAP////8AAAAAAAD//wAAAQACAP//AAAAAAAAAQAAAAEA//8AAAAAAAD/////AQD//wAAAQD9////AQAAAAAA//8BAAAA///+/////v8BAAAAAQAAAAAAAAAAAAIA//8BAAAAAAACAP//AQD//wAAAAD/////AAD9/wAAAAACAAAAAgAAAAEAAQABAAEAAAAAAAEA//8AAAEAAQACAAAAAQAAAAEA//8BAAIAAAACAP//AAABAAAAAAAAAAAAAAD//wAAAQD/////AAAAAP////8AAAEAAAAAAP7///8BAAIAAQD//wEAAQAAAP//AgAAAAAAAAD//wAA//8CAP7/AQAAAP7/AAD+////AAAAAAAAAQABAAAA//8AAAEAAAABAP7/AAAAAP7/AAD+/wAAAQABAAEA/////////v8BAP///v///wIAAAAAAAAAAQAAAAIAAQAAAAAAAAABAAEAAAAAAAAAAAD//wEAAQD//wAAAQABAAAA/v/+/////////wAAAAD//wAAAAD/////AAAAAP7/AAD//wIA//8CAP//AQAAAP////8AAAAAAQABAP////8AAP//AQACAAAAAQAAAAAAAAAAAAAA//8BAAAAAAD+/wAA/v///wEAAAD+//7///8CAP7/AAABAP3/AwAAAAAAAAABAAIAAAABAAAAAQABAAIAAAAAAP//AAAAAAEAAAACAAEAAAACAAAAAAABAAAAAwAAAAAAAAD+/wAAAQD9//////8BAAAA/v8AAAAAAAAAAAAAAAD//wMA/v8BAAEAAQACAAAA/v8BAP//AwABAAIAAQABAP//AQAAAAEAAAAAAAEA//8AAAAAAAD/////AAABAAEAAAAAAP////8AAAAAAAAAAAAA/v8AAP//AQAAAP//AAABAAIAAQAAAAAAAgABAAAA/////wAAAQABAP//AQABAAEA/////wAAAAAAAAAAAAABAAEAAQAAAAAAAAAAAAAA//8AAP7/AQD9/wAAAgD//wEAAQABAAEA/v8AAAEA/////wAAAAAAAP//AAABAAAAAAAAAAAA//8CAP//AAABAAEAAQABAAAA//8BAAIAAgD//wAA/v8AAAEAAAD///7/AAAAAAEAAAABAAAAAQABAAAAAQACAAAA///+/wAAAQABAP7////+/wAA//8AAAAAAgAAAP//AQD9/wAAAAD//wAA//8AAAAAAQAAAAAAAQD//wAAAAAAAP//AQABAAAA/v8CAP//AAD///////8AAAAAAAACAAEA//8BAP7/AAAAAAEA//8BAAAAAQD//wAAAQD+/wAA/////wAAAAD//wAAAQABAAAA//8AAAEA/////wAA//8AAAAA/v/+/wEAAgABAP//AgD//wIA/////wAA//8AAAEAAQAAAAAAAQAAAAMAAAACAP//\",showCount:!0},audio:{disabled:!0,defaultToggledOn:!1,language:\"en-US\",voiceNames:[\"Microsoft David - English (United States)\",\"Alex (English - United States)\"],rate:1,volume:1,icon:O,iconDisabled:L},chatHistory:{disabled:!1,maxEntries:30,storageKey:\"rcb-history\",storageType:\"LOCAL_STORAGE\",viewChatHistoryButtonText:\"Load Chat History ⟳\",chatHistoryLineBreakText:\"----- Previous Chat History -----\",autoLoad:!1},chatInput:{disabled:!1,allowNewline:!1,enabledPlaceholderText:\"Type your message...\",disabledPlaceholderText:\"\",showCharacterCount:!1,characterLimit:-1,botDelay:1e3,sendButtonIcon:T,blockSpam:!0,sendOptionOutput:!0,sendCheckboxOutput:!0,buttons:[E.VOICE_MESSAGE_BUTTON,E.SEND_MESSAGE_BUTTON]},chatWindow:{showScrollbar:!1,showTypingIndicator:!0,autoJumpToBottom:!1,showMessagePrompt:!0,messagePromptText:\"New Messages ↓\",messagePromptOffset:30,defaultOpen:!1},sensitiveInput:{maskInTextArea:!0,maskInUserBubble:!0,asterisksCount:10,hideInUserBubble:!1},userBubble:{animate:!0,showAvatar:!1,avatar:\"data:image/svg+xml,%3csvg%20width='140'%20height='140'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cy='60.044'%20cx='70'%20fill='%235c5c5c'%20r='29'/%3e%3cpath%20d='m16.36%20156.186-.01-30.5c-.005-16.844%2024.168-30.507%2053.991-30.516%2029.823-.009%2054.004%2013.64%2054.01%2030.484l.008%2030.5-108%20.032z'%20fill='%235c5c5c'/%3e%3c/svg%3e\",simulateStream:!1,streamSpeed:30},botBubble:{animate:!0,showAvatar:!1,avatar:B,simulateStream:!1,streamSpeed:30},voice:{disabled:!0,defaultToggledOn:!1,language:\"en-US\",timeoutPeriod:1e4,autoSendDisabled:!1,autoSendPeriod:1e3,sendAsAudio:!1,icon:I,iconDisabled:Q},footer:{text:g(\"div\",{style:{cursor:\"pointer\",display:\"flex\",flexDirection:\"row\",alignItems:\"center\",columnGap:3},onClick:()=>window.open(\"https://react-chatbotify.com\",\"_blank\",\"noopener,noreferrer\"),children:[h(\"span\",{children:\"Powered By \"},0),h(\"div\",{style:{borderRadius:\"50%\",width:14,height:14,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",background:\"linear-gradient(to right, #42b0c5, #491d8d)\"},children:h(P,{style:{width:\"80%\",height:\"80%\",fill:\"#fff\"}})},1),h(\"span\",{style:{fontWeight:\"bold\"},children:\" React ChatBotify\"},2)]}),buttons:[E.FILE_ATTACHMENT_BUTTON,E.EMOJI_PICKER_BUTTON]},fileAttachment:{disabled:!1,multiple:!0,accept:\".png\",icon:k,iconDisabled:k,sendFileName:!0,showMediaDisplay:!1},emoji:{disabled:!1,icon:M,iconDisabled:M,list:[\"😀\",\"😃\",\"😄\",\"😅\",\"😊\",\"😌\",\"😇\",\"🙃\",\"🤣\",\"😍\",\"🥰\",\"🥳\",\"🎉\",\"🎈\",\"🚀\",\"⭐️\"]},toast:{maxCount:3,forbidOnMax:!1,dismissOnClick:!0},event:{rcbPreInjectMessage:!1,rcbPostInjectMessage:!1,rcbStartSimulateStreamMessage:!1,rcbStopSimulateStreamMessage:!1,rcbStartStreamMessage:!1,rcbChunkStreamMessage:!1,rcbStopStreamMessage:!1,rcbRemoveMessage:!1,rcbSaveChatHistory:!1,rcbLoadChatHistory:!1,rcbToggleChatWindow:!1,rcbStartSpeakAudio:!1,rcbToggleAudio:!1,rcbToggleNotifications:!1,rcbToggleVoice:!1,rcbChangePath:!1,rcbShowToast:!1,rcbDismissToast:!1,rcbUserSubmitText:!1,rcbUserUploadFile:!1,rcbTextAreaChangeValue:!1,rcbPreLoadChatBot:!1,rcbPostLoadChatBot:!1,rcbPreProcessBlock:!1,rcbPostProcessBlock:!1},ariaLabel:{chatButton:\"open chat\",audioButton:\"toggle audio\",closeChatButton:\"close chat\",emojiButton:\"emoji picker\",fileAttachmentButton:\"upload file\",notificationButton:\"toggle notifications\",sendButton:\"send message\",voiceButton:\"toggle voice\",inputTextArea:\"input text area\"},device:{desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!0}},H=r({settings:{},setSyncedSettings:()=>null,syncedSettingsRef:{current:{}}}),R=()=>o(H),z=({children:e,settings:t=N,setSyncedSettings:n,syncedSettingsRef:r})=>h(H.Provider,{value:{settings:t,setSyncedSettings:n,syncedSettingsRef:r},children:e}),j={tooltipStyle:{},notificationBadgeStyle:{},chatWindowStyle:{},headerStyle:{},bodyStyle:{},chatInputContainerStyle:{},chatInputAreaStyle:{},chatInputAreaFocusedStyle:{},chatInputAreaDisabledStyle:{},userBubbleStyle:{},botBubbleStyle:{},botOptionStyle:{},botOptionHoveredStyle:{},botCheckboxRowStyle:{},botCheckboxNextStyle:{},botCheckMarkStyle:{},botCheckMarkSelectedStyle:{},characterLimitStyle:{},characterLimitReachedStyle:{},chatHistoryLineBreakStyle:{},chatMessagePromptStyle:{},chatMessagePromptHoveredStyle:{},footerStyle:{},loadingSpinnerStyle:{},mediaDisplayContainerStyle:{},chatButtonStyle:{},chatButtonHoveredStyle:{},chatHistoryButtonStyle:{},chatHistoryButtonHoveredStyle:{},sendButtonStyle:{},sendButtonHoveredStyle:{},sendButtonDisabledStyle:{},audioButtonStyle:{},audioButtonDisabledStyle:{},closeChatButtonStyle:{},emojiButtonStyle:{},emojiButtonDisabledStyle:{},fileAttachmentButtonStyle:{},fileAttachmentButtonDisabledStyle:{},notificationButtonStyle:{},notificationButtonDisabledStyle:{},voiceButtonStyle:{},voiceButtonDisabledStyle:{},chatIconStyle:{},audioIconStyle:{},audioIconDisabledStyle:{},closeChatIconStyle:{},emojiIconStyle:{},emojiIconDisabledStyle:{},fileAttachmentIconStyle:{},fileAttachmentIconDisabledStyle:{},notificationIconStyle:{},notificationIconDisabledStyle:{},voiceIconStyle:{},voiceIconDisabledStyle:{},sendIconStyle:{},sendIconDisabledStyle:{},sendIconHoveredStyle:{},rcbTypingIndicatorContainerStyle:{},rcbTypingIndicatorDotStyle:{},toastPromptContainerStyle:{},toastPromptStyle:{},toastPromptHoveredStyle:{}},F=r({styles:{},setSyncedStyles:()=>null,syncedStylesRef:{current:{}}}),U=()=>o(F),_=({children:e,styles:t=j,setSyncedStyles:n,syncedStylesRef:r})=>h(F.Provider,{value:{styles:t,setSyncedStyles:n,syncedStylesRef:r},children:e}),q=({buttons:e})=>{var t,n,r,o,A,i,a;const{settings:l}=R(),{styles:s}=U(),d={backgroundImage:`linear-gradient(to right, ${null==(t=l.general)?void 0:t.secondaryColor},\\n\\t\\t\\t${null==(n=l.general)?void 0:n.primaryColor})`,...s.headerStyle};return g(\"div\",{style:d,className:\"rcb-chat-header-container\",children:[g(\"div\",{className:\"rcb-chat-header\",children:[(null==(r=l.header)?void 0:r.showAvatar)&&h(\"div\",{style:{backgroundImage:`url(\"${null==(o=l.header)?void 0:o.avatar}\")`},className:\"rcb-bot-avatar\"}),c(null==(A=l.header)?void 0:A.title)?null==(i=l.header)?void 0:i.title:h(\"div\",{style:{margin:0,fontSize:20,fontWeight:\"bold\"},children:null==(a=l.header)?void 0:a.title})]}),h(\"div\",{className:\"rcb-chat-header\",children:null==e?void 0:e.map((e,t)=>h(u,{children:e},t))})]})},Y=r({}),G=()=>o(Y),W=({children:e,botIdRef:t,flowRef:n})=>{const r=i(null),o=i(\"\"),A=i(null),a=i(new Map),l=i(null),s=i(\"\"),c=i(!1),u=i(null),d=i(null),p=i(null);return h(Y.Provider,{value:{botIdRef:t,flowRef:n,inputRef:r,timeoutIdRef:A,streamMessageMap:a,chatBodyRef:l,paramsInputRef:s,keepVoiceOnRef:c,audioContextRef:u,audioBufferRef:d,gainNodeRef:p,prevInputRef:o},children:e})},V=e=>{const[t,n]=a(e),r=i(e);return[t,e=>{const t=\"function\"==typeof e?e(r.current):e;r.current=t,n(t)},r]},X=r({}),K=()=>o(X),J=({children:e,settings:t})=>{var n,r,o,A,i,l;const[s,c,u]=V(!1),[d,p,f]=V((null==(n=null==t?void 0:t.chatWindow)?void 0:n.defaultOpen)??!1),[g,m,v]=V((null==(r=null==t?void 0:t.audio)?void 0:r.defaultToggledOn)??!1),[b,y,w]=V((null==(o=null==t?void 0:t.voice)?void 0:o.defaultToggledOn)??!1),[x,E,B]=V((null==(A=null==t?void 0:t.notification)?void 0:A.defaultToggledOn)??!0),[P,k]=a(!1),[D,C]=a(!1),[S,T,I]=V(!1),[Q,M,O]=V(!0),[L,N,H]=V(!1),[R,z]=a(!1),[j,F]=a(!1),[U,_]=a(0),[q,Y]=a(0),[G,W]=a(!1),[K,J]=a((null==(i=window.visualViewport)?void 0:i.height)??window.innerHeight),[Z,$]=a((null==(l=window.visualViewport)?void 0:l.width)??window.innerWidth);return h(X.Provider,{value:{isBotTyping:s,setSyncedIsBotTyping:c,syncedIsBotTypingRef:u,isChatWindowOpen:d,setSyncedIsChatWindowOpen:p,syncedIsChatWindowOpenRef:f,audioToggledOn:g,setSyncedAudioToggledOn:m,syncedAudioToggledOnRef:v,voiceToggledOn:b,setSyncedVoiceToggledOn:y,syncedVoiceToggledOnRef:w,notificationsToggledOn:x,setSyncedNotificationsToggledOn:E,syncedNotificationsToggledOnRef:B,isLoadingChatHistory:P,setIsLoadingChatHistory:k,hasChatHistoryLoaded:D,setHasChatHistoryLoaded:C,isScrolling:S,setSyncedIsScrolling:T,syncedIsScrollingRef:I,textAreaDisabled:Q,setSyncedTextAreaDisabled:M,syncedTextAreaDisabledRef:O,textAreaSensitiveMode:L,setSyncedTextAreaSensitiveMode:N,syncedTextAreaSensitiveModeRef:H,hasInteractedPage:R,setHasInteractedPage:z,hasFlowStarted:j,setHasFlowStarted:F,unreadCount:U,setUnreadCount:_,inputLength:q,setInputLength:Y,blockAllowsAttachment:G,setBlockAllowsAttachment:W,viewportHeight:K,setViewportHeight:J,viewportWidth:Z,setViewportWidth:$},children:e})};var Z=(e=>(e.START_SPEAK_AUDIO=\"rcb-start-speak-audio\",e.TOGGLE_AUDIO=\"rcb-toggle-audio\",e.TOGGLE_NOTIFICATIONS=\"rcb-toggle-notifications\",e.TOGGLE_VOICE=\"rcb-toggle-voice\",e.TOGGLE_CHAT_WINDOW=\"rcb-toggle-chat-window\",e.PRE_INJECT_MESSAGE=\"rcb-pre-inject-message\",e.POST_INJECT_MESSAGE=\"rcb-post-inject-message\",e.START_SIMULATE_STREAM_MESSAGE=\"rcb-start-simulate-stream-message\",e.STOP_SIMULATE_STREAM_MESSAGE=\"rcb-stop-simulate-stream-message\",e.START_STREAM_MESSAGE=\"rcb-start-stream-message\",e.CHUNK_STREAM_MESSAGE=\"rcb-chunk-stream-message\",e.STOP_STREAM_MESSAGE=\"rcb-stop-stream-message\",e.REMOVE_MESSAGE=\"rcb-remove-message\",e.SAVE_CHAT_HISTORY=\"rcb-save-chat-history\",e.LOAD_CHAT_HISTORY=\"rcb-load-chat-history\",e.CHANGE_PATH=\"rcb-change-path\",e.SHOW_TOAST=\"rcb-show-toast\",e.DISMISS_TOAST=\"rcb-dismiss-toast\",e.USER_SUBMIT_TEXT=\"rcb-user-submit-text\",e.USER_UPLOAD_FILE=\"rcb-user-upload-file\",e.TEXT_AREA_CHANGE_VALUE=\"rcb-text-area-change-value\",e.PRE_LOAD_CHATBOT=\"rcb-pre-load-chatbot\",e.POST_LOAD_CHATBOT=\"rcb-post-load-chatbot\",e.PRE_PROCESS_BLOCK=\"rcb-pre-process-block\",e.POST_PROCESS_BLOCK=\"rcb-post-process-block\",e))(Z||{});const $={[Z.START_SPEAK_AUDIO]:!0,[Z.TOGGLE_AUDIO]:!0,[Z.TOGGLE_VOICE]:!0,[Z.TOGGLE_NOTIFICATIONS]:!0,[Z.TOGGLE_CHAT_WINDOW]:!0,[Z.PRE_INJECT_MESSAGE]:!0,[Z.POST_INJECT_MESSAGE]:!1,[Z.PRE_LOAD_CHATBOT]:!0,[Z.POST_LOAD_CHATBOT]:!1,[Z.START_SIMULATE_STREAM_MESSAGE]:!0,[Z.STOP_SIMULATE_STREAM_MESSAGE]:!1,[Z.START_STREAM_MESSAGE]:!0,[Z.CHUNK_STREAM_MESSAGE]:!0,[Z.STOP_STREAM_MESSAGE]:!0,[Z.REMOVE_MESSAGE]:!0,[Z.SAVE_CHAT_HISTORY]:!0,[Z.LOAD_CHAT_HISTORY]:!0,[Z.CHANGE_PATH]:!0,[Z.SHOW_TOAST]:!0,[Z.DISMISS_TOAST]:!0,[Z.USER_SUBMIT_TEXT]:!0,[Z.USER_UPLOAD_FILE]:!0,[Z.TEXT_AREA_CHANGE_VALUE]:!0,[Z.PRE_PROCESS_BLOCK]:!0,[Z.POST_PROCESS_BLOCK]:!0},ee=async(e,t,n)=>{const r=new CustomEvent(e,{detail:t,cancelable:$[e]});return r.data=n,r.promises=[],window.dispatchEvent(r),await Promise.all(r.promises),r},te=r({paths:[],setSyncedPaths:()=>{},syncedPathsRef:{current:[]}}),ne=()=>o(te),re=({children:e})=>{const[t,n,r]=V([]);return h(te.Provider,{value:{paths:t,setSyncedPaths:n,syncedPathsRef:r},children:e})},oe=()=>{const{botIdRef:e}=G(),{syncedPathsRef:t}=ne(),n=A(()=>t.current.length>0?t.current.at(-1)??null:null,[]),r=A(()=>t.current.length>1?t.current.at(-2)??null:null,[]);return{dispatchRcbEvent:A(async(t,o)=>{const A={botId:e.current,currPath:n(),prevPath:r()};return await ee(t,A,o)},[e])}},Ae=()=>{const{settings:e}=R(),{isChatWindowOpen:t,setSyncedIsChatWindowOpen:n,viewportHeight:r,setViewportHeight:o,viewportWidth:i,setViewportWidth:a,setUnreadCount:l,setSyncedIsBotTyping:s,setSyncedIsScrolling:c,syncedIsBotTypingRef:u,syncedIsChatWindowOpenRef:d}=K(),{chatBodyRef:p}=G(),{dispatchRcbEvent:f}=oe(),h=A(()=>{if(!p.current)return!1;const e=p.current.getBoundingClientRect(),t=window.innerHeight??document.documentElement.clientHeight,n=window.innerWidth??document.documentElement.clientWidth;return e.top>=0&&e.left>=0&&e.bottom<=t&&e.right<=n},[p]),g=A(async t=>{var r;t!==d.current&&(null!=(r=e.event)&&r.rcbToggleChatWindow&&(await f(Z.TOGGLE_CHAT_WINDOW,{currState:d.current,newState:!d.current})).defaultPrevented||n(e=>(e||l(0),!e)))},[d]),m=A(async e=>{e!==u.current&&s(e=>!e)},[u]),v=A((e,t,n,r)=>(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t,[]),b=A((e=0)=>{if(!p.current)return;const t=p.current.scrollHeight-p.current.clientHeight;if(e<=0)return p.current.scrollTop=t,void c(!1);const n=p.current.scrollTop,r=t-n;let o=0;const A=()=>{if(!p.current)return;o+=20;const t=v(o,n,r,e);p.current.scrollTop=t,o<e?requestAnimationFrame(A):c(!1)};A()},[p]);return{isChatWindowOpen:t,setSyncedIsChatWindowOpen:n,toggleChatWindow:g,viewportHeight:r,setViewportHeight:o,viewportWidth:i,setViewportWidth:a,toggleIsBotTyping:m,scrollToBottom:b,getIsChatBotVisible:h}},ie=()=>{var e,t,n;const{settings:r}=R(),{styles:o}=U(),{unreadCount:A,isScrolling:i}=K(),{chatBodyRef:l}=G(),{scrollToBottom:s}=Ae(),[c,u]=a(!1),d={color:null==(e=r.general)?void 0:e.primaryColor,borderColor:null==(t=r.general)?void 0:t.primaryColor,...o.chatMessagePromptHoveredStyle};return h(\"div\",{className:\"rcb-message-prompt-container \"+(l.current&&(null==(p=r.chatWindow)?void 0:p.showMessagePrompt)&&i&&A>0?\"visible\":\"hidden\"),children:h(\"div\",{onMouseEnter:()=>{u(!0)},onMouseLeave:()=>{u(!1)},style:c?d:{...o.chatMessagePromptStyle},onMouseDown:e=>{e.preventDefault(),s(600)},className:\"rcb-message-prompt-text\",children:null==(n=r.chatWindow)?void 0:n.messagePromptText})});var p},ae=r({messages:[],setSyncedMessages:()=>{},syncedMessagesRef:{current:[]}}),le=()=>o(ae),se=({children:e})=>{const[t,n,r]=V([]);return h(ae.Provider,{value:{messages:t,setSyncedMessages:n,syncedMessagesRef:r},children:e})},ce=({message:e,isNewSender:t})=>{var n,r,o,A,i,a;const{settings:l}=R(),{styles:s}=U(),c=\"string\"==typeof e.content,u=e.content,d=e.contentWrapper?h(e.contentWrapper,{children:u}):u,p={backgroundColor:null==(n=l.general)?void 0:n.primaryColor,color:\"#fff\",maxWidth:null!=(r=l.userBubble)&&r.showAvatar?\"65%\":\"70%\",...s.userBubbleStyle},f=null!=(o=l.userBubble)&&o.animate?\"rcb-user-message-entry\":\"\",v=(null==(A=l.userBubble)?void 0:A.showAvatar)&&t,b=\"rcb-user-message\"+(!t&&null!=(i=l.userBubble)&&i.showAvatar?\" rcb-user-message-offset\":\"\");return g(\"div\",{className:\"rcb-user-message-container\",children:[c?h(\"div\",{style:p,className:`${b} ${f}`,children:d}):h(m,{children:d}),v&&h(\"div\",{style:{backgroundImage:`url(\"${null==(a=l.userBubble)?void 0:a.avatar}\")`},className:\"rcb-message-user-avatar\"})]})},ue=({message:e,isNewSender:t})=>{var n,r,o,A,i,a;const{settings:l}=R(),{styles:s}=U(),c=\"string\"==typeof e.content,u=e.content,d=e.contentWrapper?h(e.contentWrapper,{children:u}):u,p={backgroundColor:null==(n=l.general)?void 0:n.secondaryColor,color:\"#fff\",maxWidth:null!=(r=l.botBubble)&&r.showAvatar?\"65%\":\"70%\",...s.botBubbleStyle},f=null!=(o=l.botBubble)&&o.animate?\"rcb-bot-message-entry\":\"\",v=(null==(A=l.botBubble)?void 0:A.showAvatar)&&t,b=\"rcb-bot-message\"+(!t&&null!=(i=l.botBubble)&&i.showAvatar?\" rcb-bot-message-offset\":\"\");return g(\"div\",{className:\"rcb-bot-message-container\",children:[v&&h(\"div\",{style:{backgroundImage:`url(\"${null==(a=l.botBubble)?void 0:a.avatar}\")`},className:\"rcb-message-bot-avatar\"}),c?h(\"div\",{style:p,className:`${b} ${f}`,children:d}):h(m,{children:d})]})},de=()=>{var e,t,n;const{settings:r}=R(),{styles:o}=U(),A=null!=(e=r.botBubble)&&e.animate?\"rcb-bot-message-entry\":\"\";return g(\"div\",{className:\"rcb-bot-message-container\",children:[(null==(t=r.botBubble)?void 0:t.showAvatar)&&h(\"div\",{style:{backgroundImage:`url(\"${null==(n=r.botBubble)?void 0:n.avatar}\")`},className:\"rcb-message-bot-avatar\"}),h(\"div\",{onMouseDown:e=>{e.preventDefault()},className:`rcb-bot-message ${A}`,children:g(\"div\",{className:\"rcb-typing-indicator\",style:{...null==o?void 0:o.rcbTypingIndicatorContainerStyle},children:[h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}}),h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}}),h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}})]})})]})},pe=()=>{var e,t,n;const{settings:r}=R(),{styles:o}=U(),{messages:A}=le(),{scrollToBottom:i}=Ae(),{isBotTyping:a,syncedIsScrollingRef:s}=K(),{chatBodyRef:c}=G(),u={...null==o?void 0:o.bodyStyle,scrollbarWidth:null!=(e=r.chatWindow)&&e.showScrollbar?\"auto\":\"none\"};l(()=>{s.current||i()},[null==(t=c.current)?void 0:t.scrollHeight]);return g(\"div\",{style:u,className:\"rcb-chat-body-container\",ref:c,children:[A.map((e,t)=>{const n=(e=>0===e||A[e].sender!==A[e-1].sender)(t);return\"USER\"===e.sender.toUpperCase()?h(ce,{message:e,isNewSender:n},t):\"BOT\"===e.sender.toUpperCase()?h(ue,{message:e,isNewSender:n},t):h(\"div\",{children:e.content},t)}),a&&(null==(n=r.chatWindow)?void 0:n.showTypingIndicator)&&h(de,{}),h(ie,{})]})},fe=({checkboxes:e,checkedItems:t,path:n})=>{var r,o,A,i,s,c,u,d,p,f,m;const{settings:v}=R(),{styles:b}=U(),{paths:y}=ne(),{handleSubmitText:w}=pt(),[x,E]=a(new Set),[B,P]=a(!1),k={cursor:B?`url(\"${null==(r=v.general)?void 0:r.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(o=v.general)?void 0:o.primaryColor,borderColor:null==(A=v.general)?void 0:A.primaryColor,...b.botCheckboxRowStyle},D={cursor:B||x.size<e.min?`url(\"${null==(i=v.general)?void 0:i.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(s=v.general)?void 0:s.primaryColor,borderColor:null==(c=v.general)?void 0:c.primaryColor,...b.botCheckboxNextStyle},C={cursor:B?`url(\"${null==(u=v.general)?void 0:u.actionDisabledIcon}\"), auto`:\"pointer\",color:\"transparent\",...b.botCheckMarkStyle},S={cursor:B?`url(\"${null==(d=v.general)?void 0:d.actionDisabledIcon}\"), auto`:\"pointer\",color:\"#fff\",borderColor:null==(p=v.general)?void 0:p.primaryColor,backgroundColor:null==(f=v.general)?void 0:f.primaryColor,...b.botCheckMarkSelectedStyle};l(()=>{y.length>0&&y[y.length-1]!==n&&P(!e.reusable)},[y]);return g(\"div\",{className:\"rcb-checkbox-container \"+(null!=(m=v.botBubble)&&m.showAvatar?\"rcb-checkbox-offset\":\"\"),children:[e.items.map(n=>h(\"div\",{onMouseDown:r=>{r.preventDefault(),(n=>{B||E(r=>{const o=new Set(r);if(o.has(n))t.delete(n),o.delete(n);else{if(x.size==e.max)return r;t.add(n),o.add(n)}return o})})(n)},style:k,className:\"rcb-checkbox-row-container\",children:g(\"div\",{className:\"rcb-checkbox-row\",children:[h(\"div\",{style:x.has(n)?S:C,className:\"rcb-checkbox-mark\"}),h(\"div\",{className:\"rcb-checkbox-label\",children:n})]})},n)),h(\"div\",{style:D,className:\"rcb-checkbox-next-button\",onMouseDown:n=>{var r;if(n.preventDefault(),B||x.size<e.min)return;const o=Array.from(t).join(\", \");let A;P(!e.reusable),A=null!=e.sendOutput?e.sendOutput:(null==(r=v.chatInput)?void 0:r.sendCheckboxOutput)??!0,w(o,A)}})]})},he=async(e,t)=>{const n=e.checkboxes;if(!n)return;let r;if(\"function\"==typeof n?(r=n(t),r instanceof Promise&&(r=await r)):r=n,Array.isArray(r)&&(r={items:r}),!(\"items\"in r)||0==r.items.length)return;null==r.min&&(r.min=1),null==r.max&&(r.max=r.items.length),r.min>r.max&&(r.min=r.max),null==r.reusable&&(r.reusable=!1);const o=new Set,A=t.currPath,i=h(fe,{checkboxes:r,checkedItems:o,path:A});await t.injectMessage(i)},ge=async(e,t)=>{const n=e.function;if(!n)return;const r=n(t);return r instanceof Promise?await r:r},me=async(e,t,n)=>{const r=e.message;if(!r)return;if(\"string\"==typeof r)return void(\"\"!==r.trim()&&(n?await t.simulateStreamMessage(r):await t.injectMessage(r)));let o=r(t);o instanceof Promise&&(o=await o),\"string\"==typeof o&&\"\"!==o.trim()&&(n?await t.simulateStreamMessage(o):await t.injectMessage(o))},ve=({options:e,path:t})=>{var n,r,o,A,i,s;const{settings:c}=R(),{styles:u}=U(),{paths:d}=ne(),{handleSubmitText:p}=pt(),[f,g]=a([]),[m,v]=a(!1),b={cursor:m?`url(\"${null==(n=c.general)?void 0:n.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(r=c.general)?void 0:r.primaryColor,borderColor:null==(o=c.general)?void 0:o.primaryColor,backgroundColor:\"#fff\",...u.botOptionStyle},y={color:\"#fff\",borderColor:null==(A=c.general)?void 0:A.primaryColor,backgroundColor:null==(i=c.general)?void 0:i.primaryColor,...u.botOptionHoveredStyle};l(()=>{d.length>0&&d[d.length-1]!==t&&v(!e.reusable)},[d]);return h(\"div\",{className:\"rcb-options-container \"+(null!=(s=c.botBubble)&&s.showAvatar?\"rcb-options-offset\":\"\"),children:e.items.map((t,n)=>{const r=f[n]&&!m;return h(\"div\",{className:\"rcb-options\",style:r?y:b,onMouseEnter:()=>(e=>{g(t=>{const n=[...t];return n[e]=!0,n})})(n),onMouseLeave:()=>(e=>{g(t=>{const n=[...t];return n[e]=!1,n})})(n),onMouseDown:n=>{var r;if(n.preventDefault(),m)return;let o;v(!e.reusable),o=null!=e.sendOutput?e.sendOutput:(null==(r=c.chatInput)?void 0:r.sendOptionOutput)??!0,p(t,o)},children:t},t)})})},be=async(e,t)=>{const n=e.options;if(!n)return;let r;if(\"function\"==typeof n?(r=n(t),r instanceof Promise&&(r=await r)):r=n,Array.isArray(r)&&(r={items:r}),!(\"items\"in r)||0==r.items.length)return;null==r.reusable&&(r.reusable=!1);const o=t.currPath,A=h(ve,{options:r,path:o});await t.injectMessage(A)},ye=async(e,t)=>{const n=e.component;if(n){if(\"function\"==typeof n){let e=n(t);if(e instanceof Promise&&(e=await e),!e)return;return void await t.injectMessage(e)}await t.injectMessage(n)}},we=async(e,t,n,r)=>{const o=e.transition;let A;if(\"function\"==typeof o?(A=o(t),A instanceof Promise&&(A=await A)):A=o,\"number\"==typeof A&&(A={duration:A}),!A||A instanceof Promise||null==A.duration||\"number\"!=typeof A.duration)return;null==A.interruptable&&(A.interruptable=!1);const i=setTimeout(async()=>{const n=await r(e);n&&await Be(n,t)},A.duration);A.interruptable&&(n.current=i)},xe=async(e,t,n)=>{const r=e.chatDisabled;if(null==r)return;let o;\"function\"==typeof r?(o=r(t),o instanceof Promise&&(o=await o)):o=r,n(o)},Ee=async(e,t,n)=>{const r=e.isSensitive;if(!r)return void n(!1);let o;\"function\"==typeof r?(o=r(t),o instanceof Promise&&(o=await o)):o=r,n(o)},Be=async(e,t)=>{if(!e)throw new Error(\"Block is not valid.\");const n=Object.keys(e);for(const r of n)\"function\"===r&&await ge(e,t);n.includes(\"path\")&&await(async(e,t)=>{const n=e.path;if(!n)return!1;if(\"string\"==typeof n)return await t.goToPath(n),!0;let r=n(t);if(r instanceof Promise&&(r=await r),!r)return!1;const o=r;return await t.goToPath(o),!0})(e,t)},Pe=()=>{var e;const{settings:t}=R(),{styles:n}=U();return h(\"div\",{className:\"rcb-line-break-container\",children:h(\"div\",{style:{...n.chatHistoryLineBreakStyle},className:\"rcb-line-break-text\",\"data-testid\":\"chat-history-line-break-text\",children:null==(e=t.chatHistory)?void 0:e.chatHistoryLineBreakText})})},ke=()=>{var e;const{settings:t}=R(),{styles:n}=U(),r={borderTop:`4px solid ${null==(e=t.general)?void 0:e.primaryColor}`,...n.loadingSpinnerStyle};return h(\"div\",{className:\"rcb-spinner-container\",children:h(\"div\",{style:r,className:\"rcb-spinner\"})})},De=()=>{try{if(typeof crypto<\"u\"&&\"function\"==typeof crypto.randomUUID)return crypto.randomUUID();throw new Error(\"crypto.randomUUID not available\")}catch(e){if(typeof crypto<\"u\"&&\"function\"==typeof crypto.getRandomValues)return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(e){const t=crypto.getRandomValues(new Uint8Array(1))[0]%16;return(\"x\"===e?t:3&t|8).toString(16)});throw console.error(e),new Error(\"crypto.getRandomValues is also not available\")}},Ce=(e,t)=>({id:De(),content:e,sender:t,type:\"string\"==typeof e?\"string\":\"object\",timestamp:(new Date).toUTCString(),tags:[]});let Se,Te=!1,Ie=\"rcb-history\",Qe=30,Me=!1,Oe=[];const Le=()=>Oe,Ne=e=>{He(e),Oe=e},He=e=>{Se&&Se.setItem(Ie,JSON.stringify(e))},Re=e=>{var t,n,r,o,A;Se=\"SESSION_STORAGE\"===(null==(n=null==(t=e.chatHistory)?void 0:t.storageType)?void 0:n.toUpperCase())?sessionStorage:localStorage,Ie=null==(r=e.chatHistory)?void 0:r.storageKey,Qe=null==(o=e.chatHistory)?void 0:o.maxEntries,Me=null==(A=e.chatHistory)?void 0:A.disabled,Oe=(e=>{if(null!=e)try{return JSON.parse(e)}catch{return[]}return[]})(Se.getItem(Ie))},ze=e=>c(e.content)?structuredClone({id:e.id,content:v.renderToString(e.content),type:e.type,sender:e.sender.toUpperCase(),timestamp:e.timestamp,tags:e.tags}):e,je=(e,t,n)=>{const r=(new DOMParser).parseFromString(e,\"text/html\");return Array.from(r.body.childNodes).map((e,r)=>{var o;if(e.nodeType===Node.TEXT_NODE)return e.textContent;{const A=e.tagName.toLowerCase();let i=Array.from(e.attributes).reduce((e,t)=>{const n=t.name.toLowerCase();if(\"style\"===n){const r=t.value.split(\";\").filter(e=>\"\"!==e.trim()),o={};r.forEach(e=>{const[t,n]=e.split(\":\").map(e=>e.trim()),r=t.replace(/-([a-z])/g,(e,t)=>t.toUpperCase());o[r]=n}),e[n]=o}else\"audio\"!==A&&\"video\"!==A||\"controls\"!==n||\"\"!==t.value?e[n]=t.value:e[n]=\"true\";return e},{});if(Object.prototype.hasOwnProperty.call(i,\"class\")){const r=e.classList;i.className=r.toString(),delete i.class,null!=(o=t.botBubble)&&o.showAvatar&&(i=Fe(r,i)),i=Ue(r,i,t,n),i=_e(r,i,t,n),i=qe(r,i,t,n),i=Ye(r,i,t,n)}if([\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"link\",\"meta\",\"source\",\"track\",\"wbr\"].includes(A))return d(A,{key:r,...i});{const o=je(e.innerHTML,t,n);return d(A,{key:r,...i},...o)}}})},Fe=(e,t)=>((e.contains(\"rcb-options-container\")||e.contains(\"rcb-checkbox-container\"))&&(t.className=`${e.toString()} rcb-options-offset`),t),Ue=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-options\")&&(t.style={...t.style,color:(null==(o=r.botOptionStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botOptionStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botOptionStyle}),t},_e=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-checkbox-row-container\")&&(t.style={...t.style,color:(null==(o=r.botCheckboxRowStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botCheckboxRowStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botCheckboxRowStyle}),t},qe=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-checkbox-next-button\")&&(t.style={...t.style,color:(null==(o=r.botCheckboxNextStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botCheckboxNextStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botCheckboxNextStyle}),t},Ye=(e,t,n,r)=>{var o,A;return(e.contains(\"rcb-media-display-image-container\")||e.contains(\"rcb-media-display-video-container\"))&&(t.style={...t.style,backgroundColor:null==(o=n.general)?void 0:o.primaryColor,maxWidth:null!=(A=n.userBubble)&&A.showAvatar?\"65%\":\"70%\",...r.mediaDisplayContainerStyle}),t},Ge=()=>{const{settings:e}=R(),{notificationsToggledOn:t,setSyncedNotificationsToggledOn:n,hasInteractedPage:r,unreadCount:o,setUnreadCount:i,syncedNotificationsToggledOnRef:a}=K(),{audioBufferRef:l,audioContextRef:s,gainNodeRef:c}=G(),{dispatchRcbEvent:u}=oe(),d=A(async()=>{var t,n;const r=null==(t=e.notification)?void 0:t.sound;s.current=new AudioContext;const o=s.current.createGain();let A;if(o.gain.value=(null==(n=e.notification)?void 0:n.volume)??.2,c.current=o,null!=r&&r.startsWith(\"data:audio\")){const e=atob(r.split(\",\")[1]),t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);A=t}else A=await(await fetch(r)).arrayBuffer();l.current=await s.current.decodeAudioData(A)},[e.notification]),p=A(()=>{var t;if(null!=(t=e.notification)&&t.disabled||!a.current||!r||!s.current||!l.current)return;const n=s.current.createBufferSource();n.buffer=l.current,n.connect(c.current).connect(s.current.destination),n.start()},[e.notification,a,r,s,l,c]);return{unreadCount:o,setUnreadCount:i,notificationsToggledOn:t,toggleNotifications:A(async t=>{var r;t!==a.current&&(null!=(r=e.event)&&r.rcbToggleNotifications&&(await u(Z.TOGGLE_NOTIFICATIONS,{currState:a.current,newState:!a.current})).defaultPrevented||n(e=>!e))},[a]),playNotificationSound:p,setUpNotifications:d}},We=(e,t)=>{var n,r,o,A;((e,t,n,r,o)=>{if(!window.SpeechSynthesisUtterance)return void console.info(\"Speech Synthesis API is not supported in this environment.\");const A=new window.SpeechSynthesisUtterance;A.text=e,A.lang=t,A.rate=r,A.volume=o;let i=!1;for(const e of n){const t=window.speechSynthesis.getVoices().find(t=>t.name===e);if(t){A.voice=t,window.speechSynthesis.speak(A),i=!0;break}}i||window.speechSynthesis.speak(A)})(t,null==(n=e.audio)?void 0:n.language,null==(r=e.audio)?void 0:r.voiceNames,null==(o=e.audio)?void 0:o.rate,null==(A=e.audio)?void 0:A.volume)},Ve=()=>{const{settings:e}=R(),{audioToggledOn:t,setSyncedAudioToggledOn:n,syncedAudioToggledOnRef:r}=K(),{dispatchRcbEvent:o}=oe(),i=A(async t=>{var A;t!==r.current&&(null!=(A=e.event)&&A.rcbToggleAudio&&(await o(Z.TOGGLE_AUDIO,{currState:r.current,newState:!r.current})).defaultPrevented||n(e=>!e))},[r]),a=A(async t=>{var n,A;if(null!=(n=e.audio)&&n.disabled||!r.current)return;let i=t;if(null!=(A=e.event)&&A.rcbStartSpeakAudio){const e=await o(Z.START_SPEAK_AUDIO,{textToRead:i});if(e.defaultPrevented)return;i=e.data.textToRead}We(e,i)},[e,r]);return{audioToggledOn:t,speakAudio:a,toggleAudio:i}},Xe=()=>{var e,t,n;const{settings:r}=R(),{messages:o,setSyncedMessages:i,syncedMessagesRef:a}=le(),{setSyncedIsBotTyping:l,setUnreadCount:s,syncedIsScrollingRef:c,syncedIsChatWindowOpenRef:u}=K(),{streamMessageMap:d,chatBodyRef:p,paramsInputRef:f}=G(),{scrollToBottom:h,getIsChatBotVisible:g}=Ae(),{dispatchRcbEvent:m}=oe(),{speakAudio:v}=Ve(),{playNotificationSound:b}=Ge(),y=A(async e=>{var t,n;if(null!=(t=r.event)&&t.rcbSaveChatHistory){const t=await m(Z.SAVE_CHAT_HISTORY,{messages:e});if(t.defaultPrevented)return;e=(null==(n=t.data)?void 0:n.messages)??e}await(async e=>{if(Me||!Se)return;const t=[];for(let n=e.length-1;n>=0;n--){const r=e[n];if(\"SYSTEM\"!==r.sender.toUpperCase()&&(\"\"!==r.content&&t.unshift(r),t.length===Qe))break}let n=t.map(ze);if(!Te&&n.length<Qe){const e=Qe-n.length;n=[...Oe.slice(-e),...n]}He(n)})(e)},[m,null==(e=r.event)?void 0:e.rcbSaveChatHistory]),w=A((e,t=!1)=>{var n,o;y(e);let A=!0;const i=e[e.length-1];if(!i)return;const a=i.sender.toUpperCase();\"USER\"===a&&(A=!1),null!=(n=r.general)&&n.embedded&&g()&&(A=!1),(u.current&&!c.current||t)&&(A=!1),A&&b(),!t&&(\"USER\"!==a&&null!=(o=r.chatWindow)&&o.autoJumpToBottom||\"USER\"===a||!c.current)&&setTimeout(()=>h(),1)},[r,p,u,c,b,h,g]),x=A(async(e,t=\"BOT\",n=null)=>{var o,A,d,p,h;if(\"string\"!=typeof e)throw new Error(\"Content must be of type string to simulate stream.\");t=t.toUpperCase();let g=Ce(e,t);if(null!=(o=r.event)&&o.rcbStartSimulateStreamMessage){const e=await m(Z.START_SIMULATE_STREAM_MESSAGE,{message:g});if(e.defaultPrevented)return null;n=e.data.simulateStreamChunker||n,g=e.data.message}l(!1);let b=30;b=\"BOT\"===t?null==(A=r.botBubble)?void 0:A.streamSpeed:null==(d=r.userBubble)?void 0:d.streamSpeed;const x={...g,content:\"\"};i(e=>[...e,x]),w(a.current);let E=g.content;n&&(E=n(E));let B=0;const P=E.length;\"BOT\"===g.sender.toUpperCase()&&(u.current||null!=(p=r.general)&&p.embedded)&&\"string\"==typeof g.content&&\"\"!==g.content.trim()&&v(g.content);const k=new Promise(e=>{const t=setInterval(()=>{if(B>=P)return clearInterval(t),void e();i(e=>{const t=[...e];for(let e=t.length-1;e>=0;e--)if(t[e].id===x.id){const n=E[B];n&&(x.content+=n,t[e]=x),B++;break}return t})},b)});return(c.current||!u.current)&&s(e=>e+1),await k,y(a.current),null!=(h=r.event)&&h.rcbStopSimulateStreamMessage&&await m(Z.STOP_SIMULATE_STREAM_MESSAGE,{message:g}),\"USER\"===t&&(f.current=e),g},[r,m,w,a,f,l,s,u,v]),E=A(async(e,t=\"BOT\")=>{var n,o,A;t=t.toUpperCase();let l=Ce(e,t);if(null!=(n=r.event)&&n.rcbPreInjectMessage){const e=await m(Z.PRE_INJECT_MESSAGE,{message:l});if(e.defaultPrevented)return null;l=e.data.message}return\"BOT\"===l.sender.toUpperCase()&&(u.current||null!=(o=r.general)&&o.embedded)&&\"string\"==typeof l.content&&\"\"!==l.content.trim()&&v(l.content),(c.current||!u.current)&&s(e=>e+1),null!=(A=r.event)&&A.rcbPostInjectMessage&&await m(Z.POST_INJECT_MESSAGE,{message:l}),i(e=>[...e,l]),w(a.current),\"USER\"===t&&\"string\"==typeof e&&(f.current=e),l},[r,m,w,f,a,u,v,s]),B=A(async e=>{var t;let n=a.current.find(t=>t.id===e),o=null,A=!1;return n||(o=Le(),n=o.find(t=>t.id===e),n&&(A=!0)),!n||null!=(t=r.event)&&t.rcbRemoveMessage&&(await m(Z.REMOVE_MESSAGE,{message:n})).defaultPrevented?null:A?(o&&Ne(o.filter(t=>t.id!==e)),n):(i(t=>t.filter(t=>t.id!==e)),w(a.current),s(e=>Math.max(e-1,0)),n)},[m,null==(t=r.event)?void 0:t.rcbRemoveMessage,w,a,s,Le,Ne]),P=A(async(e,t=\"BOT\")=>{var n,o;if(t=t.toUpperCase(),!d.current.has(t)){const o=Ce(e,t);return null!=(n=r.event)&&n.rcbStartStreamMessage&&(await m(Z.START_STREAM_MESSAGE,{message:o})).defaultPrevented?null:(l(!1),i(e=>[...e,o]),w(a.current),d.current.set(t,o.id),(c.current||!u.current)&&s(e=>e+1),o)}const A={...Ce(e,t),id:d.current.get(t)};return null!=(o=r.event)&&o.rcbChunkStreamMessage&&(await m(Z.CHUNK_STREAM_MESSAGE,{message:A})).defaultPrevented?null:(i(e=>e.map(e=>e.id===A.id?A:e)),w(a.current,!0),A)},[m,r.event,w,a,l,s,d]),k=A(async(e=\"BOT\")=>{var t;if(e=e.toUpperCase(),!d.current.has(e))return!0;const n=d.current.get(e);let o;for(let e=0;e<3;e++){const e=a.current.find(e=>e.id===n);e&&(o=e),await new Promise(e=>setTimeout(e,20))}return(null==(t=r.event)||!t.rcbStopStreamMessage||!(await m(Z.STOP_STREAM_MESSAGE,{message:o})).defaultPrevented)&&(d.current.delete(e),y(a.current),\"USER\"===e&&\"string\"==typeof(null==o?void 0:o.content)&&(f.current=o.content),!0)},[m,null==(n=r.event)?void 0:n.rcbStopStreamMessage,d,f]),D=A(e=>{const t=\"function\"==typeof e?e(a.current):e;i(t),w(t)},[w,a]),C=A((e,t,n=0)=>{var r;const o=a.current,A=e?e.toUpperCase():null,i=[];let l=n;for(let e=o.length-1;e>=0;e--){const n=o[e];if(!A||(null==(r=null==n?void 0:n.sender)?void 0:r.toUpperCase())===A){if(l>0){l--;continue}if(i.push(n),void 0!==t&&i.length===t)break}}return i.length>0?i:null},[a]);return{simulateStreamMessage:x,injectMessage:E,removeMessage:B,streamMessage:P,endStreamMessage:k,replaceMessages:D,getMessages:C,messages:o}};let Ke,Je,Ze,$e=!1,et=null;const tt=()=>{if(!Ke){const e=window.SpeechRecognition||window.webkitSpeechRecognition;Ke=null!=e?new e:null}return Ke},nt=(e,t,n,r,o,A)=>{var i,a,l;const s=tt();if(!s)return;if(!$e)try{$e=!0,s.lang=null==(i=e.voice)?void 0:i.language,s.start()}catch{}const c=null==(a=e.voice)?void 0:a.timeoutPeriod,u=null==(l=e.voice)?void 0:l.autoSendPeriod;s.onresult=i=>{var a,l;clearTimeout(Je),Je=null,clearTimeout(Ze);const s=i.results[i.results.length-1][0].transcript;if(A.current){const t=null==(a=e.chatInput)?void 0:a.characterLimit,n=A.current.value+s;null!=t&&t>=0&&n.length>t?r(n.slice(0,t)):r(n),o(A.current.value.length)}c&&(Je=setTimeout(async()=>await At(t,A),c)),null!=(l=e.voice)&&l.autoSendDisabled||(Ze=setTimeout(n,u))},s.onend=()=>{$e?(s.start(),!Je&&c&&(Je=setTimeout(async()=>await At(t,A),c))):(clearTimeout(Je),Je=null,clearTimeout(Ze))},c&&(Je=setTimeout(async()=>await At(t,A),c))},rt=(e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0}).then(n=>{if(et=new MediaRecorder(n),!$e)try{$e=!0,et.start()}catch{}et.ondataavailable=e=>{t.current&&t.current.push(e.data)},et.onstop=()=>{e(),n.getTracks().forEach(e=>e.stop())}}).catch(e=>{console.error(\"Unable to use microphone:\",e)})},ot=()=>{const e=tt();e&&($e=!1,e&&e.stop(),et&&\"inactive\"!==et.state&&(et.stop(),et=null),clearTimeout(Je),Je=null,clearTimeout(Ze))},At=async(e,t)=>{var n;null!=(n=t.current)&&n.disabled||await e(),ot()},it=()=>{const{settings:e}=R(),{voiceToggledOn:t,setSyncedVoiceToggledOn:n,syncedVoiceToggledOnRef:r}=K(),{dispatchRcbEvent:o}=oe(),i=A(async t=>{var A;t!==r.current&&(null!=(A=e.event)&&A.rcbToggleVoice&&(await o(Z.TOGGLE_VOICE,{currState:r.current,newState:!r.current})).defaultPrevented||n(e=>!e))},[r]),a=A(t=>{((e,t)=>{var n,r,o;const A=tt();null!=(n=t.voice)&&n.disabled||null==(r=t.chatInput)||!r.blockSpam||!A||(e&&!$e?($e=!0,null!=(o=t.voice)&&o.sendAsAudio?null==et||et.start():A.start()):e||ot())})(t,e)},[e]);return{voiceToggledOn:t,toggleVoice:i,syncVoice:a}},at=()=>{var e;const{settings:t}=R(),{inputLength:n,setInputLength:r,textAreaDisabled:o,setSyncedTextAreaDisabled:i,textAreaSensitiveMode:a,setSyncedTextAreaSensitiveMode:l,syncedTextAreaDisabledRef:s,syncedTextAreaSensitiveModeRef:c}=K(),{inputRef:u,chatBodyRef:d,prevInputRef:p}=G(),{dispatchRcbEvent:f}=oe(),{getIsChatBotVisible:h}=Ae(),g=A(async e=>{var n,r,o;if(s.current&&u.current)u.current.value=\"\";else if(u.current&&null!==p.current){const A=null==(n=t.chatInput)?void 0:n.characterLimit,i=(null==(r=t.chatInput)?void 0:r.allowNewline)?e:e.replace(/\\n/g,\" \");if(null!=A&&A>=0&&i.length>A?u.current.value=i.slice(0,A):u.current.value=i,null!=(o=t.event)&&o.rcbTextAreaChangeValue&&(await f(Z.TEXT_AREA_CHANGE_VALUE,{currValue:u.current.value,prevValue:p.current})).defaultPrevented)return void(u.current.value=p.current);p.current=u.current.value}},[s,u,p,t,f]),m=A(e=>{var n;null!=(n=u.current)&&n.disabled||setTimeout(()=>{var n,r,o;null!=(n=t.general)&&n.embedded?h()&&(null==(r=u.current)||r.focus()):\"start\"!==e&&(null==(o=u.current)||o.focus())},100)},[u,null==(e=t.general)?void 0:e.embedded,d,h]),v=A(()=>{u.current&&u.current.focus()},[]),b=A(()=>{u.current&&u.current.blur()},[]),y=A(()=>u&&u.current?u.current.value:\"\",[]),w=A(e=>{e!==s.current&&i(e=>!e)},[s]),x=A(e=>{e!==c.current&&l(e=>!e)},[c]);return{textAreaDisabled:o,setSyncedTextAreaDisabled:i,textAreaSensitiveMode:a,setSyncedTextAreaSensitiveMode:l,inputLength:n,setInputLength:r,getTextAreaValue:y,setTextAreaValue:g,updateTextAreaFocus:m,focusTextArea:v,blurTextArea:b,toggleTextAreaDisabled:w,toggleTextAreaSensitiveMode:x}},lt=r({toasts:[],setSyncedToasts:()=>{},syncedToastsRef:{current:[]}}),st=()=>o(lt),ct=({children:e})=>{const[t,n,r]=V([]);return h(lt.Provider,{value:{toasts:t,setSyncedToasts:n,syncedToastsRef:r},children:e})},ut=()=>{const{settings:e}=R(),{toasts:t,setSyncedToasts:n,syncedToastsRef:r}=st(),{dispatchRcbEvent:o}=oe(),i=A(async(t,A)=>{var i,a,l,s;let c=null;if(r.current.length>=((null==(i=e.toast)?void 0:i.maxCount)??3)){if(null!=(a=e.toast)&&a.forbidOnMax)return null;c=De();let r={id:c,content:t,timeout:A};if(null!=(l=e.event)&&l.rcbShowToast){const e=await o(Z.SHOW_TOAST,{toast:r});if(e.defaultPrevented)return null;r=e.data.toast}return n(e=>[...e.slice(1),r]),c}c=De();let u={id:c,content:t,timeout:A};if(null!=(s=e.event)&&s.rcbShowToast){const e=await o(Z.SHOW_TOAST,{toast:u});if(e.defaultPrevented)return null;u=e.data.toast}return n(e=>[...e,u]),c},[e,o]),a=A(async t=>{var A;const i=r.current.find(e=>e.id===t);return!i||null!=(A=e.event)&&A.rcbDismissToast&&(await o(Z.DISMISS_TOAST,{toast:i})).defaultPrevented?null:(n(e=>e.filter(e=>e.id!==t)),t)},[o]),l=A(e=>{const t=\"function\"==typeof e?e(r.current):e;n(t)},[r]);return{showToast:i,dismissToast:a,toasts:t,replaceToasts:l}},dt=()=>{var e,t,n,r,o;const{settings:i}=R(),{paths:a,setSyncedPaths:l,syncedPathsRef:s}=ne(),{flowRef:c,streamMessageMap:u,paramsInputRef:d,keepVoiceOnRef:p,timeoutIdRef:f}=G(),{setSyncedIsBotTyping:h,setSyncedTextAreaDisabled:g,setSyncedTextAreaSensitiveMode:m,blockAllowsAttachment:v,setBlockAllowsAttachment:b}=K(),{dispatchRcbEvent:y}=oe(),{endStreamMessage:w,injectMessage:x,removeMessage:E,simulateStreamMessage:B,streamMessage:P}=Xe(),{showToast:k,dismissToast:D}=ut(),{toggleChatWindow:C}=Ae(),{updateTextAreaFocus:S,setTextAreaValue:T}=at(),{syncVoice:I}=it(),Q=A(async e=>{var t;if(null!=(t=i.event)&&t.rcbPostProcessBlock){const t=await y(Z.POST_PROCESS_BLOCK,{block:e});if(t.defaultPrevented)return null;e=t.data.block}return e},[null==(e=i.event)?void 0:e.rcbPostProcessBlock,y]),M=A(async(e,t)=>{var n,r,o,A;if(!e)return;let a=c.current[e];if(!a)return void h(!1);if(null!=(n=i.event)&&n.rcbPreProcessBlock){const e=await y(Z.PRE_PROCESS_BLOCK,{block:a});if(e.defaultPrevented)return;a=e.data.block}h(!0),null!=(r=i.chatInput)&&r.blockSpam&&g(!0),m(!1);const l={prevPath:t,currPath:e,goToPath:N,setTextAreaValue:T,userInput:d.current,endStreamMessage:w,injectMessage:x,removeMessage:E,simulateStreamMessage:B,streamMessage:P,toggleChatWindow:C,showToast:k,dismissToast:D};await(async(e,t,n,r,o,A,i)=>{if(!e)throw new Error(\"Block is not valid.\");for(const a of Object.keys(e))switch(a){case\"message\":await me(e,t,n);break;case\"options\":await be(e,t);break;case\"checkboxes\":await he(e,t);break;case\"component\":await ye(e,t);break;case\"chatDisabled\":await xe(e,t,o);break;case\"isSensitive\":await Ee(e,t,A);break;case\"transition\":await we(e,t,r,i)}})(a,l,(null==(o=i.botBubble)?void 0:o.simulateStream)??!1,f,g,m,Q),h(!1),\"chatDisabled\"in a||g(null==(A=i.chatInput)?void 0:A.disabled),\"isSensitive\"in a||m(!1),b(\"function\"==typeof a.file),S(e),I(p.current&&!a.chatDisabled),e!==t&&u.current.clear()},[c,S,I,null==(t=i.botBubble)?void 0:t.simulateStream,null==(n=i.chatInput)?void 0:n.disabled,d,w,x,E,B,P,C,k,D,p,u]),O=A(()=>s.current.length>0?s.current.at(-1)??null:null,[]),L=A(()=>s.current.length>1?s.current.at(-2)??null:null,[]),N=A(async e=>{var t;const n=O(),r=L();return(null==(t=i.event)||!t.rcbChangePath||!(await y(Z.CHANGE_PATH,{currPath:n,prevPath:r,nextPath:e})).defaultPrevented)&&(l(t=>[...t,e]),await M(e,n),!0)},[null==(r=i.chatInput)?void 0:r.blockSpam,null==(o=i.event)?void 0:o.rcbChangePath,M,y]),H=A(e=>{const t=\"function\"==typeof e?e(s.current):e;l(t)},[s]);return{getCurrPath:O,getPrevPath:L,goToPath:N,blockAllowsAttachment:v,setBlockAllowsAttachment:b,paths:a,replacePaths:H,firePostProcessBlockEvent:Q}},pt=()=>{var e,t,n,r;const{settings:o}=R(),{endStreamMessage:i,injectMessage:a,removeMessage:l,simulateStreamMessage:s,streamMessage:c}=Xe(),{syncedPathsRef:u}=ne(),{getCurrPath:d,getPrevPath:p,goToPath:f,firePostProcessBlockEvent:h}=dt(),{setSyncedTextAreaSensitiveMode:g,setSyncedTextAreaDisabled:m,setSyncedIsBotTyping:v,setBlockAllowsAttachment:b,setInputLength:y,syncedVoiceToggledOnRef:w,syncedTextAreaSensitiveModeRef:x}=K(),{flowRef:E,inputRef:B,keepVoiceOnRef:P,paramsInputRef:k,timeoutIdRef:D}=G(),{showToast:C,dismissToast:S}=ut(),{dispatchRcbEvent:T}=oe(),{syncVoice:I}=it(),{setTextAreaValue:Q}=at(),{toggleChatWindow:M}=Ae(),O=A(async e=>{var t,n,r,A,i,l;const c=d();if(c&&E.current[c]){if(x.current){if(null!=(t=null==o?void 0:o.sensitiveInput)&&t.hideInUserBubble)return;if(null!=(n=null==o?void 0:o.sensitiveInput)&&n.maskInUserBubble)return void(null!=(r=o.userBubble)&&r.simulateStream?await s(\"*\".repeat((null==(A=o.sensitiveInput)?void 0:A.asterisksCount)??10),\"USER\"):await a(\"*\".repeat((null==(i=o.sensitiveInput)?void 0:i.asterisksCount)??10),\"USER\"))}null!=(l=o.userBubble)&&l.simulateStream?await s(e,\"USER\"):await a(e,\"USER\")}},[E,d,o,a,s,x]),L=A(async(e,t=!0)=>{var n,r;if(\"\"===(e=e.trim()))return;t&&await O(e),D.current&&clearTimeout(D.current),B.current&&(Q(\"\"),y(0));const A=d();if(!A)return;let x=E.current[A];const T=await h(x);T&&(null!=(n=o.chatInput)&&n.blockSpam&&m(!0),P.current=w.current,I(!1),setTimeout(()=>{v(!0)},400),g(!1),setTimeout(async()=>{var e;const t={prevPath:p(),currPath:d(),goToPath:f,setTextAreaValue:Q,userInput:k.current,injectMessage:a,simulateStreamMessage:s,streamMessage:c,removeMessage:l,endStreamMessage:i,toggleChatWindow:M,showToast:C,dismissToast:S},n=u.current.length;await Be(T,t),u.current.length===n&&(m(\"chatDisabled\"in x?!!x.chatDisabled:!(null==(e=o.chatInput)||!e.disabled)),Ee(x,t,g),b(\"function\"==typeof x.file),I(P.current),v(!1))},null==(r=o.chatInput)?void 0:r.botDelay))},[D,null==(e=o.chatInput)?void 0:e.blockSpam,null==(t=o.chatInput)?void 0:t.botDelay,null==(n=o.chatInput)?void 0:n.disabled,P,w,I,O,p,d,f,a,s,c,l,i,M,C,S,E]);return{handleSubmitText:A(async(e,t=!0)=>{var n,r;e=e??(null==(n=B.current)?void 0:n.value),!(null!=(r=o.event)&&r.rcbUserSubmitText&&(await T(Z.USER_SUBMIT_TEXT,{inputText:e,sendInChat:t})).defaultPrevented||!d())&&L(e,t)},[T,d,L,B,null==(r=o.event)?void 0:r.rcbUserSubmitText])}},ft=()=>{var e;const{settings:t}=R();return s(()=>{var e;if(typeof window>\"u\"||!window.navigator)return!1;if(null==(e=t.device)||!e.applyMobileOptimizations)return!0;const n=navigator.userAgent,r=!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n),o=window.innerWidth>=768;return r&&o},[null==(e=t.device)?void 0:e.applyMobileOptimizations])},ht=({buttons:e})=>{var t,n,r,o,A,i,l,s,c,d,p;const f=ft(),{settings:v}=R(),{styles:b}=U(),{textAreaDisabled:y,textAreaSensitiveMode:w,inputLength:x,hasFlowStarted:E,setHasFlowStarted:B,setInputLength:P}=K(),{inputRef:k}=G(),[D,C]=a(!1),[S,T]=a(!1),{handleSubmitText:I}=pt(),{setTextAreaValue:Q}=at(),M={boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle},O={outline:y?\"\":\"none\",boxShadow:y?\"\":`0 0 5px ${null==(t=v.general)?void 0:t.primaryColor}`,boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle,...b.chatInputAreaFocusedStyle},L={cursor:`url(\"${null==(n=v.general)?void 0:n.actionDisabledIcon}\"), auto`,caretColor:\"transparent\",boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle,...b.chatInputAreaDisabledStyle},N={color:\"#989898\",...b.characterLimitStyle},H={color:\"#ff0000\",...b.characterLimitReachedStyle},z=y?null==(r=v.chatInput)?void 0:r.disabledPlaceholderText:null==(o=v.chatInput)?void 0:o.enabledPlaceholderText,j=()=>{y||C(!0)},F=()=>{C(!1)},_=()=>{T(!0)},q=()=>{T(!1)},Y=async e=>{var t;if(!S&&\"Enter\"===e.key){if(e.shiftKey)return void(null!=(t=v.chatInput)&&t.allowNewline||e.preventDefault());e.preventDefault(),await I()}},W=e=>{k.current&&(Q(e.target.value),P(k.current.value.length))};return g(\"div\",{\"aria-label\":(null==(A=v.ariaLabel)?void 0:A.inputTextArea)??\"input text area\",role:\"textbox\",onMouseDown:e=>{var t;e.stopPropagation(),!E&&\"ON_CHATBOT_INTERACT\"===(null==(t=v.general)?void 0:t.flowStartTrigger)&&B(!0)},style:{...b.chatInputContainerStyle},className:\"rcb-chat-input\",children:[w&&null!=(i=v.sensitiveInput)&&i.maskInTextArea?h(\"input\",{ref:k,type:\"password\",className:\"rcb-chat-input-textarea\",style:y?L:D?O:M,placeholder:z,onChange:W,onKeyDown:Y,onFocus:j,onBlur:F,onCompositionStart:_,onCompositionEnd:q}):h(\"textarea\",{ref:k,style:y?L:D?O:M,rows:1,className:\"rcb-chat-input-textarea\",placeholder:z,onChange:W,onKeyDown:Y,onFocus:j,onBlur:F,onCompositionStart:_,onCompositionEnd:q}),g(m,{children:[null==e?void 0:e.map((e,t)=>h(u,{children:e},t)),(null==(l=v.chatInput)?void 0:l.showCharacterCount)&&null!=(null==(s=v.chatInput)?void 0:s.characterLimit)&&(null==(c=v.chatInput)?void 0:c.characterLimit)>0&&g(\"div\",{className:\"rcb-chat-input-char-counter\",style:x>=(null==(d=v.chatInput)?void 0:d.characterLimit)?H:N,children:[x,\"/\",null==(p=v.chatInput)?void 0:p.characterLimit]})]})]})},gt=({buttons:e})=>{var t;const{settings:n}=R(),{styles:r}=U();return g(\"div\",{\"data-testid\":\"chatbot-footer-container\",style:{...r.footerStyle},className:\"rcb-chat-footer-container\",children:[h(\"div\",{className:\"rcb-chat-footer\",children:null==e?void 0:e.map((e,t)=>h(u,{children:e},t))}),h(\"span\",{children:null==(t=n.footer)?void 0:t.text})]})},mt=()=>{var e,t,n,r,o,A,i;const{settings:l}=R(),{styles:s}=U(),{unreadCount:c}=K(),{isChatWindowOpen:u,toggleChatWindow:d}=Ae(),[p,f]=a(!1),v={backgroundImage:`linear-gradient(to right, ${null==(e=l.general)?void 0:e.secondaryColor},\\n\\t\\t\\t${null==(t=l.general)?void 0:t.primaryColor})`,...s.chatButtonStyle},b={transform:\"scale(1.05)\",...v,...s.chatButtonHoveredStyle},y={backgroundImage:`url(${null==(n=l.chatButton)?void 0:n.icon})`,fill:\"#fff\",width:75,height:75,...s.chatIconStyle};return h(m,{children:!(null!=(r=l.general)&&r.embedded)&&g(\"div\",{\"aria-label\":(null==(o=l.ariaLabel)?void 0:o.chatButton)??\"open chat\",role:\"button\",style:p?b:v,className:\"rcb-toggle-button \"+(u?\"rcb-button-hide\":\"rcb-button-show\"),onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},onClick:()=>d(!0),children:[(()=>{var e;const t=null==(e=l.chatButton)?void 0:e.icon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-toggle-icon\",children:h(t,{style:y})}):h(\"span\",{className:\"rcb-toggle-icon\",style:y})})(),!(null!=(A=l.notification)&&A.disabled)&&(null==(i=l.notification)?void 0:i.showCount)&&h(\"span\",{style:{...s.notificationBadgeStyle},className:\"rcb-badge\",children:c})]})})},vt=()=>{var e,t,n,r,o,A;const i=ft(),{settings:s}=R(),{styles:c}=U(),{chatBodyRef:u}=G(),{isChatWindowOpen:d,toggleChatWindow:p}=Ae(),[f,v]=a(!1),[b,y]=a(!1),[w,x]=a(0);l(()=>{var e,t,n;const r=null==(e=s.tooltip)?void 0:e.mode;if(\"ALWAYS\"===r)if(i){let e;e=d?((null==(t=u.current)?void 0:t.offsetWidth)??375)-(\"number\"==typeof(null==(n=c.chatButtonStyle)?void 0:n.width)?c.chatButtonStyle.width:75):0,x(e),v(!0)}else v(!d);else\"NEVER\"===r?v(!1):\"START\"===r?b?v(!1):(y(!0),v(!0)):\"CLOSE\"===r&&v(!d)},[d,i,b,null==(e=c.chatButtonStyle)?void 0:e.width,null==(t=s.tooltip)?void 0:t.mode]);const E={transform:`translateX(-${w}px)`,right:((null==(n=c.chatButtonStyle)?void 0:n.width)??75)+40,bottom:30,backgroundColor:null==(r=s.general)?void 0:r.secondaryColor,color:\"#fff\",...c.tooltipStyle},B={borderColor:`transparent transparent transparent ${E.backgroundColor}`};return h(m,{children:!(null!=(o=s.general)&&o.embedded)&&g(\"div\",{\"data-testid\":\"chat-tooltip\",style:E,className:\"rcb-chat-tooltip \"+(f?\"rcb-tooltip-show\":\"rcb-tooltip-hide\"),onClick:()=>p(!0),children:[h(\"span\",{children:null==(A=s.tooltip)?void 0:A.text}),h(\"span\",{className:\"rcb-chat-tooltip-tail\",style:B})]})})},bt=({id:e,content:t,timeout:n})=>{var r,o;const{settings:A}=R(),{styles:i}=U(),[s]=a({toastPromptStyle:{...i.toastPromptStyle},toastPromptHoveredStyle:{...i.toastPromptHoveredStyle}}),{dismissToast:c}=ut(),[u,d]=a(!1),p={color:null==(r=A.general)?void 0:r.primaryColor,borderColor:null==(o=A.general)?void 0:o.primaryColor,...s.toastPromptHoveredStyle};return l(()=>{if(n){const t=setTimeout(()=>{c(e)},n);return()=>clearTimeout(t)}},[e,c,n]),\"string\"==typeof t?h(\"div\",{onMouseEnter:()=>{d(!0)},onMouseLeave:()=>{d(!1)},style:u?p:s.toastPromptStyle,onMouseDown:async t=>{var n;null!=(n=A.toast)&&n.dismissOnClick&&(t.preventDefault(),await c(e))},className:\"rcb-toast-prompt\",children:t}):h(m,{children:t})},yt=()=>{var e,t,n,r,o,A,i,a,l,s,c,u;const{styles:d}=U(),{toasts:p}=st(),f={bottom:`calc(${\"number\"==typeof(null==(e=d.footerStyle)?void 0:e.height)?`${null==(t=d.footerStyle)?void 0:t.height}px`:(null==(n=d.footerStyle)?void 0:n.height)??\"50px\"} + ${\"number\"==typeof(null==(r=d.chatInputContainerStyle)?void 0:r.height)?`${null==(o=d.chatInputContainerStyle)?void 0:o.height}px`:(null==(A=d.chatInputContainerStyle)?void 0:A.height)??\"70px\"} + 20px)`,width:300,minWidth:`calc(${\"number\"==typeof(null==(i=d.chatWindowStyle)?void 0:i.width)?`${null==(a=d.chatWindowStyle)?void 0:a.width}px`:(null==(l=d.chatWindowStyle)?void 0:l.width)??\"375px\"} / 2)`,maxWidth:`calc(${\"number\"==typeof(null==(s=d.chatWindowStyle)?void 0:s.width)?`${null==(c=d.chatWindowStyle)?void 0:c.width}px`:(null==(u=d.chatWindowStyle)?void 0:u.width)??\"375px\"} - 50px)`,...d.toastPromptContainerStyle};return h(\"div\",{className:\"rcb-toast-prompt-container\",style:f,children:p.map(e=>h(bt,{id:e.id,content:e.content,timeout:e.timeout},e.id))})},wt=({file:e,fileType:t,fileUrl:n})=>{var r,o,A;const{settings:i}=R(),{styles:a}=U(),l={backgroundColor:null==(r=i.general)?void 0:r.primaryColor,maxWidth:null!=(o=i.userBubble)&&o.showAvatar?\"65%\":\"70%\",...a.mediaDisplayContainerStyle};return h(m,{children:n?g(m,{children:[\"image\"===t&&n&&h(\"div\",{style:l,className:\"rcb-media-display-image-container rcb-media-entry\",\"data-testid\":\"media-display-image-container\",children:h(\"img\",{src:n,alt:\"Image Display\",className:\"rcb-media-display-image\"})}),\"video\"===t&&n&&h(\"div\",{style:l,className:\"rcb-media-display-video-container rcb-media-entry\",\"data-testid\":\"media-display-video-container\",children:g(\"video\",{controls:!0,className:\"rcb-media-display-video\",children:[h(\"source\",{src:n,type:e.type}),\"Your browser does not support the video tag.\"]})}),\"audio\"===t&&n&&g(\"audio\",{\"data-testid\":\"media-display-audio-container\",style:{maxWidth:null!=(A=i.userBubble)&&A.showAvatar?\"65%\":\"70%\"},controls:!0,className:\"rcb-media-display-audio rcb-media-entry\",children:[h(\"source\",{src:n,type:e.type}),\"Your browser does not support the audio tag.\"]})]}):h(m,{})})},xt=async e=>{if(!e)return{fileType:null,fileUrl:null};const t=e.type.split(\"/\")[0];if(![\"image\",\"video\",\"audio\"].includes(t))return{fileType:null,fileUrl:null};try{return{fileType:t,fileUrl:await new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(new Error(\"File reading failed\")),r.readAsDataURL(e)})}}catch(e){return console.error(e),{fileType:null,fileUrl:null}}},Et=()=>{var e,t,n,r,o,A;const{settings:i}=R(),{styles:a}=U(),{injectMessage:l,simulateStreamMessage:s,streamMessage:c,removeMessage:u,endStreamMessage:d}=Xe(),{getCurrPath:p,getPrevPath:f,goToPath:m,blockAllowsAttachment:v}=dt(),{flowRef:b,inputRef:y}=G(),w=b.current,{showToast:x,dismissToast:E}=ut(),{dispatchRcbEvent:B}=oe(),{toggleChatWindow:P}=Ae(),{setTextAreaValue:k}=at(),{handleSubmitText:D}=pt(),C={cursor:`url(\"${null==(e=i.general)?void 0:e.actionDisabledIcon}\"), auto`,...a.fileAttachmentButtonStyle,...a.fileAttachmentButtonDisabledStyle},S={backgroundImage:`url(${null==(t=i.fileAttachment)?void 0:t.icon})`,fill:\"#a6a6a6\",...a.fileAttachmentIconStyle},T={backgroundImage:`url(${null==(n=i.fileAttachment)?void 0:n.icon})`,fill:\"#a6a6a6\",...a.fileAttachmentIconStyle,...a.fileAttachmentIconDisabledStyle};return g(\"label\",{\"aria-label\":(null==(r=i.ariaLabel)?void 0:r.fileAttachmentButton)??\"upload file\",role:\"button\",className:v?\"rcb-attach-button-enabled\":\"rcb-attach-button-disabled\",style:v?{...a.fileAttachmentButtonStyle}:C,children:[h(\"input\",{className:\"rcb-attach-input\",role:\"file\",type:\"file\",onChange:async e=>{var t,n,r,o;const A=e.target.files;if(!A)return;const a=Array.from(A);if(e.target.value=\"\",null!=(t=i.event)&&t.rcbUserUploadFile&&(await B(Z.USER_UPLOAD_FILE,{files:a})).defaultPrevented)return;const g=p();if(!g)return;const v=w[g];if(!v)return;const b=v.file;if(null!=b){const e=[];for(let t=0;t<a.length;t++){if(e.push(a[t].name),null==(n=i.fileAttachment)||!n.showMediaDisplay)continue;const r=await xt(a[t]);!r.fileType||!r.fileUrl||await l(h(wt,{file:a[t],fileType:r.fileType,fileUrl:r.fileUrl}),\"USER\")}await D(\"📄 \"+e.join(\", \"),null==(r=i.fileAttachment)?void 0:r.sendFileName),await b({userInput:null==(o=y.current)?void 0:o.value,prevPath:f(),currPath:p(),goToPath:m,setTextAreaValue:k,injectMessage:l,simulateStreamMessage:s,streamMessage:c,removeMessage:u,endStreamMessage:d,toggleChatWindow:P,showToast:x,dismissToast:E,files:a})}},multiple:null==(o=i.fileAttachment)?void 0:o.multiple,accept:null==(A=i.fileAttachment)?void 0:A.accept,disabled:!v}),(()=>{var e,t;const n=v?null==(e=i.fileAttachment)?void 0:e.icon:null==(t=i.fileAttachment)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:v?\"rcb-attach-icon-enabled\":\"rcb-attach-icon-disabled\",children:h(n,{style:v?S:T})}):h(\"span\",{className:v?\"rcb-attach-icon-enabled\":\"rcb-attach-icon-disabled\",style:v?S:T})})()]})},Bt=()=>{var e,t,n,r,o,A;const{settings:s}=R(),{styles:c}=U(),{syncedTextAreaDisabledRef:u}=K(),{inputRef:d}=G(),{textAreaDisabled:p,setTextAreaValue:f}=at(),v=i(null),b=i(null),[y,w]=a(!1),x={cursor:`url(\"${null==(e=s.general)?void 0:e.actionDisabledIcon}\"), auto`,...c.emojiButtonStyle,...c.emojiButtonDisabledStyle},E={backgroundImage:`url(${null==(t=s.emoji)?void 0:t.icon})`,fill:\"#a6a6a6\",...c.emojiIconStyle},B={backgroundImage:`url(${null==(n=s.emoji)?void 0:n.icon})`,fill:\"#a6a6a6\",...c.emojiIconStyle,...c.emojiIconDisabledStyle};l(()=>{const e=e=>{const t=e.composedPath();v.current&&!t.includes(v.current)&&b.current&&!t.includes(b.current)&&w(!1)},t=()=>{(()=>{if(v.current&&b.current){const e=b.current.getBoundingClientRect(),t=v.current.offsetHeight,n=e.top-t-8;v.current.style.left=`${e.left}px`,v.current.style.top=`${n}px`}})()};return document.addEventListener(\"mousedown\",e),window.addEventListener(\"resize\",t),()=>{document.removeEventListener(\"mousedown\",e),window.removeEventListener(\"resize\",t)}},[]);return g(m,{children:[h(\"div\",{\"aria-label\":(null==(r=s.ariaLabel)?void 0:r.emojiButton)??\"emoji picker\",role:\"button\",ref:b,className:\"\"+(p?\"rcb-emoji-button-disabled\":\"rcb-emoji-button-enabled\"),style:p?x:{...c.emojiButtonStyle},onMouseDown:e=>{e.preventDefault(),u.current?w(!1):w(e=>!e)},children:(()=>{var e,t;const n=p?null==(e=s.emoji)?void 0:e.iconDisabled:null==(t=s.emoji)?void 0:t.icon;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"\"+(p?\"rcb-emoji-icon-disabled\":\"rcb-emoji-icon-enabled\"),children:h(n,{style:p?B:E})}):h(\"span\",{className:\"\"+(p?\"rcb-emoji-icon-disabled\":\"rcb-emoji-icon-enabled\"),style:p?B:E})})()}),y&&h(\"div\",{className:\"rcb-emoji-button-popup\",ref:v,children:null==(A=null==(o=s.emoji)?void 0:o.list)?void 0:A.map((e,t)=>h(\"span\",{className:\"rcb-emoji\",onMouseDown:t=>((e,t)=>{e.preventDefault(),d.current&&(f(d.current.value+t),setTimeout(()=>{const e=d.current;if(e){e.focus();const t=e.value.length;e.setSelectionRange(t,t)}},50)),w(!1)})(t,e),children:e},t))})]})},Pt=()=>{var e,t,n;const{settings:r}=R(),{styles:o}=U(),{audioToggledOn:A,toggleAudio:i}=Ve(),a={backgroundImage:`url(${null==(e=r.audio)?void 0:e.icon})`,fill:\"#fcec3d\",...o.audioIconStyle},l={backgroundImage:`url(${null==(t=r.audio)?void 0:t.iconDisabled})`,fill:\"#e8eaed\",...o.audioIconStyle,...o.audioIconDisabledStyle};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.audioButton)??\"toggle audio\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),await i()},style:A?{...o.audioButtonStyle}:{...o.audioButtonStyle,...o.audioButtonDisabledStyle},children:(()=>{var e,t;const n=A?null==(e=r.audio)?void 0:e.icon:null==(t=r.audio)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-audio-icon\",\"data-testid\":\"rcb-audio-icon\",children:h(n,{style:A?a:l,\"data-testid\":\"rcb-audio-icon-svg\"})}):h(\"span\",{className:\"rcb-audio-icon\",\"data-testid\":\"rcb-audio-icon\",style:A?a:l})})()})},kt=()=>{var e,t;const{settings:n}=R(),{styles:r}=U(),{toggleChatWindow:o}=Ae(),A={backgroundImage:`url(${null==(e=n.header)?void 0:e.closeChatIcon})`,fill:\"#e8eaed\",stroke:\"#e8eaed\",...r.closeChatIconStyle};return h(\"div\",{\"aria-label\":(null==(t=n.ariaLabel)?void 0:t.closeChatButton)??\"close chat\",role:\"button\",onMouseDown:e=>{e.stopPropagation(),o(!1)},style:{...r.closeChatButtonStyle},children:(()=>{var e;const t=null==(e=n.header)?void 0:e.closeChatIcon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-close-chat-icon\",\"data-testid\":\"rcb-close-chat-icon\",children:h(t,{style:A})}):h(\"span\",{className:\"rcb-close-chat-icon\",\"data-testid\":\"rcb-close-chat-icon\",style:A})})()})},Dt=()=>{var e,t,n;const{settings:r}=R(),{styles:o}=U(),{notificationsToggledOn:A,toggleNotifications:i}=(()=>{const{notificationsToggledOn:e,toggleNotifications:t,playNotificationSound:n}=Ge();return{notificationsToggledOn:e,toggleNotifications:t,playNotificationSound:n}})(),a={backgroundImage:`url(${null==(e=r.notification)?void 0:e.icon})`,fill:\"#fcec3d\",...o.notificationIconStyle},l={backgroundImage:`url(${null==(t=r.notification)?void 0:t.iconDisabled})`,fill:\"#e8eaed\",...o.notificationIconStyle,...o.notificationIconDisabledStyle};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.notificationButton)??\"toggle notifications\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),await i()},style:A?{...o.notificationButtonStyle}:{...o.notificationButtonStyle,...o.notificationButtonDisabledStyle},children:(()=>{var e,t;const n=A?null==(e=r.notification)?void 0:e.icon:null==(t=r.notification)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-notification-icon\",\"data-testid\":\"rcb-notification-icon\",children:h(n,{style:A?a:l,\"data-testid\":\"rcb-notification-icon-svg\"})}):h(\"span\",{className:\"rcb-notification-icon\",\"data-testid\":\"rcb-notification-icon\",style:A?a:l})})()})},Ct=()=>{var e,t,n;const{settings:r}=R(),{styles:o}=U(),{injectMessage:A}=Xe(),{inputRef:s}=G(),{voiceToggledOn:c,toggleVoice:u}=it(),{setInputLength:d,setTextAreaValue:p,textAreaDisabled:f}=at(),{handleSubmitText:g}=pt(),m=i([]),[v,b]=a(!1);l(()=>{var e;null!=(e=r.voice)&&e.sendAsAudio?(E(),m.current=[]):g()},[v]),l(()=>{c?((e,t,n,r,o,A,i)=>{var a;null!=(a=e.voice)&&a.sendAsAudio?rt(n,A):nt(e,t,n,r,o,i)})(r,u,x,p,d,m,s):ot()},[c]);const y={backgroundImage:`url(${null==(e=r.voice)?void 0:e.icon})`,fill:\"#9aa0a6\",...o.voiceIconStyle},w={backgroundImage:`url(${null==(t=r.voice)?void 0:t.iconDisabled})`,fill:\"#9aa0a6\",...o.voiceIconStyle,...o.voiceIconDisabledStyle},x=()=>{b(e=>!e)},E=async()=>{const e=new Blob(m.current,{type:\"audio/wav\"}),t=new File([e],\"voice-input.wav\",{type:\"audio/wav\"}),n=await xt(t);!n.fileType||!n.fileUrl||await A(h(wt,{file:t,fileType:n.fileType,fileUrl:n.fileUrl}),\"USER\")};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.voiceButton)??\"toggle voice\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),!f&&await u()},style:c&&!f?{...o.voiceButtonStyle}:{...o.voiceButtonStyle,...o.voiceButtonDisabledStyle},className:c&&!f?\"rcb-voice-button-enabled\":\"rcb-voice-button-disabled\",children:(()=>{var e,t;const n=c?null==(e=r.voice)?void 0:e.icon:null==(t=r.voice)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-voice-icon \"+(c&&!f?\"on\":\"\"),children:h(n,{style:c&&!f?y:w})}):h(\"span\",{className:\"rcb-voice-icon\"+(c&&!f?\"-on\":\"\"),\"data-testid\":\"rcb-voice-icon\",style:c&&!f?y:w})})()})},St=()=>{var e,t,n,r,o,A,i,l;const{settings:s}=R(),{styles:c}=U(),{textAreaDisabled:u}=K(),[d,p]=a(!1),{handleSubmitText:f}=pt(),g={backgroundColor:null==(e=s.general)?void 0:e.primaryColor,...c.sendButtonStyle},m={cursor:`url(\"${null==(t=s.general)?void 0:t.actionDisabledIcon}\"), auto`,backgroundColor:null==(n=s.general)?void 0:n.primaryColor,...c.sendButtonStyle,...c.sendButtonDisabledStyle},v={backgroundColor:null==(r=s.general)?void 0:r.secondaryColor,...c.sendButtonStyle,...c.sendButtonHoveredStyle},b={backgroundImage:`url(${null==(o=s.chatInput)?void 0:o.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle},y={backgroundImage:`url(${null==(A=s.chatInput)?void 0:A.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle,...c.sendIconDisabledStyle},w={backgroundImage:`url(${null==(i=s.chatInput)?void 0:i.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle,...c.sendIconHoveredStyle};return h(\"div\",{\"aria-label\":(null==(l=s.ariaLabel)?void 0:l.sendButton)??\"send message\",role:\"button\",onMouseEnter:()=>{p(!0)},onMouseLeave:()=>{p(!1)},onMouseDown:async e=>{null==e||e.preventDefault(),!u&&await f()},style:u?m:d?v:g,className:\"rcb-send-button\",children:(()=>{var e;const t=null==(e=s.chatInput)?void 0:e.sendButtonIcon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-send-icon\",\"data-testid\":\"rcb-send-icon\",children:h(t,{style:u?y:d?w:b})}):h(\"span\",{className:\"rcb-send-icon\",\"data-testid\":\"rcb-send-icon\",style:u?y:d?w:b})})()})},Tt=(e,t)=>{var n,r,o,A,i,a,l,s,c;const u={[E.AUDIO_BUTTON]:null==(n=e.audio)?void 0:n.disabled,[E.CLOSE_CHAT_BUTTON]:null==(r=e.general)?void 0:r.embedded,[E.EMOJI_PICKER_BUTTON]:null==(o=e.emoji)?void 0:o.disabled,[E.FILE_ATTACHMENT_BUTTON]:null==(A=e.fileAttachment)?void 0:A.disabled,[E.NOTIFICATION_BUTTON]:null==(i=e.notification)?void 0:i.disabled,[E.SEND_MESSAGE_BUTTON]:!1,[E.VOICE_MESSAGE_BUTTON]:null==(a=e.voice)?void 0:a.disabled},d={},p=e=>e?e.map(e=>{if(\"string\"==typeof e){if((e=>Object.values(E).includes(e))(e)&&!u[e]){if(d[e])return d[e];const n=t[e];if(\"function\"==typeof n){const t=n();return d[e]=t,t}return null}return null}return e}).filter(e=>null!==e):[];return{header:p(null==(l=e.header)?void 0:l.buttons),chatInput:p(null==(s=e.chatInput)?void 0:s.buttons),footer:p(null==(c=e.footer)?void 0:c.buttons)}},It=()=>{const{settings:e}=R(),t=s(()=>({[E.CLOSE_CHAT_BUTTON]:()=>h(kt,{}),[E.AUDIO_BUTTON]:()=>h(Pt,{}),[E.NOTIFICATION_BUTTON]:()=>h(Dt,{}),[E.EMOJI_PICKER_BUTTON]:()=>h(Bt,{}),[E.FILE_ATTACHMENT_BUTTON]:()=>h(Et,{}),[E.SEND_MESSAGE_BUTTON]:()=>h(St,{}),[E.VOICE_MESSAGE_BUTTON]:()=>h(Ct,{})}),[]),{header:n,chatInput:r,footer:o}=s(()=>Tt(e,t),[e,t]);return{headerButtons:s(()=>n,[n]),chatInputButtons:s(()=>r,[r]),footerButtons:s(()=>o,[o])}},Qt=()=>{const{settings:e}=R(),{styles:t}=U(),{setSyncedMessages:n,syncedMessagesRef:r}=le(),{isLoadingChatHistory:o,setIsLoadingChatHistory:i,hasChatHistoryLoaded:a,setHasChatHistoryLoaded:l}=K(),{chatBodyRef:s}=G(),{dispatchRcbEvent:c}=oe(),u=A(async()=>{var o,A;const a=Le();if(!a||null!=(o=e.event)&&o.rcbLoadChatHistory&&(await c(Z.LOAD_CHAT_HISTORY,{})).defaultPrevented)return;i(!0);const u=(null==(A=s.current)?void 0:A.scrollHeight)??0;((e,t,n,r,o,A,i,a,l)=>{var s;if(Te=!0,null!=n)try{const s=Ce(h(ke,{}),\"SYSTEM\"),c=o.current.slice(1);r([s,...c]);const u=n.map(n=>{if(\"object\"===n.type){const r=je(n.content,e,t);return{...n,content:r}}return n});setTimeout(()=>{var t;const n=o.current.slice(1);let A=null!=(t=e.chatHistory)&&t.autoLoad?Ce(h(m,{}),\"SYSTEM\"):Ce(h(Pe,{}),\"SYSTEM\");r([...u,A,...n]),l(!0)},500),setTimeout(()=>{if(!A.current)return;const{scrollHeight:e}=A.current,t=e-i;A.current.scrollTop+=t,a(!1)},510)}catch{Se.removeItem(null==(s=e.chatHistory)?void 0:s.storageKey)}})(e,t,a,n,r,s,u,i,l)},[e,t,c,r,s,i,l]);return{isLoadingChatHistory:o,setIsLoadingChatHistory:i,hasChatHistoryLoaded:a,showChatHistory:u}},Mt=()=>{var e,t,n;const{settings:r}=R(),{styles:o}=U(),{showChatHistory:A}=Qt(),[i,l]=a(!1),s={color:null==(e=r.general)?void 0:e.primaryColor,borderColor:null==(t=r.general)?void 0:t.primaryColor,...o.chatHistoryButtonStyle,...o.chatHistoryButtonHoveredStyle};return h(\"div\",{className:\"rcb-view-history-container\",children:h(\"div\",{onMouseEnter:()=>{l(!0)},onMouseLeave:()=>{l(!1)},style:i?s:{...o.chatHistoryButtonStyle},onMouseDown:e=>{e.preventDefault(),A()},className:\"rcb-view-history-button\",role:\"button\",tabIndex:0,children:h(\"p\",{children:null==(n=r.chatHistory)?void 0:n.viewChatHistoryButtonText})})})},Ot=()=>{var e,t,n,r;const o=ft(),{settings:a}=R(),{replaceMessages:s}=Xe(),{isBotTyping:c,isChatWindowOpen:u,setUnreadCount:d,setSyncedIsChatWindowOpen:p,setSyncedTextAreaDisabled:f,setSyncedAudioToggledOn:g,setSyncedVoiceToggledOn:m,setSyncedIsScrolling:v,syncedIsScrollingRef:b,syncedIsChatWindowOpenRef:y}=K(),{chatBodyRef:w}=G(),{viewportHeight:x,setViewportHeight:E,setViewportWidth:B,scrollToBottom:P}=Ae(),{setUpNotifications:k}=Ge(),{handleFirstInteraction:D}=(()=>{var e;const{settings:t}=R(),{hasInteractedPage:n,setHasInteractedPage:r,hasFlowStarted:o,setHasFlowStarted:i}=K(),a=A(()=>{var e;if(r(!0),!o&&\"ON_PAGE_INTERACT\"===(null==(e=t.general)?void 0:e.flowStartTrigger)&&i(!0),!window.SpeechSynthesisUtterance)return void console.info(\"Speech Synthesis API is not supported in this environment.\");const n=new window.SpeechSynthesisUtterance;n.text=\"\",n.onend=()=>{window.removeEventListener(\"click\",a),window.removeEventListener(\"keydown\",a),window.removeEventListener(\"touchstart\",a)},window.speechSynthesis.speak(n)},[o,null==(e=t.general)?void 0:e.flowStartTrigger]);return{hasInteractedPage:n,handleFirstInteraction:a}})(),{showChatHistory:C}=Qt(),S=i(0),T=i(!1);l(()=>(window.addEventListener(\"click\",D),window.addEventListener(\"keydown\",D),window.addEventListener(\"touchstart\",D),()=>{window.removeEventListener(\"click\",D),window.removeEventListener(\"keydown\",D),window.removeEventListener(\"touchstart\",D)}),[]),l(()=>{const e=w.current;if(!e)return;const t=()=>{T.current||(T.current=!0,requestAnimationFrame(()=>{var t,n;if(!e)return;const{scrollTop:r,clientHeight:o,scrollHeight:A}=e,i=r+o<A-((null==(t=a.chatWindow)?void 0:t.messagePromptOffset)??30);v(i),b.current=i,i||(r+o>=A-1&&(e.scrollTop=A-o-1),(y.current||null!=(n=a.general)&&n.embedded)&&d(0)),T.current=!1}))};return e.addEventListener(\"wheel\",t,{passive:!0}),e.addEventListener(\"touchmove\",t,{passive:!0}),()=>{e.removeEventListener(\"wheel\",t),e.removeEventListener(\"touchmove\",t)}},[]),l(()=>{var e,t,n;f(null==(e=a.chatInput)?void 0:e.disabled),p(null==(t=a.chatWindow)?void 0:t.defaultOpen),g(null==(n=a.audio)?void 0:n.defaultToggledOn),setTimeout(()=>{var e;m(null==(e=a.voice)?void 0:e.defaultToggledOn)},1)},[]),l(()=>{var e;null!=(e=a.notification)&&e.disabled||k()},[null==(e=a.notification)?void 0:e.disabled]),l(()=>{!b.current&&null!=w&&w.current&&P()},[c]),l(()=>{var e,t;if(null!=(e=a.chatHistory)&&e.disabled)Se&&Se.removeItem(Ie);else if(Re(a),Le().length>0){const e=Ce(h(Mt,{}),\"SYSTEM\");s([e]),null!=(t=a.chatHistory)&&t.autoLoad&&C()}},[null==(t=a.chatHistory)?void 0:t.storageKey,null==(n=a.chatHistory)?void 0:n.maxEntries,null==(r=a.chatHistory)?void 0:r.disabled]),l(()=>{var e;o||null!=(e=a.general)&&e.embedded||!navigator.virtualKeyboard||(navigator.virtualKeyboard.overlaysContent=!0,navigator.virtualKeyboard.addEventListener(\"geometrychange\",e=>{if(!e.target)return;const{x:t,y:n,width:r,height:o}=e.target.boundingRect;0==t&&0==n&&0==r&&0==o?(setTimeout(()=>{var e;E(null==(e=window.visualViewport)?void 0:e.height)},101),setTimeout(()=>{var e,t;x!=(null==(e=window.visualViewport)?void 0:e.height)&&E(null==(t=window.visualViewport)?void 0:t.height)},1001)):setTimeout(()=>{var e;E((null==(e=window.visualViewport)?void 0:e.height)-o)},101)}))},[o]),l(()=>{var e,t,n,r;if(o)return;u&&(E(null==(e=window.visualViewport)?void 0:e.height),B(null==(t=window.visualViewport)?void 0:t.width));const A=()=>window.scrollTo({top:0,left:0,behavior:\"auto\"}),i=()=>S.current=window.scrollY,a=()=>{var e,t;E(null==(e=window.visualViewport)?void 0:e.height),B(null==(t=window.visualViewport)?void 0:t.width)},l=()=>{var e;window.removeEventListener(\"scroll\",A),window.removeEventListener(\"scroll\",i),null==(e=window.visualViewport)||e.removeEventListener(\"resize\",a)};return u?(l(),document.body.style.position=\"fixed\",window.addEventListener(\"scroll\",A),null==(n=window.visualViewport)||n.addEventListener(\"resize\",a)):(document.body.style.position=\"static\",l(),window.scrollTo({top:S.current,left:0,behavior:\"auto\"}),window.addEventListener(\"scroll\",i),null==(r=window.visualViewport)||r.removeEventListener(\"resize\",a)),l},[u,o])},Lt=\"https://cdn.jsdelivr.net/gh/react-chatbotify/community-themes/themes\",Nt=\"2592000\",Ht=\"RCB_THEME_CACHE_DATA\",Rt=async(e,t)=>{const{id:n,version:r,baseUrl:o=Lt,cacheDuration:A=Nt}=t,i=r||await(async(e,t)=>{const n=`${t}/${e}/meta.json`;try{const e=await fetch(n);return e.ok?(await e.json()).version:(console.error(`Failed to fetch meta.json from ${n}`),null)}catch(e){return console.error(`Failed to fetch meta.json from ${n}`,e),null}})(n,o);if(!i)return console.error(`Unable to find version for theme: ${n}`),{settings:{},inlineStyles:{},cssStylesText:\"\"};const a=((e,t,n)=>{const r=localStorage.getItem(`${Ht}_${e}_${t}`);if(!r)return null;try{const e=JSON.parse(r),t=(new Date).getTime(),o=Math.floor(t/1e3);return e.cacheDate+n>=o?e:null}catch(t){return console.error(`Unable to fetch cache for ${e}`,t),null}})(n,i,A);if(a){const t=zt(e,a.cssStylesText);return{settings:a.settings,inlineStyles:a.inlineStyles,cssStylesText:t}}const l=`${o}/${n}/${i}/styles.css`,s=`${o}/${n}/${i}/settings.json`,c=`${o}/${n}/${i}/styles.json`;let u=\"\";const d=await fetch(l);d.ok?u=await d.text():console.info(`Could not fetch styles.css from ${l}`);const p=await fetch(s);let f={};p.ok?f=await p.json():console.info(`Could not fetch settings.json from ${s}`);const h=await fetch(c);let g={};h.ok?g=await h.json():console.info(`Could not fetch styles.json from ${c}`),((e,t,n,r,o)=>{const A=(new Date).getTime(),i={settings:n,inlineStyles:r,cssStylesText:o,cacheDate:Math.floor(A/1e3)};localStorage.setItem(`${Ht}_${e}_${t}`,JSON.stringify(i))})(n,i,f,g,u);return{settings:f,inlineStyles:g,cssStylesText:zt(e,u)}},zt=(e,t)=>t.split(new RegExp(\"(?<=})\")).map(t=>{const n=t.trim();return n.startsWith(\"@import\")||n.startsWith(\"@keyframes\")||n.startsWith(\"@media\")?n:n?`#${e} ${n}`:\"\"}).join(\"\\n\"),jt=async(e,t,n,r)=>{var o,A;let i=Ut(N),a=Ut(j),l=\"\";if(null!=r)if(Array.isArray(r))for(const t of r){const n=await Rt(e,t);i=Ft(n.settings,i),a=Ft(n.inlineStyles,a),l+=n.cssStylesText}else{const t=await Rt(e,r);i=Ft(t.settings,i),a=Ft(t.inlineStyles,a),l+=t.cssStylesText}return null!=t&&(i=Ft(t,i)),null!=n&&(a=Ft(n,a)),null!=(null==(o=i.chatInput)?void 0:o.botDelay)&&(null==(A=i.chatInput)?void 0:A.botDelay)<500&&(i.chatInput.botDelay=500),{settings:i,inlineStyles:a,cssStylesText:l}},Ft=(e,t)=>{const n=[{source:e,target:t}];for(;n.length;){const e=n.pop();if(null==e)continue;const{source:t,target:r}=e;for(const e of Object.keys(t)){const o=e;if(c(t[o]))r[o]=t[o];else if(\"object\"!=typeof t[o]||null===t[o]||Array.isArray(t[o]))try{r[o]=t[o]}catch{}else(\"object\"!=typeof r[o]||null===r[o])&&(r[o]={}),n.push({source:t[o],target:r[o]})}}return t},Ut=e=>{if(null===e||\"object\"!=typeof e)return e;const t=Array.isArray(e)?[]:{},n=[{source:e,target:t}],r=new WeakMap;for(r.set(e,t);n.length;){const e=n.pop();if(null==e)continue;const{source:t,target:o}=e;for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const A=t[e];if(A&&\"object\"==typeof A)if(r.has(A))o[e]=r.get(A);else{const t=Array.isArray(A)?[]:{};r.set(A,t),o[e]=t,n.push({source:A,target:t})}else o[e]=A}}return t},_t=()=>{const{settings:e,setSyncedSettings:t,syncedSettingsRef:n}=R(),r=A(n=>{!n||0===Object.keys(n).length||t(Ut(Ft(n,e)))},[e]),o=A(e=>{const r=\"function\"==typeof e?e(n.current):e;t(r)},[n]);return{settings:e,replaceSettings:o,updateSettings:r}},qt=()=>{const{styles:e,setSyncedStyles:t,syncedStylesRef:n}=U(),r=A(n=>{!n||0===Object.keys(n).length||t(Ut(Ft(n,e)))},[e]),o=A(e=>{const r=\"function\"==typeof e?e(n.current):e;t(r)},[n]);return{styles:e,replaceStyles:o,updateStyles:r}},Yt=({plugins:e,slots:t})=>{var n,r;const o=ft(),{settings:A}=R(),{styles:i}=U(),{hasFlowStarted:a,setHasFlowStarted:c}=K(),{inputRef:u}=G(),{viewportHeight:d,viewportWidth:p,isChatWindowOpen:f}=Ae(),{goToPath:v}=dt(),{headerButtons:b,chatInputButtons:y,footerButtons:w}=It();Ot(),(e=>{const{updateSettings:t}=_t(),{updateStyles:n}=qt(),r=null==e?void 0:e.map(e=>e());l(()=>{let e={},o={};null==r||r.forEach(t=>{null!=t&&t.settings&&0!==Object.keys(null==t?void 0:t.settings).length&&(e=Ft(t.settings,e)),null!=t&&t.styles&&0!==Object.keys(null==t?void 0:t.styles).length&&(o=Ft(t.styles,o))}),t(e),n(o)},[])})(e),l(()=>{var e;(a||\"ON_LOAD\"===(null==(e=A.general)?void 0:e.flowStartTrigger))&&v(\"start\")},[a,null==(n=A.general)?void 0:n.flowStartTrigger]);const x=s(()=>{var e;const t=\"rcb-chatbot-global \";return null!=(e=A.general)&&e.embedded?t+\"rcb-window-embedded\":f?t+\"rcb-window-open\":t+\"rcb-window-close\"},[A,f]);return h(m,{children:(()=>{var e,t;return o&&(null==(e=A.device)?void 0:e.desktopEnabled)||!o&&(null==(t=A.device)?void 0:t.mobileEnabled)})()&&g(\"div\",{onMouseDown:e=>{var t,n;!a&&\"ON_CHATBOT_INTERACT\"===(null==(t=A.general)?void 0:t.flowStartTrigger)&&c(!0),o?null==(n=u.current)||n.blur():null==e||e.preventDefault()},className:x,children:[h(vt,{}),h(mt,{}),f&&!o&&!(null!=(r=A.general)&&r.embedded)&&g(m,{children:[h(\"style\",{children:\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\thtml {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\toverflow: hidden !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttouch-action: none !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tscroll-behavior: auto !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\"}),h(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:\"#fff\",zIndex:9999}})]}),h(\"div\",{style:(()=>{var e,t;return o||null!=(e=A.general)&&e.embedded?null!=(t=A.general)&&t.embedded?{...i.chatWindowStyle}:{...i.chatWindowStyle,zIndex:1e4}:{...i.chatWindowStyle,borderRadius:\"0px\",left:\"0px\",right:\"auto\",top:\"0px\",bottom:\"auto\",width:`${p}px`,height:`${d}px`,zIndex:1e4}})(),className:\"rcb-chat-window\",children:(()=>{var e,n,r;const o=(null==t?void 0:t.chatBotHeader)||q,i=(null==t?void 0:t.chatBotBody)||pe,a=(null==t?void 0:t.chatBotInput)||ht,l=(null==t?void 0:t.chatBotFooter)||gt;return g(m,{children:[(null==(e=A.general)?void 0:e.showHeader)&&h(o,{buttons:b}),h(i,{}),h(yt,{}),(null==(n=A.general)?void 0:n.showInputRow)&&h(a,{buttons:y}),(null==(r=A.general)?void 0:r.showFooter)&&h(l,{buttons:w})]})})()})]})})},Gt=r(void 0),Wt=()=>o(Gt),Vt=({children:e})=>{var t;const n=i(\"\"),r=i({}),[o,A,s]=V({}),[c,u,d]=V({}),[p,f]=a(!1);l(()=>{f(!0)},[]);return p?h(\"div\",{style:{fontFamily:null==(t=o.general)?void 0:t.fontFamily},children:h(Gt.Provider,{value:{loadConfig:async(e,t,o,i,a,l)=>{n.current=e,r.current=t;const s=await jt(e,o,i,a);l.current&&(l.current.textContent=s.cssStylesText),A(s.settings),u(s.inlineStyles)}},children:h(z,{settings:o,setSyncedSettings:A,syncedSettingsRef:s,children:h(_,{styles:c,setSyncedStyles:u,syncedStylesRef:d,children:h(ct,{children:h(W,{botIdRef:n,flowRef:r,children:h(re,{children:h(J,{settings:o,children:h(se,{children:e})})})})})})})})}):null},Xt=({id:e,flow:t,settings:n,styles:r,themes:o,plugins:A,setConfigLoaded:i,styleRootRef:a})=>{const c=s(()=>e,[]),u=Wt(),{flowRef:d}=G();d&&d.current!==t&&(d.current=t);return l(()=>{(async()=>{var e,l;null!=(e=n.event)&&e.rcbPreLoadChatBot&&(await ee(Z.PRE_LOAD_CHATBOT,{botId:c,currPath:null,prevPath:null},{flow:t,settings:n,styles:r,themes:o,plugins:A})).defaultPrevented||(null!=u&&u.loadConfig&&(await u.loadConfig(c,t,n,r,o,a),i(!0)),null!=(l=n.event)&&l.rcbPostLoadChatBot&&ee(Z.POST_LOAD_CHATBOT,{botId:c,currPath:null,prevPath:null},{flow:t,settings:n,styles:r,themes:o,plugins:A}))})()},[o]),null},Kt=[\"Quickstart\",\"API Docs\",\"Examples\",\"Github\",\"Discord\"],Jt={start:{message:\"Hello, I am Tan Jin 👋! Welcome to React ChatBotify, I'm excited that you are using our chatbot 😊!\",transition:{duration:1e3},chatDisabled:!0,path:\"show_options\"},show_options:{message:\"It looks like you have not set up a conversation flow yet. No worries! Here are a few helpful things you can check out to get started:\",options:Kt,path:\"process_options\"},prompt_again:{message:\"Do you need any other help?\",options:Kt,path:\"process_options\"},unknown_input:{message:\"Sorry, I do not understand your message 😢! If you require further assistance, you may click on the Github option and open an issue there or visit our discord.\",options:Kt,path:\"process_options\"},process_options:{transition:{duration:0},path:e=>{let t=\"\";switch(e.userInput){case\"Quickstart\":t=\"https://react-chatbotify.com/docs/introduction/quickstart/\";break;case\"API Docs\":t=\"https://react-chatbotify.com/docs/api/bot_options\";break;case\"Examples\":t=\"https://react-chatbotify.com/docs/examples/basic_form\";break;case\"Github\":t=\"https://github.com/react-chatbotify/react-chatbotify/\";break;case\"Discord\":t=\"https://discord.gg/6R4DK4G5Zh\";break;default:return\"unknown_input\"}return e.injectMessage(\"Sit tight! I'll send you right there!\"),setTimeout(()=>{window.open(t)},1e3),\"repeat\"}},repeat:{transition:{duration:3e3},path:\"prompt_again\"}},Zt=({id:e,flow:t,settings:n,styles:r,themes:o,plugins:A,slots:c})=>{const u=s(()=>e||\"rcb-\"+De(),[]),d=t&&0!==Object.keys(t).length?t:Jt,p=n||{},f=r||{},v=A||[],[b,y]=a(!1),w=Wt(),x=i(null),[E,B]=a(o||[]);l(()=>{o&&B(o)},[o]);const P=()=>g(m,{children:[h(Xt,{styleRootRef:x,id:u,flow:d,settings:p,styles:f,themes:E,plugins:v,setConfigLoaded:y}),b&&h(Yt,{plugins:A,slots:c})]});return g(null==w?Vt:m,{children:[h(\"style\",{ref:x}),h(\"div\",{id:u,children:P()})]})},$t=()=>{const{getBotId:e}=(()=>{const{botIdRef:e}=G();return{getBotId:A(()=>e.current,[e])}})();return{getBotId:e}},en=()=>{const{hasFlowStarted:e,restartFlow:t,getFlow:n}=(()=>{const{replaceMessages:e}=Xe(),{replacePaths:t,goToPath:n}=dt(),{replaceToasts:r}=ut(),{hasFlowStarted:o}=K(),{flowRef:i,timeoutIdRef:a}=G(),{settings:l}=R();return{hasFlowStarted:o,restartFlow:A(async()=>{Re(l),a.current&&clearTimeout(a.current),e([]),r([]),t([]),await n(\"start\")},[a,l,e,r,t,Re,n]),getFlow:A(()=>(null==i?void 0:i.current)??{},[i])}})();return{hasFlowStarted:e,restartFlow:t,getFlow:n}},tn=()=>{const{endStreamMessage:e,injectMessage:t,removeMessage:n,simulateStreamMessage:r,streamMessage:o,messages:A,replaceMessages:i,getMessages:a}=Xe();return{endStreamMessage:e,injectMessage:t,removeMessage:n,simulateStreamMessage:r,streamMessage:o,messages:A,replaceMessages:i,getMessages:a}},nn=(e,t)=>{const{getBotId:n}=$t();l(()=>{const r=e=>{e.detail.botId===n()&&t(e)};return window.addEventListener(e,r),()=>{window.removeEventListener(e,r)}},[n,e,t])},rn=()=>{const{settings:e,replaceSettings:t,updateSettings:n}=_t();return{settings:e,replaceSettings:t,updateSettings:n}},on=()=>{const{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:n,toggleTextAreaSensitiveMode:r,getTextAreaValue:o,setTextAreaValue:A,focusTextArea:i,blurTextArea:a}=at();return{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:n,toggleTextAreaSensitiveMode:r,getTextAreaValue:o,setTextAreaValue:A,focusTextArea:i,blurTextArea:a}},An=()=>{const{showChatHistory:e,hasChatHistoryLoaded:t}=Qt();return{showChatHistory:e,getHistoryMessages:Le,setHistoryMessages:Ne,hasChatHistoryLoaded:t}},an={a:{content:9,self:!1,type:105},address:{invalid:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"address\",\"article\",\"aside\",\"section\",\"div\",\"header\",\"footer\"],self:!1},audio:{children:[\"track\",\"source\"]},br:{type:9,void:!0},body:{content:127},button:{content:8,type:105},caption:{content:1,parent:[\"table\"]},col:{parent:[\"colgroup\"],void:!0},colgroup:{children:[\"col\"],parent:[\"table\"]},details:{children:[\"summary\"],type:97},dd:{content:1,parent:[\"dl\"]},dl:{children:[\"dt\",\"dd\"],type:1},dt:{content:1,invalid:[\"footer\",\"header\"],parent:[\"dl\"]},figcaption:{content:1,parent:[\"figure\"]},footer:{invalid:[\"footer\",\"header\"]},header:{invalid:[\"footer\",\"header\"]},hr:{type:1,void:!0},img:{void:!0},li:{content:1,parent:[\"ul\",\"ol\",\"menu\"]},main:{self:!1},ol:{children:[\"li\"],type:1},picture:{children:[\"source\",\"img\"],type:25},rb:{parent:[\"ruby\",\"rtc\"]},rp:{parent:[\"ruby\",\"rtc\"]},rt:{content:8,parent:[\"ruby\",\"rtc\"]},rtc:{content:8,parent:[\"ruby\"]},ruby:{children:[\"rb\",\"rp\",\"rt\",\"rtc\"]},source:{parent:[\"audio\",\"video\",\"picture\"],void:!0},summary:{content:8,parent:[\"details\"]},table:{children:[\"caption\",\"colgroup\",\"thead\",\"tbody\",\"tfoot\",\"tr\"],type:1},tbody:{parent:[\"table\"],children:[\"tr\"]},td:{content:1,parent:[\"tr\"]},tfoot:{parent:[\"table\"],children:[\"tr\"]},th:{content:1,parent:[\"tr\"]},thead:{parent:[\"table\"],children:[\"tr\"]},tr:{parent:[\"table\",\"tbody\",\"thead\",\"tfoot\"],children:[\"th\",\"td\"]},track:{parent:[\"audio\",\"video\"],void:!0},ul:{children:[\"li\"],type:1},video:{children:[\"track\",\"source\"]},wbr:{type:9,void:!0}};function ln(e){return t=>{an[t]={...e,...an[t]}}}[\"address\",\"main\",\"div\",\"figure\",\"p\",\"pre\"].forEach(ln({content:1,type:65})),[\"abbr\",\"b\",\"bdi\",\"bdo\",\"cite\",\"code\",\"data\",\"dfn\",\"em\",\"i\",\"kbd\",\"mark\",\"q\",\"ruby\",\"samp\",\"strong\",\"sub\",\"sup\",\"time\",\"u\",\"var\"].forEach(ln({content:8,type:73})),[\"p\",\"pre\"].forEach(ln({content:8,type:65})),[\"s\",\"small\",\"span\",\"del\",\"ins\"].forEach(ln({content:8,type:9})),[\"article\",\"aside\",\"footer\",\"header\",\"nav\",\"section\",\"blockquote\"].forEach(ln({content:1,type:67})),[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].forEach(ln({content:8,type:69})),[\"audio\",\"canvas\",\"iframe\",\"img\",\"video\"].forEach(ln({type:89}));const sn=Object.freeze(an),cn=[\"applet\",\"base\",\"body\",\"command\",\"embed\",\"frame\",\"frameset\",\"head\",\"html\",\"link\",\"meta\",\"noscript\",\"object\",\"script\",\"style\",\"title\"],un=Object.keys(sn).filter(e=>\"canvas\"!==e&&\"iframe\"!==e),dn=Object.freeze({alt:1,cite:1,class:1,colspan:3,controls:4,datetime:1,default:4,disabled:4,dir:1,height:1,href:1,id:1,kind:1,label:1,lang:1,loading:1,loop:4,media:1,muted:4,poster:1,rel:1,role:1,rowspan:3,scope:1,sizes:1,span:3,start:3,style:5,src:1,srclang:1,srcset:1,tabindex:1,target:1,title:1,type:1,width:1}),pn=Object.freeze({class:\"className\",colspan:\"colSpan\",datetime:\"dateTime\",rowspan:\"rowSpan\",srclang:\"srcLang\",srcset:\"srcSet\",tabindex:\"tabIndex\"});function fn(){return fn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fn.apply(this,arguments)}function hn({attributes:e={},className:n,children:r=null,selfClose:o=!1,tagName:A}){const i=A;return o?t.createElement(i,fn({className:n},e)):t.createElement(i,fn({className:n},e),r)}class gn{attribute(e,t){return t}node(e,t){return t}}function mn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}\n/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */var vn,bn;const yn=mn(function(){if(bn)return vn;bn=1;var e=/[\"'&<>]/;return vn=function(t){var n=\"\"+t,r=e.exec(n);if(!r)return n;var o,A=\"\",i=0,a=0;for(i=r.index;i<n.length;i++){switch(n.charCodeAt(i)){case 34:o=\""\";break;case 38:o=\"&\";break;case 39:o=\"'\";break;case 60:o=\"<\";break;case 62:o=\">\";break;default:continue}a!==i&&(A+=n.substring(a,i)),a=i+1,A+=o}return a!==i?A+n.substring(a,i):A}}());function wn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const xn=/(url|image|image-set)\\(/i;class En extends gn{attribute(e,t){return\"style\"===e&&Object.keys(t).forEach(e=>{String(t[e]).match(xn)&&delete t[e]}),t}}const Bn=/^<(!doctype|(html|head|body)(\\s|>))/i,Pn=/^(aria-|data-|\\w+:)/iu,kn=/{{{(\\w+)\\/?}}}/;function Dn(){if(!(typeof window>\"u\"||typeof document>\"u\"))return document.implementation.createHTMLDocument(\"Interweave\")}let Cn=class{constructor(e,t={},n=[],r=[]){var o;if(wn(this,\"allowed\",void 0),wn(this,\"banned\",void 0),wn(this,\"blocked\",void 0),wn(this,\"container\",void 0),wn(this,\"content\",[]),wn(this,\"props\",void 0),wn(this,\"matchers\",void 0),wn(this,\"filters\",void 0),wn(this,\"keyIndex\",void 0),\"production\"!==process.env.NODE_ENV&&e&&\"string\"!=typeof e)throw new TypeError(\"Interweave parser requires a valid string.\");this.props=t,this.matchers=n,this.filters=[...r,new En],this.keyIndex=-1,this.container=this.createContainer(e||\"\"),this.allowed=new Set(null!==(o=t.allowList)&&void 0!==o?o:un),this.banned=new Set(cn),this.blocked=new Set(t.blockList)}applyAttributeFilters(e,t){return this.filters.reduce((t,n)=>null!==t&&\"function\"==typeof n.attribute?n.attribute(e,t):t,t)}applyNodeFilters(e,t){return this.filters.reduce((t,n)=>null!==t&&\"function\"==typeof n.node?n.node(e,t):t,t)}applyMatchers(e,t){const n={},{props:r}=this;let o=e,A=0,i=null;return this.matchers.forEach(e=>{const a=e.asTag().toLowerCase(),l=this.getTagConfig(a);if(r[e.inverseName]||!this.isTagAllowed(a)||!this.canRenderChild(t,l))return;let s=\"\";for(;o&&(i=e.match(o));){const{index:t,length:a,match:l,valid:c,void:u,...d}=i,p=e.propName+String(A);t>0&&(s+=o.slice(0,t)),c?(s+=u?`{{{${p}/}}}`:`{{{${p}}}}${l}{{{/${p}}}}`,this.keyIndex+=1,A+=1,n[p]={children:l,matcher:e,props:{...r,...d,key:this.keyIndex}}):s+=l,e.greedy?(o=s+o.slice(t+a),s=\"\"):o=o.slice(t+(a||l.length))}e.greedy||(o=s+o)}),0===A?e:this.replaceTokens(o,n)}canRenderChild(e,t){return!(!e.tagName||!t.tagName||e.void)&&(e.children.length>0?e.children.includes(t.tagName):!(e.invalid.length>0&&e.invalid.includes(t.tagName))&&(t.parent.length>0?t.parent.includes(e.tagName):!(!e.self&&e.tagName===t.tagName)&&!!(e&&e.content&t.type)))}convertLineBreaks(e){const{noHtml:t,disableLineBreaks:n}=this.props;if(t||n||e.match(/<((?:\\/[ a-z]+)|(?:[ a-z]+\\/))>/gi))return e;let r=e.replace(/\\r\\n/g,\"\\n\");return r=r.replace(/\\n{3,}/g,\"\\n\\n\\n\"),r=r.replace(/\\n/g,\"<br/>\"),r}createContainer(e){var t;const n=(typeof global<\"u\"&&global.INTERWEAVE_SSR_POLYFILL||Dn)();if(!n)return;const r=null!==(t=this.props.containerTagName)&&void 0!==t?t:\"body\",o=\"body\"===r||\"fragment\"===r?n.body:n.createElement(r);if(e.match(Bn)){if(\"production\"!==process.env.NODE_ENV)throw new Error(\"HTML documents as Interweave content are not supported.\")}else o.innerHTML=this.convertLineBreaks(this.props.escapeHtml?yn(e):e);return o}extractAttributes(e){const{allowAttributes:t}=this.props,n={};let r=0;return 1===e.nodeType&&e.attributes&&([...e.attributes].forEach(o=>{const{name:A,value:i}=o,a=A.toLowerCase(),l=dn[a]||dn[A];if(!this.isSafe(e)||!a.match(Pn)&&(!t&&(!l||2===l)||a.startsWith(\"on\")||i.replace(/(\\s|\\0|�([9AD]);)/,\"\").match(/(javascript|vbscript|livescript|xss):/i)))return;let s=\"style\"===a?this.extractStyleAttribute(e):i;4===l?s=!0:3===l?s=Number.parseFloat(String(s)):5!==l&&(s=String(s)),n[pn[a]||a]=this.applyAttributeFilters(a,s),r+=1}),0!==r)?n:null}extractStyleAttribute(e){const t={};return Array.from(e.style).forEach(n=>{const r=e.style[n];(\"string\"==typeof r||\"number\"==typeof r)&&(t[n.replace(/-([a-z])/g,(e,t)=>String(t).toUpperCase())]=r)}),t}getTagConfig(e){const t={children:[],content:0,invalid:[],parent:[],self:!0,tagName:\"\",type:0,void:!1};return sn[e]?{...t,...sn[e],tagName:e}:t}isSafe(e){if(typeof HTMLAnchorElement<\"u\"&&e instanceof HTMLAnchorElement){const t=e.getAttribute(\"href\");if(null!=t&&t.startsWith(\"#\"))return!0;const n=e.protocol.toLowerCase();return\":\"===n||\"http:\"===n||\"https:\"===n||\"mailto:\"===n||\"tel:\"===n}return!0}isTagAllowed(e){return!this.banned.has(e)&&!this.blocked.has(e)&&(this.props.allowElements||this.allowed.has(e))}parse(){return this.container?this.parseNode(this.container,this.getTagConfig(this.container.nodeName.toLowerCase())):[]}parseNode(e,n){const{noHtml:r,noHtmlExceptMatchers:o,allowElements:A,transform:i,transformOnlyAllowList:a}=this.props;let l=[],s=\"\";return[...e.childNodes].forEach(e=>{if(1===e.nodeType){const u=e.nodeName.toLowerCase(),d=this.getTagConfig(u);s&&(l.push(s),s=\"\");const p=this.applyNodeFilters(u,e);if(!p)return;let f;if(i&&(!a||this.isTagAllowed(u))){this.keyIndex+=1;const e=this.keyIndex;f=this.parseNode(p,d);const n=i(p,f,d);if(null===n)return;if(typeof n<\"u\")return void l.push(t.cloneElement(n,{key:e}));this.keyIndex=e-1}if(this.banned.has(u))return;if(r||o&&\"br\"!==u||!this.isTagAllowed(u)||!A&&!this.canRenderChild(n,d))l=[...l,...this.parseNode(p,d.tagName?d:n)];else{var c;this.keyIndex+=1;const e=this.extractAttributes(p),n={tagName:u};e&&(n.attributes=e),d.void&&(n.selfClose=d.void),l.push(t.createElement(hn,{...n,key:this.keyIndex},null!==(c=f)&&void 0!==c?c:this.parseNode(p,d)))}}else if(3===e.nodeType){const t=r&&!o?e.textContent:this.applyMatchers(e.textContent||\"\",n);Array.isArray(t)?l=[...l,...t]:s+=t}}),s&&l.push(s),l}replaceTokens(e,t){if(!e.includes(\"{{{\"))return e;const n=[];let r=e,o=null;for(;o=r.match(kn);){const[e,A]=o,i=o.index,a=e.includes(\"/\");if(\"production\"!==process.env.NODE_ENV&&!t[A])throw new Error(`Token \"${A}\" found but no matching element to replace with.`);i>0&&(n.push(r.slice(0,i)),r=r.slice(i));const{children:l,matcher:s,props:c}=t[A];let u;if(a)u=e.length,n.push(s.createElement(l,c));else{const o=r.match(new RegExp(`{{{/${A}}}}`));if(\"production\"!==process.env.NODE_ENV&&!o)throw new Error(`Closing token missing for interpolated element \"${A}\".`);u=o.index+o[0].length,n.push(s.createElement(this.replaceTokens(r.slice(e.length,o.index),t),c))}r=r.slice(u)}return r.length>0&&n.push(r),0===n.length?\"\":1===n.length&&\"string\"==typeof n[0]?n[0]:n}};function Sn(e){var n;const{attributes:r,className:o,containerTagName:A,content:i,emptyContent:a,parsedContent:l,tagName:s,noWrap:c}=e,u=null!==(n=A??s)&&void 0!==n?n:\"span\",d=\"fragment\"===u||c;let p;if(l)p=l;else{const t=new Cn(i??\"\",e).parse();t.length>0&&(p=t)}return p||(p=a),d?t.createElement(t.Fragment,null,p):t.createElement(hn,{attributes:r,className:o,tagName:u},p)}function Tn(e){const{attributes:n,className:r,content:o=\"\",disableFilters:A=!1,disableMatchers:i=!1,emptyContent:a=null,filters:l=[],matchers:s=[],onAfterParse:c=null,onBeforeParse:u=null,tagName:d=\"span\",noWrap:p=!1,...f}=e,h=i?[]:s,g=A?[]:l,m=u?[u]:[],v=c?[c]:[];h.forEach(e=>{e.onBeforeParse&&m.push(e.onBeforeParse.bind(e)),e.onAfterParse&&v.push(e.onAfterParse.bind(e))});const b=m.reduce((t,n)=>{const r=n(t,e);if(\"production\"!==process.env.NODE_ENV&&\"string\"!=typeof r)throw new TypeError(\"Interweave `onBeforeParse` must return a valid HTML string.\");return r},o??\"\"),y=new Cn(b,f,h,g),w=v.reduce((t,n)=>{const r=n(t,e);if(\"production\"!==process.env.NODE_ENV&&!Array.isArray(r))throw new TypeError(\"Interweave `onAfterParse` must return an array of strings and React elements.\");return r},y.parse());return t.createElement(Sn,{attributes:n,className:r,containerTagName:e.containerTagName,emptyContent:a,noWrap:p,parsedContent:0===w.length?void 0:w,tagName:d})}const In=({children:e})=>h(\"div\",{style:{whiteSpace:\"normal\"},children:h(Tn,{content:\"string\"==typeof e?e:\"\"})}),Qn={autoConfig:!0},Mn=(e,t,n)=>{var r;if(!e.detail.currPath)return!1;const o=t[e.detail.currPath];return!!o&&((null==(r=o.renderHtml)?void 0:r.map(e=>e.toUpperCase()).includes(n))??!1)},On=e=>{const t=[];let n=\"\",r=!1;for(let o=0;o<e.length;o++){const A=e[o];\"<\"===A?r?(t.push(n),n=A):(r=!0,n=A):\">\"===A?(n+=A,t.push(n),n=\"\",r=!1):r?n+=A:t.push(A)}return\"\"!==n&&t.push(n),t},Ln=e=>{const{getFlow:t}=en(),{messages:n,replaceMessages:r}=tn(),{settings:o}=rn(),{hasChatHistoryLoaded:A}=An(),i={...e,...Qn},a=i.htmlComponent?i.htmlComponent:In;l(()=>{var e,t;if(A){const A=[...n];for(let n=0;n<A.length&&n<((null==(e=o.chatHistory)?void 0:e.maxEntries)??30);n++){const e=A[n];null!=(t=e.tags)&&t.includes(\"rcb-html-renderer-plugin:parsed\")&&(e.contentWrapper=a)}r(A)}},[A]);const s=async e=>{var n;const r=null==(n=e.data.message)?void 0:n.sender.toUpperCase();\"string\"==typeof e.data.message.content&&Mn(e,t(),r)&&(\"rcb-start-simulate-stream-message\"===e.type&&(e.data.simulateStreamChunker=On),e.data.message.contentWrapper=a,e.data.message.tags||(e.data.message.tags=[]),e.data.message.tags.push(\"rcb-html-renderer-plugin:parsed\"))};nn(Z.PRE_INJECT_MESSAGE,s),nn(Z.CHUNK_STREAM_MESSAGE,s),nn(Z.START_STREAM_MESSAGE,s),nn(Z.START_SIMULATE_STREAM_MESSAGE,s),nn(Z.START_SPEAK_AUDIO,async e=>{Mn(e,t(),\"BOT\")&&(e.data.textToRead=(e=>typeof window.DOMParser<\"u\"?(new DOMParser).parseFromString(e,\"text/html\").body.textContent||\"\":e.replace(/<\\/?[^>]+(>|$)/g,\"\"))(e.data.textToRead))});const c={name:\"@rcb-plugins/html-renderer\"};return null!=i&&i.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0,rcbStartSpeakAudio:!0}}),c};const Nn=/^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,Hn=/^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,Rn={};function zn(e,t){return(Rn.jsx?Hn:Nn).test(e)}const jn=/[ \\t\\n\\f\\r]/g;function Fn(e){return\"\"===e.replace(jn,\"\")}class Un{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function _n(e,t){const n={},r={};let o=-1;for(;++o<e.length;)Object.assign(n,e[o].property),Object.assign(r,e[o].normal);return new Un(n,r,t)}function qn(e){return e.toLowerCase()}Un.prototype.property={},Un.prototype.normal={},Un.prototype.space=null;class Yn{constructor(e,t){this.property=e,this.attribute=t}}Yn.prototype.space=null,Yn.prototype.boolean=!1,Yn.prototype.booleanish=!1,Yn.prototype.overloadedBoolean=!1,Yn.prototype.number=!1,Yn.prototype.commaSeparated=!1,Yn.prototype.spaceSeparated=!1,Yn.prototype.commaOrSpaceSeparated=!1,Yn.prototype.mustUseProperty=!1,Yn.prototype.defined=!1;let Gn=0;const Wn=er(),Vn=er(),Xn=er(),Kn=er(),Jn=er(),Zn=er(),$n=er();function er(){return 2**++Gn}const tr=Object.freeze(Object.defineProperty({__proto__:null,boolean:Wn,booleanish:Vn,commaOrSpaceSeparated:$n,commaSeparated:Zn,number:Kn,overloadedBoolean:Xn,spaceSeparated:Jn},Symbol.toStringTag,{value:\"Module\"})),nr=Object.keys(tr);class rr extends Yn{constructor(e,t,n,r){let o=-1;if(super(e,t),or(this,\"space\",r),\"number\"==typeof n)for(;++o<nr.length;){const e=nr[o];or(this,nr[o],(n&tr[e])===tr[e])}}}function or(e,t,n){n&&(e[t]=n)}rr.prototype.defined=!0;const Ar={}.hasOwnProperty;function ir(e){const t={},n={};let r;for(r in e.properties)if(Ar.call(e.properties,r)){const o=e.properties[r],A=new rr(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(A.mustUseProperty=!0),t[r]=A,n[qn(r)]=r,n[qn(A.attribute)]=r}return new Un(t,n,e.space)}const ar=ir({space:\"xlink\",transform:(e,t)=>\"xlink:\"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),lr=ir({space:\"xml\",transform:(e,t)=>\"xml:\"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function sr(e,t){return t in e?e[t]:t}function cr(e,t){return sr(e,t.toLowerCase())}const ur=ir({space:\"xmlns\",attributes:{xmlnsxlink:\"xmlns:xlink\"},transform:cr,properties:{xmlns:null,xmlnsXLink:null}}),dr=ir({transform:(e,t)=>\"role\"===t?t:\"aria-\"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:Vn,ariaAutoComplete:null,ariaBusy:Vn,ariaChecked:Vn,ariaColCount:Kn,ariaColIndex:Kn,ariaColSpan:Kn,ariaControls:Jn,ariaCurrent:null,ariaDescribedBy:Jn,ariaDetails:null,ariaDisabled:Vn,ariaDropEffect:Jn,ariaErrorMessage:null,ariaExpanded:Vn,ariaFlowTo:Jn,ariaGrabbed:Vn,ariaHasPopup:null,ariaHidden:Vn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Jn,ariaLevel:Kn,ariaLive:null,ariaModal:Vn,ariaMultiLine:Vn,ariaMultiSelectable:Vn,ariaOrientation:null,ariaOwns:Jn,ariaPlaceholder:null,ariaPosInSet:Kn,ariaPressed:Vn,ariaReadOnly:Vn,ariaRelevant:null,ariaRequired:Vn,ariaRoleDescription:Jn,ariaRowCount:Kn,ariaRowIndex:Kn,ariaRowSpan:Kn,ariaSelected:Vn,ariaSetSize:Kn,ariaSort:null,ariaValueMax:Kn,ariaValueMin:Kn,ariaValueNow:Kn,ariaValueText:null,role:null}}),pr=ir({space:\"html\",attributes:{acceptcharset:\"accept-charset\",classname:\"class\",htmlfor:\"for\",httpequiv:\"http-equiv\"},transform:cr,mustUseProperty:[\"checked\",\"multiple\",\"muted\",\"selected\"],properties:{abbr:null,accept:Zn,acceptCharset:Jn,accessKey:Jn,action:null,allow:null,allowFullScreen:Wn,allowPaymentRequest:Wn,allowUserMedia:Wn,alt:null,as:null,async:Wn,autoCapitalize:null,autoComplete:Jn,autoFocus:Wn,autoPlay:Wn,blocking:Jn,capture:null,charSet:null,checked:Wn,cite:null,className:Jn,cols:Kn,colSpan:null,content:null,contentEditable:Vn,controls:Wn,controlsList:Jn,coords:Kn|Zn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Wn,defer:Wn,dir:null,dirName:null,disabled:Wn,download:Xn,draggable:Vn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Wn,formTarget:null,headers:Jn,height:Kn,hidden:Wn,high:Kn,href:null,hrefLang:null,htmlFor:Jn,httpEquiv:Jn,id:null,imageSizes:null,imageSrcSet:null,inert:Wn,inputMode:null,integrity:null,is:null,isMap:Wn,itemId:null,itemProp:Jn,itemRef:Jn,itemScope:Wn,itemType:Jn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Wn,low:Kn,manifest:null,max:null,maxLength:Kn,media:null,method:null,min:null,minLength:Kn,multiple:Wn,muted:Wn,name:null,nonce:null,noModule:Wn,noValidate:Wn,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Wn,optimum:Kn,pattern:null,ping:Jn,placeholder:null,playsInline:Wn,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Wn,referrerPolicy:null,rel:Jn,required:Wn,reversed:Wn,rows:Kn,rowSpan:Kn,sandbox:Jn,scope:null,scoped:Wn,seamless:Wn,selected:Wn,shadowRootClonable:Wn,shadowRootDelegatesFocus:Wn,shadowRootMode:null,shape:null,size:Kn,sizes:null,slot:null,span:Kn,spellCheck:Vn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Kn,step:null,style:null,tabIndex:Kn,target:null,title:null,translate:null,type:null,typeMustMatch:Wn,useMap:null,value:Vn,width:Kn,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Jn,axis:null,background:null,bgColor:null,border:Kn,borderColor:null,bottomMargin:Kn,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Wn,declare:Wn,event:null,face:null,frame:null,frameBorder:null,hSpace:Kn,leftMargin:Kn,link:null,longDesc:null,lowSrc:null,marginHeight:Kn,marginWidth:Kn,noResize:Wn,noHref:Wn,noShade:Wn,noWrap:Wn,object:null,profile:null,prompt:null,rev:null,rightMargin:Kn,rules:null,scheme:null,scrolling:Vn,standby:null,summary:null,text:null,topMargin:Kn,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Kn,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Wn,disableRemotePlayback:Wn,prefix:null,property:null,results:Kn,security:null,unselectable:null}}),fr=ir({space:\"svg\",attributes:{accentHeight:\"accent-height\",alignmentBaseline:\"alignment-baseline\",arabicForm:\"arabic-form\",baselineShift:\"baseline-shift\",capHeight:\"cap-height\",className:\"class\",clipPath:\"clip-path\",clipRule:\"clip-rule\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",crossOrigin:\"crossorigin\",dataType:\"datatype\",dominantBaseline:\"dominant-baseline\",enableBackground:\"enable-background\",fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",hrefLang:\"hreflang\",horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",horizOriginY:\"horiz-origin-y\",imageRendering:\"image-rendering\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",navDown:\"nav-down\",navDownLeft:\"nav-down-left\",navDownRight:\"nav-down-right\",navLeft:\"nav-left\",navNext:\"nav-next\",navPrev:\"nav-prev\",navRight:\"nav-right\",navUp:\"nav-up\",navUpLeft:\"nav-up-left\",navUpRight:\"nav-up-right\",onAbort:\"onabort\",onActivate:\"onactivate\",onAfterPrint:\"onafterprint\",onBeforePrint:\"onbeforeprint\",onBegin:\"onbegin\",onCancel:\"oncancel\",onCanPlay:\"oncanplay\",onCanPlayThrough:\"oncanplaythrough\",onChange:\"onchange\",onClick:\"onclick\",onClose:\"onclose\",onCopy:\"oncopy\",onCueChange:\"oncuechange\",onCut:\"oncut\",onDblClick:\"ondblclick\",onDrag:\"ondrag\",onDragEnd:\"ondragend\",onDragEnter:\"ondragenter\",onDragExit:\"ondragexit\",onDragLeave:\"ondragleave\",onDragOver:\"ondragover\",onDragStart:\"ondragstart\",onDrop:\"ondrop\",onDurationChange:\"ondurationchange\",onEmptied:\"onemptied\",onEnd:\"onend\",onEnded:\"onended\",onError:\"onerror\",onFocus:\"onfocus\",onFocusIn:\"onfocusin\",onFocusOut:\"onfocusout\",onHashChange:\"onhashchange\",onInput:\"oninput\",onInvalid:\"oninvalid\",onKeyDown:\"onkeydown\",onKeyPress:\"onkeypress\",onKeyUp:\"onkeyup\",onLoad:\"onload\",onLoadedData:\"onloadeddata\",onLoadedMetadata:\"onloadedmetadata\",onLoadStart:\"onloadstart\",onMessage:\"onmessage\",onMouseDown:\"onmousedown\",onMouseEnter:\"onmouseenter\",onMouseLeave:\"onmouseleave\",onMouseMove:\"onmousemove\",onMouseOut:\"onmouseout\",onMouseOver:\"onmouseover\",onMouseUp:\"onmouseup\",onMouseWheel:\"onmousewheel\",onOffline:\"onoffline\",onOnline:\"ononline\",onPageHide:\"onpagehide\",onPageShow:\"onpageshow\",onPaste:\"onpaste\",onPause:\"onpause\",onPlay:\"onplay\",onPlaying:\"onplaying\",onPopState:\"onpopstate\",onProgress:\"onprogress\",onRateChange:\"onratechange\",onRepeat:\"onrepeat\",onReset:\"onreset\",onResize:\"onresize\",onScroll:\"onscroll\",onSeeked:\"onseeked\",onSeeking:\"onseeking\",onSelect:\"onselect\",onShow:\"onshow\",onStalled:\"onstalled\",onStorage:\"onstorage\",onSubmit:\"onsubmit\",onSuspend:\"onsuspend\",onTimeUpdate:\"ontimeupdate\",onToggle:\"ontoggle\",onUnload:\"onunload\",onVolumeChange:\"onvolumechange\",onWaiting:\"onwaiting\",onZoom:\"onzoom\",overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pointerEvents:\"pointer-events\",referrerPolicy:\"referrerpolicy\",renderingIntent:\"rendering-intent\",shapeRendering:\"shape-rendering\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",strokeDashArray:\"stroke-dasharray\",strokeDashOffset:\"stroke-dashoffset\",strokeLineCap:\"stroke-linecap\",strokeLineJoin:\"stroke-linejoin\",strokeMiterLimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",tabIndex:\"tabindex\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",transformOrigin:\"transform-origin\",typeOf:\"typeof\",underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",vectorEffect:\"vector-effect\",vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",xHeight:\"x-height\",playbackOrder:\"playbackorder\",timelineBegin:\"timelinebegin\"},transform:sr,properties:{about:$n,accentHeight:Kn,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Kn,amplitude:Kn,arabicForm:null,ascent:Kn,attributeName:null,attributeType:null,azimuth:Kn,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Kn,by:null,calcMode:null,capHeight:Kn,className:Jn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Kn,diffuseConstant:Kn,direction:null,display:null,dur:null,divisor:Kn,dominantBaseline:null,download:Wn,dx:null,dy:null,edgeMode:null,editable:null,elevation:Kn,enableBackground:null,end:null,event:null,exponent:Kn,externalResourcesRequired:null,fill:null,fillOpacity:Kn,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Zn,g2:Zn,glyphName:Zn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Kn,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Kn,horizOriginX:Kn,horizOriginY:Kn,id:null,ideographic:Kn,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Kn,k:Kn,k1:Kn,k2:Kn,k3:Kn,k4:Kn,kernelMatrix:$n,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Kn,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Kn,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Kn,overlineThickness:Kn,paintOrder:null,panose1:null,path:null,pathLength:Kn,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Jn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Kn,pointsAtY:Kn,pointsAtZ:Kn,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:$n,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:$n,rev:$n,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:$n,requiredFeatures:$n,requiredFonts:$n,requiredFormats:$n,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Kn,specularExponent:Kn,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Kn,strikethroughThickness:Kn,string:null,stroke:null,strokeDashArray:$n,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Kn,strokeOpacity:Kn,strokeWidth:null,style:null,surfaceScale:Kn,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:$n,tabIndex:Kn,tableValues:null,target:null,targetX:Kn,targetY:Kn,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:$n,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Kn,underlineThickness:Kn,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Kn,values:null,vAlphabetic:Kn,vMathematical:Kn,vectorEffect:null,vHanging:Kn,vIdeographic:Kn,version:null,vertAdvY:Kn,vertOriginX:Kn,vertOriginY:Kn,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Kn,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),hr=/^data[-\\w.:]+$/i,gr=/-[a-z]/g,mr=/[A-Z]/g;function vr(e){return\"-\"+e.toLowerCase()}function br(e){return e.charAt(1).toUpperCase()}const yr={classId:\"classID\",dataType:\"datatype\",itemId:\"itemID\",strokeDashArray:\"strokeDasharray\",strokeDashOffset:\"strokeDashoffset\",strokeLineCap:\"strokeLinecap\",strokeLineJoin:\"strokeLinejoin\",strokeMiterLimit:\"strokeMiterlimit\",typeOf:\"typeof\",xLinkActuate:\"xlinkActuate\",xLinkArcRole:\"xlinkArcrole\",xLinkHref:\"xlinkHref\",xLinkRole:\"xlinkRole\",xLinkShow:\"xlinkShow\",xLinkTitle:\"xlinkTitle\",xLinkType:\"xlinkType\",xmlnsXLink:\"xmlnsXlink\"},wr=_n([lr,ar,ur,dr,pr],\"html\"),xr=_n([lr,ar,ur,dr,fr],\"svg\");function Er(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var Br,Pr,kr,Dr={};var Cr=function(){if(kr)return Dr;kr=1;var e=Dr&&Dr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Dr,\"__esModule\",{value:!0}),Dr.default=function(e,n){var r=null;if(!e||\"string\"!=typeof e)return r;var o=(0,t.default)(e),A=\"function\"==typeof n;return o.forEach(function(e){if(\"declaration\"===e.type){var t=e.property,o=e.value;A?n(t,o,e):o&&((r=r||{})[t]=o)}}),r};var t=e(function(){if(Pr)return Br;Pr=1;var e=/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g,t=/\\n/g,n=/^\\s*/,r=/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/,o=/^:\\s*/,A=/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/,i=/^[;\\s]*/,a=/^\\s+|\\s+$/g,l=\"\";function s(e){return e?e.replace(a,l):l}return Br=function(a,c){if(\"string\"!=typeof a)throw new TypeError(\"First argument must be a string\");if(!a)return[];c=c||{};var u=1,d=1;function p(e){var n=e.match(t);n&&(u+=n.length);var r=e.lastIndexOf(\"\\n\");d=~r?e.length-r:d+e.length}function f(){var e={line:u,column:d};return function(t){return t.position=new h(e),v(),t}}function h(e){this.start=e,this.end={line:u,column:d},this.source=c.source}function g(e){var t=new Error(c.source+\":\"+u+\":\"+d+\": \"+e);if(t.reason=e,t.filename=c.source,t.line=u,t.column=d,t.source=a,!c.silent)throw t}function m(e){var t=e.exec(a);if(t){var n=t[0];return p(n),a=a.slice(n.length),t}}function v(){m(n)}function b(e){var t;for(e=e||[];t=y();)!1!==t&&e.push(t);return e}function y(){var e=f();if(\"/\"==a.charAt(0)&&\"*\"==a.charAt(1)){for(var t=2;l!=a.charAt(t)&&(\"*\"!=a.charAt(t)||\"/\"!=a.charAt(t+1));)++t;if(t+=2,l===a.charAt(t-1))return g(\"End of comment missing\");var n=a.slice(2,t-2);return d+=2,p(n),a=a.slice(t),d+=2,e({type:\"comment\",comment:n})}}function w(){var t=f(),n=m(r);if(n){if(y(),!m(o))return g(\"property missing ':'\");var a=m(A),c=t({type:\"declaration\",property:s(n[0].replace(e,l)),value:a?s(a[0].replace(e,l)):l});return m(i),c}}return h.prototype.content=a,v(),function(){var e,t=[];for(b(t);e=w();)!1!==e&&(t.push(e),b(t));return t}()},Br}());return Dr}();const Sr=Er(Cr),Tr=Sr.default||Sr,Ir=Mr(\"end\"),Qr=Mr(\"start\");function Mr(e){return function(t){const n=t&&t.position&&t.position[e]||{};if(\"number\"==typeof n.line&&n.line>0&&\"number\"==typeof n.column&&n.column>0)return{line:n.line,column:n.column,offset:\"number\"==typeof n.offset&&n.offset>-1?n.offset:void 0}}}function Or(e){return e&&\"object\"==typeof e?\"position\"in e||\"type\"in e?Nr(e.position):\"start\"in e||\"end\"in e?Nr(e):\"line\"in e||\"column\"in e?Lr(e):\"\":\"\"}function Lr(e){return Hr(e&&e.line)+\":\"+Hr(e&&e.column)}function Nr(e){return Lr(e&&e.start)+\"-\"+Lr(e&&e.end)}function Hr(e){return e&&\"number\"==typeof e?e:1}class Rr extends Error{constructor(e,t,n){super(),\"string\"==typeof t&&(n=t,t=void 0);let r=\"\",o={},A=!1;if(t&&(o=\"line\"in t&&\"column\"in t||\"start\"in t&&\"end\"in t?{place:t}:\"type\"in t?{ancestors:[t],place:t.position}:{...t}),\"string\"==typeof e?r=e:!o.cause&&e&&(A=!0,r=e.message,o.cause=e),!o.ruleId&&!o.source&&\"string\"==typeof n){const e=n.indexOf(\":\");-1===e?o.ruleId=n:(o.source=n.slice(0,e),o.ruleId=n.slice(e+1))}if(!o.place&&o.ancestors&&o.ancestors){const e=o.ancestors[o.ancestors.length-1];e&&(o.place=e.position)}const i=o.place&&\"start\"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=i?i.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=i?i.line:void 0,this.name=Or(o.place)||\"1:1\",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=A&&o.cause&&\"string\"==typeof o.cause.stack?o.cause.stack:\"\",this.actual,this.expected,this.note,this.url}}Rr.prototype.file=\"\",Rr.prototype.name=\"\",Rr.prototype.reason=\"\",Rr.prototype.message=\"\",Rr.prototype.stack=\"\",Rr.prototype.column=void 0,Rr.prototype.line=void 0,Rr.prototype.ancestors=void 0,Rr.prototype.cause=void 0,Rr.prototype.fatal=void 0,Rr.prototype.place=void 0,Rr.prototype.ruleId=void 0,Rr.prototype.source=void 0;const zr={}.hasOwnProperty,jr=new Map,Fr=/[A-Z]/g,Ur=/-([a-z])/g,_r=new Set([\"table\",\"tbody\",\"thead\",\"tfoot\",\"tr\"]),qr=new Set([\"td\",\"th\"]),Yr=\"https://github.com/syntax-tree/hast-util-to-jsx-runtime\";function Gr(e,t){if(!t||void 0===t.Fragment)throw new TypeError(\"Expected `Fragment` in options\");const n=t.filePath||void 0;let r;if(t.development){if(\"function\"!=typeof t.jsxDEV)throw new TypeError(\"Expected `jsxDEV` in options when `development: true`\");r=function(e,t){return n;function n(n,r,o,A){const i=Array.isArray(o.children),a=Qr(n);return t(r,o,A,i,{columnNumber:a?a.column-1:void 0,fileName:e,lineNumber:a?a.line:void 0},void 0)}}(n,t.jsxDEV)}else{if(\"function\"!=typeof t.jsx)throw new TypeError(\"Expected `jsx` in production options\");if(\"function\"!=typeof t.jsxs)throw new TypeError(\"Expected `jsxs` in production options\");r=function(e,t,n){return r;function r(e,r,o,A){const i=Array.isArray(o.children)?n:t;return A?i(r,o,A):i(r,o)}}(0,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||\"react\",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:\"svg\"===t.space?xr:wr,stylePropertyNameCase:t.stylePropertyNameCase||\"dom\",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},A=Wr(o,e,void 0);return A&&\"string\"!=typeof A?A:o.create(e,o.Fragment,{children:A||void 0},void 0)}function Wr(e,t,n){return\"element\"===t.type?function(e,t,n){const r=e.schema;let o=r;\"svg\"===t.tagName.toLowerCase()&&\"html\"===r.space&&(o=xr,e.schema=o),e.ancestors.push(t);const A=Zr(e,t.tagName,!1),i=function(e,t){const n={};let r,o;for(o in t.properties)if(\"children\"!==o&&zr.call(t.properties,o)){const A=Jr(e,o,t.properties[o]);if(A){const[o,i]=A;e.tableCellAlignToStyle&&\"align\"===o&&\"string\"==typeof i&&qr.has(t.tagName)?r=i:n[o]=i}}if(r){(n.style||(n.style={}))[\"css\"===e.stylePropertyNameCase?\"text-align\":\"textAlign\"]=r}return n}(e,t);let a=Kr(e,t);return _r.has(t.tagName)&&(a=a.filter(function(e){return\"string\"!=typeof e||!function(e){return\"object\"==typeof e?\"text\"===e.type&&Fn(e.value):Fn(e)}(e)})),Vr(e,i,A,t),Xr(i,a),e.ancestors.pop(),e.schema=r,e.create(t,A,i,n)}(e,t,n):\"mdxFlowExpression\"===t.type||\"mdxTextExpression\"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){const n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}$r(e,t.position)}(e,t):\"mdxJsxFlowElement\"===t.type||\"mdxJsxTextElement\"===t.type?function(e,t,n){const r=e.schema;let o=r;\"svg\"===t.name&&\"html\"===r.space&&(o=xr,e.schema=o),e.ancestors.push(t);const A=null===t.name?e.Fragment:Zr(e,t.name,!0),i=function(e,t){const n={};for(const r of t.attributes)if(\"mdxJsxExpressionAttribute\"===r.type)if(r.data&&r.data.estree&&e.evaluater){const t=r.data.estree.body[0];t.type;const o=t.expression;o.type;const A=o.properties[0];A.type,Object.assign(n,e.evaluater.evaluateExpression(A.argument))}else $r(e,t.position);else{const o=r.name;let A;if(r.value&&\"object\"==typeof r.value)if(r.value.data&&r.value.data.estree&&e.evaluater){const t=r.value.data.estree.body[0];t.type,A=e.evaluater.evaluateExpression(t.expression)}else $r(e,t.position);else A=null===r.value||r.value;n[o]=A}return n}(e,t),a=Kr(e,t);return Vr(e,i,A,t),Xr(i,a),e.ancestors.pop(),e.schema=r,e.create(t,A,i,n)}(e,t,n):\"mdxjsEsm\"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);$r(e,t.position)}(e,t):\"root\"===t.type?function(e,t,n){const r={};return Xr(r,Kr(e,t)),e.create(t,e.Fragment,r,n)}(e,t,n):\"text\"===t.type?function(e,t){return t.value}(0,t):void 0}function Vr(e,t,n,r){\"string\"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Xr(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Kr(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:jr;for(;++r<t.children.length;){const A=t.children[r];let i;if(e.passKeys){const e=\"element\"===A.type?A.tagName:\"mdxJsxFlowElement\"===A.type||\"mdxJsxTextElement\"===A.type?A.name:void 0;if(e){const t=o.get(e)||0;i=e+\"-\"+t,o.set(e,t+1)}}const a=Wr(e,A,i);void 0!==a&&n.push(a)}return n}function Jr(e,t,n){const r=function(e,t){const n=qn(t);let r=t,o=Yn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&\"data\"===n.slice(0,4)&&hr.test(t)){if(\"-\"===t.charAt(4)){const e=t.slice(5).replace(gr,br);r=\"data\"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!gr.test(e)){let n=e.replace(mr,vr);\"-\"!==n.charAt(0)&&(n=\"-\"+n),t=\"data\"+n}}o=rr}return new o(r,t)}(e.schema,t);if(!(null==n||\"number\"==typeof n&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?function(e){const t={};return(\"\"===e[e.length-1]?[...e,\"\"]:e).join((t.padRight?\" \":\"\")+\",\"+(!1===t.padLeft?\"\":\" \")).trim()}(n):function(e){return e.join(\" \").trim()}(n)),\"style\"===r.property){let t=\"object\"==typeof n?n:function(e,t){const n={};try{Tr(t,r)}catch(t){if(!e.ignoreInvalidStyle){const n=t,r=new Rr(\"Cannot parse `style` attribute\",{ancestors:e.ancestors,cause:n,ruleId:\"style\",source:\"hast-util-to-jsx-runtime\"});throw r.file=e.filePath||void 0,r.url=Yr+\"#cannot-parse-style-attribute\",r}}return n;function r(e,t){let r=e;\"--\"!==r.slice(0,2)&&(\"-ms-\"===r.slice(0,4)&&(r=\"ms-\"+r.slice(4)),r=r.replace(Ur,to)),n[r]=t}}(e,String(n));return\"css\"===e.stylePropertyNameCase&&(t=function(e){const t={};let n;for(n in e)zr.call(e,n)&&(t[eo(n)]=e[n]);return t}(t)),[\"style\",t]}return[\"react\"===e.elementAttributeNameCase&&r.space?yr[r.property]||r.property:r.attribute,n]}}function Zr(e,t,n){let r;if(n)if(t.includes(\".\")){const e=t.split(\".\");let n,o=-1;for(;++o<e.length;){const t=zn(e[o])?{type:\"Identifier\",name:e[o]}:{type:\"Literal\",value:e[o]};n=n?{type:\"MemberExpression\",object:n,property:t,computed:!(!o||\"Literal\"!==t.type),optional:!1}:t}r=n}else r=zn(t)&&!/^[a-z]/.test(t)?{type:\"Identifier\",name:t}:{type:\"Literal\",value:t};else r={type:\"Literal\",value:t};if(\"Literal\"===r.type){const t=r.value;return zr.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);$r(e)}function $r(e,t){const n=new Rr(\"Cannot handle MDX estrees without `createEvaluater`\",{ancestors:e.ancestors,place:t,ruleId:\"mdx-estree\",source:\"hast-util-to-jsx-runtime\"});throw n.file=e.filePath||void 0,n.url=Yr+\"#cannot-handle-mdx-estrees-without-createevaluater\",n}function eo(e){let t=e.replace(Fr,no);return\"ms-\"===t.slice(0,3)&&(t=\"-\"+t),t}function to(e,t){return t.toUpperCase()}function no(e){return\"-\"+e.toLowerCase()}const ro={action:[\"form\"],cite:[\"blockquote\",\"del\",\"ins\",\"q\"],data:[\"object\"],formAction:[\"button\",\"input\"],href:[\"a\",\"area\",\"base\",\"link\"],icon:[\"menuitem\"],itemId:null,manifest:[\"html\"],ping:[\"a\",\"area\"],poster:[\"video\"],src:[\"audio\",\"embed\",\"iframe\",\"img\",\"input\",\"script\",\"source\",\"track\",\"video\"]},oo={};function Ao(e,t,n){if(function(e){return!(!e||\"object\"!=typeof e)}(e)){if(\"value\"in e)return\"html\"!==e.type||n?e.value:\"\";if(t&&\"alt\"in e&&e.alt)return e.alt;if(\"children\"in e)return io(e.children,t,n)}return Array.isArray(e)?io(e,t,n):\"\"}function io(e,t,n){const r=[];let o=-1;for(;++o<e.length;)r[o]=Ao(e[o],t,n);return r.join(\"\")}const ao=document.createElement(\"i\");function lo(e){const t=\"&\"+e+\";\";ao.innerHTML=t;const n=ao.textContent;return(59!==n.charCodeAt(n.length-1)||\"semi\"===e)&&n!==t&&n}function so(e,t,n,r){const o=e.length;let A,i=0;if(t=t<0?-t>o?0:o+t:t>o?o:t,n=n>0?n:0,r.length<1e4)A=Array.from(r),A.unshift(t,n),e.splice(...A);else for(n&&e.splice(t,n);i<r.length;)A=r.slice(i,i+1e4),A.unshift(t,0),e.splice(...A),i+=1e4,t+=1e4}function co(e,t){return e.length>0?(so(e,e.length,0,t),e):t}const uo={}.hasOwnProperty;function po(e){const t={};let n=-1;for(;++n<e.length;)fo(t,e[n]);return t}function fo(e,t){let n;for(n in t){const r=(uo.call(e,n)?e[n]:void 0)||(e[n]={}),o=t[n];let A;if(o)for(A in o){uo.call(r,A)||(r[A]=[]);const e=o[A];ho(r[A],Array.isArray(e)?e:e?[e]:[])}}}function ho(e,t){let n=-1;const r=[];for(;++n<t.length;)(\"after\"===t[n].add?e:r).push(t[n]);so(e,0,0,r)}function go(e,t){const n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||!(65535&~n)||65534==(65535&n)||n>1114111?\"�\":String.fromCodePoint(n)}function mo(e){return e.replace(/[\\t\\n\\r ]+/g,\" \").replace(/^ | $/g,\"\").toLowerCase().toUpperCase()}const vo=To(/[A-Za-z]/),bo=To(/[\\dA-Za-z]/),yo=To(/[#-'*+\\--9=?A-Z^-~]/);function wo(e){return null!==e&&(e<32||127===e)}const xo=To(/\\d/),Eo=To(/[\\dA-Fa-f]/),Bo=To(/[!-/:-@[-`{-~]/);function Po(e){return null!==e&&e<-2}function ko(e){return null!==e&&(e<0||32===e)}function Do(e){return-2===e||-1===e||32===e}const Co=To(new RegExp(\"\\\\p{P}|\\\\p{S}\",\"u\")),So=To(/\\s/);function To(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function Io(e){const t=[];let n=-1,r=0,o=0;for(;++n<e.length;){const A=e.charCodeAt(n);let i=\"\";if(37===A&&bo(e.charCodeAt(n+1))&&bo(e.charCodeAt(n+2)))o=2;else if(A<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(A))||(i=String.fromCharCode(A));else if(A>55295&&A<57344){const t=e.charCodeAt(n+1);A<56320&&t>56319&&t<57344?(i=String.fromCharCode(A,t),o=1):i=\"�\"}else i=String.fromCharCode(A);i&&(t.push(e.slice(r,n),encodeURIComponent(i)),r=n+o+1,i=\"\"),o&&(n+=o,o=0)}return t.join(\"\")+e.slice(r)}function Qo(e,t,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let A=0;return function(r){return Do(r)?(e.enter(n),i(r)):t(r)};function i(r){return Do(r)&&A++<o?(e.consume(r),i):(e.exit(n),t(r))}}const Mo={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,function(n){if(null===n)return void e.consume(n);return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),Qo(e,t,\"linePrefix\")},function(t){return e.enter(\"paragraph\"),r(t)});let n;return t;function r(t){const r=e.enter(\"chunkText\",{contentType:\"text\",previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){return null===t?(e.exit(\"chunkText\"),e.exit(\"paragraph\"),void e.consume(t)):Po(t)?(e.consume(t),e.exit(\"chunkText\"),r):(e.consume(t),o)}}};const Oo={tokenize:function(e){const t=this,n=[];let r,o,A,i=0;return a;function a(r){if(i<n.length){const o=n[i];return t.containerState=o[1],e.attempt(o[0].continuation,l,s)(r)}return s(r)}function l(e){if(i++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,r&&v();const n=t.events.length;let o,A=n;for(;A--;)if(\"exit\"===t.events[A][0]&&\"chunkFlow\"===t.events[A][1].type){o=t.events[A][1].end;break}m(i);let a=n;for(;a<t.events.length;)t.events[a][1].end={...o},a++;return so(t.events,A+1,0,t.events.slice(n)),t.events.length=a,s(e)}return a(e)}function s(o){if(i===n.length){if(!r)return d(o);if(r.currentConstruct&&r.currentConstruct.concrete)return f(o);t.interrupt=!(!r.currentConstruct||r._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Lo,c,u)(o)}function c(e){return r&&v(),m(i),d(e)}function u(e){return t.parser.lazy[t.now().line]=i!==n.length,A=t.now().offset,f(e)}function d(n){return t.containerState={},e.attempt(Lo,p,f)(n)}function p(e){return i++,n.push([t.currentConstruct,t.containerState]),d(e)}function f(n){return null===n?(r&&v(),m(0),void e.consume(n)):(r=r||t.parser.flow(t.now()),e.enter(\"chunkFlow\",{_tokenizer:r,contentType:\"flow\",previous:o}),h(n))}function h(n){return null===n?(g(e.exit(\"chunkFlow\"),!0),m(0),void e.consume(n)):Po(n)?(e.consume(n),g(e.exit(\"chunkFlow\")),i=0,t.interrupt=void 0,a):(e.consume(n),h)}function g(e,n){const a=t.sliceStream(e);if(n&&a.push(null),e.previous=o,o&&(o.next=e),o=e,r.defineSkip(e.start),r.write(a),t.parser.lazy[e.start.line]){let e=r.events.length;for(;e--;)if(r.events[e][1].start.offset<A&&(!r.events[e][1].end||r.events[e][1].end.offset>A))return;const n=t.events.length;let o,a,l=n;for(;l--;)if(\"exit\"===t.events[l][0]&&\"chunkFlow\"===t.events[l][1].type){if(o){a=t.events[l][1].end;break}o=!0}for(m(i),e=n;e<t.events.length;)t.events[e][1].end={...a},e++;so(t.events,l+1,0,t.events.slice(n)),t.events.length=e}}function m(r){let o=n.length;for(;o-- >r;){const r=n[o];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}},Lo={tokenize:function(e,t,n){return Qo(e,e.attempt(this.parser.constructs.document,t,n),\"linePrefix\",this.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)}};function No(e){return null===e||ko(e)||So(e)?1:Co(e)?2:void 0}function Ho(e,t,n){const r=[];let o=-1;for(;++o<e.length;){const A=e[o].resolveAll;A&&!r.includes(A)&&(t=A(t,n),r.push(A))}return t}const Ro={name:\"attention\",resolveAll:function(e,t){let n,r,o,A,i,a,l,s,c=-1;for(;++c<e.length;)if(\"enter\"===e[c][0]&&\"attentionSequence\"===e[c][1].type&&e[c][1]._close)for(n=c;n--;)if(\"exit\"===e[n][0]&&\"attentionSequence\"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[c][1]).charCodeAt(0)){if((e[n][1]._close||e[c][1]._open)&&(e[c][1].end.offset-e[c][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[c][1].end.offset-e[c][1].start.offset)%3))continue;a=e[n][1].end.offset-e[n][1].start.offset>1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const u={...e[n][1].end},d={...e[c][1].start};zo(u,-a),zo(d,a),A={type:a>1?\"strongSequence\":\"emphasisSequence\",start:u,end:{...e[n][1].end}},i={type:a>1?\"strongSequence\":\"emphasisSequence\",start:{...e[c][1].start},end:d},o={type:a>1?\"strongText\":\"emphasisText\",start:{...e[n][1].end},end:{...e[c][1].start}},r={type:a>1?\"strong\":\"emphasis\",start:{...A.start},end:{...i.end}},e[n][1].end={...A.start},e[c][1].start={...i.end},l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=co(l,[[\"enter\",e[n][1],t],[\"exit\",e[n][1],t]])),l=co(l,[[\"enter\",r,t],[\"enter\",A,t],[\"exit\",A,t],[\"enter\",o,t]]),l=co(l,Ho(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),l=co(l,[[\"exit\",o,t],[\"enter\",i,t],[\"exit\",i,t],[\"exit\",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(s=2,l=co(l,[[\"enter\",e[c][1],t],[\"exit\",e[c][1],t]])):s=0,so(e,n-1,c-n+3,l),c=n+l.length-s-2;break}for(c=-1;++c<e.length;)\"attentionSequence\"===e[c][1].type&&(e[c][1].type=\"data\");return e},tokenize:function(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=No(r);let A;return function(t){return A=t,e.enter(\"attentionSequence\"),i(t)};function i(a){if(a===A)return e.consume(a),i;const l=e.exit(\"attentionSequence\"),s=No(a),c=!s||2===s&&o||n.includes(a),u=!o||2===o&&s||n.includes(r);return l._open=!!(42===A?c:c&&(o||!u)),l._close=!!(42===A?u:u&&(s||!c)),t(a)}}};function zo(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const jo={name:\"autolink\",tokenize:function(e,t,n){let r=0;return function(t){return e.enter(\"autolink\"),e.enter(\"autolinkMarker\"),e.consume(t),e.exit(\"autolinkMarker\"),e.enter(\"autolinkProtocol\"),o};function o(t){return vo(t)?(e.consume(t),A):64===t?n(t):l(t)}function A(e){return 43===e||45===e||46===e||bo(e)?(r=1,i(e)):l(e)}function i(t){return 58===t?(e.consume(t),r=0,a):(43===t||45===t||46===t||bo(t))&&r++<32?(e.consume(t),i):(r=0,l(t))}function a(r){return 62===r?(e.exit(\"autolinkProtocol\"),e.enter(\"autolinkMarker\"),e.consume(r),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t):null===r||32===r||60===r||wo(r)?n(r):(e.consume(r),a)}function l(t){return 64===t?(e.consume(t),s):yo(t)?(e.consume(t),l):n(t)}function s(e){return bo(e)?c(e):n(e)}function c(n){return 46===n?(e.consume(n),r=0,s):62===n?(e.exit(\"autolinkProtocol\").type=\"autolinkEmail\",e.enter(\"autolinkMarker\"),e.consume(n),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t):u(n)}function u(t){if((45===t||bo(t))&&r++<63){const n=45===t?u:c;return e.consume(t),n}return n(t)}}};const Fo={partial:!0,tokenize:function(e,t,n){return function(t){return Do(t)?Qo(e,r,\"linePrefix\")(t):r(t)};function r(e){return null===e||Po(e)?t(e):n(e)}}};const Uo={continuation:{tokenize:function(e,t,n){const r=this;return function(t){return Do(t)?Qo(e,o,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):o(t)};function o(r){return e.attempt(Uo,t,n)(r)}}},exit:function(e){e.exit(\"blockQuote\")},name:\"blockQuote\",tokenize:function(e,t,n){const r=this;return function(t){if(62===t){const n=r.containerState;return n.open||(e.enter(\"blockQuote\",{_container:!0}),n.open=!0),e.enter(\"blockQuotePrefix\"),e.enter(\"blockQuoteMarker\"),e.consume(t),e.exit(\"blockQuoteMarker\"),o}return n(t)};function o(n){return Do(n)?(e.enter(\"blockQuotePrefixWhitespace\"),e.consume(n),e.exit(\"blockQuotePrefixWhitespace\"),e.exit(\"blockQuotePrefix\"),t):(e.exit(\"blockQuotePrefix\"),t(n))}}};const _o={name:\"characterEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"characterEscape\"),e.enter(\"escapeMarker\"),e.consume(t),e.exit(\"escapeMarker\"),r};function r(r){return Bo(r)?(e.enter(\"characterEscapeValue\"),e.consume(r),e.exit(\"characterEscapeValue\"),e.exit(\"characterEscape\"),t):n(r)}}};const qo={name:\"characterReference\",tokenize:function(e,t,n){const r=this;let o,A,i=0;return function(t){return e.enter(\"characterReference\"),e.enter(\"characterReferenceMarker\"),e.consume(t),e.exit(\"characterReferenceMarker\"),a};function a(t){return 35===t?(e.enter(\"characterReferenceMarkerNumeric\"),e.consume(t),e.exit(\"characterReferenceMarkerNumeric\"),l):(e.enter(\"characterReferenceValue\"),o=31,A=bo,s(t))}function l(t){return 88===t||120===t?(e.enter(\"characterReferenceMarkerHexadecimal\"),e.consume(t),e.exit(\"characterReferenceMarkerHexadecimal\"),e.enter(\"characterReferenceValue\"),o=6,A=Eo,s):(e.enter(\"characterReferenceValue\"),o=7,A=xo,s(t))}function s(a){if(59===a&&i){const o=e.exit(\"characterReferenceValue\");return A!==bo||lo(r.sliceSerialize(o))?(e.enter(\"characterReferenceMarker\"),e.consume(a),e.exit(\"characterReferenceMarker\"),e.exit(\"characterReference\"),t):n(a)}return A(a)&&i++<o?(e.consume(a),s):n(a)}}};const Yo={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return null===t?n(t):(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o)};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},Go={concrete:!0,name:\"codeFenced\",tokenize:function(e,t,n){const r=this,o={partial:!0,tokenize:function(e,t,n){let o=0;return i;function i(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),l}function l(t){return e.enter(\"codeFencedFence\"),Do(t)?Qo(e,s,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):s(t)}function s(t){return t===A?(e.enter(\"codeFencedFenceSequence\"),c(t)):n(t)}function c(t){return t===A?(o++,e.consume(t),c):o>=a?(e.exit(\"codeFencedFenceSequence\"),Do(t)?Qo(e,u,\"whitespace\")(t):u(t)):n(t)}function u(r){return null===r||Po(r)?(e.exit(\"codeFencedFence\"),t(r)):n(r)}}};let A,i=0,a=0;return function(t){return function(t){const n=r.events[r.events.length-1];return i=n&&\"linePrefix\"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,A=t,e.enter(\"codeFenced\"),e.enter(\"codeFencedFence\"),e.enter(\"codeFencedFenceSequence\"),l(t)}(t)};function l(t){return t===A?(a++,e.consume(t),l):a<3?n(t):(e.exit(\"codeFencedFenceSequence\"),Do(t)?Qo(e,s,\"whitespace\")(t):s(t))}function s(n){return null===n||Po(n)?(e.exit(\"codeFencedFence\"),r.interrupt?t(n):e.check(Yo,p,v)(n)):(e.enter(\"codeFencedFenceInfo\"),e.enter(\"chunkString\",{contentType:\"string\"}),c(n))}function c(t){return null===t||Po(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),s(t)):Do(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),Qo(e,u,\"whitespace\")(t)):96===t&&t===A?n(t):(e.consume(t),c)}function u(t){return null===t||Po(t)?s(t):(e.enter(\"codeFencedFenceMeta\"),e.enter(\"chunkString\",{contentType:\"string\"}),d(t))}function d(t){return null===t||Po(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceMeta\"),s(t)):96===t&&t===A?n(t):(e.consume(t),d)}function p(t){return e.attempt(o,v,f)(t)}function f(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),h}function h(t){return i>0&&Do(t)?Qo(e,g,\"linePrefix\",i+1)(t):g(t)}function g(t){return null===t||Po(t)?e.check(Yo,p,v)(t):(e.enter(\"codeFlowValue\"),m(t))}function m(t){return null===t||Po(t)?(e.exit(\"codeFlowValue\"),g(t)):(e.consume(t),m)}function v(n){return e.exit(\"codeFenced\"),t(n)}}};const Wo={name:\"codeIndented\",tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"codeIndented\"),Qo(e,o,\"linePrefix\",5)(t)};function o(e){const t=r.events[r.events.length-1];return t&&\"linePrefix\"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?A(e):n(e)}function A(t){return null===t?a(t):Po(t)?e.attempt(Vo,A,a)(t):(e.enter(\"codeFlowValue\"),i(t))}function i(t){return null===t||Po(t)?(e.exit(\"codeFlowValue\"),A(t)):(e.consume(t),i)}function a(n){return e.exit(\"codeIndented\"),t(n)}}},Vo={partial:!0,tokenize:function(e,t,n){const r=this;return o;function o(t){return r.parser.lazy[r.now().line]?n(t):Po(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o):Qo(e,A,\"linePrefix\",5)(t)}function A(e){const A=r.events[r.events.length-1];return A&&\"linePrefix\"===A[1].type&&A[2].sliceSerialize(A[1],!0).length>=4?t(e):Po(e)?o(e):n(e)}}};const Xo={name:\"codeText\",previous:function(e){return 96!==e||\"characterEscape\"===this.events[this.events.length-1][1].type},resolve:function(e){let t,n,r=e.length-4,o=3;if(!(\"lineEnding\"!==e[o][1].type&&\"space\"!==e[o][1].type||\"lineEnding\"!==e[r][1].type&&\"space\"!==e[r][1].type))for(t=o;++t<r;)if(\"codeTextData\"===e[t][1].type){e[o][1].type=\"codeTextPadding\",e[r][1].type=\"codeTextPadding\",o+=2,r-=2;break}for(t=o-1,r++;++t<=r;)void 0===n?t!==r&&\"lineEnding\"!==e[t][1].type&&(n=t):(t===r||\"lineEnding\"===e[t][1].type)&&(e[n][1].type=\"codeTextData\",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},tokenize:function(e,t,n){let r,o,A=0;return function(t){return e.enter(\"codeText\"),e.enter(\"codeTextSequence\"),i(t)};function i(t){return 96===t?(e.consume(t),A++,i):(e.exit(\"codeTextSequence\"),a(t))}function a(t){return null===t?n(t):32===t?(e.enter(\"space\"),e.consume(t),e.exit(\"space\"),a):96===t?(o=e.enter(\"codeTextSequence\"),r=0,s(t)):Po(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),a):(e.enter(\"codeTextData\"),l(t))}function l(t){return null===t||32===t||96===t||Po(t)?(e.exit(\"codeTextData\"),a(t)):(e.consume(t),l)}function s(n){return 96===n?(e.consume(n),r++,s):r===A?(e.exit(\"codeTextSequence\"),e.exit(\"codeText\"),t(n)):(o.type=\"codeTextData\",l(n))}}};class Ko{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw new RangeError(\"Cannot access index `\"+e+\"` in a splice buffer of size `\"+(this.left.length+this.right.length)+\"`\");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){const n=t??Number.POSITIVE_INFINITY;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){const r=t||0;this.setCursor(Math.trunc(e));const o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return n&&Jo(this.left,n),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),Jo(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Jo(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&0===this.right.length||e<0&&0===this.left.length))if(e<this.left.length){const t=this.left.splice(e,Number.POSITIVE_INFINITY);Jo(this.right,t.reverse())}else{const t=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);Jo(this.left,t.reverse())}}}function Jo(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Zo(e){const t={};let n,r,o,A,i,a,l,s=-1;const c=new Ko(e);for(;++s<c.length;){for(;s in t;)s=t[s];if(n=c.get(s),s&&\"chunkFlow\"===n[1].type&&\"listItemPrefix\"===c.get(s-1)[1].type&&(a=n[1]._tokenizer.events,o=0,o<a.length&&\"lineEndingBlank\"===a[o][1].type&&(o+=2),o<a.length&&\"content\"===a[o][1].type))for(;++o<a.length&&\"content\"!==a[o][1].type;)\"chunkText\"===a[o][1].type&&(a[o][1]._isInFirstContentOfListItem=!0,o++);if(\"enter\"===n[0])n[1].contentType&&(Object.assign(t,$o(c,s)),s=t[s],l=!0);else if(n[1]._container){for(o=s,r=void 0;o--;)if(A=c.get(o),\"lineEnding\"===A[1].type||\"lineEndingBlank\"===A[1].type)\"enter\"===A[0]&&(r&&(c.get(r)[1].type=\"lineEndingBlank\"),A[1].type=\"lineEnding\",r=o);else if(\"linePrefix\"!==A[1].type)break;r&&(n[1].end={...c.get(r)[1].start},i=c.slice(r,s),i.unshift(n),c.splice(r,s-r+1,i))}}return so(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!l}function $o(e,t){const n=e.get(t)[1],r=e.get(t)[2];let o=t-1;const A=[],i=n._tokenizer||r.parser[n.contentType](n.start),a=i.events,l=[],s={};let c,u,d=-1,p=n,f=0,h=0;const g=[h];for(;p;){for(;e.get(++o)[1]!==p;);A.push(o),p._tokenizer||(c=r.sliceStream(p),p.next||c.push(null),u&&i.defineSkip(p.start),p._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=!0),i.write(c),p._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=void 0)),u=p,p=p.next}for(p=n;++d<a.length;)\"exit\"===a[d][0]&&\"enter\"===a[d-1][0]&&a[d][1].type===a[d-1][1].type&&a[d][1].start.line!==a[d][1].end.line&&(h=d+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(i.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),d=g.length;d--;){const t=a.slice(g[d],g[d+1]),n=A.pop();l.push([n,n+t.length-1]),e.splice(n,2,t)}for(l.reverse(),d=-1;++d<l.length;)s[f+l[d][0]]=f+l[d][1],f+=l[d][1]-l[d][0]-1;return s}const eA={resolve:function(e){return Zo(e),e},tokenize:function(e,t){let n;return function(t){return e.enter(\"content\"),n=e.enter(\"chunkContent\",{contentType:\"content\"}),r(t)};function r(t){return null===t?o(t):Po(t)?e.check(tA,A,o)(t):(e.consume(t),r)}function o(n){return e.exit(\"chunkContent\"),e.exit(\"content\"),t(n)}function A(t){return e.consume(t),e.exit(\"chunkContent\"),n.next=e.enter(\"chunkContent\",{contentType:\"content\",previous:n}),n=n.next,r}}},tA={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return e.exit(\"chunkContent\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),Qo(e,o,\"linePrefix\")};function o(o){if(null===o||Po(o))return n(o);const A=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(\"codeIndented\")&&A&&\"linePrefix\"===A[1].type&&A[2].sliceSerialize(A[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}};function nA(e,t,n,r,o,A,i,a,l){const s=l||Number.POSITIVE_INFINITY;let c=0;return function(t){return 60===t?(e.enter(r),e.enter(o),e.enter(A),e.consume(t),e.exit(A),u):null===t||32===t||41===t||wo(t)?n(t):(e.enter(r),e.enter(i),e.enter(a),e.enter(\"chunkString\",{contentType:\"string\"}),f(t))};function u(n){return 62===n?(e.enter(A),e.consume(n),e.exit(A),e.exit(o),e.exit(r),t):(e.enter(a),e.enter(\"chunkString\",{contentType:\"string\"}),d(n))}function d(t){return 62===t?(e.exit(\"chunkString\"),e.exit(a),u(t)):null===t||60===t||Po(t)?n(t):(e.consume(t),92===t?p:d)}function p(t){return 60===t||62===t||92===t?(e.consume(t),d):d(t)}function f(o){return c||null!==o&&41!==o&&!ko(o)?c<s&&40===o?(e.consume(o),c++,f):41===o?(e.consume(o),c--,f):null===o||32===o||40===o||wo(o)?n(o):(e.consume(o),92===o?h:f):(e.exit(\"chunkString\"),e.exit(a),e.exit(i),e.exit(r),t(o))}function h(t){return 40===t||41===t||92===t?(e.consume(t),f):f(t)}}function rA(e,t,n,r,o,A){const i=this;let a,l=0;return function(t){return e.enter(r),e.enter(o),e.consume(t),e.exit(o),e.enter(A),s};function s(u){return l>999||null===u||91===u||93===u&&!a||94===u&&!l&&\"_hiddenFootnoteSupport\"in i.parser.constructs?n(u):93===u?(e.exit(A),e.enter(o),e.consume(u),e.exit(o),e.exit(r),t):Po(u)?(e.enter(\"lineEnding\"),e.consume(u),e.exit(\"lineEnding\"),s):(e.enter(\"chunkString\",{contentType:\"string\"}),c(u))}function c(t){return null===t||91===t||93===t||Po(t)||l++>999?(e.exit(\"chunkString\"),s(t)):(e.consume(t),a||(a=!Do(t)),92===t?u:c)}function u(t){return 91===t||92===t||93===t?(e.consume(t),l++,c):c(t)}}function oA(e,t,n,r,o,A){let i;return function(t){return 34===t||39===t||40===t?(e.enter(r),e.enter(o),e.consume(t),e.exit(o),i=40===t?41:t,a):n(t)};function a(n){return n===i?(e.enter(o),e.consume(n),e.exit(o),e.exit(r),t):(e.enter(A),l(n))}function l(t){return t===i?(e.exit(A),a(i)):null===t?n(t):Po(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),Qo(e,l,\"linePrefix\")):(e.enter(\"chunkString\",{contentType:\"string\"}),s(t))}function s(t){return t===i||null===t||Po(t)?(e.exit(\"chunkString\"),l(t)):(e.consume(t),92===t?c:s)}function c(t){return t===i||92===t?(e.consume(t),s):s(t)}}function AA(e,t){let n;return function r(o){return Po(o)?(e.enter(\"lineEnding\"),e.consume(o),e.exit(\"lineEnding\"),n=!0,r):Do(o)?Qo(e,r,n?\"linePrefix\":\"lineSuffix\")(o):t(o)}}const iA={name:\"definition\",tokenize:function(e,t,n){const r=this;let o;return function(t){return e.enter(\"definition\"),function(t){return rA.call(r,e,A,n,\"definitionLabel\",\"definitionLabelMarker\",\"definitionLabelString\")(t)}(t)};function A(t){return o=mo(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter(\"definitionMarker\"),e.consume(t),e.exit(\"definitionMarker\"),i):n(t)}function i(t){return ko(t)?AA(e,a)(t):a(t)}function a(t){return nA(e,l,n,\"definitionDestination\",\"definitionDestinationLiteral\",\"definitionDestinationLiteralMarker\",\"definitionDestinationRaw\",\"definitionDestinationString\")(t)}function l(t){return e.attempt(aA,s,s)(t)}function s(t){return Do(t)?Qo(e,c,\"whitespace\")(t):c(t)}function c(A){return null===A||Po(A)?(e.exit(\"definition\"),r.parser.defined.push(o),t(A)):n(A)}}},aA={partial:!0,tokenize:function(e,t,n){return function(t){return ko(t)?AA(e,r)(t):n(t)};function r(t){return oA(e,o,n,\"definitionTitle\",\"definitionTitleMarker\",\"definitionTitleString\")(t)}function o(t){return Do(t)?Qo(e,A,\"whitespace\")(t):A(t)}function A(e){return null===e||Po(e)?t(e):n(e)}}};const lA={name:\"hardBreakEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"hardBreakEscape\"),e.consume(t),r};function r(r){return Po(r)?(e.exit(\"hardBreakEscape\"),t(r)):n(r)}}};const sA={name:\"headingAtx\",resolve:function(e,t){let n,r,o=e.length-2,A=3;return\"whitespace\"===e[A][1].type&&(A+=2),o-2>A&&\"whitespace\"===e[o][1].type&&(o-=2),\"atxHeadingSequence\"===e[o][1].type&&(A===o-1||o-4>A&&\"whitespace\"===e[o-2][1].type)&&(o-=A+1===o?2:4),o>A&&(n={type:\"atxHeadingText\",start:e[A][1].start,end:e[o][1].end},r={type:\"chunkText\",start:e[A][1].start,end:e[o][1].end,contentType:\"text\"},so(e,A,o-A+1,[[\"enter\",n,t],[\"enter\",r,t],[\"exit\",r,t],[\"exit\",n,t]])),e},tokenize:function(e,t,n){let r=0;return function(t){return e.enter(\"atxHeading\"),function(t){return e.enter(\"atxHeadingSequence\"),o(t)}(t)};function o(t){return 35===t&&r++<6?(e.consume(t),o):null===t||ko(t)?(e.exit(\"atxHeadingSequence\"),A(t)):n(t)}function A(n){return 35===n?(e.enter(\"atxHeadingSequence\"),i(n)):null===n||Po(n)?(e.exit(\"atxHeading\"),t(n)):Do(n)?Qo(e,A,\"whitespace\")(n):(e.enter(\"atxHeadingText\"),a(n))}function i(t){return 35===t?(e.consume(t),i):(e.exit(\"atxHeadingSequence\"),A(t))}function a(t){return null===t||35===t||ko(t)?(e.exit(\"atxHeadingText\"),A(t)):(e.consume(t),a)}}};const cA=[\"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\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"search\",\"section\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"],uA=[\"pre\",\"script\",\"style\",\"textarea\"],dA={concrete:!0,name:\"htmlFlow\",resolveTo:function(e){let t=e.length;for(;t--&&(\"enter\"!==e[t][0]||\"htmlFlow\"!==e[t][1].type););return t>1&&\"linePrefix\"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,n){const r=this;let o,A,i,a,l;return function(t){return function(t){return e.enter(\"htmlFlow\"),e.enter(\"htmlFlowData\"),e.consume(t),s}(t)};function s(a){return 33===a?(e.consume(a),c):47===a?(e.consume(a),A=!0,p):63===a?(e.consume(a),o=3,r.interrupt?t:O):vo(a)?(e.consume(a),i=String.fromCharCode(a),f):n(a)}function c(A){return 45===A?(e.consume(A),o=2,u):91===A?(e.consume(A),o=5,a=0,d):vo(A)?(e.consume(A),o=4,r.interrupt?t:O):n(A)}function u(o){return 45===o?(e.consume(o),r.interrupt?t:O):n(o)}function d(o){const A=\"CDATA[\";return o===A.charCodeAt(a++)?(e.consume(o),6===a?r.interrupt?t:k:d):n(o)}function p(t){return vo(t)?(e.consume(t),i=String.fromCharCode(t),f):n(t)}function f(a){if(null===a||47===a||62===a||ko(a)){const l=47===a,s=i.toLowerCase();return l||A||!uA.includes(s)?cA.includes(i.toLowerCase())?(o=6,l?(e.consume(a),h):r.interrupt?t(a):k(a)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(a):A?g(a):m(a)):(o=1,r.interrupt?t(a):k(a))}return 45===a||bo(a)?(e.consume(a),i+=String.fromCharCode(a),f):n(a)}function h(o){return 62===o?(e.consume(o),r.interrupt?t:k):n(o)}function g(t){return Do(t)?(e.consume(t),g):B(t)}function m(t){return 47===t?(e.consume(t),B):58===t||95===t||vo(t)?(e.consume(t),v):Do(t)?(e.consume(t),m):B(t)}function v(t){return 45===t||46===t||58===t||95===t||bo(t)?(e.consume(t),v):b(t)}function b(t){return 61===t?(e.consume(t),y):Do(t)?(e.consume(t),b):m(t)}function y(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),l=t,w):Do(t)?(e.consume(t),y):x(t)}function w(t){return t===l?(e.consume(t),l=null,E):null===t||Po(t)?n(t):(e.consume(t),w)}function x(t){return null===t||34===t||39===t||47===t||60===t||61===t||62===t||96===t||ko(t)?b(t):(e.consume(t),x)}function E(e){return 47===e||62===e||Do(e)?m(e):n(e)}function B(t){return 62===t?(e.consume(t),P):n(t)}function P(t){return null===t||Po(t)?k(t):Do(t)?(e.consume(t),P):n(t)}function k(t){return 45===t&&2===o?(e.consume(t),T):60===t&&1===o?(e.consume(t),I):62===t&&4===o?(e.consume(t),L):63===t&&3===o?(e.consume(t),O):93===t&&5===o?(e.consume(t),M):!Po(t)||6!==o&&7!==o?null===t||Po(t)?(e.exit(\"htmlFlowData\"),D(t)):(e.consume(t),k):(e.exit(\"htmlFlowData\"),e.check(pA,N,D)(t))}function D(t){return e.check(fA,C,N)(t)}function C(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),S}function S(t){return null===t||Po(t)?D(t):(e.enter(\"htmlFlowData\"),k(t))}function T(t){return 45===t?(e.consume(t),O):k(t)}function I(t){return 47===t?(e.consume(t),i=\"\",Q):k(t)}function Q(t){if(62===t){const n=i.toLowerCase();return uA.includes(n)?(e.consume(t),L):k(t)}return vo(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),Q):k(t)}function M(t){return 93===t?(e.consume(t),O):k(t)}function O(t){return 62===t?(e.consume(t),L):45===t&&2===o?(e.consume(t),O):k(t)}function L(t){return null===t||Po(t)?(e.exit(\"htmlFlowData\"),N(t)):(e.consume(t),L)}function N(n){return e.exit(\"htmlFlow\"),t(n)}}},pA={partial:!0,tokenize:function(e,t,n){return function(r){return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),e.attempt(Fo,t,n)}}},fA={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return Po(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o):n(t)};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}};const hA={name:\"htmlText\",tokenize:function(e,t,n){const r=this;let o,A,i;return function(t){return e.enter(\"htmlText\"),e.enter(\"htmlTextData\"),e.consume(t),a};function a(t){return 33===t?(e.consume(t),l):47===t?(e.consume(t),y):63===t?(e.consume(t),v):vo(t)?(e.consume(t),E):n(t)}function l(t){return 45===t?(e.consume(t),s):91===t?(e.consume(t),A=0,p):vo(t)?(e.consume(t),m):n(t)}function s(t){return 45===t?(e.consume(t),d):n(t)}function c(t){return null===t?n(t):45===t?(e.consume(t),u):Po(t)?(i=c,Q(t)):(e.consume(t),c)}function u(t){return 45===t?(e.consume(t),d):c(t)}function d(e){return 62===e?I(e):45===e?u(e):c(e)}function p(t){const r=\"CDATA[\";return t===r.charCodeAt(A++)?(e.consume(t),6===A?f:p):n(t)}function f(t){return null===t?n(t):93===t?(e.consume(t),h):Po(t)?(i=f,Q(t)):(e.consume(t),f)}function h(t){return 93===t?(e.consume(t),g):f(t)}function g(t){return 62===t?I(t):93===t?(e.consume(t),g):f(t)}function m(t){return null===t||62===t?I(t):Po(t)?(i=m,Q(t)):(e.consume(t),m)}function v(t){return null===t?n(t):63===t?(e.consume(t),b):Po(t)?(i=v,Q(t)):(e.consume(t),v)}function b(e){return 62===e?I(e):v(e)}function y(t){return vo(t)?(e.consume(t),w):n(t)}function w(t){return 45===t||bo(t)?(e.consume(t),w):x(t)}function x(t){return Po(t)?(i=x,Q(t)):Do(t)?(e.consume(t),x):I(t)}function E(t){return 45===t||bo(t)?(e.consume(t),E):47===t||62===t||ko(t)?B(t):n(t)}function B(t){return 47===t?(e.consume(t),I):58===t||95===t||vo(t)?(e.consume(t),P):Po(t)?(i=B,Q(t)):Do(t)?(e.consume(t),B):I(t)}function P(t){return 45===t||46===t||58===t||95===t||bo(t)?(e.consume(t),P):k(t)}function k(t){return 61===t?(e.consume(t),D):Po(t)?(i=k,Q(t)):Do(t)?(e.consume(t),k):B(t)}function D(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),o=t,C):Po(t)?(i=D,Q(t)):Do(t)?(e.consume(t),D):(e.consume(t),S)}function C(t){return t===o?(e.consume(t),o=void 0,T):null===t?n(t):Po(t)?(i=C,Q(t)):(e.consume(t),C)}function S(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||ko(t)?B(t):(e.consume(t),S)}function T(e){return 47===e||62===e||ko(e)?B(e):n(e)}function I(r){return 62===r?(e.consume(r),e.exit(\"htmlTextData\"),e.exit(\"htmlText\"),t):n(r)}function Q(t){return e.exit(\"htmlTextData\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),M}function M(t){return Do(t)?Qo(e,O,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):O(t)}function O(t){return e.enter(\"htmlTextData\"),i(t)}}};const gA={name:\"labelEnd\",resolveAll:function(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),\"labelImage\"===r.type||\"labelLink\"===r.type||\"labelEnd\"===r.type){const e=\"labelImage\"===r.type?4:2;r.type=\"data\",t+=e}}return e.length!==n.length&&so(e,0,e.length,n),e},resolveTo:function(e,t){let n,r,o,A,i=e.length,a=0;for(;i--;)if(n=e[i][1],r){if(\"link\"===n.type||\"labelLink\"===n.type&&n._inactive)break;\"enter\"===e[i][0]&&\"labelLink\"===n.type&&(n._inactive=!0)}else if(o){if(\"enter\"===e[i][0]&&(\"labelImage\"===n.type||\"labelLink\"===n.type)&&!n._balanced&&(r=i,\"labelLink\"!==n.type)){a=2;break}}else\"labelEnd\"===n.type&&(o=i);const l={type:\"labelLink\"===e[r][1].type?\"link\":\"image\",start:{...e[r][1].start},end:{...e[e.length-1][1].end}},s={type:\"label\",start:{...e[r][1].start},end:{...e[o][1].end}},c={type:\"labelText\",start:{...e[r+a+2][1].end},end:{...e[o-2][1].start}};return A=[[\"enter\",l,t],[\"enter\",s,t]],A=co(A,e.slice(r+1,r+a+3)),A=co(A,[[\"enter\",c,t]]),A=co(A,Ho(t.parser.constructs.insideSpan.null,e.slice(r+a+4,o-3),t)),A=co(A,[[\"exit\",c,t],e[o-2],e[o-1],[\"exit\",s,t]]),A=co(A,e.slice(o+1)),A=co(A,[[\"exit\",l,t]]),so(e,r,e.length,A),e},tokenize:function(e,t,n){const r=this;let o,A,i=r.events.length;for(;i--;)if((\"labelImage\"===r.events[i][1].type||\"labelLink\"===r.events[i][1].type)&&!r.events[i][1]._balanced){o=r.events[i][1];break}return function(t){return o?o._inactive?c(t):(A=r.parser.defined.includes(mo(r.sliceSerialize({start:o.end,end:r.now()}))),e.enter(\"labelEnd\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelEnd\"),a):n(t)};function a(t){return 40===t?e.attempt(mA,s,A?s:c)(t):91===t?e.attempt(vA,s,A?l:c)(t):A?s(t):c(t)}function l(t){return e.attempt(bA,s,c)(t)}function s(e){return t(e)}function c(e){return o._balanced=!0,n(e)}}},mA={tokenize:function(e,t,n){return function(t){return e.enter(\"resource\"),e.enter(\"resourceMarker\"),e.consume(t),e.exit(\"resourceMarker\"),r};function r(t){return ko(t)?AA(e,o)(t):o(t)}function o(t){return 41===t?s(t):nA(e,A,i,\"resourceDestination\",\"resourceDestinationLiteral\",\"resourceDestinationLiteralMarker\",\"resourceDestinationRaw\",\"resourceDestinationString\",32)(t)}function A(t){return ko(t)?AA(e,a)(t):s(t)}function i(e){return n(e)}function a(t){return 34===t||39===t||40===t?oA(e,l,n,\"resourceTitle\",\"resourceTitleMarker\",\"resourceTitleString\")(t):s(t)}function l(t){return ko(t)?AA(e,s)(t):s(t)}function s(r){return 41===r?(e.enter(\"resourceMarker\"),e.consume(r),e.exit(\"resourceMarker\"),e.exit(\"resource\"),t):n(r)}}},vA={tokenize:function(e,t,n){const r=this;return function(t){return rA.call(r,e,o,A,\"reference\",\"referenceMarker\",\"referenceString\")(t)};function o(e){return r.parser.defined.includes(mo(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function A(e){return n(e)}}},bA={tokenize:function(e,t,n){return function(t){return e.enter(\"reference\"),e.enter(\"referenceMarker\"),e.consume(t),e.exit(\"referenceMarker\"),r};function r(r){return 93===r?(e.enter(\"referenceMarker\"),e.consume(r),e.exit(\"referenceMarker\"),e.exit(\"reference\"),t):n(r)}}};const yA={name:\"labelStartImage\",resolveAll:gA.resolveAll,tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelImage\"),e.enter(\"labelImageMarker\"),e.consume(t),e.exit(\"labelImageMarker\"),o};function o(t){return 91===t?(e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelImage\"),A):n(t)}function A(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}}};const wA={name:\"labelStartLink\",resolveAll:gA.resolveAll,tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelLink\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelLink\"),o};function o(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}}};const xA={name:\"lineEnding\",tokenize:function(e,t){return function(n){return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),Qo(e,t,\"linePrefix\")}}};const EA={name:\"thematicBreak\",tokenize:function(e,t,n){let r,o=0;return function(t){return e.enter(\"thematicBreak\"),function(e){return r=e,A(e)}(t)};function A(A){return A===r?(e.enter(\"thematicBreakSequence\"),i(A)):o>=3&&(null===A||Po(A))?(e.exit(\"thematicBreak\"),t(A)):n(A)}function i(t){return t===r?(e.consume(t),o++,i):(e.exit(\"thematicBreakSequence\"),Do(t)?Qo(e,A,\"whitespace\")(t):A(t))}}};const BA={continuation:{tokenize:function(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Fo,function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Qo(e,t,\"listItemIndent\",r.containerState.size+1)(n)},function(n){return r.containerState.furtherBlankLines||!Do(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(kA,t,o)(n))});function o(o){return r.containerState._closeFlow=!0,r.interrupt=void 0,Qo(e,e.attempt(BA,t,n),\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(o)}}},exit:function(e){e.exit(this.containerState.type)},name:\"list\",tokenize:function(e,t,n){const r=this,o=r.events[r.events.length-1];let A=o&&\"linePrefix\"===o[1].type?o[2].sliceSerialize(o[1],!0).length:0,i=0;return function(t){const o=r.containerState.type||(42===t||43===t||45===t?\"listUnordered\":\"listOrdered\");if(\"listUnordered\"===o?!r.containerState.marker||t===r.containerState.marker:xo(t)){if(r.containerState.type||(r.containerState.type=o,e.enter(o,{_container:!0})),\"listUnordered\"===o)return e.enter(\"listItemPrefix\"),42===t||45===t?e.check(EA,n,l)(t):l(t);if(!r.interrupt||49===t)return e.enter(\"listItemPrefix\"),e.enter(\"listItemValue\"),a(t)}return n(t)};function a(t){return xo(t)&&++i<10?(e.consume(t),a):(!r.interrupt||i<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit(\"listItemValue\"),l(t)):n(t)}function l(t){return e.enter(\"listItemMarker\"),e.consume(t),e.exit(\"listItemMarker\"),r.containerState.marker=r.containerState.marker||t,e.check(Fo,r.interrupt?n:s,e.attempt(PA,u,c))}function s(e){return r.containerState.initialBlankLine=!0,A++,u(e)}function c(t){return Do(t)?(e.enter(\"listItemPrefixWhitespace\"),e.consume(t),e.exit(\"listItemPrefixWhitespace\"),u):n(t)}function u(n){return r.containerState.size=A+r.sliceSerialize(e.exit(\"listItemPrefix\"),!0).length,t(n)}}},PA={partial:!0,tokenize:function(e,t,n){const r=this;return Qo(e,function(e){const o=r.events[r.events.length-1];return!Do(e)&&o&&\"listItemPrefixWhitespace\"===o[1].type?t(e):n(e)},\"listItemPrefixWhitespace\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:5)}},kA={partial:!0,tokenize:function(e,t,n){const r=this;return Qo(e,function(e){const o=r.events[r.events.length-1];return o&&\"listItemIndent\"===o[1].type&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(e):n(e)},\"listItemIndent\",r.containerState.size+1)}};const DA={name:\"setextUnderline\",resolveTo:function(e,t){let n,r,o,A=e.length;for(;A--;)if(\"enter\"===e[A][0]){if(\"content\"===e[A][1].type){n=A;break}\"paragraph\"===e[A][1].type&&(r=A)}else\"content\"===e[A][1].type&&e.splice(A,1),!o&&\"definition\"===e[A][1].type&&(o=A);const i={type:\"setextHeading\",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type=\"setextHeadingText\",o?(e.splice(r,0,[\"enter\",i,t]),e.splice(o+1,0,[\"exit\",e[n][1],t]),e[n][1].end={...e[o][1].end}):e[n][1]=i,e.push([\"exit\",i,t]),e},tokenize:function(e,t,n){const r=this;let o;return function(t){let i,a=r.events.length;for(;a--;)if(\"lineEnding\"!==r.events[a][1].type&&\"linePrefix\"!==r.events[a][1].type&&\"content\"!==r.events[a][1].type){i=\"paragraph\"===r.events[a][1].type;break}return r.parser.lazy[r.now().line]||!r.interrupt&&!i?n(t):(e.enter(\"setextHeadingLine\"),o=t,function(t){return e.enter(\"setextHeadingLineSequence\"),A(t)}(t))};function A(t){return t===o?(e.consume(t),A):(e.exit(\"setextHeadingLineSequence\"),Do(t)?Qo(e,i,\"lineSuffix\")(t):i(t))}function i(r){return null===r||Po(r)?(e.exit(\"setextHeadingLine\"),t(r)):n(r)}}};const CA={tokenize:function(e){const t=this,n=e.attempt(Fo,function(r){if(null===r)return void e.consume(r);return e.enter(\"lineEndingBlank\"),e.consume(r),e.exit(\"lineEndingBlank\"),t.currentConstruct=void 0,n},e.attempt(this.parser.constructs.flowInitial,r,Qo(e,e.attempt(this.parser.constructs.flow,r,e.attempt(eA,r)),\"linePrefix\")));return n;function r(r){if(null!==r)return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),t.currentConstruct=void 0,n;e.consume(r)}}};const SA={resolveAll:MA()},TA=QA(\"string\"),IA=QA(\"text\");function QA(e){return{resolveAll:MA(\"text\"===e?OA:void 0),tokenize:function(t){const n=this,r=this.parser.constructs[e],o=t.attempt(r,A,i);return A;function A(e){return l(e)?o(e):i(e)}function i(e){if(null!==e)return t.enter(\"data\"),t.consume(e),a;t.consume(e)}function a(e){return l(e)?(t.exit(\"data\"),o(e)):(t.consume(e),a)}function l(e){if(null===e)return!0;const t=r[e];let o=-1;if(t)for(;++o<t.length;){const e=t[o];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}}function MA(e){return function(t,n){let r,o=-1;for(;++o<=t.length;)void 0===r?t[o]&&\"data\"===t[o][1].type&&(r=o,o++):(!t[o]||\"data\"!==t[o][1].type)&&(o!==r+2&&(t[r][1].end=t[o-1][1].end,t.splice(r+2,o-r-2),o=r+2),r=void 0);return e?e(t,n):t}}function OA(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||\"lineEnding\"===e[n][1].type)&&\"data\"===e[n-1][1].type){const r=e[n-1][1],o=t.sliceStream(r);let A,i=o.length,a=-1,l=0;for(;i--;){const e=o[i];if(\"string\"==typeof e){for(a=e.length;32===e.charCodeAt(a-1);)l++,a--;if(a)break;a=-1}else if(-2===e)A=!0,l++;else if(-1!==e){i++;break}}if(l){const o={type:n===e.length||A||l<2?\"lineSuffix\":\"hardBreakTrailing\",start:{_bufferIndex:i?a:r.start._bufferIndex+a,_index:r.start._index+i,line:r.end.line,column:r.end.column-l,offset:r.end.offset-l},end:{...r.end}};r.end={...o.start},r.start.offset===r.end.offset?Object.assign(r,o):(e.splice(n,0,[\"enter\",o,t],[\"exit\",o,t]),n+=2)}n++}return e}const LA={42:BA,43:BA,45:BA,48:BA,49:BA,50:BA,51:BA,52:BA,53:BA,54:BA,55:BA,56:BA,57:BA,62:Uo},NA={91:iA},HA={[-2]:Wo,[-1]:Wo,32:Wo},RA={35:sA,42:EA,45:[DA,EA],60:dA,61:DA,95:EA,96:Go,126:Go},zA={38:qo,92:_o},jA={[-5]:xA,[-4]:xA,[-3]:xA,33:yA,38:qo,42:Ro,60:[jo,hA],91:wA,92:[lA,_o],93:gA,95:Ro,96:Xo},FA={null:[Ro,SA]},UA=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:NA,disable:{null:[]},document:LA,flow:RA,flowInitial:HA,insideSpan:FA,string:zA,text:jA},Symbol.toStringTag,{value:\"Module\"}));function _A(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const o={},A=[];let i=[],a=[];const l={attempt:h(function(e,t){g(e,t.from)}),check:h(f),consume:function(e){Po(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,m()):-1!==e&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===i[r._index].length&&(r._bufferIndex=-1,r._index++)),s.previous=e},enter:function(e,t){const n=t||{};return n.type=e,n.start=d(),s.events.push([\"enter\",n,s]),a.push(n),n},exit:function(e){const t=a.pop();return t.end=d(),s.events.push([\"exit\",t,s]),t},interrupt:h(f,{interrupt:!0})},s={code:null,containerState:{},defineSkip:function(e){o[e.line]=e.column,m()},events:[],now:d,parser:e,previous:null,sliceSerialize:function(e,t){return function(e,t){let n=-1;const r=[];let o;for(;++n<e.length;){const A=e[n];let i;if(\"string\"==typeof A)i=A;else switch(A){case-5:i=\"\\r\";break;case-4:i=\"\\n\";break;case-3:i=\"\\r\\n\";break;case-2:i=t?\" \":\"\\t\";break;case-1:if(!t&&o)continue;i=\" \";break;default:i=String.fromCharCode(A)}o=-2===A,r.push(i)}return r.join(\"\")}(u(e),t)},sliceStream:u,write:function(e){return i=co(i,e),function(){let e;for(;r._index<i.length;){const t=i[r._index];if(\"string\"==typeof t)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)p(t.charCodeAt(r._bufferIndex));else p(t)}}(),null!==i[i.length-1]?[]:(g(t,0),s.events=Ho(A,s.events,s),s.events)}};let c=t.tokenize.call(s,l);return t.resolveAll&&A.push(t),s;function u(e){return function(e,t){const n=t.start._index,r=t.start._bufferIndex,o=t.end._index,A=t.end._bufferIndex;let i;if(n===o)i=[e[n].slice(r,A)];else{if(i=e.slice(n,o),r>-1){const e=i[0];\"string\"==typeof e?i[0]=e.slice(r):i.shift()}A>0&&i.push(e[o].slice(0,A))}return i}(i,e)}function d(){const{_bufferIndex:e,_index:t,line:n,column:o,offset:A}=r;return{_bufferIndex:e,_index:t,line:n,column:o,offset:A}}function p(e){c=c(e)}function f(e,t){t.restore()}function h(e,t){return function(n,o,A){let i,c,u,p;return Array.isArray(n)?f(n):\"tokenize\"in n?f([n]):function(e){return t;function t(t){const n=null!==t&&e[t],r=null!==t&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}(n);function f(e){return i=e,c=0,0===e.length?A:h(e[c])}function h(e){return function(n){return p=function(){const e=d(),t=s.previous,n=s.currentConstruct,o=s.events.length,A=Array.from(a);return{from:o,restore:i};function i(){r=e,s.previous=t,s.currentConstruct=n,s.events.length=o,a=A,m()}}(),u=e,e.partial||(s.currentConstruct=e),e.name&&s.parser.constructs.disable.null.includes(e.name)?v():e.tokenize.call(t?Object.assign(Object.create(s),t):s,l,g,v)(n)}}function g(t){return e(u,p),o}function v(e){return p.restore(),++c<i.length?h(i[c]):A}}}function g(e,t){e.resolveAll&&!A.includes(e)&&A.push(e),e.resolve&&so(s.events,t,s.events.length-t,e.resolve(s.events.slice(t),s)),e.resolveTo&&(s.events=e.resolveTo(s.events,s))}function m(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}const qA=/[\\0\\t\\n\\r]/g;const YA=/\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;function GA(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return go(n.slice(t?2:1),t?16:10)}return lo(n)||e}const WA={}.hasOwnProperty;function VA(e,t,n){return\"string\"!=typeof t&&(n=t,t=void 0),function(e){const t={transforms:[],canContainEols:[\"emphasis\",\"fragment\",\"heading\",\"paragraph\",\"strong\"],enter:{autolink:A(te),autolinkProtocol:P,autolinkEmail:P,atxHeading:A(J),blockQuote:A(G),characterEscape:P,characterReference:P,codeFenced:A(W),codeFencedFenceInfo:i,codeFencedFenceMeta:i,codeIndented:A(W,i),codeText:A(V,i),codeTextData:P,data:P,codeFlowValue:P,definition:A(X),definitionDestinationString:i,definitionLabelString:i,definitionTitleString:i,emphasis:A(K),hardBreakEscape:A(Z),hardBreakTrailing:A(Z),htmlFlow:A($,i),htmlFlowData:P,htmlText:A($,i),htmlTextData:P,image:A(ee),label:i,link:A(te),listItem:A(re),listItemValue:d,listOrdered:A(ne,u),listUnordered:A(ne),paragraph:A(oe),reference:z,referenceString:i,resourceDestinationString:i,resourceTitleString:i,setextHeading:A(J),strong:A(Ae),thematicBreak:A(ae)},exit:{atxHeading:l(),atxHeadingSequence:w,autolink:l(),autolinkEmail:Y,autolinkProtocol:q,blockQuote:l(),characterEscapeValue:k,characterReferenceMarkerHexadecimal:F,characterReferenceMarkerNumeric:F,characterReferenceValue:U,characterReference:_,codeFenced:l(g),codeFencedFence:h,codeFencedFenceInfo:p,codeFencedFenceMeta:f,codeFlowValue:k,codeIndented:l(m),codeText:l(I),codeTextData:k,data:k,definition:l(),definitionDestinationString:y,definitionLabelString:v,definitionTitleString:b,emphasis:l(),hardBreakEscape:l(C),hardBreakTrailing:l(C),htmlFlow:l(S),htmlFlowData:k,htmlText:l(T),htmlTextData:k,image:l(M),label:L,labelText:O,lineEnding:D,link:l(Q),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:j,resourceDestinationString:N,resourceTitleString:H,resource:R,setextHeading:l(B),setextHeadingLineSequence:E,setextHeadingText:x,strong:l(),thematicBreak:l()}};KA(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(e){let r={type:\"root\",children:[]};const A={stack:[r],tokenStack:[],config:t,enter:a,exit:s,buffer:i,resume:c,data:n},l=[];let u=-1;for(;++u<e.length;)if(\"listOrdered\"===e[u][1].type||\"listUnordered\"===e[u][1].type)if(\"enter\"===e[u][0])l.push(u);else{u=o(e,l.pop(),u)}for(u=-1;++u<e.length;){const n=t[e[u][0]];WA.call(n,e[u][1].type)&&n[e[u][1].type].call(Object.assign({sliceSerialize:e[u][2].sliceSerialize},A),e[u][1])}if(A.tokenStack.length>0){const e=A.tokenStack[A.tokenStack.length-1];(e[1]||ZA).call(A,void 0,e[0])}for(r.position={start:XA(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:XA(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},u=-1;++u<t.transforms.length;)r=t.transforms[u](r)||r;return r}function o(e,t,n){let r,o,A,i,a=t-1,l=-1,s=!1;for(;++a<=n;){const t=e[a];switch(t[1].type){case\"listUnordered\":case\"listOrdered\":case\"blockQuote\":\"enter\"===t[0]?l++:l--,i=void 0;break;case\"lineEndingBlank\":\"enter\"===t[0]&&(r&&!i&&!l&&!A&&(A=a),i=void 0);break;case\"linePrefix\":case\"listItemValue\":case\"listItemMarker\":case\"listItemPrefix\":case\"listItemPrefixWhitespace\":break;default:i=void 0}if(!l&&\"enter\"===t[0]&&\"listItemPrefix\"===t[1].type||-1===l&&\"exit\"===t[0]&&(\"listUnordered\"===t[1].type||\"listOrdered\"===t[1].type)){if(r){let i=a;for(o=void 0;i--;){const t=e[i];if(\"lineEnding\"===t[1].type||\"lineEndingBlank\"===t[1].type){if(\"exit\"===t[0])continue;o&&(e[o][1].type=\"lineEndingBlank\",s=!0),t[1].type=\"lineEnding\",o=i}else if(\"linePrefix\"!==t[1].type&&\"blockQuotePrefix\"!==t[1].type&&\"blockQuotePrefixWhitespace\"!==t[1].type&&\"blockQuoteMarker\"!==t[1].type&&\"listItemIndent\"!==t[1].type)break}A&&(!o||A<o)&&(r._spread=!0),r.end=Object.assign({},o?e[o][1].start:t[1].end),e.splice(o||a,0,[\"exit\",r,t[2]]),a++,n++}if(\"listItemPrefix\"===t[1].type){const o={type:\"listItem\",_spread:!1,start:Object.assign({},t[1].start),end:void 0};r=o,e.splice(a,0,[\"enter\",o,t[2]]),a++,n++,A=void 0,i=!0}}}return e[t][1]._spread=s,n}function A(e,t){return n;function n(n){a.call(this,e(n),n),t&&t.call(this,n)}}function i(){this.stack.push({type:\"fragment\",children:[]})}function a(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:XA(t.start),end:void 0}}function l(e){return t;function t(t){e&&e.call(this,t),s.call(this,t)}}function s(e,t){const n=this.stack.pop(),r=this.tokenStack.pop();if(!r)throw new Error(\"Cannot close `\"+e.type+\"` (\"+Or({start:e.start,end:e.end})+\"): it’s not open\");r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||ZA).call(this,e,r[0])),n.position.end=XA(e.end)}function c(){return function(e){return Ao(e,\"boolean\"!=typeof oo.includeImageAlt||oo.includeImageAlt,\"boolean\"!=typeof oo.includeHtml||oo.includeHtml)}(this.stack.pop())}function u(){this.data.expectingFirstListItemValue=!0}function d(e){if(this.data.expectingFirstListItemValue){this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function p(){const e=this.resume();this.stack[this.stack.length-1].lang=e}function f(){const e=this.resume();this.stack[this.stack.length-1].meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,\"\"),this.data.flowCodeInside=void 0}function m(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\\r?\\n|\\r)$/g,\"\")}function v(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=mo(this.sliceSerialize(e)).toLowerCase()}function b(){const e=this.resume();this.stack[this.stack.length-1].title=e}function y(){const e=this.resume();this.stack[this.stack.length-1].url=e}function w(e){const t=this.stack[this.stack.length-1];if(!t.depth){const n=this.sliceSerialize(e).length;t.depth=n}}function x(){this.data.setextHeadingSlurpLineEnding=!0}function E(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2}function B(){this.data.setextHeadingSlurpLineEnding=void 0}function P(e){const t=this.stack[this.stack.length-1].children;let n=t[t.length-1];(!n||\"text\"!==n.type)&&(n=ie(),n.position={start:XA(e.start),end:void 0},t.push(n)),this.stack.push(n)}function k(e){const t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=XA(e.end)}function D(e){const n=this.stack[this.stack.length-1];if(this.data.atHardBreak){return n.children[n.children.length-1].position.end=XA(e.end),void(this.data.atHardBreak=void 0)}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(P.call(this,e),k.call(this,e))}function C(){this.data.atHardBreak=!0}function S(){const e=this.resume();this.stack[this.stack.length-1].value=e}function T(){const e=this.resume();this.stack[this.stack.length-1].value=e}function I(){const e=this.resume();this.stack[this.stack.length-1].value=e}function Q(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||\"shortcut\";e.type+=\"Reference\",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function M(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||\"shortcut\";e.type+=\"Reference\",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function O(e){const t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=function(e){return e.replace(YA,GA)}(t),n.identifier=mo(t).toLowerCase()}function L(){const e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(this.data.inReference=!0,\"link\"===n.type){const t=e.children;n.children=t}else n.alt=t}function N(){const e=this.resume();this.stack[this.stack.length-1].url=e}function H(){const e=this.resume();this.stack[this.stack.length-1].title=e}function R(){this.data.inReference=void 0}function z(){this.data.referenceType=\"collapsed\"}function j(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=mo(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=\"full\"}function F(e){this.data.characterReferenceType=e.type}function U(e){const t=this.sliceSerialize(e),n=this.data.characterReferenceType;let r;n?(r=go(t,\"characterReferenceMarkerNumeric\"===n?10:16),this.data.characterReferenceType=void 0):r=lo(t);this.stack[this.stack.length-1].value+=r}function _(e){this.stack.pop().position.end=XA(e.end)}function q(e){k.call(this,e);this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function Y(e){k.call(this,e);this.stack[this.stack.length-1].url=\"mailto:\"+this.sliceSerialize(e)}function G(){return{type:\"blockquote\",children:[]}}function W(){return{type:\"code\",lang:null,meta:null,value:\"\"}}function V(){return{type:\"inlineCode\",value:\"\"}}function X(){return{type:\"definition\",identifier:\"\",label:null,title:null,url:\"\"}}function K(){return{type:\"emphasis\",children:[]}}function J(){return{type:\"heading\",depth:0,children:[]}}function Z(){return{type:\"break\"}}function $(){return{type:\"html\",value:\"\"}}function ee(){return{type:\"image\",title:null,url:\"\",alt:null}}function te(){return{type:\"link\",title:null,url:\"\",children:[]}}function ne(e){return{type:\"list\",ordered:\"listOrdered\"===e.type,start:null,spread:e._spread,children:[]}}function re(e){return{type:\"listItem\",spread:e._spread,checked:null,children:[]}}function oe(){return{type:\"paragraph\",children:[]}}function Ae(){return{type:\"strong\",children:[]}}function ie(){return{type:\"text\",value:\"\"}}function ae(){return{type:\"thematicBreak\"}}}(n)(function(e){for(;!Zo(e););return e}(function(e){const t={constructs:po([UA,...(e||{}).extensions||[]]),content:n(Mo),defined:[],document:n(Oo),flow:n(CA),lazy:{},string:n(TA),text:n(IA)};return t;function n(e){return function(n){return _A(t,e,n)}}}(n).document().write(function(){let e,t=1,n=\"\",r=!0;return function(o,A,i){const a=[];let l,s,c,u,d;for(o=n+(\"string\"==typeof o?o.toString():new TextDecoder(A||void 0).decode(o)),c=0,n=\"\",r&&(65279===o.charCodeAt(0)&&c++,r=void 0);c<o.length;){if(qA.lastIndex=c,l=qA.exec(o),u=l&&void 0!==l.index?l.index:o.length,d=o.charCodeAt(u),!l){n=o.slice(c);break}if(10===d&&c===u&&e)a.push(-3),e=void 0;else switch(e&&(a.push(-5),e=void 0),c<u&&(a.push(o.slice(c,u)),t+=u-c),d){case 0:a.push(65533),t++;break;case 9:for(s=4*Math.ceil(t/4),a.push(-2);t++<s;)a.push(-1);break;case 10:a.push(-4),t=1;break;default:e=!0,t=1}c=u+1}return i&&(e&&a.push(-5),n&&a.push(n),a.push(null)),a}}()(e,t,!0))))}function XA(e){return{line:e.line,column:e.column,offset:e.offset}}function KA(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?KA(e,r):JA(e,r)}}function JA(e,t){let n;for(n in t)if(WA.call(t,n))switch(n){case\"canContainEols\":{const r=t[n];r&&e[n].push(...r);break}case\"transforms\":{const r=t[n];r&&e[n].push(...r);break}case\"enter\":case\"exit\":{const r=t[n];r&&Object.assign(e[n],r);break}}}function ZA(e,t){throw e?new Error(\"Cannot close `\"+e.type+\"` (\"+Or({start:e.start,end:e.end})+\"): a different token (`\"+t.type+\"`, \"+Or({start:t.start,end:t.end})+\") is open\"):new Error(\"Cannot close document, a token (`\"+t.type+\"`, \"+Or({start:t.start,end:t.end})+\") is still open\")}function $A(e){const t=this;t.parser=function(n){return VA(n,{...t.data(\"settings\"),...e,extensions:t.data(\"micromarkExtensions\")||[],mdastExtensions:t.data(\"fromMarkdownExtensions\")||[]})}}function ei(e,t){const n=t.referenceType;let r=\"]\";if(\"collapsed\"===n?r+=\"[]\":\"full\"===n&&(r+=\"[\"+(t.label||t.identifier)+\"]\"),\"imageReference\"===t.type)return[{type:\"text\",value:\"![\"+t.alt+r}];const o=e.all(t),A=o[0];A&&\"text\"===A.type?A.value=\"[\"+A.value:o.unshift({type:\"text\",value:\"[\"});const i=o[o.length-1];return i&&\"text\"===i.type?i.value+=r:o.push({type:\"text\",value:r}),o}function ti(e){return e.spread??e.children.length>1}function ni(e){const t=String(e),n=/\\r?\\n|\\r/g;let r=n.exec(t),o=0;const A=[];for(;r;)A.push(ri(t.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(t);return A.push(ri(t.slice(o),o>0,!1)),A.join(\"\")}function ri(e,t,n){let r=0,o=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(o-1);for(;9===t||32===t;)o--,t=e.codePointAt(o-1)}return o>r?e.slice(r,o):\"\"}const oi={blockquote:function(e,t){const n={type:\"element\",tagName:\"blockquote\",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){const n={type:\"element\",tagName:\"br\",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:\"text\",value:\"\\n\"}]},code:function(e,t){const n=t.value?t.value+\"\\n\":\"\",r={};t.lang&&(r.className=[\"language-\"+t.lang]);let o={type:\"element\",tagName:\"code\",properties:r,children:[{type:\"text\",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:\"element\",tagName:\"pre\",properties:{},children:[o]},e.patch(t,o),o},delete:function(e,t){const n={type:\"element\",tagName:\"del\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){const n={type:\"element\",tagName:\"em\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:function(e,t){const n=\"string\"==typeof e.options.clobberPrefix?e.options.clobberPrefix:\"user-content-\",r=String(t.identifier).toUpperCase(),o=Io(r.toLowerCase()),A=e.footnoteOrder.indexOf(r);let i,a=e.footnoteCounts.get(r);void 0===a?(a=0,e.footnoteOrder.push(r),i=e.footnoteOrder.length):i=A+1,a+=1,e.footnoteCounts.set(r,a);const l={type:\"element\",tagName:\"a\",properties:{href:\"#\"+n+\"fn-\"+o,id:n+\"fnref-\"+o+(a>1?\"-\"+a:\"\"),dataFootnoteRef:!0,ariaDescribedBy:[\"footnote-label\"]},children:[{type:\"text\",value:String(i)}]};e.patch(t,l);const s={type:\"element\",tagName:\"sup\",properties:{},children:[l]};return e.patch(t,s),e.applyData(t,s)},heading:function(e,t){const n={type:\"element\",tagName:\"h\"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.options.allowDangerousHtml){const n={type:\"raw\",value:t.value};return e.patch(t,n),e.applyData(t,n)}},imageReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return ei(e,t);const o={src:Io(r.url||\"\"),alt:t.alt};null!==r.title&&void 0!==r.title&&(o.title=r.title);const A={type:\"element\",tagName:\"img\",properties:o,children:[]};return e.patch(t,A),e.applyData(t,A)},image:function(e,t){const n={src:Io(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:\"element\",tagName:\"img\",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){const n={type:\"text\",value:t.value.replace(/\\r?\\n|\\r/g,\" \")};e.patch(t,n);const r={type:\"element\",tagName:\"code\",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return ei(e,t);const o={href:Io(r.url||\"\")};null!==r.title&&void 0!==r.title&&(o.title=r.title);const A={type:\"element\",tagName:\"a\",properties:o,children:e.all(t)};return e.patch(t,A),e.applyData(t,A)},link:function(e,t){const n={href:Io(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:\"element\",tagName:\"a\",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){const r=e.all(t),o=n?function(e){let t=!1;if(\"list\"===e.type){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=ti(n[r])}return t}(n):ti(t),A={},i=[];if(\"boolean\"==typeof t.checked){const e=r[0];let n;e&&\"element\"===e.type&&\"p\"===e.tagName?n=e:(n={type:\"element\",tagName:\"p\",properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:\"text\",value:\" \"}),n.children.unshift({type:\"element\",tagName:\"input\",properties:{type:\"checkbox\",checked:t.checked,disabled:!0},children:[]}),A.className=[\"task-list-item\"]}let a=-1;for(;++a<r.length;){const e=r[a];(o||0!==a||\"element\"!==e.type||\"p\"!==e.tagName)&&i.push({type:\"text\",value:\"\\n\"}),\"element\"!==e.type||\"p\"!==e.tagName||o?i.push(e):i.push(...e.children)}const l=r[r.length-1];l&&(o||\"element\"!==l.type||\"p\"!==l.tagName)&&i.push({type:\"text\",value:\"\\n\"});const s={type:\"element\",tagName:\"li\",properties:A,children:i};return e.patch(t,s),e.applyData(t,s)},list:function(e,t){const n={},r=e.all(t);let o=-1;for(\"number\"==typeof t.start&&1!==t.start&&(n.start=t.start);++o<r.length;){const e=r[o];if(\"element\"===e.type&&\"li\"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(\"task-list-item\")){n.className=[\"contains-task-list\"];break}}const A={type:\"element\",tagName:t.ordered?\"ol\":\"ul\",properties:n,children:e.wrap(r,!0)};return e.patch(t,A),e.applyData(t,A)},paragraph:function(e,t){const n={type:\"element\",tagName:\"p\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},root:function(e,t){const n={type:\"root\",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)},strong:function(e,t){const n={type:\"element\",tagName:\"strong\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},table:function(e,t){const n=e.all(t),r=n.shift(),o=[];if(r){const n={type:\"element\",tagName:\"thead\",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),o.push(n)}if(n.length>0){const r={type:\"element\",tagName:\"tbody\",properties:{},children:e.wrap(n,!0)},A=Qr(t.children[1]),i=Ir(t.children[t.children.length-1]);A&&i&&(r.position={start:A,end:i}),o.push(r)}const A={type:\"element\",tagName:\"table\",properties:{},children:e.wrap(o,!0)};return e.patch(t,A),e.applyData(t,A)},tableCell:function(e,t){const n={type:\"element\",tagName:\"td\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){const r=n?n.children:void 0,o=0===(r?r.indexOf(t):1)?\"th\":\"td\",A=n&&\"table\"===n.type?n.align:void 0,i=A?A.length:t.children.length;let a=-1;const l=[];for(;++a<i;){const n=t.children[a],r={},i=A?A[a]:void 0;i&&(r.align=i);let s={type:\"element\",tagName:o,properties:r,children:[]};n&&(s.children=e.all(n),e.patch(n,s),s=e.applyData(n,s)),l.push(s)}const s={type:\"element\",tagName:\"tr\",properties:{},children:e.wrap(l,!0)};return e.patch(t,s),e.applyData(t,s)},text:function(e,t){const n={type:\"text\",value:ni(String(t.value))};return e.patch(t,n),e.applyData(t,n)},thematicBreak:function(e,t){const n={type:\"element\",tagName:\"hr\",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)},toml:Ai,yaml:Ai,definition:Ai,footnoteDefinition:Ai};function Ai(){}const ii=\"object\"==typeof self?self:globalThis,ai=e=>((e,t)=>{const n=(t,n)=>(e.set(n,t),t),r=o=>{if(e.has(o))return e.get(o);const[A,i]=t[o];switch(A){case 0:case-1:return n(i,o);case 1:{const e=n([],o);for(const t of i)e.push(r(t));return e}case 2:{const e=n({},o);for(const[t,n]of i)e[r(t)]=r(n);return e}case 3:return n(new Date(i),o);case 4:{const{source:e,flags:t}=i;return n(new RegExp(e,t),o)}case 5:{const e=n(new Map,o);for(const[t,n]of i)e.set(r(t),r(n));return e}case 6:{const e=n(new Set,o);for(const t of i)e.add(r(t));return e}case 7:{const{name:e,message:t}=i;return n(new ii[e](t),o)}case 8:return n(BigInt(i),o);case\"BigInt\":return n(Object(BigInt(i)),o);case\"ArrayBuffer\":return n(new Uint8Array(i).buffer,i);case\"DataView\":{const{buffer:e}=new Uint8Array(i);return n(new DataView(e),i)}}return n(new ii[A](i),o)};return r})(new Map,e)(0),li=\"\",{toString:si}={},{keys:ci}=Object,ui=e=>{const t=typeof e;if(\"object\"!==t||!e)return[0,t];const n=si.call(e).slice(8,-1);switch(n){case\"Array\":return[1,li];case\"Object\":return[2,li];case\"Date\":return[3,li];case\"RegExp\":return[4,li];case\"Map\":return[5,li];case\"Set\":return[6,li];case\"DataView\":return[1,n]}return n.includes(\"Array\")?[1,n]:n.includes(\"Error\")?[7,n]:[2,n]},di=([e,t])=>0===e&&(\"function\"===t||\"symbol\"===t),pi=(e,{json:t,lossy:n}={})=>{const r=[];return((e,t,n,r)=>{const o=(e,t)=>{const o=r.push(e)-1;return n.set(t,o),o},A=r=>{if(n.has(r))return n.get(r);let[i,a]=ui(r);switch(i){case 0:{let t=r;switch(a){case\"bigint\":i=8,t=r.toString();break;case\"function\":case\"symbol\":if(e)throw new TypeError(\"unable to serialize \"+a);t=null;break;case\"undefined\":return o([-1],r)}return o([i,t],r)}case 1:{if(a){let e=r;return\"DataView\"===a?e=new Uint8Array(r.buffer):\"ArrayBuffer\"===a&&(e=new Uint8Array(r)),o([a,[...e]],r)}const e=[],t=o([i,e],r);for(const t of r)e.push(A(t));return t}case 2:{if(a)switch(a){case\"BigInt\":return o([a,r.toString()],r);case\"Boolean\":case\"Number\":case\"String\":return o([a,r.valueOf()],r)}if(t&&\"toJSON\"in r)return A(r.toJSON());const n=[],l=o([i,n],r);for(const t of ci(r))(e||!di(ui(r[t])))&&n.push([A(t),A(r[t])]);return l}case 3:return o([i,r.toISOString()],r);case 4:{const{source:e,flags:t}=r;return o([i,{source:e,flags:t}],r)}case 5:{const t=[],n=o([i,t],r);for(const[n,o]of r)(e||!di(ui(n))&&!di(ui(o)))&&t.push([A(n),A(o)]);return n}case 6:{const t=[],n=o([i,t],r);for(const n of r)(e||!di(ui(n)))&&t.push(A(n));return n}}const{message:l}=r;return o([i,{name:a,message:l}],r)};return A})(!(t||n),!!t,new Map,r)(e),r},fi=\"function\"==typeof structuredClone?(e,t)=>t&&(\"json\"in t||\"lossy\"in t)?ai(pi(e,t)):structuredClone(e):(e,t)=>ai(pi(e,t));function hi(e,t){const n=[{type:\"text\",value:\"↩\"}];return t>1&&n.push({type:\"element\",tagName:\"sup\",properties:{},children:[{type:\"text\",value:String(t)}]}),n}function gi(e,t){return\"Back to reference \"+(e+1)+(t>1?\"-\"+t:\"\")}const mi=function(e){if(null==e)return bi;if(\"function\"==typeof e)return vi(e);if(\"object\"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=mi(e[n]);return vi(r);function r(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}}(e):function(e){const t=e;return vi(n);function n(n){const r=n;let o;for(o in e)if(r[o]!==t[o])return!1;return!0}}(e);if(\"string\"==typeof e)return function(e){return vi(t);function t(t){return t&&t.type===e}}(e);throw new Error(\"Expected function, string, or object as test\")};function vi(e){return function(t,n,r){return!(!function(e){return null!==e&&\"object\"==typeof e&&\"type\"in e}(t)||!e.call(this,t,\"number\"==typeof n?n:void 0,r||void 0))}}function bi(){return!0}const yi=[],wi=!0,xi=!1;function Ei(e,t,n,r){let o;\"function\"==typeof t&&\"function\"!=typeof n?(r=n,n=t):o=t;const A=mi(o),i=r?-1:1;!function e(o,a,l){const s=o&&\"object\"==typeof o?o:{};if(\"string\"==typeof s.type){const e=\"string\"==typeof s.tagName?s.tagName:\"string\"==typeof s.name?s.name:void 0;Object.defineProperty(c,\"name\",{value:\"node (\"+o.type+(e?\"<\"+e+\">\":\"\")+\")\"})}return c;function c(){let s,c,u,d=yi;if((!t||A(o,a,l[l.length-1]||void 0))&&(d=function(e){return Array.isArray(e)?e:\"number\"==typeof e?[wi,e]:null==e?yi:[e]}(n(o,l)),d[0]===xi))return d;if(\"children\"in o&&o.children){const t=o;if(t.children&&\"skip\"!==d[0])for(c=(r?t.children.length:-1)+i,u=l.concat(t);c>-1&&c<t.children.length;){const n=t.children[c];if(s=e(n,c,u)(),s[0]===xi)return s;c=\"number\"==typeof s[1]?s[1]:c+i}}return d}}(e,void 0,[])()}function Bi(e,t,n,r){let o,A,i;\"function\"==typeof t?(A=void 0,i=t,o=n):(A=t,i=n,o=r),Ei(e,A,function(e,t){const n=t[t.length-1],r=n?n.children.indexOf(e):void 0;return i(e,r,n)},o)}const Pi={}.hasOwnProperty,ki={};function Di(e,t){const n=t||ki,r=new Map,o=new Map,A=new Map,i={...oi,...n.handlers},a={all:function(e){const t=[];if(\"children\"in e){const n=e.children;let r=-1;for(;++r<n.length;){const o=a.one(n[r],e);if(o){if(r&&\"break\"===n[r-1].type&&(!Array.isArray(o)&&\"text\"===o.type&&(o.value=Qi(o.value)),!Array.isArray(o)&&\"element\"===o.type)){const e=o.children[0];e&&\"text\"===e.type&&(e.value=Qi(e.value))}Array.isArray(o)?t.push(...o):t.push(o)}}}return t},applyData:Si,definitionById:r,footnoteById:o,footnoteCounts:A,footnoteOrder:[],handlers:i,one:function(e,t){const n=e.type,r=a.handlers[n];if(Pi.call(a.handlers,n)&&r)return r(a,e,t);if(a.options.passThrough&&a.options.passThrough.includes(n)){if(\"children\"in e){const{children:t,...n}=e,r=fi(n);return r.children=a.all(e),r}return fi(e)}return(a.options.unknownHandler||Ti)(a,e,t)},options:n,patch:Ci,wrap:Ii};return Bi(e,function(e){if(\"definition\"===e.type||\"footnoteDefinition\"===e.type){const t=\"definition\"===e.type?r:o,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),a}function Ci(e,t){e.position&&(t.position=function(e){const t=Qr(e),n=Ir(e);if(t&&n)return{start:t,end:n}}(e))}function Si(e,t){let n=t;if(e&&e.data){const t=e.data.hName,r=e.data.hChildren,o=e.data.hProperties;if(\"string\"==typeof t)if(\"element\"===n.type)n.tagName=t;else{n={type:\"element\",tagName:t,properties:{},children:\"children\"in n?n.children:[n]}}\"element\"===n.type&&o&&Object.assign(n.properties,fi(o)),\"children\"in n&&n.children&&null!=r&&(n.children=r)}return n}function Ti(e,t){const n=t.data||{},r=!(\"value\"in t)||Pi.call(n,\"hProperties\")||Pi.call(n,\"hChildren\")?{type:\"element\",tagName:\"div\",properties:{},children:e.all(t)}:{type:\"text\",value:t.value};return e.patch(t,r),e.applyData(t,r)}function Ii(e,t){const n=[];let r=-1;for(t&&n.push({type:\"text\",value:\"\\n\"});++r<e.length;)r&&n.push({type:\"text\",value:\"\\n\"}),n.push(e[r]);return t&&e.length>0&&n.push({type:\"text\",value:\"\\n\"}),n}function Qi(e){let t=0,n=e.charCodeAt(t);for(;9===n||32===n;)t++,n=e.charCodeAt(t);return e.slice(t)}function Mi(e,t){const n=Di(e,t),r=n.one(e,void 0),o=function(e){const t=\"string\"==typeof e.options.clobberPrefix?e.options.clobberPrefix:\"user-content-\",n=e.options.footnoteBackContent||hi,r=e.options.footnoteBackLabel||gi,o=e.options.footnoteLabel||\"Footnotes\",A=e.options.footnoteLabelTagName||\"h2\",i=e.options.footnoteLabelProperties||{className:[\"sr-only\"]},a=[];let l=-1;for(;++l<e.footnoteOrder.length;){const o=e.footnoteById.get(e.footnoteOrder[l]);if(!o)continue;const A=e.all(o),i=String(o.identifier).toUpperCase(),s=Io(i.toLowerCase());let c=0;const u=[],d=e.footnoteCounts.get(i);for(;void 0!==d&&++c<=d;){u.length>0&&u.push({type:\"text\",value:\" \"});let e=\"string\"==typeof n?n:n(l,c);\"string\"==typeof e&&(e={type:\"text\",value:e}),u.push({type:\"element\",tagName:\"a\",properties:{href:\"#\"+t+\"fnref-\"+s+(c>1?\"-\"+c:\"\"),dataFootnoteBackref:\"\",ariaLabel:\"string\"==typeof r?r:r(l,c),className:[\"data-footnote-backref\"]},children:Array.isArray(e)?e:[e]})}const p=A[A.length-1];if(p&&\"element\"===p.type&&\"p\"===p.tagName){const e=p.children[p.children.length-1];e&&\"text\"===e.type?e.value+=\" \":p.children.push({type:\"text\",value:\" \"}),p.children.push(...u)}else A.push(...u);const f={type:\"element\",tagName:\"li\",properties:{id:t+\"fn-\"+s},children:e.wrap(A,!0)};e.patch(o,f),a.push(f)}if(0!==a.length)return{type:\"element\",tagName:\"section\",properties:{dataFootnotes:!0,className:[\"footnotes\"]},children:[{type:\"element\",tagName:A,properties:{...fi(i),id:\"footnote-label\"},children:[{type:\"text\",value:o}]},{type:\"text\",value:\"\\n\"},{type:\"element\",tagName:\"ol\",properties:{},children:e.wrap(a,!0)},{type:\"text\",value:\"\\n\"}]}}(n),A=Array.isArray(r)?{type:\"root\",children:r}:r||{type:\"root\",children:[]};return o&&A.children.push({type:\"text\",value:\"\\n\"},o),A}function Oi(e,t){return e&&\"run\"in e?async function(n,r){const o=Mi(n,{file:r,...t});await e.run(o,r)}:function(n,r){return Mi(n,{file:r,...e||t})}}function Li(e){if(e)throw e}var Ni,Hi;var Ri=function(){if(Hi)return Ni;Hi=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===t.call(e)},A=function(n){if(!n||\"[object Object]\"!==t.call(n))return!1;var r,o=e.call(n,\"constructor\"),A=n.constructor&&n.constructor.prototype&&e.call(n.constructor.prototype,\"isPrototypeOf\");if(n.constructor&&!o&&!A)return!1;for(r in n);return typeof r>\"u\"||e.call(n,r)},i=function(e,t){n&&\"__proto__\"===t.name?n(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},a=function(t,n){if(\"__proto__\"===n){if(!e.call(t,n))return;if(r)return r(t,n).value}return t[n]};return Ni=function e(){var t,n,r,l,s,c,u=arguments[0],d=1,p=arguments.length,f=!1;for(\"boolean\"==typeof u&&(f=u,u=arguments[1]||{},d=2),(null==u||\"object\"!=typeof u&&\"function\"!=typeof u)&&(u={});d<p;++d)if(null!=(t=arguments[d]))for(n in t)r=a(u,n),u!==(l=a(t,n))&&(f&&l&&(A(l)||(s=o(l)))?(s?(s=!1,c=r&&o(r)?r:[]):c=r&&A(r)?r:{},i(u,{name:n,newValue:e(f,c,l)})):typeof l<\"u\"&&i(u,{name:n,newValue:l}));return u},Ni}();const zi=Er(Ri);function ji(e){if(\"object\"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)}function Fi(){const e=[],t={run:function(...t){let n=-1;const r=t.pop();if(\"function\"!=typeof r)throw new TypeError(\"Expected function as last argument, not \"+r);!function o(A,...i){const a=e[++n];let l=-1;if(A)r(A);else{for(;++l<t.length;)(null===i[l]||void 0===i[l])&&(i[l]=t[l]);t=i,a?function(e,t){let n;return r;function r(...t){const r=e.length>t.length;let i;r&&t.push(o);try{i=e.apply(this,t)}catch(e){if(r&&n)throw e;return o(e)}r||(i&&i.then&&\"function\"==typeof i.then?i.then(A,o):i instanceof Error?o(i):A(i))}function o(e,...r){n||(n=!0,t(e,...r))}function A(e){o(null,e)}}(a,o)(...i):r(null,...i)}}(null,...t)},use:function(n){if(\"function\"!=typeof n)throw new TypeError(\"Expected `middelware` to be a function, not \"+n);return e.push(n),t}};return t}const Ui={basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');_i(e);let n,r=0,o=-1,A=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;A--;)if(47===e.codePointAt(A)){if(n){r=A+1;break}}else o<0&&(n=!0,o=A+1);return o<0?\"\":e.slice(r,o)}if(t===e)return\"\";let i=-1,a=t.length-1;for(;A--;)if(47===e.codePointAt(A)){if(n){r=A+1;break}}else i<0&&(n=!0,i=A+1),a>-1&&(e.codePointAt(A)===t.codePointAt(a--)?a<0&&(o=A):(a=-1,o=i));return r===o?o=i:o<0&&(o=e.length),e.slice(r,o)},dirname:function(e){if(_i(e),0===e.length)return\".\";let t,n=-1,r=e.length;for(;--r;)if(47===e.codePointAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.codePointAt(0)?\"/\":\".\":1===n&&47===e.codePointAt(0)?\"//\":e.slice(0,n)},extname:function(e){_i(e);let t,n=e.length,r=-1,o=0,A=-1,i=0;for(;n--;){const a=e.codePointAt(n);if(47!==a)r<0&&(t=!0,r=n+1),46===a?A<0?A=n:1!==i&&(i=1):A>-1&&(i=-1);else if(t){o=n+1;break}}return A<0||r<0||0===i||1===i&&A===r-1&&A===o+1?\"\":e.slice(A,r)},join:function(...e){let t,n=-1;for(;++n<e.length;)_i(e[n]),e[n]&&(t=void 0===t?e[n]:t+\"/\"+e[n]);return void 0===t?\".\":function(e){_i(e);const t=47===e.codePointAt(0);let n=function(e,t){let n,r,o=\"\",A=0,i=-1,a=0,l=-1;for(;++l<=e.length;){if(l<e.length)n=e.codePointAt(l);else{if(47===n)break;n=47}if(47===n){if(i!==l-1&&1!==a)if(i!==l-1&&2===a){if(o.length<2||2!==A||46!==o.codePointAt(o.length-1)||46!==o.codePointAt(o.length-2))if(o.length>2){if(r=o.lastIndexOf(\"/\"),r!==o.length-1){r<0?(o=\"\",A=0):(o=o.slice(0,r),A=o.length-1-o.lastIndexOf(\"/\")),i=l,a=0;continue}}else if(o.length>0){o=\"\",A=0,i=l,a=0;continue}t&&(o=o.length>0?o+\"/..\":\"..\",A=2)}else o.length>0?o+=\"/\"+e.slice(i+1,l):o=e.slice(i+1,l),A=l-i-1;i=l,a=0}else 46===n&&a>-1?a++:a=-1}return o}(e,!t);return 0===n.length&&!t&&(n=\".\"),n.length>0&&47===e.codePointAt(e.length-1)&&(n+=\"/\"),t?\"/\"+n:n}(t)},sep:\"/\"};function _i(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}const qi={cwd:function(){return\"/\"}};function Yi(e){return!!(null!==e&&\"object\"==typeof e&&\"href\"in e&&e.href&&\"protocol\"in e&&e.protocol&&void 0===e.auth)}function Gi(e){if(\"string\"==typeof e)e=new URL(e);else if(!Yi(e)){const t=new TypeError('The \"path\" argument must be of type string or an instance of URL. Received `'+e+\"`\");throw t.code=\"ERR_INVALID_ARG_TYPE\",t}if(\"file:\"!==e.protocol){const e=new TypeError(\"The URL must be of scheme file\");throw e.code=\"ERR_INVALID_URL_SCHEME\",e}return function(e){if(\"\"!==e.hostname){const e=new TypeError('File URL host must be \"localhost\" or empty on darwin');throw e.code=\"ERR_INVALID_FILE_URL_HOST\",e}const t=e.pathname;let n=-1;for(;++n<t.length;)if(37===t.codePointAt(n)&&50===t.codePointAt(n+1)){const e=t.codePointAt(n+2);if(70===e||102===e){const e=new TypeError(\"File URL path must not include encoded / characters\");throw e.code=\"ERR_INVALID_FILE_URL_PATH\",e}}return decodeURIComponent(t)}(e)}const Wi=[\"history\",\"path\",\"basename\",\"stem\",\"extname\",\"dirname\"];class Vi{constructor(e){let t;var n;t=e?Yi(e)?{path:e}:\"string\"==typeof e||(n=e)&&\"object\"==typeof n&&\"byteLength\"in n&&\"byteOffset\"in n?{value:e}:e:{},this.cwd=\"cwd\"in t?\"\":qi.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r,o=-1;for(;++o<Wi.length;){const e=Wi[o];e in t&&void 0!==t[e]&&null!==t[e]&&(this[e]=\"history\"===e?[...t[e]]:t[e])}for(r in t)Wi.includes(r)||(this[r]=t[r])}get basename(){return\"string\"==typeof this.path?Ui.basename(this.path):void 0}set basename(e){Ki(e,\"basename\"),Xi(e,\"basename\"),this.path=Ui.join(this.dirname||\"\",e)}get dirname(){return\"string\"==typeof this.path?Ui.dirname(this.path):void 0}set dirname(e){Ji(this.basename,\"dirname\"),this.path=Ui.join(e||\"\",this.basename)}get extname(){return\"string\"==typeof this.path?Ui.extname(this.path):void 0}set extname(e){if(Xi(e,\"extname\"),Ji(this.dirname,\"extname\"),e){if(46!==e.codePointAt(0))throw new Error(\"`extname` must start with `.`\");if(e.includes(\".\",1))throw new Error(\"`extname` cannot contain multiple dots\")}this.path=Ui.join(this.dirname,this.stem+(e||\"\"))}get path(){return this.history[this.history.length-1]}set path(e){Yi(e)&&(e=Gi(e)),Ki(e,\"path\"),this.path!==e&&this.history.push(e)}get stem(){return\"string\"==typeof this.path?Ui.basename(this.path,this.extname):void 0}set stem(e){Ki(e,\"stem\"),Xi(e,\"stem\"),this.path=Ui.join(this.dirname||\"\",e+(this.extname||\"\"))}fail(e,t,n){const r=this.message(e,t,n);throw r.fatal=!0,r}info(e,t,n){const r=this.message(e,t,n);return r.fatal=void 0,r}message(e,t,n){const r=new Rr(e,t,n);return this.path&&(r.name=this.path+\":\"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(e){return void 0===this.value?\"\":\"string\"==typeof this.value?this.value:new TextDecoder(e||void 0).decode(this.value)}}function Xi(e,t){if(e&&e.includes(Ui.sep))throw new Error(\"`\"+t+\"` cannot be a path: did not expect `\"+Ui.sep+\"`\")}function Ki(e,t){if(!e)throw new Error(\"`\"+t+\"` cannot be empty\")}function Ji(e,t){if(!e)throw new Error(\"Setting `\"+t+\"` requires `path` to be set too\")}const Zi=function(e){const t=this.constructor.prototype,n=t[e],r=function(){return n.apply(r,arguments)};return Object.setPrototypeOf(r,t),r},$i={}.hasOwnProperty;class ea extends Zi{constructor(){super(\"copy\"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Fi()}copy(){const e=new ea;let t=-1;for(;++t<this.attachers.length;){const n=this.attachers[t];e.use(...n)}return e.data(zi(!0,{},this.namespace)),e}data(e,t){return\"string\"==typeof e?2===arguments.length?(oa(\"data\",this.frozen),this.namespace[e]=t,this):$i.call(this.namespace,e)&&this.namespace[e]||void 0:e?(oa(\"data\",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...n]=this.attachers[this.freezeIndex];if(!1===n[0])continue;!0===n[0]&&(n[0]=void 0);const r=t.call(e,...n);\"function\"==typeof r&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const t=aa(e),n=this.parser||this.Parser;return na(\"parse\",n),n(String(t),t)}process(e,t){const n=this;return this.freeze(),na(\"process\",this.parser||this.Parser),ra(\"process\",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,o){const A=aa(e),i=n.parse(A);function a(e,n){e||!n?o(e):r?r(n):t(void 0,n)}n.run(i,A,function(e,t,r){if(e||!t||!r)return a(e);const o=t,A=n.stringify(o,r);var i;\"string\"==typeof(i=A)||function(e){return!!(e&&\"object\"==typeof e&&\"byteLength\"in e&&\"byteOffset\"in e)}(i)?r.value=A:r.result=A,a(e,r)})}}processSync(e){let t,n=!1;return this.freeze(),na(\"processSync\",this.parser||this.Parser),ra(\"processSync\",this.compiler||this.Compiler),this.process(e,function(e,r){n=!0,Li(e),t=r}),ia(\"processSync\",\"process\",n),t}run(e,t,n){Aa(e),this.freeze();const r=this.transformers;return!n&&\"function\"==typeof t&&(n=t,t=void 0),n?o(void 0,n):new Promise(o);function o(o,A){const i=aa(t);r.run(e,i,function(t,r,i){const a=r||e;t?A(t):o?o(a):n(void 0,a,i)})}}runSync(e,t){let n,r=!1;return this.run(e,t,function(e,t){Li(e),n=t,r=!0}),ia(\"runSync\",\"run\",r),n}stringify(e,t){this.freeze();const n=aa(t),r=this.compiler||this.Compiler;return ra(\"stringify\",r),Aa(e),r(e,n)}use(e,...t){const n=this.attachers,r=this.namespace;if(oa(\"use\",this.frozen),null!=e)if(\"function\"==typeof e)a(e,t);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");Array.isArray(e)?i(e):A(e)}return this;function o(e){if(\"function\"==typeof e)a(e,[]);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");if(Array.isArray(e)){const[t,...n]=e;a(t,n)}else A(e)}}function A(e){if(!(\"plugins\"in e)&&!(\"settings\"in e))throw new Error(\"Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither\");i(e.plugins),e.settings&&(r.settings=zi(!0,r.settings,e.settings))}function i(e){let t=-1;if(null!=e){if(!Array.isArray(e))throw new TypeError(\"Expected a list of plugins, not `\"+e+\"`\");for(;++t<e.length;){o(e[t])}}}function a(e,t){let r=-1,o=-1;for(;++r<n.length;)if(n[r][0]===e){o=r;break}if(-1===o)n.push([e,...t]);else if(t.length>0){let[r,...A]=t;const i=n[o][1];ji(i)&&ji(r)&&(r=zi(!0,i,r)),n[o]=[e,r,...A]}}}}const ta=(new ea).freeze();function na(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `parser`\")}function ra(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `compiler`\")}function oa(e,t){if(t)throw new Error(\"Cannot call `\"+e+\"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.\")}function Aa(e){if(!ji(e)||\"string\"!=typeof e.type)throw new TypeError(\"Expected node, got `\"+e+\"`\")}function ia(e,t,n){if(!n)throw new Error(\"`\"+e+\"` finished async. Use `\"+t+\"` instead\")}function aa(e){return function(e){return!!(e&&\"object\"==typeof e&&\"message\"in e&&\"messages\"in e)}(e)?e:new Vi(e)}const la=[],sa={allowDangerousHtml:!0},ca=/^(https?|ircs?|mailto|xmpp)$/i,ua=[{from:\"astPlugins\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"allowDangerousHtml\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"allowNode\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"allowElement\"},{from:\"allowedTypes\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"allowedElements\"},{from:\"disallowedTypes\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"disallowedElements\"},{from:\"escapeHtml\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"includeElementIndex\",id:\"#remove-includeelementindex\"},{from:\"includeNodeIndex\",id:\"change-includenodeindex-to-includeelementindex\"},{from:\"linkTarget\",id:\"remove-linktarget\"},{from:\"plugins\",id:\"change-plugins-to-remarkplugins\",to:\"remarkPlugins\"},{from:\"rawSourcePos\",id:\"#remove-rawsourcepos\"},{from:\"renderers\",id:\"change-renderers-to-components\",to:\"components\"},{from:\"source\",id:\"change-source-to-children\",to:\"children\"},{from:\"sourcePos\",id:\"#remove-sourcepos\"},{from:\"transformImageUri\",id:\"#add-urltransform\",to:\"urlTransform\"},{from:\"transformLinkUri\",id:\"#add-urltransform\",to:\"urlTransform\"}];function da(e){const t=e.allowedElements,n=e.allowElement,r=e.children||\"\",o=e.className,A=e.components,i=e.disallowedElements,a=e.rehypePlugins||la,l=e.remarkPlugins||la,s=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...sa}:sa,c=e.skipHtml,u=e.unwrapDisallowed,d=e.urlTransform||pa,p=ta().use($A).use(l).use(Oi,s).use(a),f=new Vi;\"string\"==typeof r&&(f.value=r);for(const t of ua)Object.hasOwn(e,t.from)&&(t.from,t.to&&t.to,t.id);const v=p.parse(f);let b=p.runSync(v,f);return o&&(b={type:\"element\",tagName:\"div\",properties:{className:o},children:\"root\"===b.type?b.children:[b]}),Bi(b,function(e,r,o){if(\"raw\"===e.type&&o&&\"number\"==typeof r)return c?o.children.splice(r,1):o.children[r]={type:\"text\",value:e.value},r;if(\"element\"===e.type){let t;for(t in ro)if(Object.hasOwn(ro,t)&&Object.hasOwn(e.properties,t)){const n=e.properties[t],r=ro[t];(null===r||r.includes(e.tagName))&&(e.properties[t]=d(String(n||\"\"),t,e))}}if(\"element\"===e.type){let A=t?!t.includes(e.tagName):!!i&&i.includes(e.tagName);if(!A&&n&&\"number\"==typeof r&&(A=!n(e,r,o)),A&&o&&\"number\"==typeof r)return u&&e.children?o.children.splice(r,1,...e.children):o.children.splice(r,1),r}}),Gr(b,{Fragment:m,components:A,ignoreInvalidStyle:!0,jsx:h,jsxs:g,passKeys:!0,passNode:!0})}function pa(e){const t=e.indexOf(\":\"),n=e.indexOf(\"?\"),r=e.indexOf(\"#\"),o=e.indexOf(\"/\");return-1===t||-1!==o&&t>o||-1!==n&&t>n||-1!==r&&t>r||ca.test(e.slice(0,t))?e:\"\"}const fa=({children:e})=>h(\"div\",{style:{whiteSpace:\"normal\"},children:h(da,{components:{p:({...e})=>h(\"p\",{style:{margin:0,marginBottom:\"0.5em\",lineHeight:1.4,textAlign:\"left\"},children:e.children}),ul:({...e})=>h(\"ul\",{style:{paddingLeft:\"clamp(8px, 3.5vw, 16px)\",margin:0,listStylePosition:\"inside\"},children:e.children}),ol:({...e})=>h(\"ol\",{style:{paddingLeft:\"clamp(8px, 3.5vw, 16px)\",margin:0,listStylePosition:\"inside\"},children:e.children}),li:({...e})=>h(\"li\",{style:{marginBottom:\"1px\",lineHeight:1.4},children:e.children}),code:({inline:e,children:t})=>e?h(\"code\",{style:{backgroundColor:\"rgba(0, 0, 0, 0.3)\",padding:\"2px 4px\",borderRadius:\"4px\",fontFamily:\"inherit\",fontSize:\"0.95em\"},children:t}):h(\"pre\",{style:{backgroundColor:\"rgba(0, 0, 0, 0.3)\",padding:\"8px\",borderRadius:\"4px\",overflowX:\"auto\",margin:\"0.5em 0\",whiteSpace:\"pre-wrap\"},children:h(\"code\",{children:t})}),blockquote:({...e})=>h(\"blockquote\",{style:{margin:0,paddingLeft:\"10px\",borderLeft:\"2px solid #ccc\",color:\"#666\",fontStyle:\"italic\"},children:e.children})},children:\"string\"==typeof e?e:\"\"})}),ha={autoConfig:!0},ga=e=>()=>(e=>{const{getFlow:t}=en(),{messages:n,replaceMessages:r}=tn(),{settings:o}=rn(),{hasChatHistoryLoaded:A}=An(),i={...e,...ha},a=i.markdownComponent?i.markdownComponent:fa;l(()=>{var e,t;if(A){const A=[...n];for(let n=0;n<A.length&&n<((null==(e=o.chatHistory)?void 0:e.maxEntries)??30);n++){const e=A[n];null!=(t=e.tags)&&t.includes(\"rcb-markdown-renderer-plugin:parsed\")&&(e.contentWrapper=a)}r(A)}},[A]);const s=async e=>{var n;const r=null==(n=e.data.message)?void 0:n.sender.toUpperCase();((e,t,n)=>{var r;if(\"string\"!=typeof e.data.message.content||!e.detail.currPath)return!1;const o=t[e.detail.currPath];return!!o&&((null==(r=o.renderMarkdown)?void 0:r.map(e=>e.toUpperCase()).includes(n))??!1)})(e,t(),r)&&(e.data.message.contentWrapper=a,e.data.message.tags||(e.data.message.tags=[]),e.data.message.tags.push(\"rcb-markdown-renderer-plugin:parsed\"))};nn(Z.PRE_INJECT_MESSAGE,s),nn(Z.CHUNK_STREAM_MESSAGE,s),nn(Z.START_STREAM_MESSAGE,s),nn(Z.START_SIMULATE_STREAM_MESSAGE,s);const c={name:\"@rcb-plugins/markdown-renderer\"};return null!=i&&i.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0}}),c})(e),ma={autoConfig:!0,promptBaseColors:{info:\"#007bff\",warning:\"#ffc107\",error:\"#dc3545\",success:\"#28a745\"},promptHoveredColors:{info:\"#0056b3\",warning:\"#d39e00\",error:\"#c82333\",success:\"#218838\"},textAreaHighlightColors:{info:\"#007bff\",warning:\"#ffc107\",error:\"#dc3545\",success:\"#28a745\"}},va=(e,t,n=\"validateTextInput\")=>{var r;if(null==(r=e.detail)||!r.currPath)return;const o=t[e.detail.currPath];if(!o)return;const A=o[n];return\"function\"==typeof A?A:void 0},ba=e=>{const{showToast:t}=(()=>{const{showToast:e,dismissToast:t,toasts:n,replaceToasts:r}=ut();return{showToast:e,dismissToast:t,toasts:n,replaceToasts:r}})(),{getFlow:n}=en(),{styles:r,updateStyles:o,replaceStyles:A}=(()=>{const{styles:e,replaceStyles:t,updateStyles:n}=qt();return{styles:e,replaceStyles:t,updateStyles:n}})(),s=(e=>({...ma,...e,promptBaseColors:{...ma.promptBaseColors},promptHoveredColors:{...ma.promptHoveredColors},textAreaHighlightColors:{...ma.textAreaHighlightColors}}))(e),[c,u]=a(0),d=i({});nn(Z.USER_SUBMIT_TEXT,e=>{const A=e,i=va(A,n(),\"validateTextInput\");if(!i)return;const a=i(A.data.inputText);if(null!=a&&a.success||e.preventDefault(),!a.promptContent)return;0===c&&(d.current=structuredClone(r));const l=((e,t)=>{const n=e.promptType??\"info\";let r={};return t.advancedStyles&&(r=t.advancedStyles[n]),t.promptBaseColors&&(r.toastPromptStyle={color:t.promptBaseColors[n],borderColor:t.promptBaseColors[n]}),t.promptHoveredColors&&(r.toastPromptHoveredStyle={color:t.promptHoveredColors[n],borderColor:t.promptHoveredColors[n]}),t.textAreaHighlightColors&&(e.highlightTextArea??!0)&&(r.chatInputAreaStyle={boxShadow:`${t.textAreaHighlightColors[n]} 0px 0px 5px`}),r})(a,s);o(l),t(a.promptContent,a.promptDuration??3e3),u(e=>e+1)}),nn(Z.USER_UPLOAD_FILE,e=>{var r,o;const A=e,i=null==(o=null==(r=A.data)?void 0:r.files)?void 0:o[0];if(!i)return console.error(\"No file uploaded.\"),void e.preventDefault();const a=va(A,n(),\"validateFileInput\");if(!a)return void console.error(\"Validator not found for file input.\");const l=a(i);if(!l.success)return console.error(\"Validation failed:\",l),l.promptContent&&t(l.promptContent,l.promptDuration??3e3),void e.preventDefault();console.log(\"Validation successful:\",l)}),nn(Z.DISMISS_TOAST,()=>{u(e=>e-1)}),l(()=>{0===c&&setTimeout(()=>{A(d.current)})},[c,A]);const p={name:\"@rcb-plugins/input-validator\"};return s.autoConfig&&(p.settings={event:{rcbUserSubmitText:!0,rcbUserUploadFile:!0,rcbDismissToast:!0}}),p},ya=n((e,t)=>{let{embedded:n,currentOpen:r,enabled:o,onSetEnabled:A}=e;const a=tn(),s=(()=>{const{isChatWindowOpen:e,toggleChatWindow:t,toggleIsBotTyping:n,scrollToBottom:r,getIsChatBotVisible:o}=Ae();return{isChatWindowOpen:e,toggleChatWindow:t,toggleIsBotTyping:n,scrollToBottom:r,getIsChatBotVisible:o}})(),c=i(!1),u=i(!1);return l(()=>{!n&&s&&s.toggleChatWindow&&(c.current===r||u.current||(setTimeout(()=>{s&&s.toggleChatWindow&&s.toggleChatWindow(r)},0),c.current=null!=r&&r),u.current=!1)},[r,n,s]),l(()=>{const e=()=>{u.current=!0};return window.addEventListener(\"rcb-toggle-chat-window\",e),()=>window.removeEventListener(\"rcb-toggle-chat-window\",e)}),p(t,()=>({addMessage:e=>{a&&a.injectMessage&&a.injectMessage(e)},openChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow(!0)},closeChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow(!1)},toggleChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow()},setBotEnabled:e=>{A&&A(e)}}),[a,s,n,A]),null});ya.displayName=\"BotController\";const wa=r(null),xa=e=>{let{trackEvent:n,children:r}=e;const o=i(n);return o.current=n,t.createElement(wa.Provider,{value:{trackEvent:e=>o.current(e)}},r)},Ea=()=>{const e=o(wa);return e||{trackEvent:()=>{}}},Ba=e=>{let{loginUrl:n,className:r=\"\",style:o,isHeaderButton:A=!1}=e;const{trackEvent:i}=Ea(),a=A?{display:\"inline-block\",padding:\"6px 12px\",backgroundColor:\"transparent\",border:\"1px solid #ccc\",color:\"white\",textDecoration:\"none\",borderRadius:\"4px\",fontWeight:\"normal\",textAlign:\"center\",margin:\"8px\",fontSize:\"12px\",opacity:.8,transition:\"all 0.2s ease\"}:{display:\"inline-block\",padding:\"10px 20px\",backgroundColor:\"white\",border:\"1px solid var(--primaryColor, #107180)\",color:\"var(--primaryColor, #107180)\",textDecoration:\"none\",borderRadius:\"4px\",fontWeight:\"bold\",textAlign:\"center\",margin:\"18px\",boxShadow:\"0 2px 4px rgba(0, 0, 0, 0.2)\"};return t.createElement(t.Fragment,null,A&&t.createElement(\"style\",null,\"\\n .rcb-chat-header-container .qa-bot-header-login-button:hover {\\n background-color: #0000001a !important;\\n opacity: 1 !important;\\n }\\n \"),t.createElement(\"a\",{href:n,target:\"_blank\",rel:\"noopener noreferrer\",className:\"qa-bot-login-button \".concat(A?\"qa-bot-header-login-button\":\"\",\" \").concat(r),style:Object.assign(Object.assign({},a),o),onClick:()=>{i({type:\"chatbot_login_clicked\",loginUrl:n})}},\"Log In\"))},Pa=()=>t.createElement(\"div\",{className:\"user-login-icon\",style:{alignItems:\"center\",justifyContent:\"center\",width:\"30px\",height:\"30px\",borderRadius:\"50%\",backgroundColor:\"var(--primaryColor, #1a5b6e)\",marginRight:\"5px\",display:\"flex\"},role:\"img\",\"aria-label\":\"User logged in\",title:\"User logged in\"},t.createElement(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},t.createElement(\"path\",{d:\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"}),t.createElement(\"circle\",{cx:\"12\",cy:\"7\",r:\"4\"}))),ka=[];for(let e=0;e<256;++e)ka.push((e+256).toString(16).slice(1));let Da;const Ca=new Uint8Array(16);var Sa={randomUUID:\"undefined\"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Ta(e,t,n){if(Sa.randomUUID&&!e)return Sa.randomUUID();const r=(e=e||{}).random??e.rng?.()??function(){if(!Da){if(\"undefined\"==typeof crypto||!crypto.getRandomValues)throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");Da=crypto.getRandomValues.bind(crypto)}return Da(Ca)}();if(r.length<16)throw new Error(\"Random bytes length must be >= 16\");return r[6]=15&r[6]|64,r[8]=63&r[8]|128,function(e,t=0){return(ka[e[t+0]]+ka[e[t+1]]+ka[e[t+2]]+ka[e[t+3]]+\"-\"+ka[e[t+4]]+ka[e[t+5]]+\"-\"+ka[e[t+6]]+ka[e[t+7]]+\"-\"+ka[e[t+8]]+ka[e[t+9]]+\"-\"+ka[e[t+10]]+ka[e[t+11]]+ka[e[t+12]]+ka[e[t+13]]+ka[e[t+14]]+ka[e[t+15]]).toLowerCase()}(r)}function Ia(){return\"undefined\"!=typeof localStorage&&\"true\"===localStorage.getItem(\"QA_BOT_DEBUG\")}const Qa=\"background: #1a5b6e; color: white; padding: 2px 6px; border-radius: 3px;\",Ma=\"background: #7c3aed; color: white; padding: 2px 6px; border-radius: 3px;\",Oa=\"background: #059669; color: white; padding: 2px 6px; border-radius: 3px;\",La=\"background: #f97316; color: white; padding: 2px 6px; border-radius: 3px;\",Na=\"background: #f59e0b; color: #000; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;\",Ha=\"background: #fbbf24; color: #000; padding: 2px 6px; border-radius: 0 3px 3px 0;\",Ra=()=>{Ia()&&console.log(\"%c QA Bot Core %c v\".concat(\"0.2.35\",\" \"),Na,Ha)},za=function(e){if(Ia()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(\"%c[Session]%c \".concat(e),Qa,\"\",...n)}},ja=function(e){if(Ia()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(\"%c[History]%c \".concat(e),Ma,\"\",...n)}},Fa=(e,t)=>{Ia()&&console.log(\"%c[Message]%c \".concat(e),Oa,\"\",t)},Ua=function(e){if(Ia()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(\"%c[Turnstile]%c \".concat(e),La,\"\",...n)}},_a=function(){console.warn(...arguments)},qa=function(){console.error(...arguments)},Ya=\"qa_bot_session_messages\",Ga=()=>\"qa_bot_session_\".concat(Ta()),Wa=()=>{try{const e=localStorage.getItem(Ya);return e?JSON.parse(e):{}}catch(e){return{}}},Va=(e,t,n,r,o)=>{const A=Wa();!A[e]&&(A[e]={messages:[],startedAt:(new Date).toISOString(),preview:\"\"},ja(\"NEW session created\",{sessionId:e.slice(-12)}));if(A[e].messages.some(e=>e.id===t))return void ja(\"DUPLICATE message skipped\",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:r});const i={id:t,content:n,sender:r,type:o,timestamp:Date.now()};A[e].messages.push(i),ja(\"MESSAGE added\",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:r,totalInSession:A[e].messages.length});const a=A[e].messages,l=a.find(e=>{var t;return\"bot\"===e.sender.toLowerCase()&&(null===(t=e.content)||void 0===t?void 0:t.trim())&&e.content.length>=100});if(l){const t=l.content;A[e].preview=t.slice(0,50)+(t.length>50?\"...\":\"\")}else{const t=a.find(e=>{var t;return\"user\"===e.sender.toLowerCase()&&(null===(t=e.content)||void 0===t?void 0:t.trim())});if(t&&!A[e].preview){const n=t.content;A[e].preview=n.slice(0,50)+(n.length>50?\"...\":\"\")}}(e=>{var t;const n=()=>Object.values(e).reduce((e,t)=>e+t.messages.length,0);for(;n()>100&&Object.keys(e).length>1;){const n=null===(t=Object.entries(e).sort((e,t)=>{let[,n]=e,[,r]=t;return new Date(n.startedAt).getTime()-new Date(r.startedAt).getTime()})[0])||void 0===t?void 0:t[0];if(!n)break;delete e[n]}localStorage.setItem(Ya,JSON.stringify(e))})(A),ja(\"STORAGE state\",{ourSessions:Object.keys(A).length,ourTotalMessages:Object.values(A).reduce((e,t)=>e+t.messages.length,0)})},Xa=e=>{var t,n;return null!==(n=null===(t=Wa()[e])||void 0===t?void 0:t.messages.length)&&void 0!==n?n:0},Ka=e=>{const t=Wa()[e];return(null==t?void 0:t.startedAt)?Date.now()-new Date(t.startedAt).getTime():0},Ja=r(void 0),Za=e=>{let{children:n,getSessionId:r,setSessionId:o,resetSession:A,clearResettingFlag:i}=e;return t.createElement(Ja.Provider,{value:{getSessionId:r,setSessionId:o,resetSession:A,clearResettingFlag:i}},n)},$a=()=>{const e=o(Ja);if(!e)throw new Error(\"useSession must be used within a SessionProvider\");return e},el=()=>{const[e,n]=a(!1),[r,o]=a([]),[A,s]=a(null),[c,u]=a(0),d=i(null),p=i(null),{replaceMessages:f}=tn(),{toggleTextAreaDisabled:h}=on(),{setSessionId:g,getSessionId:m}=$a();l(()=>{var t,r;const o=e=>{d.current&&!d.current.contains(e.target)&&p.current&&!p.current.contains(e.target)&&n(!1)},A=null!==(r=null===(t=d.current)||void 0===t?void 0:t.getRootNode())&&void 0!==r?r:document;return e&&A.addEventListener(\"mousedown\",o),()=>{A.removeEventListener(\"mousedown\",o)}},[e]);const v=e=>{var t;const r=m();if(ja(\"RESTORE requested\",{targetSession:e.slice(-12),currentSession:null==r?void 0:r.slice(-12)}),e===r)return ja(\"RESTORE skipped - already on this session\"),void n(!1);const o=(e=>{var t;return(null===(t=Wa()[e])||void 0===t?void 0:t.messages)||[]})(e).filter(e=>{var t;return null===(t=e.content)||void 0===t?void 0:t.trim()});ja(\"Stored messages from our localStorage\",{count:o.length,ids:o.map(e=>e.id.slice(-8))});const A=o.map(e=>({id:e.id,content:e.content,sender:e.sender.toUpperCase(),type:e.type||\"string\",timestamp:new Date(e.timestamp).toISOString()}));var i;g(e),ja(\"Session ID updated\",{newSession:e.slice(-12)}),f(A),ja(\"replaceMessages called\",{count:A.length}),i=null===(t=p.current)||void 0===t?void 0:t.getRootNode(),setTimeout(()=>{const e=(i||document).querySelector(\".rcb-chat-body-container\");e&&e.querySelectorAll(\".rcb-bot-message\").forEach(e=>{var t;let n=e.innerHTML,r=!1;n.includes(\"](\")&&(n=n.replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g,'<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>'),r=!0),n.includes(\"<a href=\")&&(n=n.replace(/<a\\s+href=[\"']([^\"']+)[\"'][^&]*>([^&]+)<\\/a>/gi,'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$2</a>'),r=!0),(n.includes(\"<a \")||(null===(t=e.textContent)||void 0===t?void 0:t.includes(\"<a href=\")))&&(e.textContent||\"\").includes(\"<a href=\")&&(n=n.replace(/<a\\s+href=\"([^\"]+)\"[^&]*>([^&]+)<\\/a>/gi,'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$2</a>'),r=!0),r&&(e.innerHTML=n)})},50),h(!1),ja(\"Chat input enabled after restore\"),n(!1)};return t.createElement(\"div\",{style:{position:\"relative\"}},t.createElement(\"button\",{ref:p,className:\"history-button\",onClick:()=>{if(!e&&(o((()=>{const e=Wa();return Object.entries(e).map(e=>{let[t,n]=e;return Object.assign({sessionId:t},n)}).sort((e,t)=>new Date(t.startedAt).getTime()-new Date(e.startedAt).getTime())})()),p.current)){const e=p.current.closest(\".rcb-chat-window\");if(e){const t=e.getBoundingClientRect(),n=p.current.getBoundingClientRect();s(t.width+3),u(t.right-n.right-18+4)}}n(!e)},style:{alignItems:\"center\",justifyContent:\"center\",width:\"30px\",height:\"30px\",borderRadius:\"50%\",backgroundColor:\"var(--primaryColor, #1a5b6e)\",marginRight:\"18px\",display:\"flex\",border:\"none\",cursor:\"pointer\",padding:0},\"aria-label\":\"View chat history\",title:\"View chat history\",\"aria-expanded\":e,\"aria-haspopup\":\"menu\"},t.createElement(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},t.createElement(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),t.createElement(\"polyline\",{points:\"12 6 12 12 16 14\"}))),e&&t.createElement(\"div\",{ref:d,role:\"menu\",style:{position:\"absolute\",right:c?\"-\".concat(c,\"px\"):\"-18px\",top:\"100%\",marginTop:\"8px\",width:A?\"\".concat(A,\"px\"):\"550px\",backgroundColor:\"white\",borderRadius:0,borderBottom:\"3px solid var(--primaryColor, #1a5b6e)\",boxShadow:\"0 2px 8px rgba(0, 0, 0, 0.1)\",maxHeight:\"250px\",overflowY:\"auto\",zIndex:1e3}},0===r.length?t.createElement(\"div\",{style:{padding:\"12px 16px\",color:\"#666\",fontSize:\"14px\",textAlign:\"center\"}},\"No chat history\"):r.map(e=>t.createElement(\"button\",{key:e.sessionId,role:\"menuitem\",onClick:()=>v(e.sessionId),style:{width:\"100%\",padding:\"10px 14px\",border:\"none\",backgroundColor:\"transparent\",cursor:\"pointer\",textAlign:\"left\",display:\"flex\",flexDirection:\"column\",gap:\"2px\",borderBottom:\"1px solid #eee\"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=\"#f5f5f5\"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=\"transparent\"}},t.createElement(\"span\",{style:{fontSize:\"14px\",color:\"#333\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},e.preview||\"New conversation\"),t.createElement(\"span\",{style:{fontSize:\"12px\",color:\"#888\"}},(e=>{const t=new Date(e),n=(new Date).getTime()-t.getTime(),r=Math.floor(n/864e5);return 0===r?t.toLocaleTimeString([],{hour:\"2-digit\",minute:\"2-digit\"}):1===r?\"Yesterday\":r<7?t.toLocaleDateString([],{weekday:\"short\"}):t.toLocaleDateString([],{month:\"short\",day:\"numeric\"})})(e.startedAt))))))},tl=({width:e=24,height:n=24,color:r=\"currentColor\",children:o,...A})=>t.createElement(\"svg\",y({xmlns:\"http://www.w3.org/2000/svg\",width:e,height:n,viewBox:\"0 0 24 24\",fill:\"none\",stroke:r,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},A),o),nl=e=>t.createElement(tl,e,t.createElement(\"path\",{d:\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"})),rl=()=>{const{restartFlow:e}=en(),{setTextAreaValue:n}=on(),{messages:r}=tn(),{getSessionId:o,resetSession:A,clearResettingFlag:i}=$a(),{trackEvent:a}=Ea();return t.createElement(\"button\",{onClick:async()=>{const t=o(),r=t?Xa(t):0;a({type:\"chatbot_new_chat\",previousMessageCount:r}),A(),await n(\"\"),await e(),setTimeout(()=>{i()},100)},tabIndex:0,\"aria-label\":\"New chat conversation\",style:{backgroundColor:\"var(--primaryColor, #107180)\",border:\"none\",color:\"#ffffff\",fontSize:\"14px\",cursor:\"pointer\",padding:\"8px 12px\",borderRadius:\"4px\",transition:\"all 0.2s ease\",display:\"flex\",alignItems:\"center\",gap:\"6px\",fontWeight:\"500\"},onMouseEnter:e=>{e.target.style.backgroundColor=\"var(--secondaryColor, #0d5f6b)\"},onMouseLeave:e=>{e.target.style.backgroundColor=\"var(--primaryColor, #107180)\"}},t.createElement(nl,{width:16,height:16}),\"New Chat\")};function ol(e){if(\"string\"==typeof e)return e;if(\"number\"==typeof e)return String(e);if(!e)return\"\";if(Array.isArray(e))return e.map(ol).join(\"\");if(\"object\"==typeof e&&null!==e&&\"props\"in e){const t=e.props;if(t&&\"children\"in t)return ol(t.children)}return\"\"}const Al=()=>{const{getSessionId:e}=$a(),t=A(t=>{var n;const r=null===(n=t.data)||void 0===n?void 0:n.message;if(!(null==r?void 0:r.id))return;const o=r.sender,A=r.type||\"string\";let i;if(i=\"string\"==typeof r.content?r.content:ol(r.content),Fa(\"TRACKED\",{id:r.id,sender:o,content:i.substring(0,50)+(i.length>50?\"...\":\"\")}),i.includes(\"rcb-options-container\"))return;if(!i.trim())return;const a=e();Va(a,r.id,i,o,A)},[e]);return l(()=>(window.addEventListener(\"rcb-pre-inject-message\",t),()=>{window.removeEventListener(\"rcb-pre-inject-message\",t)}),[t]),null},il=()=>(l(()=>{const e=e=>{if(![\"ArrowDown\",\"ArrowUp\",\"ArrowLeft\",\"ArrowRight\",\"Enter\",\" \",\"Home\",\"End\"].includes(e.key))return;const n=document.activeElement;if(n&&(\"INPUT\"===n.tagName||\"TEXTAREA\"===n.tagName||\"true\"===n.contentEditable||n.classList.contains(\"rcb-chat-input-textarea\")))return;const r=document.querySelector(\".rcb-chat-window\");if(!r)return;const o=Array.from(r.querySelectorAll(\".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container\")).filter(e=>null!==e.offsetParent);if(o.length>0){const t=o[o.length-1].querySelector(\".rcb-checkbox-container\");if(t&&null!==t.offsetParent){const n=Array.from(t.querySelectorAll(\".rcb-checkbox-row-container\")),r=t.querySelector(\".rcb-checkbox-next-button\");if(n.length>0){const t=[...n];return r&&t.push(r),void((e,t)=>{e.preventDefault();let n=-1;for(let e=0;e<t.length;e++)if(t[e]===document.activeElement||t[e].contains(document.activeElement)){n=e;break}-1===n&&(n=0);let r=n;switch(e.key){case\"ArrowDown\":case\"ArrowRight\":r=n<t.length-1?n+1:0;break;case\"ArrowUp\":case\"ArrowLeft\":r=n>0?n-1:t.length-1;break;case\"Home\":r=0;break;case\"End\":r=t.length-1;break;case\"Enter\":case\" \":{const e=t[n],r=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});return void e.dispatchEvent(r)}default:return}t[r].focus(),t[r].setAttribute(\"tabindex\",\"0\"),t[r].classList.add(\"keyboard-focused\"),t.forEach((e,t)=>{t!==r&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))})})(e,t)}}}let A=[];if(o.length>0){const e=o[o.length-1],t=Array.from(e.querySelectorAll(\".rcb-options-container\")).filter(e=>null!==e.offsetParent);if(t.length>0){const e=t[t.length-1];A=Array.from(e.querySelectorAll(\".rcb-options\"))}}if(0===A.length)return;const i=A.findIndex(e=>e===document.activeElement);switch(e.key){case\"ArrowDown\":case\"ArrowRight\":{let t;e.preventDefault(),t=i<A.length-1?i+1:0,A[t].setAttribute(\"tabindex\",\"0\"),A.forEach((e,n)=>{n!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[t].classList.add(\"keyboard-focused\"),A[t].focus();break}case\"ArrowUp\":case\"ArrowLeft\":{let t;e.preventDefault(),t=i>0?i-1:A.length-1,A[t].setAttribute(\"tabindex\",\"0\"),A.forEach((e,n)=>{n!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[t].classList.add(\"keyboard-focused\"),A[t].focus();break}case\"Enter\":case\" \":if(e.preventDefault(),document.activeElement&&A.includes(document.activeElement)){const e=document.activeElement;if(e.classList.contains(\"rcb-checkbox-row-container\")||e.closest(\".rcb-checkbox-row-container\")){const n=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n);const r=e.querySelector(\".rcb-checkbox-label\"),o=r?r.textContent:e.textContent||\"checkbox\",A=e.querySelector(\".rcb-checkbox-mark\"),i=A&&A.style.backgroundColor?\"checked\":\"unchecked\";t(`${o} ${i}`)}else{const n=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n);const r=e.textContent||e.innerText;t(`Selected: ${r}`)}}break;case\"Home\":e.preventDefault(),A.length>0&&(A[0].setAttribute(\"tabindex\",\"0\"),A.forEach((e,t)=>{0!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[0].classList.add(\"keyboard-focused\"),A[0].focus());break;case\"End\":if(e.preventDefault(),A.length>0){const e=A.length-1;A[e].setAttribute(\"tabindex\",\"0\"),A.forEach((t,n)=>{n!==e&&(t.setAttribute(\"tabindex\",\"-1\"),t.classList.remove(\"keyboard-focused\"))}),A[e].classList.add(\"keyboard-focused\"),A[e].focus()}}},t=e=>{const t=document.createElement(\"div\");t.setAttribute(\"aria-live\",\"assertive\"),t.setAttribute(\"aria-atomic\",\"true\"),t.className=\"sr-only\",t.textContent=e,document.body.appendChild(t),setTimeout(()=>{document.body.contains(t)&&document.body.removeChild(t)},1e3)},n=(e=null)=>{let n=e;if(n||(n=document.querySelector(\".rcb-chat-window\"),n||(n=document.querySelector('[class*=\"rcb-chat\"]')),n||(n=document.querySelector(\".qa-bot\"))),!n)return;const r=null!==n.closest(\".embedded-qa-bot\"),o=Array.from(n.querySelectorAll(\".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container\")).filter(e=>null!==e.offsetParent);if(0===o.length)return;const A=o[o.length-1],i=Array.from(A.querySelectorAll(\".rcb-options-container\")).filter(e=>null!==e.offsetParent);let a=[];if(i.length>0){const e=i[i.length-1];a=Array.from(e.querySelectorAll(\".rcb-options\"))}if(0===a.length){let e=A.querySelector(\".rcb-checkbox-container\");if(!e&&n&&(e=n.querySelector(\".rcb-checkbox-container\")),e&&null!==e.offsetParent){const t=Array.from(e.querySelectorAll(\".rcb-checkbox-row-container\")).filter(e=>null!==e.offsetParent&&\"none\"!==e.style.display);if(t.length>0){const n=e.querySelector(\".rcb-checkbox-next-button\"),o=[...t];if(n&&null!==n.offsetParent&&o.push(n),o.forEach((e,t)=>{e.setAttribute(\"tabindex\",0===t?\"0\":\"-1\"),0===t?e.classList.add(\"keyboard-focused\"):e.classList.remove(\"keyboard-focused\")}),t.length>1){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove());const t=document.createElement(\"div\");t.className=\"keyboard-nav-hint\",t.textContent=\"Use arrow keys ↕ to navigate, Enter to select/deselect, or click any option\",t.style.cssText=\"font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;\",e.insertBefore(t,e.firstChild)}return void setTimeout(()=>{o[0]&&null!==o[0].offsetParent&&!r&&o[0].focus()},150)}}}if(a.length>0){if(a.forEach((e,t)=>{const n=0===t?\"0\":\"-1\";e.setAttribute(\"tabindex\",n),e.setAttribute(\"role\",\"option\"),e.setAttribute(\"aria-posinset\",t+1),e.setAttribute(\"aria-setsize\",a.length),0===t?e.classList.add(\"keyboard-focused\"):e.classList.remove(\"keyboard-focused\")}),a.length>1){const e=i.length>0?i[i.length-1]:null;if(e){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove());const t=document.createElement(\"div\");t.className=\"keyboard-nav-hint\",t.textContent=\"Use arrow keys ↕ to navigate, Enter to select, or click any option\",t.style.cssText=\"font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;\",e.insertBefore(t,e.firstChild)}}else{const e=i.length>0?i[i.length-1]:null;if(e){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove())}}setTimeout(()=>{a[0]&&null!==a[0].offsetParent&&!r&&(a[0].focus(),a.length>1&&t(`${a.length} options available. Use arrow keys to navigate.`))},200)}},r=new MutationObserver(e=>{e.forEach(e=>{if(\"childList\"===e.type){const t=Array.from(e.addedNodes),r=t.some(e=>e.nodeType===Node.ELEMENT_NODE&&(e.classList?.contains(\"rcb-options-container\")||e.classList?.contains(\"rcb-options\")||e.querySelector?.(\".rcb-options-container\")||e.querySelector?.(\".rcb-options\"))),o=t.some(e=>e.nodeType===Node.ELEMENT_NODE&&(e.classList?.contains(\"rcb-checkbox-container\")||e.querySelector?.(\".rcb-checkbox-container\")));if(r||o){let t=e.target;for(;t&&!t.classList?.contains(\"qa-bot\")&&!t.classList?.contains(\"rcb-chat-window\");)t=t.parentElement;(t||document).querySelectorAll(\".rcb-options[tabindex], .rcb-checkbox-row-container[tabindex], .rcb-checkbox-next-button[tabindex]\").forEach(e=>{e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\")}),setTimeout(()=>n(t),100)}}})});r.observe(document.body,{childList:!0,subtree:!0}),document.addEventListener(\"keydown\",e),n();const o=setInterval(()=>{document.querySelectorAll(\".qa-bot\").forEach(e=>{const t=e.querySelectorAll(\".rcb-options-container .rcb-options\").length>0,r=e.querySelectorAll(\".rcb-checkbox-row-container\").length>0;if(t){const t=e.querySelectorAll(\".rcb-options[tabindex]\").length;e.querySelectorAll(\".rcb-options\").length>t&&n(e)}if(r){const t=e.querySelectorAll(\".rcb-checkbox-row-container[tabindex]\").length;e.querySelectorAll(\".rcb-checkbox-row-container\").length>t&&n(e)}})},1e3);return()=>{document.removeEventListener(\"keydown\",e),r.disconnect(),clearInterval(o)}},[]),null);let al=!1,ll=null;function sl(){return al?Promise.resolve():ll||(ll=new Promise((e,t)=>{const n=document.createElement(\"script\");n.src=\"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit\",n.async=!0,n.onload=()=>{al=!0,Ua(\"Script loaded\"),e()},n.onerror=()=>{ll=null,t(new Error(\"Failed to load Turnstile script\"))},document.head.appendChild(n)}),ll)}const cl=e=>{if(!e||\"string\"!=typeof e)return e;let t=e.replace(/\\[(https?:\\/\\/[^\\s]+?)\\]/gi,\"[$1]($1)\");return t=t.replace(/(?<!\\]\\(|href=[\"']|\\[)https?:\\/\\/[^\\s[\\]()]+/gi,e=>{let t=e,n=\"\";const r=t.match(/([.,;:!?]+)$/);return r&&(n=r[1],t=t.slice(0,-n.length)),\"[\".concat(t,\"](\").concat(t,\")\").concat(n)}),t},ul=e=>{let{siteKey:n,onVerify:r,onError:o,loginUrl:s}=e;const c=i(null),u=i(null),d=i(!1),p=i(null),f=i(null),[h,g]=a(!1),m=s&&\"/login\"!==s,v=A(()=>{const e=window.turnstile;if(p.current&&(null==e?void 0:e.remove)){try{e.remove(p.current)}catch(e){}p.current=null}},[]),y=A(()=>{v(),null==o||o()},[o,v]);l(()=>()=>{v()},[v]),l(()=>{var e;return f.current=document.activeElement,null===(e=u.current)||void 0===e||e.focus(),()=>{f.current&&\"function\"==typeof f.current.focus&&f.current.focus()}},[]),l(()=>{const e=e=>{if(\"Escape\"===e.key)return e.preventDefault(),void y();if(\"Tab\"===e.key&&u.current){const t=u.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');if(0===t.length)return;const n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):e.shiftKey||document.activeElement!==r||(e.preventDefault(),n.focus())}};return document.addEventListener(\"keydown\",e),()=>document.removeEventListener(\"keydown\",e)},[y]),l(()=>{d.current||!c.current||h||(d.current=!0,sl().then(()=>{const e=window.turnstile;if(!e||!c.current)return qa(\"Turnstile API not available after script load\"),void g(!0);p.current=e.render(c.current,{sitekey:n,callback:e=>{Ua(\"Visible challenge completed\"),r(e)},\"error-callback\":()=>{qa(\"Turnstile challenge failed\"),v(),g(!0)},\"expired-callback\":()=>{qa(\"Turnstile token expired\"),v(),g(!0)}})}).catch(e=>{qa(\"Failed to load Turnstile script:\",e),g(!0)}))},[n,r,h]);const w=t.createElement(t.Fragment,null,t.createElement(\"div\",{\"aria-hidden\":\"true\",style:{position:\"fixed\",inset:0,background:\"rgba(0, 0, 0, 0.5)\",zIndex:999998}}),t.createElement(\"div\",{ref:u,role:\"dialog\",\"aria-modal\":\"true\",\"aria-labelledby\":\"qa-bot-turnstile-label\",tabIndex:-1,style:{position:\"fixed\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",zIndex:999999,background:\"white\",padding:\"24px\",borderRadius:\"8px\",boxShadow:\"0 4px 20px rgba(0, 0, 0, 0.3)\",maxWidth:\"90vw\",fontFamily:'-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif'}},t.createElement(\"span\",{id:\"qa-bot-turnstile-label\",className:\"sr-only\",style:{position:\"absolute\",width:\"1px\",height:\"1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\"}},\"Verification challenge\"),h?t.createElement(\"div\",{style:{fontSize:\"14px\",lineHeight:\"1.5\",color:\"#333\"}},t.createElement(\"p\",{style:{margin:\"0 0 16px 0\"}},\"Verification failed. You can try again\",m&&t.createElement(t.Fragment,null,\", or\",\" \",t.createElement(\"a\",{href:s,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:\"var(--primaryColor, #107180)\",fontWeight:\"bold\"}},\"log in\"),\" \",\"to skip verification\"),\".\"),t.createElement(\"div\",{style:{display:\"flex\",gap:\"8px\"}},t.createElement(\"button\",{type:\"button\",onClick:()=>{v(),d.current=!1,g(!1)},style:{padding:\"8px 16px\",background:\"var(--primaryColor, #107180)\",color:\"white\",border:\"none\",borderRadius:\"4px\",cursor:\"pointer\",fontSize:\"14px\"}},\"Try again\"),t.createElement(\"button\",{type:\"button\",onClick:y,style:{padding:\"8px 16px\",background:\"#f0f0f0\",border:\"1px solid #ccc\",borderRadius:\"4px\",cursor:\"pointer\",fontSize:\"14px\"}},\"Close\"))):t.createElement(t.Fragment,null,t.createElement(\"div\",{ref:c,style:{borderRadius:\"8px\",overflow:\"hidden\"}}),t.createElement(\"button\",{type:\"button\",onClick:y,style:{marginTop:\"16px\",padding:\"8px 16px\",background:\"#f0f0f0\",border:\"1px solid #ccc\",borderRadius:\"4px\",cursor:\"pointer\",fontSize:\"14px\"}},\"Cancel\"))));return b(w,document.body)};function dl(e){const{confidence:t,tools_used:n,metadata:r}=e;if(!(t||n&&0!==n.length))return\"\";const o=[];return t&&o.push(\"• Confidence: \".concat(t)),n&&n.length>0&&o.push(\"• Tools used: \".concat(n.join(\", \"))),(null==r?void 0:r.agent)&&o.push(\"• Agent: \".concat(r.agent)),\"---\\n\".concat(o.join(\"\\n\"))}function pl(e){let{getState:n,onResubmit:r,trackEvent:o,loginUrl:A}=e;const[i,a]=t.useState(!1),[l,s]=t.useState(0),c=n();return!c.siteKey||i?null:t.createElement(ul,{key:l,siteKey:c.siteKey,loginUrl:A,onVerify:async e=>{c.token=e,null==o||o({type:\"chatbot_turnstile_completed\"});\"needs_another_challenge\"===await r(e)?s(e=>e+1):a(!0)},onError:()=>{a(!0),null==o||o({type:\"chatbot_turnstile_error\"})}})}const fl=\"#1a5b6e\",hl=\"#107180\",gl=\"Arial, sans-serif\",ml=\"Q&A Bot\",vl=\"/chat-icon.svg\",bl=\"Type your question here...\",yl=\"Select an option to continue\",wl=!1,xl=\"Ask me a question!\",El=\"/login\",Bl={general:{showHeader:!0,showFooter:!0},tooltip:{mode:\"CLOSE\"},chatInput:{disabled:!1,characterLimit:5e3,showCharacterCount:!1,allowNewline:!0,blockSpam:!1},chatWindow:{defaultOpen:!1,showScrollbar:!1},botBubble:{simulateStream:!0,streamSpeed:10,showAvatar:!1},userBubble:{showAvatar:!1},notification:{disabled:!0,showCount:!1},audio:{disabled:!0},emoji:{disabled:!0},fileAttachment:{disabled:!0}},Pl=n((e,n)=>{var r,o,c;const{apiKey:u,qaEndpoint:d,ratingEndpoint:p,capabilitiesEndpoint:f,agentRatingEndpoint:h,welcomeMessage:g,open:m,onOpenChange:v,isLoggedIn:b,allowAnonAccess:y=!1,actingUser:w,primaryColor:x,secondaryColor:B,botName:P,logo:k,placeholder:D,errorMessage:C,embedded:S,footerText:T,footerLink:I,tooltipText:Q,loginUrl:M,turnstileSiteKey:O,resourceContext:L,customFlow:N,onAnalyticsEvent:H}=e,R=i(\"bot_\".concat(Math.random().toString(36).substr(2,9)));l(()=>{Ra()},[]);const z=i(null);null===z.current&&(z.current=Ga(),za(\"CREATED\",z.current));const j=i(!1),F=i({getSessionId:()=>z.current,isResetting:()=>j.current}),U=function(e){const[t,n]=a(null),[r,o]=a(\"idle\"),s=i(null),c=i(null),u=i(!0),d=A(()=>{const e=window.turnstile;if(c.current&&(null==e?void 0:e.remove)){try{e.remove(c.current)}catch(e){}c.current=null}s.current&&(s.current.remove(),s.current=null)},[]);return l(()=>{if(u.current=!0,!e)return o(\"idle\"),void n(null);o(\"loading\");const t=document.createElement(\"div\");return t.style.position=\"fixed\",t.style.left=\"-9999px\",t.style.top=\"-9999px\",t.style.width=\"0\",t.style.height=\"0\",t.style.overflow=\"hidden\",t.setAttribute(\"aria-hidden\",\"true\"),document.body.appendChild(t),s.current=t,sl().then(()=>{if(!u.current)return;const t=window.turnstile;if(!t||!s.current)return qa(\"Turnstile API not available for silent verification\"),void o(\"failed\");const r=t.render(s.current,{sitekey:e,execution:\"render\",\"refresh-expired\":\"auto\",callback:e=>{u.current&&(Ua(\"Silent verification succeeded\"),n(e),o(\"verified\"))},\"error-callback\":()=>{u.current&&(qa(\"Turnstile silent verification failed\"),n(null),o(\"failed\"))},\"expired-callback\":()=>{u.current&&(Ua(\"Token expired, awaiting refresh\"),n(null),o(\"loading\"))}});c.current=r}).catch(e=>{u.current&&(qa(\"Failed to load Turnstile script for silent verification:\",e),o(\"failed\"))}),()=>{u.current=!1,d()}},[e,d]),{token:t,status:r,reset:A(()=>{const e=window.turnstile;c.current&&(null==e?void 0:e.reset)&&(n(null),o(\"loading\"),e.reset(c.current),Ua(\"Token consumed, resetting widget for fresh token\"))},[])}}(O),_=i(null);_.current=U.token;const[q,Y]=a(b);l(()=>{Y(b)},[b]);const G=void 0!==S?S:wl,W=A(e=>{var t;H&&H(Object.assign(Object.assign({},e),{timestamp:Date.now(),sessionId:null!==(t=z.current)&&void 0!==t?t:void 0,pageUrl:\"undefined\"!=typeof window?window.location.href:void 0,isEmbedded:G}))},[H,G]),V=s(()=>{const e=Object.assign({},Bl);e.general=Object.assign(Object.assign({},e.general),{primaryColor:x||fl,secondaryColor:B||hl,fontFamily:gl,embedded:G});const n=!1===q?[t.createElement(Ba,{key:\"login-button\",loginUrl:M||El,isHeaderButton:!0})]:[t.createElement(el,{key:\"history-button\"}),t.createElement(Pa,{key:\"user-icon\"})];e.header={title:t.createElement(\"span\",{style:{fontSize:14,fontWeight:500}},P||ml),showAvatar:!0,avatar:k||vl,buttons:[...n,E.CLOSE_CHAT_BUTTON]},e.chatInput=Object.assign(Object.assign({},e.chatInput),{disabled:!1,enabledPlaceholderText:D||bl,disabledPlaceholderText:C||yl}),e.tooltip=Object.assign(Object.assign({},e.tooltip),{text:Q||xl});const r=T?I?t.createElement(\"a\",{href:I,target:\"_blank\",rel:\"noopener noreferrer\",key:\"footer-link\"},T):t.createElement(\"span\",{key:\"footer-text\"},T):null;return e.footer={text:r,buttons:[t.createElement(rl,{key:\"new-chat-button\"})]},e.chatWindow=Object.assign(Object.assign({},e.chatWindow),{defaultOpen:!!G}),e.event={rcbPreInjectMessage:!0,rcbPostInjectMessage:!0,rcbUserSubmitText:!0,rcbChangePath:!0,rcbToggleChatWindow:!0},e},[x,B,P,k,D,C,G,Q,q,M,T,I]),X=i(null),K=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(()=>{const n=(t,n)=>{if(e.current){const n=getComputedStyle(e.current).getPropertyValue(t);if(n&&\"\"!==n.trim())return n.trim();if(e.current.parentElement){const n=getComputedStyle(e.current.parentElement).getPropertyValue(t);if(n&&\"\"!==n.trim())return n.trim()}}return n};return{primaryColor:n(\"--primaryColor\",t.primaryColor),secondaryColor:n(\"--secondaryColor\",t.secondaryColor),fontFamily:n(\"--fontFamily\",t.fontFamily)}},[e,t])}(X,V.general);((e,t)=>{l(()=>{t.current&&(e?t.current.classList.add(\"bot-logged-in\"):t.current.classList.remove(\"bot-logged-in\"))},[e,t])})(!1!==q,X),(e=>{let{settings:n,themeColors:r}=e;l(()=>{r&&(Object.entries(r).forEach(e=>{let[t,n]=e;n&&document.documentElement.style.setProperty(\"--\".concat(t),n)}),r.primaryColor&&document.documentElement.style.setProperty(\"--rcb-header-background\",r.primaryColor),r.secondaryColor&&document.documentElement.style.setProperty(\"--rcb-header-background-hover\",r.secondaryColor))},[r]),l(()=>{var e,r;(null===(e=n.header)||void 0===e?void 0:e.title)&&\"string\"==typeof n.header.title&&(n.header.title=t.createElement(\"div\",{key:\"header-title\"},t.createElement(\"h1\",{className:\"sr-only\"},n.header.title),t.createElement(\"span\",{\"aria-hidden\":\"true\"},n.header.title))),n.device={desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!1},n.chatHistory={disabled:!0},n.chatButton=Object.assign(Object.assign({},n.chatButton),{icon:null===(r=n.header)||void 0===r?void 0:r.avatar}),n.event=Object.assign(Object.assign({},n.event),{rcbToggleChatWindow:!0})},[n])})({settings:V,themeColors:K});const J=s(()=>{const n=(e=>{let{endpoint:n,ratingEndpoint:r,agentRatingEndpoint:o,apiKey:A,sessionId:i,isResetting:a=()=>!1,isLoggedIn:l,allowAnonAccess:s=!1,loginUrl:c=\"/login\",trackEvent:u,getTurnstileToken:d,resetTurnstileToken:p,backendId:f,resourceContext:h}=e;if(!1===l&&!s)return null==u||u({type:\"chatbot_login_prompt_shown\"}),{qa_loop:{message:\"To ask questions, please log in first.\",component:t.createElement(Ba,{loginUrl:c}),chatDisabled:!0,path:\"qa_loop\"}};let g=null,m=null,v=!1;const b={siteKey:null,token:null,pendingQuery:null,needsChallenge:!1};let y=null;if(!n)throw new Error(\"Q&A endpoint is required\");return{qa_loop:{message:async e=>{var t;y=e.injectMessage.bind(e);const{userInput:l}=e;if(a&&a())return null;if(!l||\"\"===l.trim())return null;if(\"👍 Helpful\"===l||\"👎 Not helpful\"===l){if(g){const e=\"👍 Helpful\"===l,t=\"agent\"===m?o:r;if(t)try{const n={\"Content-Type\":\"application/json\"};A&&(n[\"X-API-KEY\"]=A);const r=i();r&&(n[\"X-Session-ID\"]=r,n[\"X-Query-ID\"]=g);const o=\"agent\"===m?{query_id:g,rating:e?\"helpful\":\"not_helpful\",session_id:r}:{sessionId:r,queryId:g,rating:e?1:0};await fetch(t,{method:\"POST\",headers:n,credentials:\"include\",body:JSON.stringify(o)}),null==u||u({type:\"chatbot_rating_sent\",queryId:g,rating:e?\"helpful\":\"not_helpful\"})}catch(e){qa(\"Error sending feedback:\",e)}}return\"Thanks for the feedback!\"}try{const r=Ta();g=r,null==u||u({type:\"chatbot_question_sent\",queryId:r,questionLength:l.length});const o={\"Content-Type\":\"application/json\"};A&&(o[\"X-API-KEY\"]=A);const a=i();a&&(o[\"X-Session-ID\"]=a,o[\"X-Query-ID\"]=r),o[\"X-Origin\"]=h||\"access\";const s={query:l,session_id:a,question_id:r};f&&(s._backend=f),h&&(s.rp_name=h);const c=null==d?void 0:d();c&&(s.turnstile_token=c),za(\"SENT to API\",{session_id:a,question_id:r});const y=Date.now(),w=await fetch(n,{method:\"POST\",headers:o,credentials:\"include\",body:JSON.stringify(s)});if(!w.ok)throw new Error(\"API returned \".concat(w.status));if((w.headers.get(\"content-type\")||\"\").includes(\"text/event-stream\")){null==p||p();const n=null===(t=w.body)||void 0===t?void 0:t.getReader();if(!n)throw new Error(\"Response body is not readable\");const o=new TextDecoder;let A=\"\",i=\"\",a=!1;try{for(;;){const{done:t,value:r}=await n.read();if(t)break;A+=o.decode(r,{stream:!0});let l=A.indexOf(\"\\n\\n\");for(;-1!==l;){const t=A.slice(0,l);A=A.slice(l+2);let n,r=\"\",o=\"\";for(const e of t.split(\"\\n\"))e.startsWith(\"event: \")?r=e.slice(7):e.startsWith(\"data: \")&&(o=e.slice(6));if(r&&o){try{n=JSON.parse(o)}catch(e){_a(\"Failed to parse SSE data:\",o),l=A.indexOf(\"\\n\\n\");continue}if(\"status\"===r){const t=n.message||\"Processing...\";await e.streamMessage(\"_\".concat(t,\"_\"),\"BOT\"),a=!0}else if(\"token\"===r){i+=n.content||\"\";const t=cl(i);await e.streamMessage(t,\"BOT\")}else if(\"done\"===r){const t=n.metadata||{};if(m=t.rating_target||null,v=!0===t.is_final_response,i)console.log(\"[SSE DEBUG] done: tokenContent exists, skipping streamMessage, calling endStreamMessage\"),await e.endStreamMessage(\"BOT\");else{const t=n.response||\"\";if(t){const n=cl(t);await e.streamMessage(n,\"BOT\"),a=!0}a&&await e.endStreamMessage(\"BOT\")}}else if(\"error\"===r){const t=n.message||\"An error occurred\";qa(\"SSE error event:\",t),a?(await e.streamMessage(t,\"BOT\"),await e.endStreamMessage(\"BOT\")):await e.injectMessage(t)}l=A.indexOf(\"\\n\\n\")}else l=A.indexOf(\"\\n\\n\")}}a&&await e.endStreamMessage(\"BOT\")}catch(t){if(qa(\"Error reading SSE stream:\",t),!a)throw t;await e.streamMessage(\"I had trouble completing the response. Please try again.\",\"BOT\"),await e.endStreamMessage(\"BOT\")}const l=Date.now()-y;return null==u||u({type:\"chatbot_answer_received\",queryId:r,responseTimeMs:l,success:!0,responseLength:i.length}),null}const x=Date.now()-y,E=await w.json();if(E.requires_turnstile)return null==u||u({type:\"chatbot_turnstile_shown\",queryId:r}),b.siteKey=E.site_key,b.pendingQuery={query:l,sessionId:a,queryId:r},b.needsChallenge=!0,\"One moment — verifying your session…\";null==p||p();const B=E.response||E.answer||E.text||E.message;if(!B)throw new Error(\"Invalid response format from API\");const P=E.metadata||{};m=P.rating_target||null,v=!0===P.is_final_response;const k=cl(B),D=Ia()?dl(E):\"\",C=D?\"\".concat(k,\"\\n\\n\").concat(D):k;return await e.injectMessage(C),null==u||u({type:\"chatbot_answer_received\",queryId:r,responseTimeMs:x,success:!0,responseLength:B.length,hasMetadata:!!D}),null}catch(e){return qa(\"Error in Q&A flow:\",e),null==u||u({type:\"chatbot_answer_error\",queryId:null!=g?g:void 0,errorType:e instanceof Error?e.message:\"unknown\"}),\"I apologize, but I'm having trouble processing your question. Please try again later.\"}},options:e=>a&&a()||\"👍 Helpful\"===e.userInput||\"👎 Not helpful\"===e.userInput||b.needsChallenge?[]:v&&m&&(\"agent\"===m?o:r)?[\"👍 Helpful\",\"👎 Not helpful\"]:[],renderMarkdown:[\"BOT\"],chatDisabled:!1,component:t.createElement(pl,{getState:()=>b,onResubmit:async e=>{var t;if(!b.pendingQuery||!y)return qa(\"Turnstile resubmit called without pending query or injectMessage\"),\"error\";try{const r={\"Content-Type\":\"application/json\"};A&&(r[\"X-API-KEY\"]=A),b.pendingQuery.sessionId&&(r[\"X-Session-ID\"]=b.pendingQuery.sessionId,r[\"X-Query-ID\"]=b.pendingQuery.queryId),r[\"X-Origin\"]=h||\"access\";const o={query:b.pendingQuery.query,session_id:b.pendingQuery.sessionId,question_id:b.pendingQuery.queryId,turnstile_token:e};f&&(o._backend=f),h&&(o.rp_name=h);const i=await fetch(n,{method:\"POST\",headers:r,credentials:\"include\",body:JSON.stringify(o)}),a=b.pendingQuery.queryId;if(!i.ok)throw new Error(\"API returned \".concat(i.status,\" after Turnstile\"));if((i.headers.get(\"content-type\")||\"\").includes(\"text/event-stream\")){const e=null===(t=i.body)||void 0===t?void 0:t.getReader();if(!e)throw new Error(\"Response body is not readable\");const n=new TextDecoder;let r=\"\",o=\"\",A={};for(;;){const{done:t,value:i}=await e.read();if(t)break;r+=n.decode(i,{stream:!0});let a=r.indexOf(\"\\n\\n\");for(;-1!==a;){const e=r.slice(0,a);r=r.slice(a+2);let t=\"\",n=\"\";for(const r of e.split(\"\\n\"))r.startsWith(\"event: \")?t=r.slice(7):r.startsWith(\"data: \")&&(n=r.slice(6));if(t&&n)try{const e=JSON.parse(n);\"token\"===t?o+=e.content||\"\":\"done\"===t&&(A=e.metadata||{})}catch(e){}a=r.indexOf(\"\\n\\n\")}}if(b.token=null,b.pendingQuery=null,b.needsChallenge=!1,b.siteKey=null,!o)throw new Error(\"No content received from stream\");m=A.rating_target||null,v=!0===A.is_final_response,g=a;const l=cl(o);return await y(l),null==u||u({type:\"chatbot_answer_received\",queryId:a,success:!0,responseLength:o.length}),\"success\"}const l=await i.json();if(l.requires_turnstile)return b.siteKey=l.site_key,b.token=null,await y(\"Still verifying — please complete the challenge again.\"),\"needs_another_challenge\";b.token=null,b.pendingQuery=null,b.needsChallenge=!1,b.siteKey=null;const s=l.response||l.answer||l.text||l.message;if(!s)throw new Error(\"Invalid response format from API\");const c=l.metadata||{};m=c.rating_target||null,v=!0===c.is_final_response,g=a;const d=cl(s),p=Ia()?dl(l):\"\",w=p?\"\".concat(d,\"\\n\\n\").concat(p):d;return await y(w),null==u||u({type:\"chatbot_answer_received\",queryId:a,success:!0,responseLength:s.length}),\"success\"}catch(e){return qa(\"Error resubmitting after Turnstile:\",e),b.token=null,b.pendingQuery=null,b.needsChallenge=!1,b.siteKey=null,await(null==y?void 0:y(\"I had trouble processing your question after verification. Please try again.\")),\"error\"}},trackEvent:u,loginUrl:c}),path:\"qa_loop\"}}})({endpoint:d,ratingEndpoint:p,agentRatingEndpoint:h,apiKey:u,sessionId:F.current.getSessionId,isResetting:F.current.isResetting,isLoggedIn:q,allowAnonAccess:y,loginUrl:M||El,trackEvent:W,getTurnstileToken:()=>_.current,resetTurnstileToken:()=>U.reset(),backendId:e.backendId,resourceContext:L}),r={message:g,renderMarkdown:[\"BOT\"],transition:{duration:0},path:\"qa_loop\"};return Object.assign(Object.assign({start:r},n),N||{})},[u,d,p,h,g,q,y,M,N,w,W,L]),Z=s(()=>{return[()=>Ln(t),ga(),()=>ba(e)];var e,t},[]);return l(()=>{const e=()=>{const e=document.querySelector(\".rcb-chat-window\");if(!e)return;const t=e.querySelector(\".rcb-send-button\");t&&(t.hasAttribute(\"tabindex\")||t.setAttribute(\"tabindex\",\"0\"),t.hasAttribute(\"data-keyboard-enabled\")||(t.setAttribute(\"data-keyboard-enabled\",\"true\"),t.addEventListener(\"keydown\",e=>{if(\"Enter\"===e.key||\" \"===e.key){e.preventDefault();const n=t&&Object.keys(t).find(e=>e.startsWith(\"__reactProps\"));if(n){const r=t[n],o=null==r?void 0:r.onMouseDown;if(o&&\"function\"==typeof o)return void o(e)}const r=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(r)}})))},t=setInterval(e,1e3);return e(),()=>clearInterval(t)},[]),il(),l(()=>{const e=X.current;if(!e)return;const t=e=>{var t,n,r;const o=null===(n=(t=e.target).closest)||void 0===n?void 0:n.call(t,\"a\");o&&o.closest(\".rcb-chat-body-container\")&&(o.classList.contains(\"qa-bot-login-button\")||o.closest(\".rcb-options-container\")||W({type:\"chatbot_link_clicked\",linkUrl:o.href,linkText:(null===(r=o.textContent)||void 0===r?void 0:r.trim())||\"\"}))};return e.addEventListener(\"click\",t),()=>e.removeEventListener(\"click\",t)},[W]),l(()=>{if(!G){const e=e=>{const t=e.data.newState;null==v||v(t);const n=z.current;W(t?{type:\"chatbot_open\"}:{type:\"chatbot_close\",messageCount:n?Xa(n):0,durationMs:n?Ka(n):0})};return window.addEventListener(\"rcb-toggle-chat-window\",e),()=>{window.removeEventListener(\"rcb-toggle-chat-window\",e)}}},[G,v,W]),t.createElement(\"div\",{className:\"qa-bot \".concat((null===(r=V.general)||void 0===r?void 0:r.embedded)?\"embedded-qa-bot\":\"\"),ref:X,role:\"region\",\"aria-label\":\"\".concat(P||ml).concat((null===(o=V.general)||void 0===o?void 0:o.embedded)?\" - Embedded\":\"\")},t.createElement(Za,{getSessionId:()=>z.current,setSessionId:e=>{const t=z.current;z.current=e,za(\"RESTORED\",\"\".concat(null==t?void 0:t.slice(-12),\" -> \").concat(e.slice(-12)))},resetSession:()=>{const e=z.current;j.current=!0,z.current=Ga(),za(\"RESET\",\"\".concat(null==e?void 0:e.slice(-12),\" -> \").concat(z.current.slice(-12)))},clearResettingFlag:()=>{j.current=!1}},t.createElement(xa,{trackEvent:W},t.createElement(Vt,null,t.createElement(\"div\",null,t.createElement(Al,null),t.createElement(ya,{ref:n,embedded:(null===(c=V.general)||void 0===c?void 0:c.embedded)||!1,currentOpen:m||!1,enabled:!1!==q,onSetEnabled:e=>Y(!!e&&void 0)}),t.createElement(Zt,{key:\"chatbot-\".concat(R.current,\"-\").concat(q),settings:V,flow:J,plugins:Z}),t.createElement(\"div\",{role:\"status\",\"aria-live\":\"polite\",\"aria-label\":\"Bot response updates\",className:\"sr-only\",id:\"bot-live-region\",style:{position:\"absolute\",width:\"1px\",height:\"1px\",padding:0,margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0}}),t.createElement(\"div\",{id:\"chat-input-help\",className:\"sr-only\",style:{position:\"absolute\",width:\"1px\",height:\"1px\",padding:0,margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0}},\"Type your message and press Enter to send. Use arrow keys to navigate through response options.\"))))))});Pl.displayName=\"QABot\";x('.rcb-chat-window{height:800px!important;max-height:80vh!important;max-width:100%;width:550px!important}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:var(--primaryColor,#107180)}.rcb-chat-window .rcb-bot-message a,.rcb-chat-window .rcb-bot-message a:link,.rcb-chat-window .rcb-bot-message a:visited{color:#fff!important;text-decoration:underline!important}.rcb-chat-window .rcb-bot-message a:hover{opacity:.85;text-decoration:underline!important}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.qa-bot .history-button,.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .history-button,.qa-bot.bot-logged-in .user-login-icon{display:flex!important;transform:scale(1.3) translateY(-2px)}.qa-bot.bot-logged-in .history-button:hover{opacity:.8}.qa-bot.bot-logged-in .history-button:focus{outline:2px solid #fff;outline-offset:2px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}.rcb-chat-tooltip{background-color:#1a5b6e;color:#fff}.rcb-chat-tooltip-tail{border-color:#0000 #0000 #0000 #1a5b6e}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.rcb-chat-window{max-height:calc(100vh - 100px)!important;max-width:calc(100vw - 40px)!important;width:550px!important}.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}.rcb-bot-message,.rcb-user-message{max-width:85%!important}.rcb-chat-input-textarea{font-size:16px!important;min-height:44px!important}.rcb-chat-header{padding:12px 16px!important}}@media (max-width:480px){.rcb-chat-window{bottom:10px!important;left:10px!important;max-height:calc(100vh - 80px)!important;max-width:calc(100vw - 20px)!important;right:10px!important;width:calc(100vw - 20px)!important}.embedded-chat-container.open{height:350px}.rcb-bot-message,.rcb-user-message{margin-bottom:8px!important;max-width:90%!important}.rcb-chat-header{font-size:14px!important;padding:8px 12px!important}.rcb-chat-button{bottom:20px!important;height:50px!important;right:20px!important;width:50px!important}.rcb-chat-footer-container{font-size:9px!important;padding:8px 12px!important}}@media (max-width:360px){.rcb-chat-window{left:5px!important;max-width:calc(100vw - 10px)!important;right:5px!important;width:calc(100vw - 10px)!important}.rcb-chat-header{font-size:13px!important;padding:6px 8px!important}}.rcb-checkbox-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-left:16px!important;max-width:100%!important;padding-top:12px!important}.rcb-checkbox-row-container{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--primaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-row-container:hover{background-color:#e8f4f8!important;border-color:var(--primaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-row-container[data-checked=true]{background-color:var(--primaryColor,#107180)!important;border-color:var(--primaryColor,#107180)!important;color:#fff!important}.rcb-checkbox-row{margin-left:0!important}.rcb-checkbox-mark{height:14px!important;margin-right:6px!important;width:14px!important}.rcb-checkbox-label{font-size:13px!important;margin:0!important;white-space:nowrap!important}.rcb-checkbox-next-button{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;justify-content:center!important;line-height:24px!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-next-button:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.rcb-chat-input-send-button:focus,.rcb-chat-input-textarea:focus{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-bot-message ol,.rcb-bot-message ul{list-style-position:outside!important;margin:.5em 0!important;padding-left:1.5em!important}.rcb-bot-message li{margin-bottom:.25em!important}.rcb-bot-message li>p{display:inline!important;margin:0!important}.rcb-user-message{word-wrap:break-word!important;overflow:hidden!important;word-break:break-word!important}:focus-visible{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-options-container{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin:16px!important;padding:0!important}.rcb-options{background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;outline:none!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-options:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-next-button.keyboard-focused,.rcb-checkbox-next-button:focus,.rcb-checkbox-next-button:focus-visible,.rcb-checkbox-row-container.keyboard-focused,.rcb-checkbox-row-container:focus,.rcb-checkbox-row-container:focus-visible,.rcb-options.keyboard-focused,.rcb-options:focus,.rcb-options:focus-visible{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;outline:none!important}.rcb-options:active{background-color:var(--secondaryColor,#107180)!important;border-color:var(--secondaryColor,#107180)!important;color:#fff!important;transform:translateY(0)!important}.keyboard-nav-hint{color:#666!important;font-size:12px!important;font-style:italic!important;margin-bottom:8px!important}@media (prefers-reduced-motion:reduce){.keyboard-nav-hint{display:none!important}}.rcb-options-container [role=button][tabindex=\"0\"],.rcb-options-container button[tabindex=\"0\"]{position:relative!important}.rcb-options-container [role=button][tabindex=\"0\"]:after,.rcb-options-container button[tabindex=\"0\"]:after{color:var(--secondaryColor,#107180)!important;content:\"←\"!important;font-size:16px!important;opacity:0!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;transition:opacity .2s ease!important}.rcb-options-container [role=button][tabindex=\"0\"]:focus:after,.rcb-options-container button[tabindex=\"0\"]:focus:after{opacity:1!important}.rcb-chat-input-send-button{cursor:pointer!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.rcb-chat-input-send-button:not([tabindex]){-webkit-user-select:none;-moz-user-select:none;user-select:none}.rcb-chat-input-container [onclick],.rcb-chat-input-container [role=button],.rcb-chat-input-container div[style*=cursor],.rcb-chat-input-container svg:last-child,.rcb-chat-input-container>div:last-child{tabindex:0!important;cursor:pointer!important}.rcb-chat-footer{margin-top:4px!important;padding-top:0!important}.rcb-chat-footer-container{align-items:center!important;display:flex!important;margin-top:4px!important;padding-top:4px!important}.rcb-chat-footer-container button{order:1!important}.rcb-chat-footer-container a[href*=qa-bot-core]{tab-index:0!important;order:2!important}.rcb-chat-footer-container a[href*=feedback]{tab-index:0!important;order:3!important}@media (prefers-contrast:high){.rcb-chat-window a{background-color:#fff!important;border:1px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rcb-chat-input-textarea{user-select:text!important}.rcb-chat-body-container,.rcb-chat-input-textarea,.rcb-chat-window{touch-action:pan-y!important}.embedded-qa-bot,.rcb-chat-window{-webkit-overflow-scrolling:touch!important}.embedded-qa-bot .rcb-chat-input-textarea{touch-action:pan-y!important;user-select:text!important}.embedded-qa-bot .rcb-chat-body-container,.embedded-qa-bot .rcb-chat-window{touch-action:pan-y!important}.rcb-chat-header-container{background:var(--primaryColor,#1a5b6e)!important;background:linear-gradient(135deg,var(--primaryColor,#1a5b6e) 0,var(--secondaryColor,#107180) 100%)!important}.rcb-toggle-button{align-items:center!important;background:var(--primaryColor,#1a5b6e)!important;display:flex!important;justify-content:center!important}.rcb-toggle-button svg{stroke:#fff!important;color:#fff!important}.rcb-toggle-button *,.rcb-toggle-button img,.rcb-toggle-button svg,.rcb-toggle-button>*{box-sizing:border-box!important;height:50px!important;left:0!important;margin:0 auto!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:2px!important;position:relative!important;top:0!important;width:50px!important}.rcb-send-button{background-color:var(--primaryColor,#1a5b6e)!important}',{insertAt:\"top\"});const kl=()=>{const[e,t]=a(!1),n=()=>\"undefined\"!=typeof navigator&&void 0!==navigator.mediaDevices&&\"function\"==typeof navigator.mediaDevices.getDisplayMedia;return{captureScreenshot:async()=>{if(!n())throw new Error(\"Screen capture is not available in this environment\");try{t(!0);const e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:\"browser\",cursor:\"always\",width:{ideal:1920},height:{ideal:1080}},audio:!1}),n=document.createElement(\"video\");n.srcObject=e,await new Promise(e=>{n.onloadedmetadata=()=>{n.play(),e()}});const r=document.createElement(\"canvas\");r.width=n.videoWidth,r.height=n.videoHeight;const o=r.getContext(\"2d\");if(!o)throw new Error(\"Could not get canvas context\");o.drawImage(n,0,0,r.width,r.height);const A=await new Promise(e=>r.toBlob(e,\"image/png\"));if(!A)throw new Error(\"Could not create image blob\");const i=(new Date).toISOString().replace(/[:.]/g,\"-\"),a=new File([A],\"screenshot-\".concat(i,\".png\"),{type:\"image/png\"});return e.getTracks().forEach(e=>e.stop()),t(!1),a}catch(e){throw qa(\"Error capturing screenshot:\",e),t(!1),e}},isCapturing:e,isScreenCaptureAvailable:n()}},Dl=e=>t.createElement(tl,e,t.createElement(\"path\",{d:\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}),t.createElement(\"polyline\",{points:\"17 8 12 3 7 8\"}),t.createElement(\"line\",{x1:\"12\",y1:\"3\",x2:\"12\",y2:\"15\"})),Cl=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{if(\"string\"!=typeof r.result)return void n(new Error(\"Failed to read file \".concat(e.name)));const o=r.result.split(\",\")[1];t({fileName:e.name,contentType:e.type,size:e.size,fileData:o})},r.onerror=()=>n(new Error(\"Failed to read file \".concat(e.name))),r.readAsDataURL(e)}),Sl=e=>Promise.all(e.map(Cl)),Tl=function(e){const t=1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:10)*1024;return e.size<=t},Il=e=>e<1024?\"\".concat(e,\" B\"):e<1048576?\"\".concat((e/1024).toFixed(1),\" KB\"):\"\".concat((e/1048576).toFixed(1),\" MB\"),Ql=e=>{let{onFileUpload:n,maxSizeMB:r=10,acceptedTypes:o=\"image/*,application/pdf,text/*,.doc,.docx\",enableScreenshot:A=!1,className:l}=e;const[s,c]=a(!1),[u,d]=a([]),[p,f]=a(null),h=i(null),{captureScreenshot:g,isCapturing:m,isScreenCaptureAvailable:v}=kl(),b=e=>{const t=document.createElement(\"div\");t.setAttribute(\"aria-live\",\"assertive\"),t.setAttribute(\"aria-atomic\",\"true\"),t.className=\"sr-only\",t.textContent=e,document.body.appendChild(t),setTimeout(()=>document.body.removeChild(t),1e3)},y=e=>{if(!e||0===e.length)return void _a(\"FileUploadComponent: No valid files provided to handleFiles\");let t;try{t=Array.from(e)}catch(e){return qa(\"FileUploadComponent: Error converting files to array:\",e),void b(\"Error processing selected files. Please try again.\")}const r=[...u,...t];d(r);const o=t.length,A=t.map(e=>e.name).join(\", \");b(\"\".concat(o,\" file\").concat(o>1?\"s\":\"\",\" selected: \").concat(A)),setTimeout(()=>{const e=document.querySelector(\".rcb-chat-content\");e&&(e.scrollTop=e.scrollHeight)},100),n&&n(r)},w=e=>{e.preventDefault(),e.stopPropagation(),\"dragenter\"===e.type||\"dragover\"===e.type?c(!0):\"dragleave\"===e.type&&c(!1)},x=()=>{try{h.current&&h.current.click()}catch(e){qa(\"FileUploadComponent: Error in handleButtonClick:\",e),b(\"Error opening file selection dialog. Please try again.\")}},E=()=>{f(null)},B=A&&v;return t.createElement(\"div\",{className:\"file-upload-container \".concat(l||\"\"),style:{padding:\"16px\",margin:\"8px 0\"}},B&&t.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"center\",marginBottom:\"10px\"}},t.createElement(\"button\",{onClick:e=>{e.preventDefault(),(async()=>{try{const e=await g();y([e]),b(\"Screenshot captured successfully\")}catch(e){b(\"Error capturing screenshot. Please try again.\")}})()},disabled:m,\"aria-describedby\":\"screenshot-help\",\"aria-label\":m?\"Taking screenshot, please wait\":\"Take a screenshot to attach\",style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",backgroundColor:\"#107180\",color:\"white\",border:\"none\",borderRadius:\"5px\",padding:\"8px 12px\",cursor:m?\"not-allowed\":\"pointer\",fontSize:\"14px\",fontWeight:\"500\",boxShadow:\"0 1px 3px rgba(0,0,0,0.2)\"}},t.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},t.createElement(\"path\",{d:\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"}),t.createElement(\"circle\",{cx:\"12\",cy:\"13\",r:\"4\"})),m?\"Taking screenshot...\":\"Take screenshot...\"),t.createElement(\"span\",{id:\"screenshot-help\",className:\"sr-only\"},\"Captures the current screen and adds it as an attachment\")),t.createElement(\"div\",{className:\"file-upload-dropzone \".concat(s?\"active\":\"\"),onDragEnter:w,onDragLeave:w,onDragOver:w,onDrop:e=>{var t;e.preventDefault(),e.stopPropagation(),c(!1);try{(null===(t=e.dataTransfer)||void 0===t?void 0:t.files)&&e.dataTransfer.files.length>0&&y(e.dataTransfer.files)}catch(e){qa(\"FileUploadComponent: Error in handleDrop:\",e),b(\"Error processing dropped files. Please try again.\")}},role:\"button\",tabIndex:0,\"aria-label\":\"File upload area. Click to select files or drag and drop files here.\",\"aria-describedby\":\"upload-instructions\",onKeyDown:e=>{\"Enter\"!==e.key&&\" \"!==e.key||(e.preventDefault(),x())},style:{padding:\"20px\",border:\"2px dashed #ccc\",borderRadius:\"8px\",backgroundColor:s?\"#f0f8ff\":\"#fafafa\",transition:\"all 0.3s ease\"}},t.createElement(\"input\",{ref:h,type:\"file\",className:\"file-input\",onChange:e=>{var t;try{(null===(t=e.target)||void 0===t?void 0:t.files)&&e.target.files.length>0&&y(e.target.files)}catch(e){qa(\"FileUploadComponent: Error in handleFileSelect:\",e),b(\"Error processing selected files. Please try again.\")}},multiple:!0,style:{display:\"none\"},\"aria-label\":\"Select files to upload\",accept:o}),t.createElement(\"div\",{className:\"upload-content\",onClick:x,style:{cursor:\"pointer\",flexDirection:\"column\",alignItems:\"center\",display:\"flex\",textAlign:\"center\",padding:\"12px\"}},t.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:\"8px\"}},t.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",gap:\"10px\"}},t.createElement(Dl,null),t.createElement(\"p\",{style:{margin:0,fontWeight:\"bold\"}},\"Upload Files\")),t.createElement(\"p\",{id:\"upload-instructions\",style:{margin:0,fontSize:\"14px\",color:\"#666\"}},\"Drag and drop files here or click to select. (Max \",r,\"MB each)\")),u.length>0&&t.createElement(\"div\",{className:\"selected-files\",style:{display:\"flex\",flexWrap:\"wrap\",gap:\"8px\",marginTop:\"12px\",alignItems:\"center\"}},t.createElement(\"span\",{style:{fontWeight:400,color:\"#888\",fontSize:\"13px\",marginRight:\"8px\",alignSelf:\"center\"}},\"Selected files:\"),u.map((e,r)=>t.createElement(\"span\",{key:r,style:{background:\"#fff\",color:\"#107180\",borderRadius:\"5px\",padding:\"4px 12px\",fontSize:\"14px\",marginRight:\"4px\",marginBottom:\"4px\",border:\"1px solid #ccc\",display:\"flex\",alignItems:\"center\",gap:\"6px\",cursor:\"pointer\"},onClick:t=>{t.stopPropagation(),(e=>{f(e)})(e)}},t.createElement(\"span\",{onClick:e=>{e.stopPropagation(),(e=>{const t=u.filter((t,n)=>n!==e);d(t),n&&n(t)})(r)},style:{cursor:\"pointer\",color:\"#888\",fontWeight:\"bold\",fontSize:\"15px\",marginRight:\"4px\",userSelect:\"none\",lineHeight:1},title:\"Remove file\",\"aria-label\":\"Remove \".concat(e.name)},\"×\"),e.name,\" (\",Il(e.size),\")\"))))),(()=>{if(!p)return null;const e=p.type.startsWith(\"image/\"),n=p.type.startsWith(\"text/\"),r=\"application/pdf\"===p.type;return t.createElement(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,backgroundColor:\"rgba(0, 0, 0, 0.7)\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",zIndex:1e3},onClick:E},t.createElement(\"div\",{style:{backgroundColor:\"white\",padding:\"20px\",borderRadius:\"8px\",maxWidth:\"90%\",maxHeight:\"90%\",overflow:\"auto\",position:\"relative\"},onClick:e=>e.stopPropagation()},t.createElement(\"button\",{onClick:E,style:{position:\"absolute\",top:\"10px\",right:\"10px\",background:\"none\",border:\"none\",fontSize:\"24px\",cursor:\"pointer\",color:\"#666\"}},\"×\"),t.createElement(\"h3\",{style:{marginTop:0,marginBottom:\"16px\"}},p.name),e&&t.createElement(\"img\",{src:URL.createObjectURL(p),alt:p.name,style:{maxWidth:\"100%\",maxHeight:\"70vh\"}}),n&&t.createElement(\"pre\",{style:{whiteSpace:\"pre-wrap\",wordWrap:\"break-word\",maxHeight:\"70vh\",overflow:\"auto\",padding:\"16px\",backgroundColor:\"#f5f5f5\",borderRadius:\"4px\"}},URL.createObjectURL(p)),r&&t.createElement(\"iframe\",{src:URL.createObjectURL(p),style:{width:\"100%\",height:\"70vh\",border:\"none\"},title:p.name}),!e&&!n&&!r&&t.createElement(\"div\",{style:{padding:\"20px\",textAlign:\"center\"}},\"Preview not available for this file type\")))})())};function Ml(e,t){if(!t||0===Object.keys(t).length)return e;const n={};for(const[r,o]of Object.entries(e)){let e=Object.assign({},o);if(t.disableOnOptions&&void 0===e.chatDisabled){const t=!(!e.options&&!e.checkboxes);e.chatDisabled=t}n[r]=e}return n}function Ol(e){return async t=>{await t.injectMessage(e)}}function Ll(e){return async t=>{const n=await e(t);await t.injectMessage(n)}}const Nl=t.forwardRef((e,n)=>{var{defaultOpen:r}=e,o=w(e,[\"defaultOpen\"]);const[A,i]=t.useState(r||!1),a=t.useRef(null);return t.useImperativeHandle(n,()=>({addMessage:e=>{var t;null===(t=a.current)||void 0===t||t.addMessage(e)},setBotEnabled:e=>{var t;null===(t=a.current)||void 0===t||t.setBotEnabled(e)},openChat:()=>{var e;i(!0),null===(e=a.current)||void 0===e||e.openChat()},closeChat:()=>{var e;i(!1),null===(e=a.current)||void 0===e||e.closeChat()},toggleChat:()=>{var e;i(e=>!e),null===(e=a.current)||void 0===e||e.toggleChat()}}),[]),t.createElement(Pl,y({ref:a},o,{open:A,onOpenChange:i}))});function Hl(e){if(!(e.target&&e.target instanceof HTMLElement))return void qa(\"QA Bot: A valid target DOM element is required\");const{target:n}=e,r=w(e,[\"target\"]),o=f.createRoot(n),A={current:null};return o.render(t.createElement(t.StrictMode,null,t.createElement(Nl,y({ref:e=>{A.current=e}},r)))),{addMessage:e=>{var t;return null===(t=A.current)||void 0===t?void 0:t.addMessage(e)},setBotEnabled:e=>{var t;return null===(t=A.current)||void 0===t?void 0:t.setBotEnabled(e)},openChat:()=>{var e;return null===(e=A.current)||void 0===e?void 0:e.openChat()},closeChat:()=>{var e;return null===(e=A.current)||void 0===e?void 0:e.closeChat()},toggleChat:()=>{var e;return null===(e=A.current)||void 0===e?void 0:e.toggleChat()},destroy:()=>{A.current=null,o.unmount()}}}Nl.displayName=\"ProgrammaticQABot\";export{Ql as FileUploadComponent,Pl as QABot,Ml as applyFlowSettings,Hl as default,Cl as fileToBase64,Sl as filesToBase64,Il as formatFileSize,Hl as qaBot,kl as useScreenshotCapture,Tl as validateFileSize,Ol as withHistory,Ll as withHistoryFn};\n//# sourceMappingURL=qa-bot-core.js.map\n","// Environment configuration\nexport const API_CONFIG = {\n // Q&A goes through qa-bot-proxy (Turnstile-protected) to UKY RAG.\n // To bypass the proxy (local dev), set VITE_API_ENDPOINT directly.\n QA_ENDPOINT: import.meta.env.VITE_API_ENDPOINT || 'https://qa-bot-proxy.netlify.app/api/chat',\n RATING_ENDPOINT: import.meta.env.VITE_RATING_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/',\n\n // Backend ID sent as `_backend` in the request body so qa-bot-proxy can\n // route to the correct upstream (defined in its ALLOWED_BACKENDS env var).\n BACKEND_ID: import.meta.env.VITE_BACKEND_ID || 'access',\n\n // Access-agent endpoints — disabled in non-agentic mode.\n // REACTIVATION: republish access-qa-bot with VITE_AGENT_ENABLED=true and\n // VITE_AGENT_ENDPOINT/VITE_API_ENDPOINT pointing at the agent. (Vite bakes\n // VITE_* values at this library's publish time, so flipping them requires a\n // republish — they are NOT runtime env vars in the consuming app.)\n // The gated useEffects in AccessQABot.tsx and the conditional QABot prop\n // spread come back to life automatically when this is true. Search the\n // codebase for `REACTIVATION:` to see all the affected sites.\n AGENT_ENABLED: import.meta.env.VITE_AGENT_ENABLED === 'true',\n AGENT_ENDPOINT: import.meta.env.VITE_AGENT_ENDPOINT || 'http://localhost:8000/api/v1',\n get CAPABILITIES_ENDPOINT() { return `${this.AGENT_ENDPOINT}/capabilities`; },\n get AGENT_RATING_ENDPOINT() { return `${this.AGENT_ENDPOINT}/rating`; },\n\n // Metrics/XDMoD API endpoints (unchanged — direct to UKY)\n METRICS_API_ENDPOINT: import.meta.env.VITE_METRICS_API_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/',\n METRICS_RATING_ENDPOINT: import.meta.env.VITE_METRICS_RATING_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/',\n METRICS_QUESTIONS_URL: 'https://metrics.access-ci.org/qa_bot_faq',\n\n // Netlify functions for JIRA/JSM (unchanged)\n NETLIFY_BASE_URL: import.meta.env.VITE_NETLIFY_BASE_URL || 'https://access-jsm-api.netlify.app',\n\n // API key (can be overridden via prop)\n DEFAULT_API_KEY: import.meta.env.VITE_API_KEY || 'demo-key',\n\n // Cloudflare Turnstile site key (public, safe to embed in frontend)\n TURNSTILE_SITE_KEY: import.meta.env.VITE_TURNSTILE_SITE_KEY || '',\n\n // Allow anonymous users to chat without logging in.\n // Requires Turnstile for bot protection — if anon access is enabled\n // without a Turnstile key, anonymous users get unrestricted access.\n ALLOW_ANON_ACCESS: import.meta.env.VITE_ALLOW_ANON_ACCESS === 'true',\n};\n\n// Bot configuration defaults\nexport const BOT_CONFIG = {\n BOT_NAME: 'ACCESS Q&A',\n LOGO: 'https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg',\n WELCOME_MESSAGE: 'Hello! I can answer questions about ACCESS resources, allocations, and more. Choose an option below or just type your question.\\n\\n<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href=\"https://support.access-ci.org/tools/access-qa-tool/privacy\">Privacy Notice</a>',\n LOGIN_URL: '/login',\n PRIMARY_COLOR: '#1a5b6e',\n SECONDARY_COLOR: '#107180',\n TOOLTIP: 'Ask me about ACCESS! 😊',\n};\n\n// Session storage keys\nexport const STORAGE_KEYS = {\n SESSION_ID: 'access-qa-bot-session-id',\n TOOLTIP_SHOWN: 'access-qa-bot-tooltip-shown',\n};\n","/**\n * Main Menu Flow — static buttons for non-agentic mode.\n *\n * The previous dynamic capabilities-driven version (single \"Show my options\"\n * button that called the agent's /capabilities endpoint) is preserved in git\n * history at v3.5.0:src/flows/main-menu-flow.ts. Restore it when re-enabling\n * the agent.\n */\n\nimport type { TicketFormData } from '../utils/flow-context';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n welcome: string;\n setTicketForm: (form: TicketFormData) => void;\n trackEvent: TrackEventFn;\n}\n\n/**\n * Creates the main menu conversation flow.\n *\n * Login gating for the Q&A path happens downstream in qa-bot-core's qa_loop\n * step (via isLoggedIn + allowAnonAccess passed to QABot), so we don't need\n * isLoggedIn here.\n */\nexport function createMainMenuFlow({\n welcome,\n setTicketForm,\n trackEvent,\n}: FlowParams) {\n return {\n start: {\n message: welcome,\n renderHtml: [\"BOT\"],\n options: [\n 'Ask a question',\n 'Open a help ticket',\n 'Report a security issue',\n 'Ask about metrics',\n ],\n chatDisabled: false,\n path: (chatState: { userInput: string }) => {\n const selection = chatState.userInput;\n trackEvent({ type: 'chatbot_menu_selected', selection });\n\n switch (selection) {\n case 'Open a help ticket':\n // Reset any prior form state so the ticket flow starts clean.\n setTicketForm({});\n return 'help_ticket';\n case 'Report a security issue':\n setTicketForm({});\n trackEvent({ type: 'chatbot_security_started' });\n return 'security_incident';\n case 'Ask about metrics':\n return 'metrics_intro';\n default:\n // 'Ask a question' (or any free-text input) → Q&A loop\n return 'qa_loop';\n }\n },\n },\n };\n}\n","/**\n * Flow context utilities for managing form state in conversational flows\n * Solves React closure issues by providing global access to current form state\n */\n\nexport interface TicketFormData {\n // User info\n email?: string;\n name?: string;\n accessId?: string;\n\n // Common ticket fields\n summary?: string;\n description?: string;\n priority?: string;\n category?: string;\n\n // Login-specific fields\n identityProvider?: string;\n browser?: string;\n\n // Resource fields (affiliated login)\n resource?: string;\n userIdResource?: string;\n\n // Resource fields (general help)\n involvesResource?: string;\n resourceDetails?: string;\n userIdAtResource?: string;\n\n // File upload\n uploadedFiles?: File[];\n wantsAttachment?: string;\n uploadConfirmed?: boolean;\n\n // Keywords\n keywords?: string | string[];\n suggestedKeyword?: string;\n\n // Submission result\n ticketKey?: string;\n ticketUrl?: string;\n submissionError?: string;\n\n // Allow additional fields\n [key: string]: unknown;\n}\n\nexport interface UserInfo {\n email?: string;\n name?: string;\n accessId?: string;\n}\n\nexport interface FormContext {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n}\n\n// Global form context reference\nlet currentFormContext: FormContext | null = null;\n\n/**\n * Sets the current form context reference\n * Call this when creating flows to enable access to latest form state\n */\nexport function setCurrentFormContext(context: FormContext): void {\n currentFormContext = context;\n}\n\n/**\n * Clears the current form context\n */\nexport function clearFormContext(): void {\n currentFormContext = null;\n}\n\n/**\n * Gets the current ticket form state\n * Always returns the latest state, avoiding stale closure issues\n */\nexport function getCurrentTicketForm(): TicketFormData {\n if (!currentFormContext) {\n console.warn('Form context not available, returning empty form');\n return {};\n }\n return currentFormContext.ticketForm || {};\n}\n\n/**\n * Updates the ticket form with new values\n */\nexport function updateTicketForm(updates: Partial<TicketFormData>): void {\n if (!currentFormContext) {\n console.warn('Form context not available, cannot update form');\n return;\n }\n currentFormContext.setTicketForm(prev => ({ ...prev, ...updates }));\n}\n\n/**\n * Gets current form merged with user info (user info takes precedence if form is empty)\n */\nexport function getCurrentFormWithUserInfo(userInfo: UserInfo = {}): TicketFormData {\n const currentForm = getCurrentTicketForm();\n return {\n ...currentForm,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n };\n}\n\n/**\n * Gets file info string for summaries\n */\nexport function getFileInfo(uploadedFiles?: File[]): string {\n if (uploadedFiles && uploadedFiles.length > 0) {\n return `\\nAttachments: ${uploadedFiles.length} file(s) attached`;\n }\n return '';\n}\n","/**\n * ACCESS-specific ticket submission API utilities\n * Handles JIRA/JSM ticket creation via Netlify proxy\n */\n\nimport { filesToBase64 } from '@snf/qa-bot-core';\nimport type { ProcessedFile } from '@snf/qa-bot-core';\nimport { API_CONFIG } from '../config/constants';\n\n// JSM Request Type IDs\nexport const REQUEST_TYPE_IDS = {\n SUPPORT: 17,\n LOGIN_ACCESS: 30,\n LOGIN_PROVIDER: 31,\n SECURITY: 26,\n} as const;\n\nexport type TicketType = 'support' | 'general_help' | 'loginAccess' | 'loginProvider' | 'security';\n\nexport interface TicketSubmissionData {\n serviceDeskId: number;\n requestTypeId: number;\n requestFieldValues: Record<string, unknown>;\n attachments?: ProcessedFile[];\n}\n\nexport interface TicketSubmissionResult {\n success: boolean;\n ticketKey?: string;\n ticketUrl?: string;\n error?: string;\n status?: number;\n}\n\n/**\n * Prepares form data for JSM API submission\n */\nexport async function prepareApiSubmission(\n formData: Record<string, unknown>,\n ticketType: TicketType = 'support',\n uploadedFiles: File[] = []\n): Promise<TicketSubmissionData> {\n const requestTypeIds: Record<TicketType, number> = {\n support: REQUEST_TYPE_IDS.SUPPORT,\n general_help: REQUEST_TYPE_IDS.SUPPORT,\n loginAccess: REQUEST_TYPE_IDS.LOGIN_ACCESS,\n loginProvider: REQUEST_TYPE_IDS.LOGIN_PROVIDER,\n security: REQUEST_TYPE_IDS.SECURITY,\n };\n\n const requestTypeId = requestTypeIds[ticketType] || REQUEST_TYPE_IDS.SUPPORT;\n const serviceDeskId = ticketType === 'security' ? 3 : 2;\n\n const submissionData: TicketSubmissionData = {\n serviceDeskId,\n requestTypeId,\n requestFieldValues: { ...formData },\n };\n\n // Process file attachments if any\n if (uploadedFiles.length > 0) {\n submissionData.attachments = await filesToBase64(uploadedFiles);\n }\n\n return submissionData;\n}\n\n/**\n * Sends prepared ticket data to the Netlify proxy\n */\nexport async function sendToProxy(\n submissionData: TicketSubmissionData,\n endpoint: 'tickets' | 'security-incidents'\n): Promise<TicketSubmissionResult> {\n const baseUrl = API_CONFIG.NETLIFY_BASE_URL;\n const proxyEndpoint = `${baseUrl}/api/v1/${endpoint}`;\n\n try {\n const response = await fetch(proxyEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(submissionData),\n });\n\n if (!response.ok) {\n let errorMessage = '';\n try {\n const errorText = await response.text();\n try {\n const errorJson = JSON.parse(errorText);\n errorMessage = errorJson.message || errorJson.error || errorText;\n } catch {\n errorMessage = errorText;\n }\n } catch {\n errorMessage = `HTTP ${response.status} ${response.statusText}`;\n }\n\n // User-friendly messages for common errors\n if (response.status === 403) {\n errorMessage = 'The ticket service is temporarily unavailable. Please try again later or contact support directly.';\n } else if (response.status === 404) {\n errorMessage = 'Ticket service not found. Please try again later.';\n } else if (response.status === 500) {\n errorMessage = 'Server error. Please try again later.';\n } else if (response.status === 401) {\n errorMessage = 'Authentication error with the ticket service. Please contact support.';\n }\n\n return {\n success: false,\n status: response.status,\n error: errorMessage,\n };\n }\n\n const data = await response.json();\n return {\n success: true,\n ticketKey: data.data?.ticketKey,\n ticketUrl: data.data?.ticketUrl,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n}\n\n/**\n * High-level function to submit a ticket\n */\nexport async function submitTicket(\n formData: Record<string, unknown>,\n ticketType: TicketType,\n uploadedFiles: File[] = []\n): Promise<TicketSubmissionResult> {\n try {\n const submissionData = await prepareApiSubmission(formData, ticketType, uploadedFiles);\n const endpoint = ticketType === 'security' ? 'security-incidents' : 'tickets';\n return await sendToProxy(submissionData, endpoint);\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n}\n\n/**\n * Generates a success/error message for ticket submission\n */\nexport function generateSuccessMessage(\n result: TicketSubmissionResult | null,\n ticketType: string = 'ticket'\n): string {\n if (!result) {\n return `We apologize, but there was an error submitting your ${ticketType}.\\n\\nPlease try again or contact our support team directly.`;\n }\n\n if (!result.success) {\n return `We apologize, but there was an error submitting your ${ticketType}: ${result.error || 'Unknown error'}\\n\\nPlease try again or contact our support team directly.`;\n }\n\n if (result.ticketUrl && result.ticketKey) {\n return `Your ${ticketType} has been submitted successfully.\\n\\nTicket: <a href=\"${result.ticketUrl}\" target=\"_blank\">${result.ticketKey}</a>\\n\\nOur support team will review your request and respond accordingly. Thank you for contacting ACCESS.`;\n }\n\n return `Your ${ticketType} has been submitted successfully.\\n\\nOur support team will review your request and respond accordingly. Thank you for contacting ACCESS.`;\n}\n","/**\n * Validation utilities for form inputs in ticket flows\n *\n * These functions return objects compatible with @rcb-plugins/input-validator:\n * { success: boolean, promptContent?: string, promptDuration?: number, promptType?: string }\n */\n\nexport interface ValidationResult {\n success: boolean;\n promptContent?: string;\n promptDuration?: number;\n promptType?: string;\n}\n\n/**\n * Validates an email address\n * Returns validation result object for InputValidator plugin\n */\nexport function validateEmail(email: string): ValidationResult {\n if (!email || email.trim() === '') {\n return {\n success: false,\n promptContent: 'Email is required',\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(email)) {\n return {\n success: false,\n promptContent: 'Please enter a valid email address',\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n\n return { success: true };\n}\n\n/**\n * Creates a validator for optional fields\n * Always returns success since the field is optional\n */\nexport function createOptionalFieldValidator(): () => ValidationResult {\n return () => ({ success: true });\n}\n\n/**\n * Processes optional input - returns empty string for skipped fields\n */\nexport function processOptionalInput(input: string): string {\n if (!input || input.trim() === '' || input.trim().toLowerCase() === 'skip') {\n return '';\n }\n return input.trim();\n}\n\n/**\n * Validates that a required field is not empty\n * Returns validation result object for InputValidator plugin\n */\nexport function validateRequired(value: string, fieldName: string = 'This field'): ValidationResult {\n if (!value || value.trim() === '') {\n return {\n success: false,\n promptContent: `${fieldName} is required`,\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n return { success: true };\n}\n","/**\n * ACCESS Login Help Ticket Flow\n *\n * This flow handles ticket creation for users having trouble logging into ACCESS.\n * It demonstrates how to wrap qa-bot-core's FileUploadComponent with ACCESS-specific\n * ticket submission logic.\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n/**\n * Creates the ACCESS login help ticket flow\n *\n * Note: chatDisabled is handled automatically by applyFlowSettings() in AccessQABot.\n */\nexport function createAccessLoginFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'loginAccess', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'access_login',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'access_login',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component - wired to update form state\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Entry point - provides context and asks if user wants to create ticket\n access_help: {\n message: \"If you're having trouble logging into the ACCESS website, here are some common issues:\\n\\n\" +\n \"• Make sure you're using a supported browser (Chrome, Firefox, Safari)\\n\" +\n \"• Clear your browser cookies and cache\\n\" +\n \"• Check if you're using the correct identity provider\\n\\n\" +\n \"Would you like to submit a help ticket for ACCESS login issues?\",\n options: [\"Yes, let's create a ticket\", \"Back to Main Menu\"],\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes, let's create a ticket\"\n ? \"access_login_description\"\n : \"start\",\n },\n\n // Step 1: Describe the issue (text input)\n access_login_description: {\n message: \"Describe your login issue.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n description: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'description',\n });\n },\n path: \"access_login_identity\",\n },\n\n // Step 2: Identity provider (options)\n access_login_identity: {\n message: \"Which identity provider were you using?\",\n options: [\"ACCESS\", \"Github\", \"Google\", \"Institution\", \"Microsoft\", \"ORCID\", \"Other\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, identityProvider: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'identity_provider',\n });\n },\n path: \"access_login_browser\",\n },\n\n // Step 3: Browser (options)\n access_login_browser: {\n message: \"Which browser were you using?\",\n options: [\"Chrome\", \"Firefox\", \"Edge\", \"Safari\", \"Other\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, browser: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'browser',\n });\n },\n path: \"access_login_attachment\",\n },\n\n // Step 4: Ask about attachment (options)\n access_login_attachment: {\n message: \"Would you like to attach a screenshot?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes\") {\n return \"access_login_upload\";\n }\n // Skip to user info collection based on what's missing\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"access_login_email\";\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 5: File upload (component + Continue button)\n access_login_upload: {\n message: \"Please upload your screenshot.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'file_upload',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"access_login_email\";\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 6: Email (text input)\n access_login_email: {\n message: \"What is your email?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 7: Name (text input)\n access_login_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 8: ACCESS ID (text input, optional)\n access_login_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'access_id',\n });\n },\n path: \"access_login_summary\",\n },\n\n // Step 9: Summary and confirmation (options)\n access_login_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'access_login_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n return `Thank you for providing your ACCESS login issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Identity Provider: ${currentForm.identityProvider || 'Not provided'}\\n` +\n `Browser: ${currentForm.browser || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n renderHtml: [\"BOT\", \"USER\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n email: formWithUserInfo.email || \"\",\n name: formWithUserInfo.name || \"\",\n accessId: formWithUserInfo.accessId || \"\",\n description: currentForm.description || \"\",\n identityProvider: currentForm.identityProvider || \"\",\n browser: currentForm.browser || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"access_login_success\" : \"start\",\n },\n\n // Step 10: Success message (options)\n access_login_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'ACCESS login ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n","/**\n * Resource/Affiliated Login Help Ticket Flow\n *\n * This flow handles ticket creation for users having trouble logging into\n * an ACCESS-affiliated resource (e.g., Expanse, Bridges-2, Anvil).\n *\n * Language matches: qa-bot/src/utils/flows/tickets/affiliated-login-flow.js\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n/**\n * Creates the Resource/Affiliated Login help ticket flow\n */\nexport function createResourceLoginFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'loginProvider', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'resource_login',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'resource_login',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component - wired to update form state\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Entry point - provides context and asks if user wants to create ticket\n resource_help: {\n message: \"If you're having trouble logging into an affiliated infrastructure or resource provider, here are some common issues:\\n\\n\" +\n \"• Ensure your allocation is active\\n\" +\n \"• Confirm you have the correct username for that resource\\n\" +\n \"• Check <a href=\\\"https://operations.access-ci.org/infrastructure_news_view\\\">System Status News</a> to see if the resource is undergoing maintenance\\n\\n\" +\n \"Would you like to submit a help ticket for resource provider login issues?\",\n options: [\"Yes, let's create a ticket\", \"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes, let's create a ticket\"\n ? \"resource_login_resource\"\n : \"start\",\n },\n\n // Step 1: Which resource (options)\n resource_login_resource: {\n message: \"Which ACCESS Resource are you trying to access?\",\n options: [\n \"ACES\",\n \"Anvil\",\n \"Bridges-2\",\n \"DARWIN\",\n \"Delta\",\n \"DeltaAI\",\n \"Derecho\",\n \"Expanse\",\n \"FASTER\",\n \"Granite\",\n \"Jetstream2\",\n \"KyRIC\",\n \"Launch\",\n \"Neocortex\",\n \"Ookami\",\n \"Open Science Grid\",\n \"Open Storage Network\",\n \"Ranch\",\n \"Stampede3\",\n ],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, resource: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'resource_selection',\n });\n },\n path: \"resource_login_userid\",\n },\n\n // Step 2: User ID at resource (text input)\n resource_login_userid: {\n message: \"What is your user ID at the resource?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, userIdResource: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'user_id',\n });\n },\n path: \"resource_login_description\",\n },\n\n // Step 3: Describe the issue (text input)\n resource_login_description: {\n message: \"Please describe the issue you're having logging in.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n description: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'description',\n });\n },\n path: \"resource_login_attachment\",\n },\n\n // Step 4: Ask about attachment (options)\n resource_login_attachment: {\n message: \"Would you like to attach a screenshot?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes\") {\n return \"resource_login_upload\";\n }\n // Skip to user info collection based on what's missing\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"resource_login_email\";\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 5: File upload (component + Continue button)\n resource_login_upload: {\n message: \"Please upload your screenshot.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'file_upload',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"resource_login_email\";\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 6: Email (text input)\n resource_login_email: {\n message: \"What is your email?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 7: Name (text input)\n resource_login_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 8: ACCESS ID (text input, optional)\n resource_login_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'access_id',\n });\n },\n path: \"resource_login_summary\",\n },\n\n // Step 9: Summary and confirmation (options)\n resource_login_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'resource_login_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n return `Thank you for providing your resource login issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Resource: ${currentForm.resource || 'Not provided'}\\n` +\n `Resource User ID: ${currentForm.userIdResource || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n email: formWithUserInfo.email || \"\",\n name: formWithUserInfo.name || \"\",\n accessId: formWithUserInfo.accessId || \"\",\n accessResource: currentForm.resource || \"\",\n description: currentForm.description || \"\",\n // ProForma field for request type 31\n userIdAtResource: currentForm.userIdResource || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"resource_login_success\" : \"start\",\n },\n\n // Step 10: Success message (options)\n resource_login_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'resource login ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n","/**\n * General Help Ticket Flow\n *\n * This flow handles ticket creation for general support questions.\n * Includes category selection, keywords, priority, and resource involvement.\n *\n * Language matches: qa-bot/src/utils/flows/tickets/general-help-flow.js\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n// Keywords list from old qa-bot\nconst KEYWORDS = [\n \" C, C++\",\n \"Abaqus\",\n \"ACCESS\",\n \"ACCESS-credits\",\n \"ACCESS-website\",\n \"Accounts\",\n \"ACLS\",\n \"Adding users\",\n \"Affiliations\",\n \"Affinity Groups\",\n \"AI\",\n \"Algorithms\",\n \"Allocation extension\",\n \"Allocation Management\",\n \"Allocation proposal\",\n \"Allocation Time\",\n \"Allocation users\",\n \"AMBER\",\n \"AMIE\",\n \"Anaconda\",\n \"Analysis\",\n \"API\",\n \"Application Status\",\n \"ARCGIS\",\n \"Architecture\",\n \"Archiving\",\n \"Astrophysics\",\n \"ATLAS\",\n \"Authentication\",\n \"AWS\",\n \"AZURE\",\n \"Backup\",\n \"BASH\",\n \"Batch Jobs\",\n \"Benchmarking\",\n \"Big Data\",\n \"Bioinformatics\",\n \"Biology\",\n \"Ceph\",\n \"CFD\",\n \"cgroups\",\n \"CHARMM\",\n \"Checkpoint\",\n \"cilogon\",\n \"citation\",\n \"Cloud\",\n \"Cloud Computing\",\n \"Cloud Lab\",\n \"Cloud Storage\",\n \"Cluster Management\",\n \"Cluster Support\",\n \"CMMC\",\n \"Community Outreach\",\n \"Compiling\",\n \"Composible Systems\",\n \"Computataional Chemistry\",\n \"COMSOL\",\n \"Conda\",\n \"Condo\",\n \"Containers\",\n \"Core dump\",\n \"Core hours\",\n \"CP2K\",\n \"CPU architecture\",\n \"CPU bound\",\n \"CUDA\",\n \"Cybersecurity\",\n \"CYVERSE\",\n \"Data\",\n \"Data Storage\",\n \"Data-access-protocols\",\n \"Data-analysis\",\n \"Data-compliance\",\n \"Data-lifecycle\",\n \"Data-management\",\n \"Data-management-software\",\n \"Data-provenance\",\n \"Data-reproducibility\",\n \"Data-retention\",\n \"Data-science\",\n \"Data-sharing\",\n \"Data-transfer\",\n \"Data-wrangling\",\n \"Database-update\",\n \"Debugging\",\n \"Debugging, Optimizatio and Profiling\",\n \"Deep-learning\",\n \"Dependencies\",\n \"Deployment\",\n \"DFT\",\n \"Distributed-computing\",\n \"DNS\",\n \"Docker\",\n \"Documentation\",\n \"DOI\",\n \"DTN\",\n \"Easybuild\",\n \"Email\",\n \"Encryption\",\n \"Environment-modules\",\n \"Errors\",\n \"Extension\",\n \"FastX\",\n \"Federated-authentication\",\n \"File transfers\",\n \"File-formats\",\n \"File-limits\",\n \"File-systems\",\n \"File-transfer\",\n \"Finite-element-analysis\",\n \"Firewall\",\n \"Fortran\",\n \"Frameworks and IDE's\",\n \"GAMESS\",\n \"Gateways\",\n \"GATK\",\n \"Gaussian\",\n \"GCC\",\n \"Genomics\",\n \"GIS\",\n \"Git\",\n \"Globus\",\n \"GPFS\",\n \"GPU\",\n \"Gravitational-waves\",\n \"Gridengine\",\n \"GROMACS\",\n \"Hadoop\",\n \"Hardware\",\n \"Image-processing\",\n \"Infiniband\",\n \"Interactive-mode\",\n \"Interconnect\",\n \"IO-Issue\",\n \"ISILON\",\n \"Java\",\n \"Jekyll\",\n \"Jetstream\",\n \"Job-accounting\",\n \"Job-array\",\n \"Job-charging\",\n \"Job-failure\",\n \"Job-sizing\",\n \"Job-submission\",\n \"Julia\",\n \"Jupyterhub\",\n \"Key-management\",\n \"Kubernetes\",\n \"KyRIC\",\n \"LAMMPS\",\n \"Library-paths\",\n \"License\",\n \"Linear-programming\",\n \"Linux\",\n \"LMOD\",\n \"login\",\n \"LSF\",\n \"Lustre\",\n \"Machine-learning\",\n \"Management\",\n \"Materials-science\",\n \"Mathematica\",\n \"MATLAB\",\n \"Memory\",\n \"Metadata\",\n \"Modules\",\n \"Molecular-dynamics\",\n \"Monte-carlo\",\n \"MPI\",\n \"NAMD\",\n \"NetCDF\",\n \"Networking\",\n \"Neural-networks\",\n \"NFS\",\n \"NLP\",\n \"NoMachine\",\n \"Nvidia\",\n \"Oceanography\",\n \"OnDemnad\",\n \"Open-science-grid\",\n \"Open-storage-network\",\n \"OpenCV\",\n \"Openfoam\",\n \"OpenMP\",\n \"OpenMPI\",\n \"OpenSHIFT\",\n \"Openstack\",\n \"Optimization\",\n \"OS\",\n \"OSG\",\n \"Parallelization\",\n \"Parameter-sweeps\",\n \"Paraview\",\n \"Particle-physics\",\n \"password\",\n \"PBS\",\n \"Pegasus\",\n \"Pending-jobs\",\n \"Performance-tuning\",\n \"Permissions\",\n \"Physiology\",\n \"PIP\",\n \"PODMAN\",\n \"Portals\",\n \"Pre-emption\",\n \"Professional and Workforce Development\",\n \"Professional-development\",\n \"Profile\",\n \"Profiling\",\n \"Programming\",\n \"Programming Languages\",\n \"Programming-best-practices\",\n \"Project-management\",\n \"Project-renewal\",\n \"Provisioning\",\n \"Pthreads\",\n \"Publication-database\",\n \"Putty\",\n \"Python\",\n \"Pytorch\",\n \"Quantum-computing\",\n \"Quantum-mechanics\",\n \"Quota\",\n \"R\",\n \"RDP\",\n \"React\",\n \"Reporting\",\n \"Research-facilitation\",\n \"Research-grants\",\n \"Resources\",\n \"Rstudio-server\",\n \"S3\",\n \"Samba\",\n \"SAS\",\n \"Scaling\",\n \"Schedulers\",\n \"Scheduling\",\n \"Science DMZ\",\n \"Science Gateways\",\n \"Scikit-learn\",\n \"Scratch\",\n \"screen\",\n \"scripting\",\n \"SDN\",\n \"Secure Computing and Data\",\n \"Secure-data-architecture\",\n \"Serverless-hpc\",\n \"setup\",\n \"sftp\",\n \"SGE\",\n \"Shell Scripting\",\n \"Shifter\",\n \"Singularity\",\n \"SLURM\",\n \"SMB\",\n \"Smrtanalysis\",\n \"Software Installations\",\n \"Software-carpentry\",\n \"SPACK\",\n \"SPARK\",\n \"Spectrum-scale\",\n \"SPSS\",\n \"SQL\",\n \"SSH\",\n \"Stampede2\",\n \"STATA\",\n \"Storage\",\n \"Supplement\",\n \"Support\",\n \"TCP\",\n \"Technical-training-for-hpc\",\n \"Tensorflow\",\n \"Terminal-emulation-and-window-management\",\n \"Tickets\",\n \"Timing-issue\",\n \"TMUX\",\n \"Tools\",\n \"Training\",\n \"Transfer SUs\",\n \"Trinity\",\n \"Tuning\",\n \"Unix-environment\",\n \"Upgrading\",\n \"Vectorization\",\n \"Version-control\",\n \"vim\",\n \"VNC\",\n \"VPN\",\n \"Workflow\",\n \"Workforce-development\",\n \"X11\",\n \"Xalt\",\n \"XDMoD\",\n \"XML\",\n \"XSEDE\",\n \"I don't see a relevant keyword\",\n];\n\n// Resource list (same as affiliated login)\nconst RESOURCES = [\n \"ACES\",\n \"Anvil\",\n \"Bridges-2\",\n \"DARWIN\",\n \"Delta\",\n \"DeltaAI\",\n \"Derecho\",\n \"Expanse\",\n \"FASTER\",\n \"Granite\",\n \"Jetstream2\",\n \"KyRIC\",\n \"Launch\",\n \"Neocortex\",\n \"Ookami\",\n \"Open Science Grid\",\n \"Open Storage Network\",\n \"Ranch\",\n \"Stampede3\",\n];\n\n/**\n * Creates the General Help ticket flow\n */\nexport function createGeneralHelpFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'support', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'general_help',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'general_help',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Step 1: Title/Summary (text input)\n general_help_summary_subject: {\n message: \"Provide a short title for your ticket.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n summary: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'title',\n });\n },\n path: \"general_help_category\",\n },\n\n // Step 2: Category (options)\n general_help_category: {\n message: \"What type of issue are you experiencing?\",\n options: [\n \"User Account Question\",\n \"Allocation Question\",\n \"User Support Question\",\n \"CSSN/CCEP Question\",\n \"Training Question\",\n \"Metrics Question\",\n \"OnDemand Question\",\n \"Pegasus Question\",\n \"XDMoD Question\",\n \"Some Other Question\",\n ],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, category: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'category',\n });\n },\n path: \"general_help_description\",\n },\n\n // Step 3: Description (text input)\n general_help_description: {\n message: \"Please describe your issue.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, description: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'description',\n });\n },\n path: \"general_help_attachment\",\n },\n\n // Step 4: Attachment? (options)\n general_help_attachment: {\n message: \"Would you like to attach a file to your ticket?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"general_help_upload\" : \"general_help_resource\",\n },\n\n // Step 5: File upload (conditional)\n general_help_upload: {\n message: \"Please upload your file.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'file_upload',\n });\n },\n path: \"general_help_resource\",\n },\n\n // Step 6: Involves resource? (options)\n general_help_resource: {\n message: \"Does your problem involve an ACCESS Resource?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, involvesResource: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"general_help_resource_details\" : \"general_help_keywords\",\n },\n\n // Step 7: Resource selection (conditional)\n general_help_resource_details: {\n message: \"Please select the ACCESS Resource involved with your issue:\",\n options: RESOURCES,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, resourceDetails: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_selection',\n });\n },\n path: \"general_help_user_id_at_resource\",\n },\n\n // Step 8: User ID at resource (conditional, optional)\n general_help_user_id_at_resource: {\n message: \"What is your User ID at the selected resource(s)? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, userIdAtResource: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_user_id',\n });\n },\n path: \"general_help_keywords\",\n },\n\n // Step 9: Keywords (checkboxes)\n general_help_keywords: {\n message: \"Please add up to 5 keywords to help route your ticket.\",\n checkboxes: {\n items: KEYWORDS,\n min: 0,\n max: 5,\n },\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, keywords: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'keywords',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput && chatState.userInput.includes(\"I don't see a relevant keyword\")) {\n return \"general_help_additional_keywords\";\n }\n return \"general_help_priority\";\n },\n },\n\n // Step 10: Additional keywords (conditional, text input)\n general_help_additional_keywords: {\n message: \"Please enter additional keywords, separated by commas:\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const currentKeywords = currentForm.keywords || [];\n const additionalKeywords = chatState.userInput;\n\n // Ensure we're working with arrays\n const keywordsArray = Array.isArray(currentKeywords)\n ? [...currentKeywords]\n : String(currentKeywords).split(',').map(k => k.trim());\n\n // Filter out \"I don't see a relevant keyword\"\n const filteredKeywords = keywordsArray.filter(k => k !== \"I don't see a relevant keyword\");\n\n // Combine keywords\n const formattedKeywords = filteredKeywords.length > 0\n ? [...filteredKeywords, additionalKeywords].join(\", \")\n : additionalKeywords;\n\n setTicketForm({\n ...currentForm,\n keywords: formattedKeywords,\n suggestedKeyword: additionalKeywords,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'additional_keywords',\n });\n },\n path: \"general_help_priority\",\n },\n\n // Step 11: Priority (options)\n general_help_priority: {\n message: \"Please select a priority for your issue:\",\n options: [\"Lowest\", \"Low\", \"Medium\", \"High\", \"Highest\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, priority: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'priority',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"general_help_email\";\n if (!formWithUserInfo.name) return \"general_help_name\";\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 12: Email (text input, conditional)\n general_help_email: {\n message: \"What is your email address?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"general_help_name\";\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 13: Name (text input, conditional)\n general_help_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 14: ACCESS ID (text input, optional)\n general_help_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'access_id',\n });\n },\n path: \"general_help_ticket_summary\",\n },\n\n // Step 15: Summary and confirmation\n general_help_ticket_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'general_help_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n let resourceInfo = '';\n if (currentForm.involvesResource === 'yes') {\n resourceInfo = `\\nResource: ${currentForm.resourceDetails || 'Not specified'}`;\n if (currentForm.userIdAtResource) {\n resourceInfo += `\\nUser ID at Resource: ${currentForm.userIdAtResource}`;\n }\n }\n\n return `Thank you for providing your issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Issue Summary: ${currentForm.summary || 'Not provided'}\\n` +\n `Category: ${currentForm.category || 'Not provided'}\\n` +\n `Priority: ${currentForm.priority || 'Not provided'}\\n` +\n `Keywords: ${currentForm.keywords || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${resourceInfo}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n // Regular JSM fields\n email: formWithUserInfo.email || \"\",\n summary: currentForm.summary || \"General Support Ticket\",\n description: currentForm.description || \"\",\n priority: currentForm.priority || \"medium\",\n accessId: formWithUserInfo.accessId || \"\",\n name: formWithUserInfo.name || \"\",\n issueType: currentForm.category || \"\",\n // ProForma fields for request type 17\n hasResourceProblem: currentForm.involvesResource === 'yes' ? 'Yes' : 'No',\n userIdAtResource: currentForm.userIdAtResource || \"\",\n resourceName: currentForm.resourceDetails || \"\",\n keywords: currentForm.keywords || \"\",\n noRelevantKeyword: currentForm.suggestedKeyword ? 'checked' : '',\n suggestedKeyword: currentForm.suggestedKeyword || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"general_help_success\" : \"start\",\n },\n\n // Step 16: Success message\n general_help_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'support ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n\n","/**\n * Ticket Flow Combiner\n *\n * Combines the ticket type selection with individual ticket flows.\n * This demonstrates the modular flow architecture.\n */\n\nimport { createAccessLoginFlow } from './access-login-flow';\nimport { createResourceLoginFlow } from './resource-login-flow';\nimport { createGeneralHelpFlow } from './general-help-flow';\nimport type { TicketFormData, UserInfo } from '../utils/flow-context';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n// Map user-facing options to ticket type identifiers for analytics\nconst TICKET_TYPE_MAP: Record<string, string> = {\n \"Logging into ACCESS website\": \"access_login\",\n \"Logging into a resource\": \"resource_login\",\n \"Another question\": \"general_help\",\n};\n\n/**\n * Creates the combined ticket flow with type selection and all ticket types\n */\nexport function createTicketFlow({ ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Create individual ticket flows\n const accessLoginFlow = createAccessLoginFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n const resourceLoginFlow = createResourceLoginFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n const generalHelpFlow = createGeneralHelpFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n\n return {\n // Ticket type selection\n help_ticket: {\n message: \"What is your help ticket related to?\",\n options: [\n \"Logging into ACCESS website\",\n \"Logging into a resource\",\n \"Another question\",\n ],\n function: (chatState: ChatState) => {\n setTicketForm(prev => ({ ...prev, ticketType: chatState.userInput }));\n \n // Track ticket started\n trackEvent({\n type: 'chatbot_ticket_started',\n ticketType: TICKET_TYPE_MAP[chatState.userInput] || chatState.userInput,\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Logging into ACCESS website\") {\n return \"access_help\";\n } else if (chatState.userInput === \"Logging into a resource\") {\n return \"resource_help\";\n } else if (chatState.userInput === \"Another question\") {\n return \"general_help_summary_subject\";\n }\n return \"help_ticket\";\n },\n },\n\n // Combine all ticket flows\n ...accessLoginFlow,\n ...resourceLoginFlow,\n ...generalHelpFlow,\n };\n}\n","/**\n * Security Incident Flow\n *\n * Multi-step form for reporting security incidents.\n * Based on the old qa-bot's security-flow.js with exact language preserved.\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport { getCurrentTicketForm, type TicketFormData, type UserInfo } from '../utils/flow-context';\nimport { submitTicket, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n/**\n * Gets current form merged with user info\n */\nfunction getCurrentFormWithUserInfo(userInfo: UserInfo): TicketFormData {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n return {\n ...currentForm,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n };\n}\n\n/**\n * Generates success message for security incidents\n */\nfunction generateSecuritySuccessMessage(result: TicketSubmissionResult | null): string {\n if (!result) {\n return `We apologize, but there was an error submitting your security incident report.\\n\\nPlease try again or contact our cybersecurity team directly.`;\n }\n\n if (!result.success) {\n return `We apologize, but there was an error submitting your security incident report: ${result.error}\\n\\nPlease try again or contact our cybersecurity team directly.`;\n }\n\n if (result.ticketUrl && result.ticketKey) {\n return `Your security incident report has been submitted successfully.\\n\\nTicket: <a href=\"${result.ticketUrl}\" target=\"_blank\">${result.ticketKey}</a>\\n\\nOur cybersecurity team will review your report and respond accordingly. Thank you for helping keep ACCESS secure.`;\n }\n\n return `Your security incident report has been submitted successfully.\\n\\nOur cybersecurity team will review your report and respond accordingly. Thank you for helping keep ACCESS secure.`;\n}\n\n/**\n * Creates the Security Incident flow\n */\nexport function createSecurityFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Store the most recent ACCESS ID input to handle timing issues\n let mostRecentAccessId: string | null = null;\n\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = [], priority?: string) => {\n submissionResult = await submitTicket(formData, 'security', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful security submission\n trackEvent({\n type: 'chatbot_security_submitted',\n success: true,\n priority: priority || 'unknown',\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track security submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'security',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Step 1: Summary (text input)\n security_incident: {\n message: \"You're reporting a security incident. Please provide a brief summary of the security concern.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({\n ...currentForm,\n summary: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'summary',\n });\n },\n path: \"security_priority\",\n },\n\n // Step 2: Priority (options)\n security_priority: {\n message: \"What is the priority level of this security incident?\",\n options: [\"Critical\", \"High\", \"Medium\", \"Low\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, priority: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'priority',\n });\n },\n path: \"security_description\",\n },\n\n // Step 3: Description (text input)\n security_description: {\n message: \"Please provide a detailed description of the security incident or concern.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, description: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'description',\n });\n },\n path: \"security_attachment\",\n },\n\n // Step 4: Attachment? (options)\n security_attachment: {\n message: \"Do you have any files (screenshots, logs, etc.) that would help with this security incident?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"security_upload\" : \"security_contact_check\",\n },\n\n // Step 5: File upload (conditional)\n security_upload: {\n message: \"Please upload your files.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'file_upload',\n });\n },\n path: \"security_contact_check\",\n },\n\n // Step 6: Check if we have user info (branching)\n security_contact_check: {\n message: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId) {\n return `I have your contact information:\\n\\nName: ${formWithUserInfo.name}\\nEmail: ${formWithUserInfo.email}\\nACCESS ID: ${formWithUserInfo.accessId}\\n\\nIs this correct?`;\n }\n return \"I need your contact information.\";\n },\n options: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId) {\n return [\"Yes, that's correct\", \"Let me update it\"];\n }\n return [];\n },\n chatDisabled: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n // Disable only when showing options (have all info)\n return !!(formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId);\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes, that's correct\") {\n return \"security_summary\";\n } else if (chatState.userInput === \"Let me update it\") {\n return \"security_name\";\n }\n // No user info - go collect it\n return \"security_email\";\n },\n },\n\n // Step 7: Email (text input, conditional)\n security_email: {\n message: \"What is your email address?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"security_name\";\n if (!formWithUserInfo.accessId) return \"security_accessid\";\n return \"security_summary\";\n },\n },\n\n // Step 8: Name (text input, conditional)\n security_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"security_email\";\n if (!formWithUserInfo.accessId) return \"security_accessid\";\n return \"security_summary\";\n },\n },\n\n // Step 9: ACCESS ID (text input, optional)\n security_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const finalInput = processOptionalInput(chatState.userInput);\n mostRecentAccessId = finalInput;\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, accessId: finalInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'access_id',\n });\n },\n path: \"security_summary\",\n },\n\n // Step 10: Summary and confirmation\n security_summary: {\n message: () => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n\n // Create a merged form with the most recent data\n const finalForm = {\n ...currentForm,\n name: formWithUserInfo.name || currentForm.name,\n email: formWithUserInfo.email || currentForm.email,\n accessId: mostRecentAccessId || formWithUserInfo.accessId || currentForm.accessId,\n };\n\n let fileInfo = '';\n if (currentForm.uploadedFiles && currentForm.uploadedFiles.length > 0) {\n fileInfo = `\\nAttachments: ${currentForm.uploadedFiles.length} file(s) attached`;\n }\n\n const accessIdDisplay = finalForm.accessId || 'Not provided';\n\n return `Here's a summary of your security incident report:\\n\\n` +\n `Summary: ${finalForm.summary || 'Not provided'}\\n` +\n `Priority: ${finalForm.priority || 'Not provided'}\\n` +\n `Name: ${finalForm.name || 'Not provided'}\\n` +\n `Email: ${finalForm.email || 'Not provided'}\\n` +\n `ACCESS ID: ${accessIdDisplay}\\n` +\n `Description: ${finalForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this security incident report?`;\n },\n options: [\"Submit Security Report\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Security Report\") {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n\n // Create final merged form\n const finalForm = {\n ...currentForm,\n name: formWithUserInfo.name || currentForm.name,\n email: formWithUserInfo.email || currentForm.email,\n accessId: mostRecentAccessId || formWithUserInfo.accessId || currentForm.accessId,\n };\n\n // Prepare form data for submission\n const formData = {\n summary: finalForm.summary || \"\",\n priority: finalForm.priority || \"\",\n description: finalForm.description || \"\",\n name: finalForm.name || \"\",\n email: finalForm.email || \"\",\n accessId: finalForm.accessId || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || [], finalForm.priority);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Security Report\" ? \"security_success\" : \"start\",\n },\n\n // Step 11: Success message\n security_success: {\n message: withHistoryFn(() => generateSecuritySuccessMessage(submissionResult)),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","/**\n * Metrics/XDMoD Flow\n *\n * Conversational flow for asking questions about usage and performance metrics.\n * Based on the old qa-bot's metrics-flow.js with exact language preserved.\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { API_CONFIG } from '../config/constants';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n sessionId: string;\n apiKey: string;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n injectMessage: (message: string) => Promise<void>;\n}\n\n/**\n * Process text response from API - basic markdown/HTML handling\n */\nfunction processResponse(text: string): string {\n // Basic processing - the core bot may handle this too\n return text;\n}\n\n/**\n * Creates the Metrics/XDMoD conversation flow\n */\nexport function createMetricsFlow({ sessionId, apiKey, trackEvent }: FlowParams) {\n // Track the query ID for the most recent response that can receive feedback\n let feedbackQueryId: string | null = null;\n\n return {\n // Entry point with instructions\n metrics_intro: {\n message: `Please type your question about usage and performance metrics (XDMoD) below. You can see some <a target=\"_blank\" href=\"${API_CONFIG.METRICS_QUESTIONS_URL}\">examples here</a>.\\n\\n<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href=\"https://support.access-ci.org/tools/access-qa-tool/privacy\">Privacy Notice</a>`,\n renderHtml: [\"BOT\"],\n path: \"metrics_loop\",\n },\n\n // Main question/answer loop\n metrics_loop: {\n message: async (chatState: ChatState) => {\n const { userInput } = chatState;\n\n // Handle feedback first if it's feedback\n if (userInput === \"👍 Helpful\" || userInput === \"👎 Not helpful\") {\n // Send feedback using the captured query ID\n if (apiKey && sessionId && feedbackQueryId) {\n const isPositive = userInput === \"👍 Helpful\";\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-Origin': 'metrics',\n 'X-API-KEY': apiKey,\n 'X-Session-ID': sessionId,\n 'X-Query-ID': feedbackQueryId,\n 'X-Feedback': isPositive ? '1' : '0',\n };\n\n try {\n await fetch(API_CONFIG.METRICS_RATING_ENDPOINT, {\n method: 'POST',\n headers,\n });\n } catch (error) {\n console.error('Error sending metrics feedback:', error);\n }\n }\n return \"Thanks for the feedback! Ask another question about usage and performance metrics (XDMoD) or start a new chat.\";\n } else {\n // Process as a question - fetch response directly\n try {\n // Generate our own query ID\n const queryId = uuidv4();\n feedbackQueryId = queryId;\n\n // Track metrics question\n trackEvent({\n type: 'chatbot_metrics_question_sent',\n queryId,\n });\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-Origin': 'metrics',\n 'X-API-KEY': apiKey,\n 'X-Session-ID': sessionId,\n 'X-Query-ID': queryId,\n };\n\n const response = await fetch(API_CONFIG.METRICS_API_ENDPOINT, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: userInput,\n }),\n });\n\n const body = await response.json();\n const text = body.response;\n const processedText = processResponse(text);\n\n // Inject the response\n await chatState.injectMessage(processedText);\n\n // Inject guidance message after a short delay\n setTimeout(async () => {\n await chatState.injectMessage(\"Ask another question about usage and performance metrics (XDMoD) or start a new chat.\");\n }, 100);\n\n return null;\n } catch (error) {\n console.error('Error in metrics flow:', error);\n return \"I'm sorry, there was an error processing your question. Please try again.\";\n }\n }\n },\n renderMarkdown: [\"BOT\"],\n options: (chatState: ChatState) => {\n // Only show feedback options if the input isn't already feedback\n if (chatState.userInput === \"👍 Helpful\" || chatState.userInput === \"👎 Not helpful\") {\n return []; // No options after feedback is given\n }\n return [\"👍 Helpful\", \"👎 Not helpful\"];\n },\n // Rating is optional - keep input enabled so user can type next question\n // without clicking a feedback button\n chatDisabled: false,\n path: \"metrics_loop\",\n },\n };\n}\n\n","import { v4 as uuidv4 } from 'uuid';\nimport { STORAGE_KEYS } from '../config/constants';\n\n/**\n * Get or create a session ID from localStorage\n */\nexport function getSessionId(): string {\n if (typeof window === 'undefined') {\n return uuidv4();\n }\n\n let sessionId = localStorage.getItem(STORAGE_KEYS.SESSION_ID);\n\n if (!sessionId) {\n sessionId = uuidv4();\n localStorage.setItem(STORAGE_KEYS.SESSION_ID, sessionId);\n }\n\n return sessionId;\n}\n\n/**\n * Clear the current session ID\n */\nexport function clearSession(): void {\n if (typeof window !== 'undefined') {\n localStorage.removeItem(STORAGE_KEYS.SESSION_ID);\n }\n}\n\n/**\n * Generate a new query ID for each Q&A interaction\n */\nexport function generateQueryId(): string {\n return uuidv4();\n}\n","/**\n * shadow-dom-styles.ts\n *\n * Injects qa-bot-core CSS overrides into a shadow root.\n *\n * qa-bot-core's rollup build injects its CSS into document.head via postcss.\n * In a shadow DOM (e.g. access-ci-ui), those styles don't cross the shadow\n * boundary, so react-chatbotify's defaults (like width: 80% on checkbox rows)\n * win. This utility re-injects the critical layout overrides directly into the\n * shadow root so they take effect.\n */\n\nconst SHADOW_STYLE_ID = 'access-qa-bot-shadow-overrides';\n\nconst SHADOW_CSS = `\n.rcb-checkbox-container {\n display: flex !important;\n flex-wrap: wrap !important;\n gap: 8px !important;\n margin-left: 16px !important;\n padding-top: 12px !important;\n max-width: 100% !important;\n}\n\n.rcb-checkbox-row-container {\n display: flex !important;\n align-items: center !important;\n background-color: #ffffff !important;\n border: 1px solid #d0d0d0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n padding: 8px 12px !important;\n margin: 0 !important;\n min-height: auto !important;\n max-height: auto !important;\n width: auto !important;\n flex: 0 0 auto !important;\n transition: all 0.2s ease !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--primaryColor, #107180) !important;\n text-align: center !important;\n box-sizing: border-box !important;\n}\n\n.rcb-checkbox-row-container:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--primaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-checkbox-row-container[data-checked=\"true\"] {\n background-color: var(--primaryColor, #107180) !important;\n border-color: var(--primaryColor, #107180) !important;\n color: white !important;\n}\n\n.rcb-checkbox-row {\n margin-left: 0px !important;\n}\n\n.rcb-checkbox-mark {\n width: 14px !important;\n height: 14px !important;\n margin-right: 6px !important;\n}\n\n.rcb-checkbox-label {\n font-size: 13px !important;\n margin: 0 !important;\n white-space: nowrap !important;\n}\n\n.rcb-checkbox-next-button {\n background-color: #ffffff !important;\n border: 1px solid #d0d0d0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n padding: 8px 12px !important;\n margin: 0 !important;\n min-height: auto !important;\n max-height: auto !important;\n width: auto !important;\n flex: 0 0 auto !important;\n transition: all 0.2s ease !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--secondaryColor, #107180) !important;\n text-align: center !important;\n box-sizing: border-box !important;\n}\n\n.rcb-checkbox-next-button:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--secondaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-options-container {\n display: flex !important;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n gap: 8px !important;\n margin: 16px 16px !important;\n padding: 0 !important;\n}\n\n.rcb-options {\n border: 1px solid #d0d0d0 !important;\n outline: none !important;\n background-color: #ffffff !important;\n border-radius: 6px !important;\n padding: 8px 12px !important;\n cursor: pointer !important;\n transition: all 0.2s ease !important;\n text-align: center !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--secondaryColor, #107180) !important;\n width: auto !important;\n flex: 0 0 auto !important;\n box-sizing: border-box !important;\n}\n\n.rcb-options:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--secondaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-options:active {\n background-color: var(--secondaryColor, #107180) !important;\n border-color: var(--secondaryColor, #107180) !important;\n color: white !important;\n transform: translateY(0) !important;\n}\n\n.rcb-bot-message a,\n.rcb-chat-window .rcb-bot-message a:link,\n.rcb-chat-window .rcb-bot-message a:visited {\n color: #ffffff !important;\n text-decoration: underline !important;\n}\n\n.rcb-bot-message a:hover {\n opacity: 0.85;\n text-decoration: underline !important;\n}\n\n.rcb-bot-message ul,\n.rcb-bot-message ol {\n list-style-position: outside !important;\n margin: 0.5em 0 !important;\n padding-left: 1.5em !important;\n}\n\n.rcb-bot-message li {\n margin-bottom: 0.25em !important;\n}\n\n.rcb-bot-message li > p {\n display: inline !important;\n margin: 0 !important;\n}\n`;\n\n/**\n * If the given element is inside a shadow DOM, inject CSS overrides\n * into the shadow root. No-op when running outside shadow DOM.\n */\nexport function injectShadowDomStyles(element: HTMLElement | null): void {\n if (!element) return;\n\n const root = element.getRootNode();\n if (!(root instanceof ShadowRoot)) return;\n\n // Don't inject twice\n if (root.getElementById(SHADOW_STYLE_ID)) return;\n\n const style = document.createElement('style');\n style.id = SHADOW_STYLE_ID;\n style.textContent = SHADOW_CSS;\n root.appendChild(style);\n}\n","import { forwardRef, useImperativeHandle, useRef, useState, useMemo, useEffect, useCallback } from 'react';\nimport { QABot, applyFlowSettings } from '@snf/qa-bot-core';\nimport type { AccessQABotProps, AccessQABotRef, CapabilitiesResponse } from '../types';\nimport { API_CONFIG, BOT_CONFIG } from '../config/constants';\nimport { createMainMenuFlow, createTicketFlow, createSecurityFlow, createMetricsFlow } from '../flows';\nimport { setCurrentFormContext, type TicketFormData, type UserInfo } from '../utils/flow-context';\nimport { getSessionId } from '../utils/session';\nimport type { TrackEventFn } from '../utils/analytics';\nimport { injectShadowDomStyles } from '../utils/shadow-dom-styles';\nimport '../styles/chatbot.css';\n\n/**\n * AccessQABot - Wrapper around @snf/qa-bot-core with ACCESS-specific functionality\n *\n * This component demonstrates how to extend qa-bot-core with custom flows:\n * 1. Main menu flow - provides top-level navigation from dynamic capabilities\n * 2. Ticket flows - handles ticket creation with file uploads\n *\n * The wrapper pattern keeps ACCESS-specific logic (JIRA integration, ticket forms,\n * capability fetching) separate from the generic qa-bot-core library.\n */\nexport const AccessQABot = forwardRef<AccessQABotRef, AccessQABotProps>(\n (props, ref) => {\n const {\n apiKey = API_CONFIG.DEFAULT_API_KEY,\n isLoggedIn = false,\n loginUrl = BOT_CONFIG.LOGIN_URL,\n // User context for pre-filling forms\n userEmail,\n userName,\n accessId,\n actingUser,\n // Unused props (accepted for API compatibility)\n ringEffect: _ringEffect,\n defaultOpen: _defaultOpen,\n onClose: _onClose,\n // Active props\n open,\n onOpenChange,\n embedded = false,\n welcome,\n // Endpoint overrides\n qaEndpoint,\n ratingEndpoint,\n agentEndpoint,\n backendId,\n // Resource scoping\n resourceContext,\n // Analytics\n onAnalyticsEvent,\n } = props;\n\n // Non-agentic mode: Q&A goes through qa-bot-proxy → UKY RAG directly,\n // and the agent's /capabilities + /capabilities/personalized endpoints\n // are never called. AGENT_ENABLED is baked at this library's publish\n // time (Vite env), so this is effectively a constant — flipping it\n // requires republishing.\n const agentEnabled = API_CONFIG.AGENT_ENABLED;\n const effectiveBackendId = backendId || API_CONFIG.BACKEND_ID;\n\n const botRef = useRef<any>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Ticket form state - managed here to persist across flow steps\n const [ticketForm, setTicketForm] = useState<TicketFormData>({});\n\n // Capabilities state — fetched from the agent when agent mode is enabled.\n // In non-agentic mode we initialize with an empty default so the loading\n // gate below passes immediately and no fetch is ever made.\n // null = still loading, object = loaded (even if empty categories on error)\n const [capabilities, setCapabilities] = useState<CapabilitiesResponse | null>(\n () => (agentEnabled ? null : { categories: [], is_authenticated: false })\n );\n\n // User info from props\n const userInfo: UserInfo = useMemo(() => ({\n email: userEmail,\n name: userName,\n accessId: accessId,\n }), [userEmail, userName, accessId]);\n\n // Inject CSS overrides into shadow DOM if needed\n useEffect(() => {\n injectShadowDomStyles(containerRef.current);\n }, []);\n\n // Keep form context in sync for flow utilities\n useEffect(() => {\n setCurrentFormContext({\n ticketForm,\n setTicketForm,\n });\n }, [ticketForm]);\n\n // Derive agent API URLs\n const agentBaseUrl = agentEndpoint || API_CONFIG.AGENT_ENDPOINT;\n const capabilitiesEndpoint = resourceContext\n ? `${agentBaseUrl}/capabilities?resource_context=${encodeURIComponent(resourceContext)}`\n : `${agentBaseUrl}/capabilities`;\n const agentRatingEndpoint = `${agentBaseUrl}/rating`;\n\n // Warn about common deployment misconfigurations\n useEffect(() => {\n if (agentEnabled && agentBaseUrl.includes('localhost') && !window.location.hostname.includes('localhost')) {\n console.warn(\n '[AccessQABot] VITE_AGENT_ENDPOINT not set — agent requests will go to localhost. ' +\n 'Set VITE_AGENT_ENDPOINT in your environment.'\n );\n }\n if (API_CONFIG.ALLOW_ANON_ACCESS && !API_CONFIG.TURNSTILE_SITE_KEY) {\n console.warn(\n '[AccessQABot] Anonymous access is enabled without Turnstile. ' +\n 'Set VITE_TURNSTILE_SITE_KEY for bot protection, or disable VITE_ALLOW_ANON_ACCESS.'\n );\n }\n }, [agentBaseUrl, agentEnabled]);\n\n // Fetch capabilities on mount (and when auth state changes).\n // Only runs in agent mode — in non-agentic mode, capabilities is\n // initialized to a default and no fetch is ever made.\n // REACTIVATION: when the agent is re-approved, set\n // VITE_AGENT_ENABLED=true (or flip the AGENT_ENABLED default in\n // constants.ts) and republish — this effect comes back to life.\n useEffect(() => {\n if (!agentEnabled) return;\n\n let cancelled = false;\n\n async function fetchCapabilities() {\n try {\n const response = await fetch(capabilitiesEndpoint, {\n credentials: 'include',\n });\n if (!response.ok) {\n throw new Error(`Capabilities API returned ${response.status}`);\n }\n const data: CapabilitiesResponse = await response.json();\n if (!cancelled) {\n setCapabilities(data);\n }\n } catch (error) {\n // Graceful degradation — render the bot with fallback \"Show my options\" button\n console.warn('Failed to fetch capabilities:', error);\n if (!cancelled) {\n setCapabilities({ categories: [], is_authenticated: false });\n }\n }\n }\n\n fetchCapabilities();\n return () => { cancelled = true; };\n }, [agentEnabled, capabilitiesEndpoint, isLoggedIn]);\n\n // Lazy-load personalized context for authenticated users (F.4 will use this).\n // Agent-only — skipped entirely in non-agentic mode.\n // REACTIVATION: re-enabled automatically when AGENT_ENABLED flips to true.\n useEffect(() => {\n if (!agentEnabled) return;\n if (!isLoggedIn) return;\n\n let cancelled = false;\n const personalizedUrl = `${agentBaseUrl}/capabilities/personalized`;\n\n async function fetchPersonalized() {\n try {\n const response = await fetch(personalizedUrl, {\n credentials: 'include',\n });\n if (!response.ok) return; // 401 for anonymous is expected\n const data = await response.json();\n if (!cancelled) {\n // TODO (F.4): Use highlighted_capabilities and context for\n // placeholder text rotation and agent system prompt enrichment\n console.debug('Personalized context loaded:', data);\n }\n } catch {\n // Non-critical — personalization is a nice-to-have\n }\n }\n\n fetchPersonalized();\n return () => { cancelled = true; };\n }, [agentEnabled, agentBaseUrl, isLoggedIn]);\n\n // Expose addMessage method via ref (maintains old API)\n useImperativeHandle(ref, () => ({\n addMessage: (message: string) => {\n botRef.current?.addMessage?.(message);\n },\n }));\n\n // Determine welcome message: explicit prop > capabilities response > default\n const welcomeMessage = welcome || capabilities?.welcome_message || BOT_CONFIG.WELCOME_MESSAGE;\n\n // Get session ID for analytics and metrics flow\n const sessionId = useMemo(() => getSessionId(), []);\n\n // Create analytics tracker that forwards events to consumer\n const trackEvent: TrackEventFn = useCallback((event) => {\n if (onAnalyticsEvent) {\n onAnalyticsEvent({\n ...event,\n type: event.type,\n timestamp: event.timestamp ?? Date.now(),\n sessionId: event.sessionId ?? sessionId,\n });\n }\n }, [onAnalyticsEvent, sessionId]);\n\n // Handler for core analytics events - forwards them to consumer\n const handleCoreAnalyticsEvent = useCallback((event: { type: string; [key: string]: unknown }) => {\n if (onAnalyticsEvent) {\n onAnalyticsEvent({\n ...event,\n type: event.type,\n timestamp: typeof event.timestamp === 'number' ? event.timestamp : Date.now(),\n sessionId: typeof event.sessionId === 'string' ? event.sessionId : sessionId,\n });\n }\n }, [onAnalyticsEvent, sessionId]);\n\n // Build custom flow by combining main menu + all specialized flows\n const customFlow = useMemo(() => {\n // Main menu provides top-level navigation. In non-agentic mode this\n // is a static 4-button menu (Ask / Ticket / Security / Metrics) — see\n // main-menu-flow.ts. setTicketForm is needed so the ticket and\n // security branches can reset form state on entry.\n const mainMenuFlow = createMainMenuFlow({\n welcome: welcomeMessage,\n setTicketForm,\n trackEvent,\n });\n\n // Ticket flows handle ticket creation\n const ticketFlows = createTicketFlow({\n ticketForm: {},\n setTicketForm,\n userInfo,\n trackEvent,\n });\n\n // Security flow for reporting security incidents\n const securityFlow = createSecurityFlow({\n ticketForm: {},\n setTicketForm,\n userInfo,\n trackEvent,\n });\n\n // Metrics flow for XDMoD questions\n const metricsFlow = createMetricsFlow({\n sessionId,\n apiKey,\n trackEvent,\n });\n\n // Merge all flows and apply settings\n const rawFlow = {\n ...mainMenuFlow,\n ...ticketFlows,\n ...securityFlow,\n ...metricsFlow,\n };\n\n // Auto-set chatDisabled based on whether step has options/checkboxes\n // BUT the start step explicitly sets chatDisabled: false to allow typing\n return applyFlowSettings(rawFlow, { disableOnOptions: true });\n }, [welcomeMessage, userInfo, sessionId, apiKey, isLoggedIn, trackEvent, capabilities]);\n\n // Wait for capabilities to load before rendering — the start step's\n // options are built from this data and react-chatbotify won't re-render\n // them if the flow object changes after initial mount. The capabilities\n // endpoint is in-memory (<10ms), so the delay is imperceptible.\n if (!capabilities) {\n return <div ref={containerRef} />;\n }\n\n return (\n <div ref={containerRef}>\n <QABot\n ref={botRef}\n // Login state - Q&A is gated when false unless anonymous access is enabled\n isLoggedIn={isLoggedIn}\n allowAnonAccess={API_CONFIG.ALLOW_ANON_ACCESS}\n actingUser={actingUser}\n\n // Analytics\n onAnalyticsEvent={handleCoreAnalyticsEvent}\n\n // API configuration\n apiKey={apiKey}\n qaEndpoint={qaEndpoint || API_CONFIG.QA_ENDPOINT}\n ratingEndpoint={ratingEndpoint || API_CONFIG.RATING_ENDPOINT}\n backendId={effectiveBackendId}\n // Agent-only endpoints — only forwarded when agent mode is enabled,\n // so qa-bot-core never makes capabilities or agent-rating requests\n // in non-agentic mode.\n // REACTIVATION: AGENT_ENABLED=true → these props start flowing again,\n // and the gated useEffects above resume populating `capabilities`.\n {...(agentEnabled ? { capabilitiesEndpoint, agentRatingEndpoint } : {})}\n\n // Branding\n botName={BOT_CONFIG.BOT_NAME}\n logo={BOT_CONFIG.LOGO}\n primaryColor={BOT_CONFIG.PRIMARY_COLOR}\n secondaryColor={BOT_CONFIG.SECONDARY_COLOR}\n welcomeMessage={welcomeMessage}\n tooltipText={BOT_CONFIG.TOOLTIP}\n\n // Turnstile bot protection (silent pre-verify when site key configured)\n turnstileSiteKey={API_CONFIG.TURNSTILE_SITE_KEY || undefined}\n\n // UI Control\n loginUrl={loginUrl}\n open={open}\n onOpenChange={onOpenChange}\n embedded={embedded}\n\n // Footer\n footerText=\"AI-powered · Privacy Notice\"\n footerLink=\"https://support.access-ci.org/tools/access-qa-tool/privacy\"\n\n // Resource scoping\n resourceContext={resourceContext}\n\n // Custom flows for tickets, etc.\n customFlow={customFlow}\n />\n </div>\n );\n }\n);\n\nAccessQABot.displayName = 'AccessQABot';\n\nexport default AccessQABot;\n"],"names":["y","n","r","w","x","E","B","P","t","e","k","D","C","S","T","I","Q","M","O","L","N","h","g","H","R","o","z","j","F","U","_","q","A","i","a","l","s","d","c","u","Y","G","W","p","V","X","K","J","f","m","v","b","Z","$","ee","te","ne","re","oe","Ae","ie","ae","le","se","ce","ue","de","pe","fe","pt","he","ge","me","ve","be","ye","we","Be","xe","Ee","Pe","ke","De","Ce","Se","Te","Ie","Qe","Me","Oe","Le","Ne","He","Re","ze","je","Fe","Ue","_e","qe","Ye","Ge","We","Ve","Xe","Ke","Je","Ze","$e","et","tt","nt","At","rt","ot","it","at","lt","st","ct","ut","dt","ft","ht","gt","mt","vt","bt","yt","wt","xt","Et","Bt","Pt","kt","Dt","Ct","St","Tt","It","Qt","Mt","Ot","Lt","Nt","Ht","Rt","zt","jt","Ut","Ft","_t","qt","Yt","Gt","Wt","Vt","Xt","Kt","Jt","Zt","$t","en","tn","nn","rn","on","An","an","ln","sn","cn","un","dn","pn","fn","hn","gn","mn","vn","bn","yn","wn","xn","En","Bn","Pn","kn","Dn","Cn","Sn","Tn","In","Qn","Mn","On","Ln","Nn","Hn","Rn","zn","jn","Fn","Un","_n","qn","Yn","Gn","Wn","er","Vn","Xn","Kn","Jn","Zn","$n","tr","nr","rr","or","Ar","ir","ar","lr","sr","cr","ur","dr","pr","fr","hr","gr","mr","vr","br","yr","wr","xr","Er","Br","Pr","kr","Dr","Cr","Sr","Tr","Ir","Mr","Qr","Or","Nr","Lr","Hr","Rr","zr","jr","Fr","Ur","_r","qr","Yr","Gr","Wr","Zr","Jr","Kr","Vr","Xr","$r","to","eo","no","ro","oo","Ao","io","ao","lo","so","co","uo","po","fo","ho","go","mo","vo","To","bo","yo","wo","xo","Eo","Bo","Po","ko","Do","Co","So","Io","Qo","Mo","Oo","Lo","No","Ho","Ro","zo","jo","Fo","Uo","_o","qo","Yo","Go","Wo","Vo","Xo","Ko","Jo","Zo","$o","eA","tA","nA","rA","oA","AA","iA","aA","lA","sA","cA","uA","dA","pA","fA","hA","gA","mA","vA","bA","yA","wA","xA","EA","BA","kA","PA","DA","CA","SA","MA","TA","QA","IA","OA","LA","NA","HA","RA","zA","jA","FA","UA","_A","qA","YA","GA","WA","VA","KA","ZA","XA","JA","$A","ei","ti","ni","ri","oi","Ai","ii","ai","li","si","ci","ui","di","pi","fi","hi","gi","mi","bi","vi","yi","wi","xi","Ei","Bi","Pi","ki","Di","Qi","Si","Ti","Ci","Ii","Mi","Oi","Li","Ni","Hi","Ri","zi","ji","Fi","Ui","_i","qi","Yi","Gi","Wi","Vi","Ki","Xi","Ji","Zi","$i","ea","oa","aa","na","ra","ia","Aa","ta","la","sa","ca","ua","da","pa","fa","ha","ga","ma","va","ba","ya","wa","xa","Ea","Ba","Pa","ka","Da","Ca","Sa","Ta","_a","Ia","Qa","Ma","Oa","La","Na","Ha","Ra","za","ja","Fa","Ua","qa","Ya","Ga","Wa","Va","Xa","Ka","Ja","Za","$a","el","tl","nl","rl","ol","Al","il","_b","_c","_d","al","ll","sl","cl","ul","dl","pl","fl","hl","gl","ml","vl","bl","yl","wl","xl","El","Bl","Pl","kl","Dl","Cl","Sl","Il","Ql","Ml","Ll","Nl","API_CONFIG","BOT_CONFIG","STORAGE_KEYS","createMainMenuFlow","welcome","setTicketForm","trackEvent","chatState","selection","currentFormContext","setCurrentFormContext","context","getCurrentTicketForm","getCurrentFormWithUserInfo","userInfo","currentForm","getFileInfo","uploadedFiles","REQUEST_TYPE_IDS","prepareApiSubmission","formData","ticketType","requestTypeId","submissionData","filesToBase64","sendToProxy","endpoint","proxyEndpoint","response","errorMessage","errorText","errorJson","data","error","submitTicket","generateSuccessMessage","result","validateEmail","email","createOptionalFieldValidator","processOptionalInput","input","createAccessLoginFlow","_ticketForm","submissionResult","handleSubmit","prev","formWithUserInfo","jsx","FileUploadComponent","files","file","fileInfo","finalAccessId","withHistoryFn","createResourceLoginFlow","KEYWORDS","RESOURCES","createGeneralHelpFlow","currentKeywords","additionalKeywords","filteredKeywords","formattedKeywords","resourceInfo","TICKET_TYPE_MAP","createTicketFlow","ticketForm","accessLoginFlow","resourceLoginFlow","generalHelpFlow","generateSecuritySuccessMessage","createSecurityFlow","mostRecentAccessId","priority","finalInput","finalForm","accessIdDisplay","byteToHex","unsafeStringify","arr","offset","getRandomValues","rnds8","rng","randomUUID","native","v4","options","buf","rnds","createMetricsFlow","sessionId","apiKey","feedbackQueryId","userInput","headers","queryId","uuidv4","text","processedText","getSessionId","SHADOW_STYLE_ID","SHADOW_CSS","injectShadowDomStyles","element","root","style","AccessQABot","forwardRef","props","ref","isLoggedIn","loginUrl","userEmail","userName","accessId","actingUser","_ringEffect","_defaultOpen","_onClose","open","onOpenChange","embedded","qaEndpoint","ratingEndpoint","agentEndpoint","backendId","resourceContext","onAnalyticsEvent","agentEnabled","effectiveBackendId","botRef","useRef","containerRef","useState","capabilities","setCapabilities","useMemo","useEffect","agentBaseUrl","capabilitiesEndpoint","agentRatingEndpoint","cancelled","fetchCapabilities","personalizedUrl","fetchPersonalized","useImperativeHandle","message","welcomeMessage","useCallback","event","handleCoreAnalyticsEvent","customFlow","mainMenuFlow","ticketFlows","securityFlow","metricsFlow","rawFlow","applyFlowSettings","QABot"],"mappings":"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AA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AA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","x_google_ignoreList":[0,11,12,13,14]}
|
|
1
|
+
{"version":3,"file":"access-qa-bot.js","sources":["../node_modules/@snf/qa-bot-core/dist/qa-bot-core.js","../src/config/constants.ts","../src/flows/main-menu-flow.ts","../src/utils/flow-context.ts","../src/utils/ticket-api.ts","../src/utils/validation.ts","../src/flows/access-login-flow.tsx","../src/flows/resource-login-flow.tsx","../src/flows/general-help-flow.tsx","../src/flows/ticket-flow.ts","../src/flows/security-flow.tsx","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/flows/metrics-flow.ts","../src/utils/session.ts","../src/utils/shadow-dom-styles.ts","../src/components/AccessQABot.tsx"],"sourcesContent":["import*as e from\"react\";import t,{forwardRef as n,createContext as r,useContext as A,useCallback as o,useRef as i,useState as l,useEffect as a,useMemo as s,isValidElement as c,Fragment as u,createElement as d,useImperativeHandle as f}from\"react\";import p from\"react-dom/client\";import{jsx as g,jsxs as h,Fragment as m}from\"react/jsx-runtime\";import v from\"react-dom/server\";import{createPortal as y}from\"react-dom\";function w(){return w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},w.apply(null,arguments)}function b(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var A=0;for(r=Object.getOwnPropertySymbols(e);A<r.length;A++)t.indexOf(r[A])<0&&Object.prototype.propertyIsEnumerable.call(e,r[A])&&(n[r[A]]=e[r[A]])}return n}\"function\"==typeof SuppressedError&&SuppressedError;const E={AUDIO_BUTTON:\"audio-button\",NOTIFICATION_BUTTON:\"notification-button\",CLOSE_CHAT_BUTTON:\"close-chat-button\",SEND_MESSAGE_BUTTON:\"send-button\",VOICE_MESSAGE_BUTTON:\"voice-button\",FILE_ATTACHMENT_BUTTON:\"file-attachment-button\",EMOJI_PICKER_BUTTON:\"emoji-button\"},P=\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%201000%201000'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-99%20362)%20scale(3.4003)'/%3e%3cpath%20d='M0%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(180%20106%20386)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-46%20282)%20scale(3.4003)'/%3e%3cpath%20d='M19%2065h4l5%204v1H14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-3%20240)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(236%20175)%20scale(3.4003)'/%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20139%20600)%20scale(3.4003)'/%3e%3cpath%20d='M184%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20219%20548)%20scale(3.4003)'/%3e%3cpath%20d='M175%2065h4l5%204v1h-14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20262%20505)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(767%20175)%20scale(3.4003)'/%3e%3crect%20width='116.7'%20height='70'%20x='-58.4'%20y='-35'%20rx='31.5'%20ry='31.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20877)%20scale(3.4003)'/%3e%3crect%20width='60'%20height='20'%20x='-30'%20y='-10'%20rx='3'%20ry='3'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='translate(502%20728)%20scale(3.4003)'/%3e%3ccircle%20r='75'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20473)%20scale(3.4003)'/%3e%3crect%20width='129.4'%20height='82.3'%20x='-64.7'%20y='-41.1'%20rx='37'%20ry='37'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23fff;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3crect%20width='108'%20height='68.6'%20x='-54'%20y='-34.3'%20rx='30.9'%20ry='30.9'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(415%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(591%20464)%20scale(3.4003)'/%3e%3crect%20width='96'%20height='53.2'%20x='-48'%20y='-26.6'%20rx='23.9'%20ry='23.9'%20style='stroke:%23162334;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(503%20875)%20scale(3.4003)'/%3e%3cpath%20stroke-linecap='round'%20d='m68%20215%207-15M81%20222l-7-22M81%20222l7-14M101%20208H87M114%20219l-7-24M113%20219l13-22M131%20214l-5-17M148%20214h-18M69%20214H51M100%20209l7-15'%20style='stroke:%23a478fc;stroke-width:3;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:10;is-custom-font:none;font-file-url:none;fill:none;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3c/g%3e%3c/svg%3e\",B=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 0 637 637\",ref:n,...t},e.createElement(\"path\",{d:\"m478 113-13 2-4 1h4l14-2c10-2 35-2 42-1l6 3 3 1c3 0-4-3-8-5-7-1-34-1-44 1m56 6 8 6c7 5 20 17 20 19s7 12 8 12l-3-6-4-6c0-3-15-17-25-24-5-3-8-4-4-1m-198 16-9 1a512 512 0 0 1 9-1m-180 30a412 412 0 0 0-23 4 167 167 0 0 0-32 8 439 439 0 0 1 46-9 304 304 0 0 1 11-2l6-1h-8m369 8 4 3-7-6c-1 0 0 2 3 3m-439 9c-7 3-18 13-18 15l6-5c5-5 9-8 14-10l6-4-8 4m442 12-10 11-7 6 7-6c7-5 14-14 13-16l-3 5M65 205l-1 11c0 9 0 10 4 17 5 10 7 12 22 11 10 0 15 0 38-5l5-1-6 1-16 2-21 2c-13 1-16-1-21-10-3-5-4-6-4-15l1-12c1-4 1-5-1-1m335 1c3 0 3 1 3 3l-2 6c-2 5-35 39-76 80-53 51-120 117-138 137-21 24-22 25-22 27 0 3 6 9 9 9 4 0 14-8 38-27a5073 5073 0 0 1 15-16 1421 1421 0 0 0-17 15l-31 25-6 2-4-3c-3-3-3-4-2-6 3-8 79-85 160-163 57-57 79-80 79-86 0-2-3-4-7-4-2 0-2 0 1 1m165 18c-9 17-25 32-57 53l-10 8 16-11 12-8c15-10 27-22 39-39 5-7 6-8 4-8l-4 5m-221 2a199 199 0 0 0-19 10 183 183 0 0 1 27-12c0-1-1-1-8 2m-34 16c-3 3-2 3 2 0l1-2-3 2m151 3-1 2 2-2c3-3 2-3-1 0m-16 12-11 10a281 281 0 0 0 11-10m-24 18-7 5-7 5-42 31c-10 7-24 19-22 19l7-6 16-12a343 343 0 0 0 35-25 573 573 0 0 0 20-17m-187 0-2 2 4-2 3-2-5 2m-14 6-3 2 4-1 4-3-5 2m-7 3-8 4-18 8 18-7 7-3 3-1c1-2 0-2-2-1m254 24a2672 2672 0 0 1-71 54 601 601 0 0 0 39-29 1352 1352 0 0 1 32-25m-291-8-2 2 4-2 3-2-5 2m-13 5-2 2h3c5-3 4-4-1-2m-19 9-7 3-13 6c-10 5-13 7-14 10-3 4-2 5 1 0 2-3 5-5 14-9l13-6 12-6-6 2m178 36c-17 12-21 16-21 17a390 390 0 0 1 20-17m-206 34 1 4 1 3 1 5 2 8 1 5v-6l-1-8-2-5-1-4-1-2c-1-2-1-2-1 0m222 23-9 7a683 683 0 0 0-56 44 261 261 0 0 0-26 20 1345 1345 0 0 0-46 34c-6 3-7 3-19 3-11 0-12 0-18-3-8-4-10-8-17-20l-5-10 4 10c5 10 12 18 19 22 4 2 6 2 17 2 13 0 14 0 21-3l26-19 42-33a2183 2183 0 0 0 43-34 643 643 0 0 1 24-20\",fill:\"#fff\",fillRule:\"evenodd\"}),e.createElement(\"path\",{d:\"M478 114a620 620 0 0 1-39 6l-21 3a5481 5481 0 0 0-19 3 870 870 0 0 1-54 8l-1 1-6 1-12 2-13 2a992 992 0 0 0-76 12 400 400 0 0 1-45 8l-6 1-5 1h-3l-3 1-2 1-26 4-13 2-17 3c-23 5-33 9-43 19-7 8-9 13-9 27 0 8 1 9 4 14 5 9 8 11 21 10l21-2a1133 1133 0 0 1 23-4 659 659 0 0 0 74-14l3-1h3l3-1h3l2-1 2-1h3l2-1h2l24-5 38-7a2100 2100 0 0 1 93-18l3-1 10-1a2082 2082 0 0 1 120-17l2 1c2 0 8 5 8 7l1 2 1 6c0 4 0 6-3 10-2 4-16 16-18 16l-7 5-10 8a1070 1070 0 0 0-11 7 113 113 0 0 1-20 14l-2 2-3 2-2 2h-1a154 154 0 0 1-28 21l-5 4-5 4a573 573 0 0 1-50 37 175 175 0 0 0-24 18l-1 2-2 1-2 1-2 1-1 1-12 10a396 396 0 0 0-32 25l-8 6-6 5-9 7a326 326 0 0 1-25 20l-13 12a5073 5073 0 0 0-17 15c-24 20-34 27-39 27-2 0-8-6-8-9 0-2 1-3 22-27 18-20 85-86 138-137 41-41 74-75 76-80l2-6c0-2 0-3-2-3l-7 1a233 233 0 0 1-26 9l-1 1-1 1h-1l-1 1h-2l-3 2-1 1h-2l-3 2h-1l-5 2-22 10-9 4-4 2-5 2-10 4-2 1-2 1-2 1-13 6a334 334 0 0 1-38 17 75 75 0 0 0-14 6l-5 2-4 1-2 1-3 2-7 3-16 6a247 247 0 0 0-32 14l-1 1h-2l-1 1h-2l-1 1-12 6a103 103 0 0 0-27 15l-2 5-1 1v11l1 5 1 5 1 4c0 3 0 4 2 4v3l1 3 1 2 2 10 1 4 1 5 2 10 2 8 1 4 1 4c3 3 9 25 11 38l1 7v2l1 4v1l1 1v2l1 2 1 3v1l5 10c7 13 9 16 17 20 6 3 7 3 18 3 12 0 13 0 19-3 8-4 11-6 26-18a1345 1345 0 0 1 85-67 683 683 0 0 1 50-39l12-9a513 513 0 0 1 44-33 201 201 0 0 0 22-17 2270 2270 0 0 0 73-54 158 158 0 0 0 58-59c2 0 3-9 4-27l-1-19-1-4-1-6-1-3-4-6-4-6c0-2-6-8-13-14a77 77 0 0 0-28-18c-6-1-34-1-43 1\"}))),D=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M765-321q0 117-84 196-83 80-200 80-118 0-200-80t-83-196v-392q0-85 61-144 61-58 146-58 86 0 147 58 61 59 61 144v374q0 54-39 92-39 37-93 37-55 0-93-37-38-38-38-92v-372h110v372q0 9 6 14t15 5q8 0 15-5t7-14v-374q0-39-29-66t-68-27q-40 0-69 27t-29 66v392q0 71 51 119t122 48q71 0 122-48t51-119v-426h111v426Z\"}))),C=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M125-165v-113h77v-273q0-93 55-167 56-75 146-100v-19q0-32 22-55 23-23 55-23t55 23q22 23 22 55v19q90 25 146 99 56 73 56 168v273h77v113H125ZM480-32q-38 0-66-27-27-27-27-66h186q0 39-27 66t-66 27Z\"}))),x=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M137-190v-113h78v-253q0-41 11-79 11-39 35-71l-9 150h10L17-802l74-74L873-92l-74 74-175-172H137Zm609-149L319-769q20-15 41-25t44-16v-28q0-32 22-54t54-22q32 0 55 22t22 54v28q85 23 137 94t52 160v217ZM481-47q-38 0-65-27t-27-65h184q0 38-27 65t-65 27Z\"}))),k=n((t,n)=>e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 100 100\",ref:n,...t},e.createElement(\"g\",{strokeLinecap:\"round\",strokeWidth:10},e.createElement(\"path\",{d:\"m19 19 61 61M80 19 19 80\"})))),S=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M94-136v-255l351-93-351-92v-253l816 346L94-136Z\"}))),T=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M480-372q-61 0-105-43-43-43-43-105v-240q0-61 43-105 43-43 105-43 61 0 105 43 43 44 43 105v240q0 62-43 105t-105 43ZM425-76v-122q-121-16-197-108t-76-214h109q0 91 64 154t155 63q91 0 155-63t64-154h109q0 122-77 214T534-198v122H425Z\"}))),I=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"m763-343-80-79q8-20 13-44 5-23 5-54h109q0 49-11 95t-36 82ZM625-482 336-770v-2q3-56 45-96t101-40q62 0 105 43t43 105v249l-1 17q-1 7-4 12ZM427-76v-122q-120-16-196-108-77-92-77-214h109q0 91 64 154t155 63q43 0 80-14 37-15 67-41l78 79q-35 32-78 53t-93 28v122H427Zm362 27L41-796l75-75 748 748-75 74Z\"}))),Q=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M625-511q29 0 50-21t20-50q0-29-20-50-21-20-50-20t-50 20-20 50q0 29 20 50 21 21 50 21Zm-290 0q29 0 50-21t20-49q0-30-20-50t-50-21q-29 0-50 20-20 21-20 50 0 30 20 50 21 21 50 21Zm145 268q75 0 137-43t85-115H258q24 72 85 115 62 43 137 43Zm0 198q-90 0-170-34-79-34-138-93T79-310q-34-80-34-170t34-170q34-79 93-138t138-93q80-34 170-34t170 34q79 34 138 93t93 138q34 80 34 170t-34 170q-34 79-93 138T650-79q-80 34-170 34Zm0-435Zm0 322q134 0 228-94t94-228q0-134-94-228t-228-94q-134 0-228 94t-94 228q0 134 94 228t228 94Z\"}))),M=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M553-64v-108q107-27 173-113 67-87 67-197 0-109-67-195T553-789v-108q152 26 249 144 97 117 97 271 0 155-97 273T553-64ZM61-335v-290h176l236-237v764L237-335H61Zm492 28v-346q51 23 82 70t31 103-31 103q-31 47-82 70Z\"}))),O=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M807-15 700-123q-33 21-71 37-38 15-80 22v-108q20-4 38-12l35-17-153-154v257L234-335H57v-290h144L10-818l74-75L882-90l-75 75Zm37-264-80-79q13-30 19-60 7-31 7-64 0-109-68-195-67-86-173-112v-108q152 26 249 144 98 117 98 271 0 55-14 107-13 51-38 96ZM661-462 549-575v-78q51 23 83 70 31 47 31 103l-1 9-1 9ZM469-655 366-759l103-103v207Z\"}))),L={general:{primaryColor:\"#42b0c5\",secondaryColor:\"#491d8d\",fontFamily:\"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",showHeader:!0,showFooter:!0,showInputRow:!0,actionDisabledIcon:\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2042%2042'%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:4'%20d='M17%209a8%208%200%200%201-8%208%208%208%200%200%201-8-8%208%208%200%200%201%208-8%208%208%200%200%201%208%208Zm0%200'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:10'%20d='M14.66%2014.66%203.34%203.34'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3c/svg%3e\",embedded:!1,flowStartTrigger:\"ON_LOAD\"},tooltip:{mode:\"CLOSE\",text:\"Talk to me! 😊\"},chatButton:{icon:B},header:{title:g(\"div\",{style:{cursor:\"pointer\",margin:0,fontSize:20,fontWeight:\"bold\"},onClick:()=>window.open(\"https://github.com/tjtanjin/\",\"_blank\",\"noopener,noreferrer\"),children:\"Tan Jin\"}),showAvatar:!0,avatar:P,buttons:[E.NOTIFICATION_BUTTON,E.AUDIO_BUTTON,E.CLOSE_CHAT_BUTTON],closeChatIcon:k},notification:{disabled:!1,defaultToggledOn:!0,volume:.2,icon:C,iconDisabled:x,sound:\"data:audio/wav;base64,UklGRmaIAABXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNjAuMTYuMTAwAGRhdGEgiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAA//////7/////////AAABAAAAAgABAAEAAQAAAAIAAQABAP//AAD+////AAD+//7////+////AAD//wAA/v8AAAAA/v8AAP//AAAAAAAAAgD////////+////AAABAAEAAgD/////AQABAAAA//8CAP//AAAAAAAA/v8AAAAA//8AAAEA//8EAAAAAAAAAAAA//8BAP//AQABAAEA/////wEA/v///wAAAAACAAAAAAABAAAA//8AAP//AAACAP//////////AAAAAAEAAAAAAAEA//8AAAEAAQADAAIAAgAAAAAA/v///wEAAAAAAAEAAAAAAAEA//8AAAEAAQD//wAA//8AAAEAAAABAAEAAAABAP//AAD//wAAAgAAAP//AQD/////AAAAAP7/AgAAAAIAAAAAAAAAAAABAAAAAQABAP//AAABAP///v8AAP////8AAP//AAD//wAA//8BAP//AAD///7///8BAP7///8AAAIAAgABAAEA/v8AAP//AQADAAEAAAACAAEA/////////v///wEA/v////7/AAD+////AAAAAAAAAgAAAAAAAAD//wEAAAAAAAAAAQABAAIA/v8AAAAA//8AAAEAAAAAAP//AgD//wEA/////wAAAQACAAAAAAAAAP//AQD/////AQAAAAEA/v8AAAEAAQABAAEA///+////AQD//wEAAgD+//7/AAAAAAAAAQAAAAAAAQAAAAAAAAAAAP//AAD//wEAAQD//wAAAQABAP7///8AAP7/AAABAP7/AQABAAEAAAABAAEAAAD+/wIAAAABAAAAAQD/////AQACAP////8AAP//AQD//wEA/v8CAAEAAAAAAAAAAQAAAAIAAQAAAAEAAgD//wEAAAAAAP7///8BAP//AgAAAP///v8CAAAAAgD///////////7/AAACAAEAAgD//wAAAAABAP//AwAAAAMA//8AAAAAAQD+/wAAAAD//wAAAQD//wEA//8BAP7/AAABAAAA//8BAAAA//8AAP//AQADAP3////+////AgD+/////v8BAAEAAQACAAAAAAAAAAAA//8AAP//AAD+/wEA/v8AAP7/AAD//wAAAQACAAAAAQAAAP//AQAAAAAAAAABAAAAAAD+//////8AAAAAAAD//wAAAAABAAEA//8AAAEA//8AAP//AgD+/wAA///+/wAA/v///wAAAQABAAAAAQD//wAA//8AAAEA//8BAAAAAgABAP//AAACAAIAAQABAP//AAAAAAAA//8BAAIAAAABAAAA//8CAAEA/v//////AAAAAAEA////////AQAAAP//AAD//wAAAAAAAP3/AAAAAAEAAAACAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAP///v///wAAAAABAAAAAAD//wEAAAABAAEAAQD//wAAAAACAAAAAQD+/wAA//8BAAEAAAD+/wAA/////wAAAAABAAAAAAD//////v8AAAAA//8AAAAAAAAAAAIAAAABAAEAAAABAP7/AAD9//////////7///8BAP//AAD///3/AQABAP//AAD//wAAAAABAAAA//8AAP//AAD/////AQABAAEA//8AAAAA//8BAAMA//8AAAAA//8AAP7/AAD//wAAAAAAAP7/AQAAAAAA/v8CAP//AAABAAIAAQABAAAA//8BAAEAAQD///7/AQD//wAAAQABAP//AAD//wEAAAAAAAAAAQAAAAIA//8AAP////8AAP//AQD//////v///wEA/v8AAAIAAgACAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQD//wAA/////wAAAQACAP////8AAAAAAAD//wAAAQD+/wEA//8AAAEAAwD//wEAAQAAAAAAAAABAP////8AAAAAAQAAAAAAAAAAAAEAAQAAAP////////7/AQABAAEAAQD///////8BAAAA//8AAAAAAgABAAEA/v8BAP7///8BAP3/AQABAAIAAAD//wEAAAAAAP//AAABAAIA//8CAAAAAQAAAAEA//8BAAAA/////wAAAAD//wEAAQD//wAAAAAAAP//AAAAAAAAAQABAAAAAQAAAP//AQD//////v8AAAEAAAAAAAAA//8AAAAAAAACAAEAAQAAAP//AAABAAEA/////wAAAgABAAAAAAAAAAEAAAABAP//AQABAP7////+/wEAAAAAAP//AAABAAAAAAABAAEAAAAAAAAA//8BAP///f/+/wEAAQD///7///8AAAAAAQAAAP////8AAAAAAAABAAAAAQD/////AAD//wEA//8AAAIA//8CAAAA//8AAAAAAAD+/wEAAAD+/wAA/////wAA////////AAAAAAAA//8BAAAAAAD//wAAAAD//wEA//8AAP//AQD+/wAAAAAAAP7/AAD+/wEAAQABAP//AAABAAEAAQD//wAA/////wEA//8AAAAAAgAAAAAA//8BAAAAAgAAAAAAAAAAAP7/AQD//wAAAAD+/wAAAAADAAIA/////wAAAQD//wIA//8BAAEA/v8AAAIAAAAAAP3///8AAAAAAAAAAAAAAAABAP///////wAA//8AAAEAAQABAAEAAQABAAAAAQAAAAAAAQABAP7/AQD//wAAAQABAAEA//8BAAAAAgAAAAEAAAABAP//AAD/////AAD//wIA/////wIAAAD///7/AAAAAAAAAAACAP//AAABAP////8AAAAAAAABAAAAAgAAAAAAAQD+/wEA/////wAA/////wAAAAAAAAAA/v//////AAAAAP//AAABAAAAAQAAAAIAAAACAAAA//8AAAAA//8AAP7/AAAAAP//AAACAP//AQABAP//AQABAAAA/////////v8AAP//AQAAAAAA///+/wAAAQD+/wEAAQAAAAEA/////wAAAQD//wAA//8AAAAA/v8BAAEA//8AAP7//v8BAAAAAAAAAAEA//8AAAEA/////wAAAAD//////////wEAAAABAAEA//8CAAEA/f8AAAAA//8BAAAABAABAAEAAQAAAAAAAAAAAP7///8AAAAA/v8BAAAA//8AAAIA//8AAP////8BAP//AAAAAAAAAAD/////AQD///7/////////AQD8////AgABAAIA////////AAD//wAAAAABAAAAAAAAAAEAAgAAAP//AQD//wAAAAAAAP/////+/wAAAAABAAAAAwABAP///////wEAAAADAP//AQACAAAA//8CAAEAAAAAAP///////wIAAAAAAAAAAQAAAAAAAgD//wEAAAABAAAA/v8AAAAAAAAAAAAAAAAAAAEA/v8AAP//AQD//wAA//////7///8AAAAAAAAAAP7/AQD//wAA//8AAAEAAAABAAEAAQD/////AAD//wEAAAD/////AQAAAAEAAAD//wEAAAD/////AgD//wAAAQD//////////wAAAAD//wAAAAABAAAAAAD//wAAAQD///7/AQD//wEAAAD/////AAD//wEA//8AAAEA//8CAAAAAQD//wEAAgAAAAEAAwAAAAAA/v8BAAEAAgD//wEAAAAAAAAAAAD//wEA//8AAAAAAQACAP///////wAAAQABAAEAAAAAAAEAAQD+/wEA/f////////8AAAAA//8AAAEA//8BAAAA/v///wEAAAAAAAEA/////wAAAAAAAP//AAAAAAIAAAABAAAA/////wAAAAD//wAA/v8AAAMAAQD+/wEAAAABAAEA//8BAP//AgAAAAAAAAD//wAA/////wEA/v8CAP3/AAACAP3/AQABAAAAAQACAAEA/v8AAAAA//8BAAAAAgAAAAAAAgACAAEA/v/9/wAAAQABAP7///8AAP//AgD+/////v8CAP////8BAP//AQACAAEAAQABAP//AAD///7/AAABAAEAAgD//wEA//8CAAEAAQABAAEAAAABAAAA/v8AAAEA/v8AAP//AAABAP//AQAAAAEAAgAAAAAA/v///wEAAQAAAAIAAAD/////AgAAAAEA/v8AAP7/AQAAAAAAAQAAAAEAAAACAAEA//8BAP////8AAAIAAAAAAP//AAAAAAIAAAAAAAAAAwABAP///v8BAAAAAAAAAP3/AAABAAEA/v////////////3//v8AAAAAAQABAAIAAAD+/////v8AAAAAAQABAAEAAQAAAP//AAAAAP//AQAAAP//AAABAAAAAAAAAAAA////////AAAAAP//AQD/////AAABAAEA//8CAP7///8AAP7//v8BAAEAAAD+/////////wEAAAAAAAAAAgD//wAAAQAAAP7/AQABAP//AQAAAAAAAAD/////AAACAP////8BAAAAAAD//wAA//8AAAEAAQABAAAAAAABAAAAAQD+/wEA/v8AAAEAAQD/////AAD//wAAAQABAP7//v//////AAACAAAAAAAAAAAAAAACAAAAAQAAAAAA//8BAP//AQD//wAA///+/wIAAQD//wAAAAD//wAA/v8AAP3///8AAAAAAAAAAAAA/f8AAAAA//8CAP7/AAD///7/AAAAAAAAAAD//wEAAAAAAAEAAAAAAAAA//8BAP////8BAP7///8CAAEA//8BAP3///////////8BAAAAAAAAAAEAAgD+//////8BAAMAAQADAAEAAAACAAAAAQD/////AAABAAMAAQAAAP//AQD//wAA//8AAAAA//8CAP7//////wAAAAAAAAIA/v8AAP//AAACAP//AwD//wAA//8AAP//AwD//wEAAQABAAEAAQACAAEAAAD//wAA//8AAAIAAAAAAP///////wAAAQD//wIA//8BAP7/AAD///////8AAAAAAAAAAAEAAAD//wAAAQD//wEA//8BAAAAAAD/////AgABAAIAAAABAAAAAAAAAP//AAAAAAAA//8AAAAAAAD/////AQAAAAAAAQD//wAA///+////AAAAAAEAAgABAAEAAAAAAP//AQAAAAAAAQD+/wAAAAABAAEAAAD/////AQABAP7///8AAAIAAAACAAAA//8AAP//AgACAAAA///+/wAAAAABAAAAAQAAAAEA/v8BAAEA//8CAP//AQD+/////v8AAAAAAAACAP//AAD+/wIA/v8BAAAAAAD/////AAAAAP7///8AAP7//////wEAAAABAAAAAAD//wAAAAAAAAAAAgACAAAAAAABAAAA/f8AAP7/AgAAAAEA//8BAAAAAAD///7/AQD//wAAAAAAAAEAAAAAAAEAAAAAAAAAAQAAAAAA//8AAAAAAAABAP///////wAAAgABAAEA//8AAP//AAACAP//AQABAAEA//8BAAAAAAABAAAA//8AAAEAAAAAAAIA/v8BAP//AQD//wEAAAABAAEAAQACAAEAAAAAAAEAAAABAAAAAAD/////AAABAAEA//8AAAAAAQABAP//AAAAAP//AAD/////AQD//wAAAAABAAEA//8BAAAA//8AAP///f/+/wAA/////wAAAQAAAAIAAAAAAAAAAAD+/wEA/f8CAAAA//8AAAEAAgAAAAMAAAABAAAAAAAAAP//AQAAAAAAAQABAAAAAQAAAP//AAAAAAAA//8AAAAAAAABAAAAAQAAAAAAAAABAAIAAAAAAP7/AQD//wAAAAD+////AAAAAAAAAAABAAAA/////wAA//8AAAAAAAD/////AgD//wAA//8CAP//AQACAAEA/f////////8BAAIAAQABAP//AAD//wAA///+////AAD+/wAAAQD/////AAAAAAAA/////wAAAAABAAAAAQAAAAAA//8AAAIAAAABAP//AQABAAEA//8AAAAAAAADAAEAAAABAP//AgD//wMA//8AAAAAAAD//wAAAAD9/wEA///+/wAA//8BAAEA//8BAAAA//8AAP///v8BAP///////////v8BAAAAAQABAAAAAAAAAAAA//8AAP7/AQAAAAAAAAAAAP7/AQAAAAAAAgABAAEAAAABAAEAAAAAAAAAAAD+/wAAAAD//wEAAAAAAAAAAAAAAP//AgABAAAAAAABAAEAAAD/////AAAAAP//AAABAP////8BAAAAAQABAP7//v/+////AQAAAAAAAQAAAAEAAgAAAAAAAQAAAAEAAAD+/////v8BAP//AAABAP//AQABAAAAAAD//wAA//8CAP//AAAAAAEAAAABAAAAAAAAAP//AAD+////AwAAAAAAAQD//wEAAAACAAEAAAADAAAAAAD/////AAAAAAEAAAABAAAA//8AAAEA//8BAP///v8AAP//AAD//wAAAQABAP//AQAAAAAA/////wEAAQAAAP////8AAAEA//8BAAAAAQAAAP////8AAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAD//wEAAAAAAP////8AAAAA//8BAAEAAAAAAAIA///+/wIA/v8BAAAAAQACAAAAAQAAAP7///8AAP//AAAAAAEAAAAAAP7/AAD+////AAAAAAAAAAD//wAA/v8BAAMAAAABAAIAAgD//wAA//8BAAEA//8BAP7/AAAAAP7///8BAAAAAQAAAP7/AQD/////AAAAAAEAAAABAP//AQABAAAAAgABAAAAAAAAAP///////wEA//8AAAEA//8AAAAAAQAAAAIAAAABAP7//////wAAAQABAAAAAAABAAEA///+/wAA//8BAP///v8AAP///v8BAAAA//8CAAAAAQAAAAEAAQABAAAAAAD+/wAAAAD+/wAAAAAAAAAA/f////////8AAAAAAQABAP///////wEA//8BAAEAAAAAAAAA/////wEA/v//////AAAAAP//AAABAAAAAAD+/wAAAAD9////AQAAAAEAAwD//wEAAQAAAP//AgAAAAAAAAD+/wIAAAAAAAAAAAAAAAIA//8AAAEAAQACAAAAAQD//wAAAAD//wIAAQABAAAAAAD//wEA//8BAAEAAQAAAAAAAQABAP7/AAD//wEAAAACAP7/AQAAAAAAAAD//wIAAQACAAIAAQAAAAAAAAAAAP3///8BAAAAAQACAP//AgD9/wAAAAD//wEA/v////////8AAAAAAAD//wEAAQD//wMAAQAAAAEA//8AAAEA//8AAAAAAAACAAAAAAD//wAAAQD///////8AAAAA//8BAAIA/v8BAAEA/f8AAAAAAAAAAAAAAgD/////AAD+/wAAAAD//wAAAAAAAP//////////AgABAP///v8AAAIAAQAAAP//AAABAAAA/////wAAAAAAAAEAAAABAP///v///wIA//8BAAEAAQAAAAAA///+/wEAAAAAAAAA/////////v8BAP3/AAAAAAAAAAAAAAAA//8AAP//AAAAAP//AAABAAIAAAACAP////8DAAAAAAABAAAAAwABAP//AAABAP//AAAAAP////8BAAAAAgD//wAA///+/wAAAQD//wAA//8AAP7///8AAAAA/v8AAAAAAQD//wEA/v////////8AAAAAAQAAAP//AQACAAAAAAAAAP//AAD//wAAAAD//wAAAAD+/wAAAAAAAP//AQD//wAAAgAAAAAAAQABAAAAAwD+/wAAAAD///7/AQD//wIAAQAAAP//AAD//wAA//8CAAEAAAAAAAAA/////wAAAAD//wEAAQD///////8BAAAA//8BAAEAAAAAAAAA/v///wEAAAAAAAAAAAADAAAAAAAAAAAAAQABAAEAAAD+//7//v8AAP//AQAAAAAAAAABAAEAAgAAAAAAAQD//wAA/f8AAAAAAAABAAAAAQAAAAAAAAAAAAIA//8BAP///////wIA/////wAAAAABAAEA//8BAAAAAAD//wAAAQD//wEAAAAAAAIA/v8BAP//AAAAAAEAAAABAP//AAAAAAAAAQABAP7/AAABAAAAAQD//wIAAAAAAAEA///+/wAA//8AAP//AAAAAAAAAAABAP///////wIAAQAAAAEAAQAAAP7/AQAAAAAAAQAAAAAAAQD/////AQAAAAAA///+//7/AAD+/wEA//8AAAAA///+/wEAAAABAAIAAQABAAAA//8AAP//AAD//wAAAAD//wAAAAAAAP//AQAAAAAA////////AQAAAAAAAQD+////AQABAP7/AAD///7/AgD//wAAAAAAAP//AAAAAAEA//8BAAEAAgAAAAIAAAD//wEA/////wAAAQD///7/AQD//wEAAQD/////AAAAAAEAAgAAAAAAAQD//wEA//8AAP7//////wAA//8BAAEA//8BAAAAAQD/////AAABAP//AAACAP//AQAAAP//AAABAP////8AAAAAAAABAAEAAwABAAAAAgD//wAAAAD//wEAAAABAAAAAAABAAEA/////wAA//8AAAIAAAAAAAEAAQABAAEAAQABAP//AgAAAAAA//8BAP3//v///wAA//8AAAAAAQAAAP//AQD//wEAAAACAAIAAAABAAAA//8BAAEA//8BAP//AAAAAP//AQAAAAIAAAD//wAAAAAAAAEA////////AQAAAP//AQD//wAAAQD+/wEAAAABAP///v///wAAAAAAAP//AAAAAAIAAQD//wAAAgD+/wAAAAD//wAAAAABAP///P//////AAACAP////8AAAIAAAABAAAAAAAAAAAA//8AAAAAAQADAP//AQAAAAAAAAABAAEAAQAAAAAA/v8AAAAAAAD//wAAAQD//wAAAAD//wAA/v////////8CAAEA/v8BAP7/AAAAAAAA//8AAAEAAAD//wIAAQAAAAIAAQAAAAAAAAD///7/AQABAP//AAAAAP//AAACAAEA//8BAAAAAwAAAAAAAAD//wEAAAD//wAA///////////+/wAAAQABAAIAAAABAAEAAAD//wEAAAD/////AAD+/wIAAwABAAEA/v8BAAEAAAD//wAA//8AAP//AAAAAAEAAAAAAP//AAAAAAEAAQABAAEA/v///wAAAAD//wEAAAACAAAA/f/+/wAA/v///wAA//8AAAEAAQD///7/AAAAAAAAAAABAAAAAAACAAAAAAABAAAAAAABAP//AQD//wAA//8BAP7/AgABAAEAAQAAAAAAAQD//wEA/v8AAP////8AAP///////wIAAQD//wAAAAD//wAA/v///wAAAQD//wIA/////wEAAAAAAAIAAAABAAAAAAD//wEA//8AAAAA/////wAAAQAAAAAAAAD//wEAAQAAAAAAAAACAP///////wAAAgD//wAA/v8AAAIAAAAAAAEAAAABAP//AQABAAEAAQAAAP///v8BAAEAAAAAAP////8AAAAAAQD//wIAAQAAAAEAAAAAAAAA//8BAP//AAAAAP7//v///wEAAAAAAAIAAAAAAP//AAD//wEA//8BAAAAAAABAAEAAAABAP7///8AAAIAAAABAP//AAD//wEAAAAAAP//AAAAAAEAAAAAAAAAAAAAAP7/AQD//wAAAQD+/wEA/v8BAP7/AAABAAEAAAACAAIAAAADAAAA//8AAAEAAAABAP//AQD//wIA/////wEA//8AAAEA//8AAAEAAAAAAAAAAQABAAAAAAAAAAAAAAD//////////wAA//8AAP7/AAD+/wAAAQAAAAAA/////wAABAAAAAAA//8AAAEAAAAAAAAA/v8AAP//AAAAAAAAAAD//wAAAAD///////8BAAEAAAD/////AgABAAEA/v/+/wAAAQACAAEAAAD//wAAAwABAP//AgD+/wAA/v8AAAAAAAAAAAEA//8AAAEAAAD+/wEAAAAAAAEAAgAAAAEAAAABAP//AQD+/wIA/////wAAAQD//wAAAQD+/wAAAQABAAAA////////AAACAAAAAQAAAAIA//8BAP///v///wEA//8BAAEAAQD+/wAAAQD9/wAAAQAAAAEAAAABAAAAAgAAAP//AAD+/wAA/f8AAAAA////////AgAAAAcAAQD7/wEA/f8AAAIA//8GAP7//v/+//b/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+P/F//z/rv/i/7r/6v/Z/wYABwAoADAAKQBOABkATAD0/zQA1P8PANv/0//v/6//FwCi/ywAxP8oAPn//v82APT/WwD4/00A+/8yAPv//f/8/83/+v+w/+T/sf/j/9b/AQACACoAIgAtAEIAHwBPAAEAQADe/xcA0v/k/+X/t/8IAKv/IgC//yEA6/8EACMA9/9PAPf/VAD+/zcA+/8JAPn/1P8AALf/6f+w/+P/zf////j/HAAdAC0APgAfAEsABwBCAOP/IADV/+//2v/B//3/rP8PALv/GADd/xEAFgABAEMABABaAP//QgACABcA+//n/wAAwP/w/67/4v+///3/6f8WABcAKQA0ACIARgAQAEcA8f8pANn/9f/U/87/7f+v/wgAtP8RANP/FgANAAIAOQACAFQA/f9HAAAAIAABAO3//P/E/wEAs//q/7n/9P/i/wYAEQAZADEAJABBABMASAAAADEA3/8CANL/1v/g/7H/AACy/w8Axf8ZAPv/CQAzAAIAVQD//1AAAAAsAAIA9v/7/8r/AwC2//P/tf/m/+H/AwADABEAKQApADoAHgBHAAgAPADr/wkA1//f/93/vP/6/7L/CgDA/x4A7/8hACkAAgBPAPz/UgD1/zIABAAEAPz/0v/5/7f/AACy//H/2f/+/wEAAAAkABUAMwAdADoAEQA9APD/EADU//L/1P/H/+z/tf8LALv/HADk/ygAGgADAEMA//9TAPn/QAAAABAAAQDc//z/wf8DALD/7P/Q//z/9/8HABoAFgA3ACMAMAAOADwA+P8ZANv/+P/Y/9H/5v+8/wUAu/8WANf/HgAMAAoAPQABAFMA/f9HAP7/HwAEAN//+v/H/wMAs//2/8r/8//y/wMADgAQAC4AIwAyABMAJwD8/xcA3v8LANP/5v/f/8j/AgC4/w4A1P8eAAQACgAxAAEAUgD+/0gA/v8nAAIA8f/5/8r/BAC6/+3/wP/l/+b/AQAIABkAIwArAC4AIAAoAAkAGADj/w0A0f/r/9//0P8DAL3/CgDN/xkA//8IACUAAgBJAAAATwD+/ysAAQD7//3/z/8DAMT/+f/K/+L/5P/1////EgAcACYALgApAC4ACwAcAPL/EADZ//L/1f/U//f/uv8KAMX/DwDu/wcAHwADAEUABgBNAAEANQAAAAYAAQDf////xf/+/9P/4f/b//X/9v8LAA4AGAAlACoAMAAQABkA9v8TAOL/+f/W/9r/8f/I/wcAxP8MAOr/BwATAAQAOAAGAEcAAABCAAEADwAEAOP//v/F/wIAzf/o/93/8P/s/w4ACwAZACEAKgAyABMAIQD5/xgA6v8DANb/4P/y/9H/AQDJ/wkA4/8DAAoA/f8wAAQAQwABAEAA//8VAAIA7P/+/8r/BADP/+v/2v/s/+n/CwAIAA0AHAAjADQAHAAkAP//GQDy/wQA5v/i//b/0P/7/8f/AADh/wMAAAD+/yUAAAA7AAEAOAAAABwAAAD6/wAA1/8CAMr/AADb/+3/5f8BAAIACAAVABcALwAfACgA+/8XAPn/DgDe/+//7v/Q/wMAz/8JAOP/CwDx////EAAHADEAAQArAAIAHQAEAAcAAADr/wEAzv8CANj//f/k/wEA+f/+/xQABwAqAB4ALAD+/x4A8P8SAOb/8//f/9j//f/N/wEA3v8LAO7/AgAMAAQALAAEAC0AAQAdAAQADwABAPP/BADV/wMA0/8AAOH/AQD1/wAAEAADACQAGwAwAAQAHwD0/xUA8f/4/+L/2//7/8z/AwDc/woA6f8AAAQAAwAoAAcANAAAACcAAgAUAAEA+P8CANv/AgDR/wEA4v8BAOz/AgAIAPv/JAAVADMAFAAhAPP/GQDz//7/3P/l/+3/z/8BANf/CgDn/wkA/P///xoABwAwAAIAJwACABcAAwABAAIA4f8BAND/AgDd//3/6P8CAAYA/f8YAAwALwAZACUA9v8bAPj/AwDq/+r/7P/S//7/1/8EAOX/CQD6//7/GQAFAC8AAQApAAEAGQACAAMAAgDm/wEAzv8BANv//v/p/wIA//8BABMABQArACAALAABAB4A8f8NAOv/7v/m/9n/+P/R/wMA4f8OAPT/AQATAAMAKwAHACoAAwAbAAMABQADAO7/AQDU/wEA2f8AAOL////3////EgAAACUAGgAvAAUAHQD2/xIA9f/0//T/3P/4/8///f/h/wIA7f8AAAoAAQApAAQALQADACAAAgAPAP//9P///9r//f/T/wAA3f/9//D/AQAQAP//HAAHAC8ACQAfAPv/GAD+//f/+P/j/wEA0v/+/9n/AADq/wIABgD//x0AAQAuAAEAIwAAABQAAwD8/wEA3/8AAM//AADe////7f8BAAwA//8ZAAMALwAAACEA//8dAP3//v/9/+n////U//z/1v8BAOT/AAD+/wAAGwD+/ywA/v8kAAIAGAD///3////q/wEA0P///97/AADk/wAABAAAABUAAQAqAAEAKQAAABwAAAAFAP//6f8AANr////X/wAA4/8AAPj/AgAUAAAAKgD//ywAAAAcAP7/AQAAAOv/AADU/wAA2v8CAOP/AAABAAAAFgABABsAAAAqAAEAHwAAABQAAgDv/wEA3v///9H////f////7/8BAAoAAQApAAAALgD//yEAAQAIAAAA8P8BANr//v/V////4f8AAPf//v8UAAAAFAAAACYAAQAhAP7/GwD+//T/AADo/wIA1v8CANr/AgDp/wEABgAAAB8AAQAsAAEAJAAAAAwA///z/wEA3/8AANT/AADh/wEA9P///xQAAgASAAAAJQAAACEAAAAaAP//+v8BAOj////W////2P8BAOf///8DAAAAHwAAAC4AAAAlAAAAEgAAAPL/AQDm////0f8CAN3/AADr//7/EQD//xAAAQAhAAIAJQAAAB8AAAABAP//6v8CAN//AQDX/wAA4/8AAPr/AAAXAAAAKgABACgAAAAbAP///f8AAOj/AADU/wAA2v///+f/AQANAAMAEQD+/xwA/v8kAP7/IQABAAgA/v/p////5/8AANf/AQDd/wEA8v8BABMAAQAjAAAALgAAACAAAQADAAEA7f8BANn/AgDY//7/4P/+/wEAAAAXAAIAFAAFACUA/P8jAP//EgAAAO//AQDo////1/8AAN3/AADx//7/DgAAAB0AAQAoAAAAIwAAAAoAAQDv/wMA4f8AANn/AQDi/wEA+v///xgAAAAQAP3/IwD//yUA/v8XAAAA7/8AAOv/AADc/wAA3P/+/+v/AQALAAEAGgACACkAAAAkAP7/EAABAO/////q//7/1/8AANz/AgDw/wEAEgD//w8AAAAcAAIAJQAAAB0AAAD2////7P8AAOP/AgDa/wAA5P8BAAQAAQAWAAAAIgAAACMAAAAaAP//+P///+v/AQDZ/wAA2////+7/AAARAAAADgAAABYAAAAhAAAAIAABAPz/AQDt/wAA5P8AANr/AQDg/wEA/P8BABcAAAAhAP//KQD//xwAAAD8/wEA7v8AAN3////Z/wAA6f8BAA0AAAARAAEAEQAAACMAAAAgAAEA/f8CAO3/AADv/wAA3v8BANv////1////EgAAABkA//8nAAAAIgAAAAMAAADu/wAA6P8CANn/AQDg////BQD//xMAAQAOAP//IAABACYAAAAGAAAA6f////H/AADg/wEA2f8AAO3///8PAAAAFQACACQAAAAkAAEADQABAO//AADp/wAA2////9z/AQD7/wEAFgAAAAwAAQAXAP7/JQD9/xMAAADx/wAA8f8AAOr/AADc/wEA4/8BAAkAAAAVAAAAIQD//yYA//8UAAEA9P8BAOz/AADf/wAA3P8AAPP/AAAQAAAADQABAA0AAAAlAAEAGAD///H//v/0/wEA7v8CAN//AADg//3/BAACABUAAQAfAAAAJwABABgAAQD0//7/7f///+L/AADa/wIA8P///w4A//8SAAMACQAAACAAAQAgAP//+v////P////y/wEA4/8BANr/AQD9/wAAEwD//xkAAQAjAAAAIgABAPz////s/wAA6v8BANX/AQDr//7/BwABABMAAAAHAP//FwAAACYAAAD//wEA9P8BAPb/AQDu////2v8BAPn/AAATAP//FwD//yEAAAAjAAAAAgAAAOn/AQDr//7/2P8CAOT/AAABAP//FgABAAUAAQATAP//IwAAAAEAAgDy/wEA9/8AAPb/AADb/wAA6/8BABAAAAATAP7/IQAAACYA//8UAP//7/8AAPD/AADd/wEA3P/+//7///8OAAAACgAAAAgAAAAhAP//CQACAPT/AQD2/wAA9v///97////m/wIADgABABMAAQAfAP//JwAAABMAAADw/wAA8P///+r/AQDb/wAA9f8AAA8AAAARAAIABAD//wYA/v8HAAAAAQD//wMAAgAGAAAA7f8AAOz/AAALAP//DwACABQA//8bAAAAHgD///f/AADq/wEA6/8BANj//v/t/wAACAD+/xAAAgAEAAAABAABAAcAAQADAAAA//8AAAUA///1/wAA5f///wIAAAAOAAAAEAAAABsAAAAhAAAA/v8BAOj////y////3f8AAOf/AQAGAAEADAAAAAcA//8BAP//CQABAAMA//8BAP//BQAAAAAAAADo/wAA+/8AAAoAAAALAAAAFAAAACAAAQAGAAIA7f8BAPH/AADm/wMA3P8CAP7/AgASAP//CgD//wAAAAAIAP//BQD//wEAAAACAP7/BAAAAPz/AwD8////BAAAAAEA//8HAAAAHQAAAAgA/v/x//7/8f///+f/AQDg/////P///woAAAAMAP//AAABAAYA//8EAAAAAgAAAAUAAAACAAAAAwAAAAIAAAABAAAAAQABAAAAAgAcAP//DgD///T/AQDx/wAA9P8CAOH/AAD3/wAACQAAAAoAAQABAP//AwAAAAcAAAD+/wAAAgACAAEAAAD+////AwD+/wAAAAABAP//+v8BABEAAQATAAAA9f/+//L//f/z/wIA6f8AAPb/AQAFAP//DAAAAAAAAAAFAP//BQD//wEA//8DAAEAAQAAAP7///8AAAAA//8BAAIAAAD+/wAAEAABABYAAgD6/wEA8v8BAPX/AwDp/wAA8////wMA//8JAAEABAABAAEA//8FAAEA//8AAAMAAQACAP//AQAAAAEAAgAFAP//AQABAAAAAQAAAP//EQABAAAAAAD5/wEA+P8AAPr////6/wAA+/8BAAIA//8BAAAA//8CAAUA//8BAP7/AAABAAEAAgAAAAAAAwAAAAEA/v8DAAIAAAACAAQA//8TAAAA/P8BAPr////3//////8AAPz/AQD7/wEAAgD/////AAABAAEABAAAAP//////////AAAAAAAAAAADAAAAAwAAAAAA//8EAP///v/+/xAA//8HAAAA+/////j/AQD8////AAD///n///8AAAAA//8AAP////8DAP//AgAAAAAAAAACAAIAAAD+/wAAAQD//wAA/////wIAAgD9////CQACAAYA///9////+f8BAPr/AQAAAAIA/v///wAA//8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAAAAAEAAQABAAAAAgABAP//AAD//wEAAAD///////8BAAIAAQAAAAAA/v/+//////8BAAAAAQABAP//AAD///////8BAAAAAQABAP////8CAAEAAQD//wEA/v//////AQAAAAAAAAAAAAAAAAD9/wMA/////wAAAQD+/wEA/v/+//7/AQD//wMAAAAAAAAAAAABAAEA//////7/AAACAP3/AAD//wAAAQAAAP//AQD//wAAAAAAAAEA//8CAP//AAAAAAAA/v8AAAAA//8BAP//AAABAP//AAAAAP//AQD//wAAAQABAAAAAAABAAEA/v///wAAAAD//////////wAAAAAAAP//AAD////////8/wIAAAADAAEA/////wEA/v8BAP7/AgAAAAEAAgAAAP//AgD/////AQD//wEA//////7/AQD//wMAAAAAAAAA//8CAP//AQAAAP//AAACAAAAAAABAP//AQD+/wAA/////wAA/f///wAAAAAAAP7/AAAAAAAAAgD//wEAAQACAP//AAAAAAEAAQD//wAAAAAAAAAA//8BAAMA/v8AAP7/AQAAAAAAAQAAAAAA///+//7/AAAAAAAA//8BAP7/AQAAAP//AQABAAAAAQAAAP//AAD//wIA/v///wAAAQABAP//AAD//wEA//8BAP//AgAAAP///////wAAAQABAP//AwABAAAAAAAAAAAA/////wIAAwACAAAA/v8BAAAAAAAAAAAA//8AAP////8AAAAA/////wAA/////wEA/v8CAAEAAQD//wAAAAABAAAAAAD//wEAAQABAAAA//8CAAAAAAAAAP7/AAABAAAAAQABAAAAAgABAAAAAQD//wEAAwD+/wAA/v8AAAEAAAAAAAAAAAAAAAEAAAD//wMA/v///wAAAAACAAEAAAAAAP7///8DAAEAAQD//wEA/f8BAAEAAQD//wEAAQABAAMAAgAAAAEA//8AAP//BAAAAAIA/v//////AQABAAAAAAD//wEAAAACAAIAAQAAAAAAAgAAAAAAAAABAAIAAAABAAIAAQAAAP////8AAAAAAAD//wAAAQACAP//AAAAAAAAAQAAAAEA//8AAAAAAAD/////AQD//wAAAQD9////AQAAAAAA//8BAAAA///+/////v8BAAAAAQAAAAAAAAAAAAIA//8BAAAAAAACAP//AQD//wAAAAD/////AAD9/wAAAAACAAAAAgAAAAEAAQABAAEAAAAAAAEA//8AAAEAAQACAAAAAQAAAAEA//8BAAIAAAACAP//AAABAAAAAAAAAAAAAAD//wAAAQD/////AAAAAP////8AAAEAAAAAAP7///8BAAIAAQD//wEAAQAAAP//AgAAAAAAAAD//wAA//8CAP7/AQAAAP7/AAD+////AAAAAAAAAQABAAAA//8AAAEAAAABAP7/AAAAAP7/AAD+/wAAAQABAAEA/////////v8BAP///v///wIAAAAAAAAAAQAAAAIAAQAAAAAAAAABAAEAAAAAAAAAAAD//wEAAQD//wAAAQABAAAA/v/+/////////wAAAAD//wAAAAD/////AAAAAP7/AAD//wIA//8CAP//AQAAAP////8AAAAAAQABAP////8AAP//AQACAAAAAQAAAAAAAAAAAAAA//8BAAAAAAD+/wAA/v///wEAAAD+//7///8CAP7/AAABAP3/AwAAAAAAAAABAAIAAAABAAAAAQABAAIAAAAAAP//AAAAAAEAAAACAAEAAAACAAAAAAABAAAAAwAAAAAAAAD+/wAAAQD9//////8BAAAA/v8AAAAAAAAAAAAAAAD//wMA/v8BAAEAAQACAAAA/v8BAP//AwABAAIAAQABAP//AQAAAAEAAAAAAAEA//8AAAAAAAD/////AAABAAEAAAAAAP////8AAAAAAAAAAAAA/v8AAP//AQAAAP//AAABAAIAAQAAAAAAAgABAAAA/////wAAAQABAP//AQABAAEA/////wAAAAAAAAAAAAABAAEAAQAAAAAAAAAAAAAA//8AAP7/AQD9/wAAAgD//wEAAQABAAEA/v8AAAEA/////wAAAAAAAP//AAABAAAAAAAAAAAA//8CAP//AAABAAEAAQABAAAA//8BAAIAAgD//wAA/v8AAAEAAAD///7/AAAAAAEAAAABAAAAAQABAAAAAQACAAAA///+/wAAAQABAP7////+/wAA//8AAAAAAgAAAP//AQD9/wAAAAD//wAA//8AAAAAAQAAAAAAAQD//wAAAAAAAP//AQABAAAA/v8CAP//AAD///////8AAAAAAAACAAEA//8BAP7/AAAAAAEA//8BAAAAAQD//wAAAQD+/wAA/////wAAAAD//wAAAQABAAAA//8AAAEA/////wAA//8AAAAA/v/+/wEAAgABAP//AgD//wIA/////wAA//8AAAEAAQAAAAAAAQAAAAMAAAACAP//\",showCount:!0},audio:{disabled:!0,defaultToggledOn:!1,language:\"en-US\",voiceNames:[\"Microsoft David - English (United States)\",\"Alex (English - United States)\"],rate:1,volume:1,icon:M,iconDisabled:O},chatHistory:{disabled:!1,maxEntries:30,storageKey:\"rcb-history\",storageType:\"LOCAL_STORAGE\",viewChatHistoryButtonText:\"Load Chat History ⟳\",chatHistoryLineBreakText:\"----- Previous Chat History -----\",autoLoad:!1},chatInput:{disabled:!1,allowNewline:!1,enabledPlaceholderText:\"Type your message...\",disabledPlaceholderText:\"\",showCharacterCount:!1,characterLimit:-1,botDelay:1e3,sendButtonIcon:S,blockSpam:!0,sendOptionOutput:!0,sendCheckboxOutput:!0,buttons:[E.VOICE_MESSAGE_BUTTON,E.SEND_MESSAGE_BUTTON]},chatWindow:{showScrollbar:!1,showTypingIndicator:!0,autoJumpToBottom:!1,showMessagePrompt:!0,messagePromptText:\"New Messages ↓\",messagePromptOffset:30,defaultOpen:!1},sensitiveInput:{maskInTextArea:!0,maskInUserBubble:!0,asterisksCount:10,hideInUserBubble:!1},userBubble:{animate:!0,showAvatar:!1,avatar:\"data:image/svg+xml,%3csvg%20width='140'%20height='140'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cy='60.044'%20cx='70'%20fill='%235c5c5c'%20r='29'/%3e%3cpath%20d='m16.36%20156.186-.01-30.5c-.005-16.844%2024.168-30.507%2053.991-30.516%2029.823-.009%2054.004%2013.64%2054.01%2030.484l.008%2030.5-108%20.032z'%20fill='%235c5c5c'/%3e%3c/svg%3e\",simulateStream:!1,streamSpeed:30},botBubble:{animate:!0,showAvatar:!1,avatar:P,simulateStream:!1,streamSpeed:30},voice:{disabled:!0,defaultToggledOn:!1,language:\"en-US\",timeoutPeriod:1e4,autoSendDisabled:!1,autoSendPeriod:1e3,sendAsAudio:!1,icon:T,iconDisabled:I},footer:{text:h(\"div\",{style:{cursor:\"pointer\",display:\"flex\",flexDirection:\"row\",alignItems:\"center\",columnGap:3},onClick:()=>window.open(\"https://react-chatbotify.com\",\"_blank\",\"noopener,noreferrer\"),children:[g(\"span\",{children:\"Powered By \"},0),g(\"div\",{style:{borderRadius:\"50%\",width:14,height:14,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",background:\"linear-gradient(to right, #42b0c5, #491d8d)\"},children:g(B,{style:{width:\"80%\",height:\"80%\",fill:\"#fff\"}})},1),g(\"span\",{style:{fontWeight:\"bold\"},children:\" React ChatBotify\"},2)]}),buttons:[E.FILE_ATTACHMENT_BUTTON,E.EMOJI_PICKER_BUTTON]},fileAttachment:{disabled:!1,multiple:!0,accept:\".png\",icon:D,iconDisabled:D,sendFileName:!0,showMediaDisplay:!1},emoji:{disabled:!1,icon:Q,iconDisabled:Q,list:[\"😀\",\"😃\",\"😄\",\"😅\",\"😊\",\"😌\",\"😇\",\"🙃\",\"🤣\",\"😍\",\"🥰\",\"🥳\",\"🎉\",\"🎈\",\"🚀\",\"⭐️\"]},toast:{maxCount:3,forbidOnMax:!1,dismissOnClick:!0},event:{rcbPreInjectMessage:!1,rcbPostInjectMessage:!1,rcbStartSimulateStreamMessage:!1,rcbStopSimulateStreamMessage:!1,rcbStartStreamMessage:!1,rcbChunkStreamMessage:!1,rcbStopStreamMessage:!1,rcbRemoveMessage:!1,rcbSaveChatHistory:!1,rcbLoadChatHistory:!1,rcbToggleChatWindow:!1,rcbStartSpeakAudio:!1,rcbToggleAudio:!1,rcbToggleNotifications:!1,rcbToggleVoice:!1,rcbChangePath:!1,rcbShowToast:!1,rcbDismissToast:!1,rcbUserSubmitText:!1,rcbUserUploadFile:!1,rcbTextAreaChangeValue:!1,rcbPreLoadChatBot:!1,rcbPostLoadChatBot:!1,rcbPreProcessBlock:!1,rcbPostProcessBlock:!1},ariaLabel:{chatButton:\"open chat\",audioButton:\"toggle audio\",closeChatButton:\"close chat\",emojiButton:\"emoji picker\",fileAttachmentButton:\"upload file\",notificationButton:\"toggle notifications\",sendButton:\"send message\",voiceButton:\"toggle voice\",inputTextArea:\"input text area\"},device:{desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!0}},N=r({settings:{},setSyncedSettings:()=>null,syncedSettingsRef:{current:{}}}),H=()=>A(N),R=({children:e,settings:t=L,setSyncedSettings:n,syncedSettingsRef:r})=>g(N.Provider,{value:{settings:t,setSyncedSettings:n,syncedSettingsRef:r},children:e}),F={tooltipStyle:{},notificationBadgeStyle:{},chatWindowStyle:{},headerStyle:{},bodyStyle:{},chatInputContainerStyle:{},chatInputAreaStyle:{},chatInputAreaFocusedStyle:{},chatInputAreaDisabledStyle:{},userBubbleStyle:{},botBubbleStyle:{},botOptionStyle:{},botOptionHoveredStyle:{},botCheckboxRowStyle:{},botCheckboxNextStyle:{},botCheckMarkStyle:{},botCheckMarkSelectedStyle:{},characterLimitStyle:{},characterLimitReachedStyle:{},chatHistoryLineBreakStyle:{},chatMessagePromptStyle:{},chatMessagePromptHoveredStyle:{},footerStyle:{},loadingSpinnerStyle:{},mediaDisplayContainerStyle:{},chatButtonStyle:{},chatButtonHoveredStyle:{},chatHistoryButtonStyle:{},chatHistoryButtonHoveredStyle:{},sendButtonStyle:{},sendButtonHoveredStyle:{},sendButtonDisabledStyle:{},audioButtonStyle:{},audioButtonDisabledStyle:{},closeChatButtonStyle:{},emojiButtonStyle:{},emojiButtonDisabledStyle:{},fileAttachmentButtonStyle:{},fileAttachmentButtonDisabledStyle:{},notificationButtonStyle:{},notificationButtonDisabledStyle:{},voiceButtonStyle:{},voiceButtonDisabledStyle:{},chatIconStyle:{},audioIconStyle:{},audioIconDisabledStyle:{},closeChatIconStyle:{},emojiIconStyle:{},emojiIconDisabledStyle:{},fileAttachmentIconStyle:{},fileAttachmentIconDisabledStyle:{},notificationIconStyle:{},notificationIconDisabledStyle:{},voiceIconStyle:{},voiceIconDisabledStyle:{},sendIconStyle:{},sendIconDisabledStyle:{},sendIconHoveredStyle:{},rcbTypingIndicatorContainerStyle:{},rcbTypingIndicatorDotStyle:{},toastPromptContainerStyle:{},toastPromptStyle:{},toastPromptHoveredStyle:{}},U=r({styles:{},setSyncedStyles:()=>null,syncedStylesRef:{current:{}}}),j=()=>A(U),z=({children:e,styles:t=F,setSyncedStyles:n,syncedStylesRef:r})=>g(U.Provider,{value:{styles:t,setSyncedStyles:n,syncedStylesRef:r},children:e}),_=({buttons:e})=>{var t,n,r,A,o,i,l;const{settings:a}=H(),{styles:s}=j(),d={backgroundImage:`linear-gradient(to right, ${null==(t=a.general)?void 0:t.secondaryColor},\\n\\t\\t\\t${null==(n=a.general)?void 0:n.primaryColor})`,...s.headerStyle};return h(\"div\",{style:d,className:\"rcb-chat-header-container\",children:[h(\"div\",{className:\"rcb-chat-header\",children:[(null==(r=a.header)?void 0:r.showAvatar)&&g(\"div\",{style:{backgroundImage:`url(\"${null==(A=a.header)?void 0:A.avatar}\")`},className:\"rcb-bot-avatar\"}),c(null==(o=a.header)?void 0:o.title)?null==(i=a.header)?void 0:i.title:g(\"div\",{style:{margin:0,fontSize:20,fontWeight:\"bold\"},children:null==(l=a.header)?void 0:l.title})]}),g(\"div\",{className:\"rcb-chat-header\",children:null==e?void 0:e.map((e,t)=>g(u,{children:e},t))})]})},q=r({}),G=()=>A(q),Y=({children:e,botIdRef:t,flowRef:n})=>{const r=i(null),A=i(\"\"),o=i(null),l=i(new Map),a=i(null),s=i(\"\"),c=i(!1),u=i(null),d=i(null),f=i(null);return g(q.Provider,{value:{botIdRef:t,flowRef:n,inputRef:r,timeoutIdRef:o,streamMessageMap:l,chatBodyRef:a,paramsInputRef:s,keepVoiceOnRef:c,audioContextRef:u,audioBufferRef:d,gainNodeRef:f,prevInputRef:A},children:e})},W=e=>{const[t,n]=l(e),r=i(e);return[t,e=>{const t=\"function\"==typeof e?e(r.current):e;r.current=t,n(t)},r]},V=r({}),X=()=>A(V),K=({children:e,settings:t})=>{var n,r,A,o,i,a;const[s,c,u]=W(!1),[d,f,p]=W((null==(n=null==t?void 0:t.chatWindow)?void 0:n.defaultOpen)??!1),[h,m,v]=W((null==(r=null==t?void 0:t.audio)?void 0:r.defaultToggledOn)??!1),[y,w,b]=W((null==(A=null==t?void 0:t.voice)?void 0:A.defaultToggledOn)??!1),[E,P,B]=W((null==(o=null==t?void 0:t.notification)?void 0:o.defaultToggledOn)??!0),[D,C]=l(!1),[x,k]=l(!1),[S,T,I]=W(!1),[Q,M,O]=W(!0),[L,N,H]=W(!1),[R,F]=l(!1),[U,j]=l(!1),[z,_]=l(0),[q,G]=l(0),[Y,X]=l(!1),[K,J]=l((null==(i=window.visualViewport)?void 0:i.height)??window.innerHeight),[Z,$]=l((null==(a=window.visualViewport)?void 0:a.width)??window.innerWidth);return g(V.Provider,{value:{isBotTyping:s,setSyncedIsBotTyping:c,syncedIsBotTypingRef:u,isChatWindowOpen:d,setSyncedIsChatWindowOpen:f,syncedIsChatWindowOpenRef:p,audioToggledOn:h,setSyncedAudioToggledOn:m,syncedAudioToggledOnRef:v,voiceToggledOn:y,setSyncedVoiceToggledOn:w,syncedVoiceToggledOnRef:b,notificationsToggledOn:E,setSyncedNotificationsToggledOn:P,syncedNotificationsToggledOnRef:B,isLoadingChatHistory:D,setIsLoadingChatHistory:C,hasChatHistoryLoaded:x,setHasChatHistoryLoaded:k,isScrolling:S,setSyncedIsScrolling:T,syncedIsScrollingRef:I,textAreaDisabled:Q,setSyncedTextAreaDisabled:M,syncedTextAreaDisabledRef:O,textAreaSensitiveMode:L,setSyncedTextAreaSensitiveMode:N,syncedTextAreaSensitiveModeRef:H,hasInteractedPage:R,setHasInteractedPage:F,hasFlowStarted:U,setHasFlowStarted:j,unreadCount:z,setUnreadCount:_,inputLength:q,setInputLength:G,blockAllowsAttachment:Y,setBlockAllowsAttachment:X,viewportHeight:K,setViewportHeight:J,viewportWidth:Z,setViewportWidth:$},children:e})};var J=(e=>(e.START_SPEAK_AUDIO=\"rcb-start-speak-audio\",e.TOGGLE_AUDIO=\"rcb-toggle-audio\",e.TOGGLE_NOTIFICATIONS=\"rcb-toggle-notifications\",e.TOGGLE_VOICE=\"rcb-toggle-voice\",e.TOGGLE_CHAT_WINDOW=\"rcb-toggle-chat-window\",e.PRE_INJECT_MESSAGE=\"rcb-pre-inject-message\",e.POST_INJECT_MESSAGE=\"rcb-post-inject-message\",e.START_SIMULATE_STREAM_MESSAGE=\"rcb-start-simulate-stream-message\",e.STOP_SIMULATE_STREAM_MESSAGE=\"rcb-stop-simulate-stream-message\",e.START_STREAM_MESSAGE=\"rcb-start-stream-message\",e.CHUNK_STREAM_MESSAGE=\"rcb-chunk-stream-message\",e.STOP_STREAM_MESSAGE=\"rcb-stop-stream-message\",e.REMOVE_MESSAGE=\"rcb-remove-message\",e.SAVE_CHAT_HISTORY=\"rcb-save-chat-history\",e.LOAD_CHAT_HISTORY=\"rcb-load-chat-history\",e.CHANGE_PATH=\"rcb-change-path\",e.SHOW_TOAST=\"rcb-show-toast\",e.DISMISS_TOAST=\"rcb-dismiss-toast\",e.USER_SUBMIT_TEXT=\"rcb-user-submit-text\",e.USER_UPLOAD_FILE=\"rcb-user-upload-file\",e.TEXT_AREA_CHANGE_VALUE=\"rcb-text-area-change-value\",e.PRE_LOAD_CHATBOT=\"rcb-pre-load-chatbot\",e.POST_LOAD_CHATBOT=\"rcb-post-load-chatbot\",e.PRE_PROCESS_BLOCK=\"rcb-pre-process-block\",e.POST_PROCESS_BLOCK=\"rcb-post-process-block\",e))(J||{});const Z={[J.START_SPEAK_AUDIO]:!0,[J.TOGGLE_AUDIO]:!0,[J.TOGGLE_VOICE]:!0,[J.TOGGLE_NOTIFICATIONS]:!0,[J.TOGGLE_CHAT_WINDOW]:!0,[J.PRE_INJECT_MESSAGE]:!0,[J.POST_INJECT_MESSAGE]:!1,[J.PRE_LOAD_CHATBOT]:!0,[J.POST_LOAD_CHATBOT]:!1,[J.START_SIMULATE_STREAM_MESSAGE]:!0,[J.STOP_SIMULATE_STREAM_MESSAGE]:!1,[J.START_STREAM_MESSAGE]:!0,[J.CHUNK_STREAM_MESSAGE]:!0,[J.STOP_STREAM_MESSAGE]:!0,[J.REMOVE_MESSAGE]:!0,[J.SAVE_CHAT_HISTORY]:!0,[J.LOAD_CHAT_HISTORY]:!0,[J.CHANGE_PATH]:!0,[J.SHOW_TOAST]:!0,[J.DISMISS_TOAST]:!0,[J.USER_SUBMIT_TEXT]:!0,[J.USER_UPLOAD_FILE]:!0,[J.TEXT_AREA_CHANGE_VALUE]:!0,[J.PRE_PROCESS_BLOCK]:!0,[J.POST_PROCESS_BLOCK]:!0},$=async(e,t,n)=>{const r=new CustomEvent(e,{detail:t,cancelable:Z[e]});return r.data=n,r.promises=[],window.dispatchEvent(r),await Promise.all(r.promises),r},ee=r({paths:[],setSyncedPaths:()=>{},syncedPathsRef:{current:[]}}),te=()=>A(ee),ne=({children:e})=>{const[t,n,r]=W([]);return g(ee.Provider,{value:{paths:t,setSyncedPaths:n,syncedPathsRef:r},children:e})},re=()=>{const{botIdRef:e}=G(),{syncedPathsRef:t}=te(),n=o(()=>t.current.length>0?t.current.at(-1)??null:null,[]),r=o(()=>t.current.length>1?t.current.at(-2)??null:null,[]);return{dispatchRcbEvent:o(async(t,A)=>{const o={botId:e.current,currPath:n(),prevPath:r()};return await $(t,o,A)},[e])}},Ae=()=>{const{settings:e}=H(),{isChatWindowOpen:t,setSyncedIsChatWindowOpen:n,viewportHeight:r,setViewportHeight:A,viewportWidth:i,setViewportWidth:l,setUnreadCount:a,setSyncedIsBotTyping:s,setSyncedIsScrolling:c,syncedIsBotTypingRef:u,syncedIsChatWindowOpenRef:d}=X(),{chatBodyRef:f}=G(),{dispatchRcbEvent:p}=re(),g=o(()=>{if(!f.current)return!1;const e=f.current.getBoundingClientRect(),t=window.innerHeight??document.documentElement.clientHeight,n=window.innerWidth??document.documentElement.clientWidth;return e.top>=0&&e.left>=0&&e.bottom<=t&&e.right<=n},[f]),h=o(async t=>{var r;t!==d.current&&(null!=(r=e.event)&&r.rcbToggleChatWindow&&(await p(J.TOGGLE_CHAT_WINDOW,{currState:d.current,newState:!d.current})).defaultPrevented||n(e=>(e||a(0),!e)))},[d]),m=o(async e=>{e!==u.current&&s(e=>!e)},[u]),v=o((e,t,n,r)=>(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t,[]),y=o((e=0)=>{if(!f.current)return;const t=f.current.scrollHeight-f.current.clientHeight;if(e<=0)return f.current.scrollTop=t,void c(!1);const n=f.current.scrollTop,r=t-n;let A=0;const o=()=>{if(!f.current)return;A+=20;const t=v(A,n,r,e);f.current.scrollTop=t,A<e?requestAnimationFrame(o):c(!1)};o()},[f]);return{isChatWindowOpen:t,setSyncedIsChatWindowOpen:n,toggleChatWindow:h,viewportHeight:r,setViewportHeight:A,viewportWidth:i,setViewportWidth:l,toggleIsBotTyping:m,scrollToBottom:y,getIsChatBotVisible:g}},oe=()=>{var e,t,n;const{settings:r}=H(),{styles:A}=j(),{unreadCount:o,isScrolling:i}=X(),{chatBodyRef:a}=G(),{scrollToBottom:s}=Ae(),[c,u]=l(!1),d={color:null==(e=r.general)?void 0:e.primaryColor,borderColor:null==(t=r.general)?void 0:t.primaryColor,...A.chatMessagePromptHoveredStyle};return g(\"div\",{className:\"rcb-message-prompt-container \"+(a.current&&(null==(f=r.chatWindow)?void 0:f.showMessagePrompt)&&i&&o>0?\"visible\":\"hidden\"),children:g(\"div\",{onMouseEnter:()=>{u(!0)},onMouseLeave:()=>{u(!1)},style:c?d:{...A.chatMessagePromptStyle},onMouseDown:e=>{e.preventDefault(),s(600)},className:\"rcb-message-prompt-text\",children:null==(n=r.chatWindow)?void 0:n.messagePromptText})});var f},ie=r({messages:[],setSyncedMessages:()=>{},syncedMessagesRef:{current:[]}}),le=()=>A(ie),ae=({children:e})=>{const[t,n,r]=W([]);return g(ie.Provider,{value:{messages:t,setSyncedMessages:n,syncedMessagesRef:r},children:e})},se=({message:e,isNewSender:t})=>{var n,r,A,o,i,l;const{settings:a}=H(),{styles:s}=j(),c=\"string\"==typeof e.content,u=e.content,d=e.contentWrapper?g(e.contentWrapper,{children:u}):u,f={backgroundColor:null==(n=a.general)?void 0:n.primaryColor,color:\"#fff\",maxWidth:null!=(r=a.userBubble)&&r.showAvatar?\"65%\":\"70%\",...s.userBubbleStyle},p=null!=(A=a.userBubble)&&A.animate?\"rcb-user-message-entry\":\"\",v=(null==(o=a.userBubble)?void 0:o.showAvatar)&&t,y=\"rcb-user-message\"+(!t&&null!=(i=a.userBubble)&&i.showAvatar?\" rcb-user-message-offset\":\"\");return h(\"div\",{className:\"rcb-user-message-container\",children:[c?g(\"div\",{style:f,className:`${y} ${p}`,children:d}):g(m,{children:d}),v&&g(\"div\",{style:{backgroundImage:`url(\"${null==(l=a.userBubble)?void 0:l.avatar}\")`},className:\"rcb-message-user-avatar\"})]})},ce=({message:e,isNewSender:t})=>{var n,r,A,o,i,l;const{settings:a}=H(),{styles:s}=j(),c=\"string\"==typeof e.content,u=e.content,d=e.contentWrapper?g(e.contentWrapper,{children:u}):u,f={backgroundColor:null==(n=a.general)?void 0:n.secondaryColor,color:\"#fff\",maxWidth:null!=(r=a.botBubble)&&r.showAvatar?\"65%\":\"70%\",...s.botBubbleStyle},p=null!=(A=a.botBubble)&&A.animate?\"rcb-bot-message-entry\":\"\",v=(null==(o=a.botBubble)?void 0:o.showAvatar)&&t,y=\"rcb-bot-message\"+(!t&&null!=(i=a.botBubble)&&i.showAvatar?\" rcb-bot-message-offset\":\"\");return h(\"div\",{className:\"rcb-bot-message-container\",children:[v&&g(\"div\",{style:{backgroundImage:`url(\"${null==(l=a.botBubble)?void 0:l.avatar}\")`},className:\"rcb-message-bot-avatar\"}),c?g(\"div\",{style:f,className:`${y} ${p}`,children:d}):g(m,{children:d})]})},ue=()=>{var e,t,n;const{settings:r}=H(),{styles:A}=j(),o=null!=(e=r.botBubble)&&e.animate?\"rcb-bot-message-entry\":\"\";return h(\"div\",{className:\"rcb-bot-message-container\",children:[(null==(t=r.botBubble)?void 0:t.showAvatar)&&g(\"div\",{style:{backgroundImage:`url(\"${null==(n=r.botBubble)?void 0:n.avatar}\")`},className:\"rcb-message-bot-avatar\"}),g(\"div\",{onMouseDown:e=>{e.preventDefault()},className:`rcb-bot-message ${o}`,children:h(\"div\",{className:\"rcb-typing-indicator\",style:{...null==A?void 0:A.rcbTypingIndicatorContainerStyle},children:[g(\"span\",{className:\"rcb-dot\",style:{...null==A?void 0:A.rcbTypingIndicatorDotStyle}}),g(\"span\",{className:\"rcb-dot\",style:{...null==A?void 0:A.rcbTypingIndicatorDotStyle}}),g(\"span\",{className:\"rcb-dot\",style:{...null==A?void 0:A.rcbTypingIndicatorDotStyle}})]})})]})},de=()=>{var e,t,n;const{settings:r}=H(),{styles:A}=j(),{messages:o}=le(),{scrollToBottom:i}=Ae(),{isBotTyping:l,syncedIsScrollingRef:s}=X(),{chatBodyRef:c}=G(),u={...null==A?void 0:A.bodyStyle,scrollbarWidth:null!=(e=r.chatWindow)&&e.showScrollbar?\"auto\":\"none\"};a(()=>{s.current||i()},[null==(t=c.current)?void 0:t.scrollHeight]);return h(\"div\",{style:u,className:\"rcb-chat-body-container\",ref:c,children:[o.map((e,t)=>{const n=(e=>0===e||o[e].sender!==o[e-1].sender)(t);return\"USER\"===e.sender.toUpperCase()?g(se,{message:e,isNewSender:n},t):\"BOT\"===e.sender.toUpperCase()?g(ce,{message:e,isNewSender:n},t):g(\"div\",{children:e.content},t)}),l&&(null==(n=r.chatWindow)?void 0:n.showTypingIndicator)&&g(ue,{}),g(oe,{})]})},fe=({checkboxes:e,checkedItems:t,path:n})=>{var r,A,o,i,s,c,u,d,f,p,m;const{settings:v}=H(),{styles:y}=j(),{paths:w}=te(),{handleSubmitText:b}=dt(),[E,P]=l(new Set),[B,D]=l(!1),C={cursor:B?`url(\"${null==(r=v.general)?void 0:r.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(A=v.general)?void 0:A.primaryColor,borderColor:null==(o=v.general)?void 0:o.primaryColor,...y.botCheckboxRowStyle},x={cursor:B||E.size<e.min?`url(\"${null==(i=v.general)?void 0:i.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(s=v.general)?void 0:s.primaryColor,borderColor:null==(c=v.general)?void 0:c.primaryColor,...y.botCheckboxNextStyle},k={cursor:B?`url(\"${null==(u=v.general)?void 0:u.actionDisabledIcon}\"), auto`:\"pointer\",color:\"transparent\",...y.botCheckMarkStyle},S={cursor:B?`url(\"${null==(d=v.general)?void 0:d.actionDisabledIcon}\"), auto`:\"pointer\",color:\"#fff\",borderColor:null==(f=v.general)?void 0:f.primaryColor,backgroundColor:null==(p=v.general)?void 0:p.primaryColor,...y.botCheckMarkSelectedStyle};a(()=>{w.length>0&&w[w.length-1]!==n&&D(!e.reusable)},[w]);return h(\"div\",{className:\"rcb-checkbox-container \"+(null!=(m=v.botBubble)&&m.showAvatar?\"rcb-checkbox-offset\":\"\"),children:[e.items.map(n=>g(\"div\",{onMouseDown:r=>{r.preventDefault(),(n=>{B||P(r=>{const A=new Set(r);if(A.has(n))t.delete(n),A.delete(n);else{if(E.size==e.max)return r;t.add(n),A.add(n)}return A})})(n)},style:C,className:\"rcb-checkbox-row-container\",children:h(\"div\",{className:\"rcb-checkbox-row\",children:[g(\"div\",{style:E.has(n)?S:k,className:\"rcb-checkbox-mark\"}),g(\"div\",{className:\"rcb-checkbox-label\",children:n})]})},n)),g(\"div\",{style:x,className:\"rcb-checkbox-next-button\",onMouseDown:n=>{var r;if(n.preventDefault(),B||E.size<e.min)return;const A=Array.from(t).join(\", \");let o;D(!e.reusable),o=null!=e.sendOutput?e.sendOutput:(null==(r=v.chatInput)?void 0:r.sendCheckboxOutput)??!0,b(A,o)}})]})},pe=async(e,t)=>{const n=e.checkboxes;if(!n)return;let r;if(\"function\"==typeof n?(r=n(t),r instanceof Promise&&(r=await r)):r=n,Array.isArray(r)&&(r={items:r}),!(\"items\"in r)||0==r.items.length)return;null==r.min&&(r.min=1),null==r.max&&(r.max=r.items.length),r.min>r.max&&(r.min=r.max),null==r.reusable&&(r.reusable=!1);const A=new Set,o=t.currPath,i=g(fe,{checkboxes:r,checkedItems:A,path:o});await t.injectMessage(i)},ge=async(e,t)=>{const n=e.function;if(!n)return;const r=n(t);return r instanceof Promise?await r:r},he=async(e,t,n)=>{const r=e.message;if(!r)return;if(\"string\"==typeof r)return void(\"\"!==r.trim()&&(n?await t.simulateStreamMessage(r):await t.injectMessage(r)));let A=r(t);A instanceof Promise&&(A=await A),\"string\"==typeof A&&\"\"!==A.trim()&&(n?await t.simulateStreamMessage(A):await t.injectMessage(A))},me=({options:e,path:t})=>{var n,r,A,o,i,s;const{settings:c}=H(),{styles:u}=j(),{paths:d}=te(),{handleSubmitText:f}=dt(),[p,h]=l([]),[m,v]=l(!1),y={cursor:m?`url(\"${null==(n=c.general)?void 0:n.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(r=c.general)?void 0:r.primaryColor,borderColor:null==(A=c.general)?void 0:A.primaryColor,backgroundColor:\"#fff\",...u.botOptionStyle},w={color:\"#fff\",borderColor:null==(o=c.general)?void 0:o.primaryColor,backgroundColor:null==(i=c.general)?void 0:i.primaryColor,...u.botOptionHoveredStyle};a(()=>{d.length>0&&d[d.length-1]!==t&&v(!e.reusable)},[d]);return g(\"div\",{className:\"rcb-options-container \"+(null!=(s=c.botBubble)&&s.showAvatar?\"rcb-options-offset\":\"\"),children:e.items.map((t,n)=>{const r=p[n]&&!m;return g(\"div\",{className:\"rcb-options\",style:r?w:y,onMouseEnter:()=>(e=>{h(t=>{const n=[...t];return n[e]=!0,n})})(n),onMouseLeave:()=>(e=>{h(t=>{const n=[...t];return n[e]=!1,n})})(n),onMouseDown:n=>{var r;if(n.preventDefault(),m)return;let A;v(!e.reusable),A=null!=e.sendOutput?e.sendOutput:(null==(r=c.chatInput)?void 0:r.sendOptionOutput)??!0,f(t,A)},children:t},t)})})},ve=async(e,t)=>{const n=e.options;if(!n)return;let r;if(\"function\"==typeof n?(r=n(t),r instanceof Promise&&(r=await r)):r=n,Array.isArray(r)&&(r={items:r}),!(\"items\"in r)||0==r.items.length)return;null==r.reusable&&(r.reusable=!1);const A=t.currPath,o=g(me,{options:r,path:A});await t.injectMessage(o)},ye=async(e,t)=>{const n=e.component;if(n){if(\"function\"==typeof n){let e=n(t);if(e instanceof Promise&&(e=await e),!e)return;return void await t.injectMessage(e)}await t.injectMessage(n)}},we=async(e,t,n,r)=>{const A=e.transition;let o;if(\"function\"==typeof A?(o=A(t),o instanceof Promise&&(o=await o)):o=A,\"number\"==typeof o&&(o={duration:o}),!o||o instanceof Promise||null==o.duration||\"number\"!=typeof o.duration)return;null==o.interruptable&&(o.interruptable=!1);const i=setTimeout(async()=>{const n=await r(e);n&&await Pe(n,t)},o.duration);o.interruptable&&(n.current=i)},be=async(e,t,n)=>{const r=e.chatDisabled;if(null==r)return;let A;\"function\"==typeof r?(A=r(t),A instanceof Promise&&(A=await A)):A=r,n(A)},Ee=async(e,t,n)=>{const r=e.isSensitive;if(!r)return void n(!1);let A;\"function\"==typeof r?(A=r(t),A instanceof Promise&&(A=await A)):A=r,n(A)},Pe=async(e,t)=>{if(!e)throw new Error(\"Block is not valid.\");const n=Object.keys(e);for(const r of n)\"function\"===r&&await ge(e,t);n.includes(\"path\")&&await(async(e,t)=>{const n=e.path;if(!n)return!1;if(\"string\"==typeof n)return await t.goToPath(n),!0;let r=n(t);if(r instanceof Promise&&(r=await r),!r)return!1;const A=r;return await t.goToPath(A),!0})(e,t)},Be=()=>{var e;const{settings:t}=H(),{styles:n}=j();return g(\"div\",{className:\"rcb-line-break-container\",children:g(\"div\",{style:{...n.chatHistoryLineBreakStyle},className:\"rcb-line-break-text\",\"data-testid\":\"chat-history-line-break-text\",children:null==(e=t.chatHistory)?void 0:e.chatHistoryLineBreakText})})},De=()=>{var e;const{settings:t}=H(),{styles:n}=j(),r={borderTop:`4px solid ${null==(e=t.general)?void 0:e.primaryColor}`,...n.loadingSpinnerStyle};return g(\"div\",{className:\"rcb-spinner-container\",children:g(\"div\",{style:r,className:\"rcb-spinner\"})})},Ce=()=>{try{if(typeof crypto<\"u\"&&\"function\"==typeof crypto.randomUUID)return crypto.randomUUID();throw new Error(\"crypto.randomUUID not available\")}catch(e){if(typeof crypto<\"u\"&&\"function\"==typeof crypto.getRandomValues)return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(e){const t=crypto.getRandomValues(new Uint8Array(1))[0]%16;return(\"x\"===e?t:3&t|8).toString(16)});throw console.error(e),new Error(\"crypto.getRandomValues is also not available\")}},xe=(e,t)=>({id:Ce(),content:e,sender:t,type:\"string\"==typeof e?\"string\":\"object\",timestamp:(new Date).toUTCString(),tags:[]});let ke,Se=!1,Te=\"rcb-history\",Ie=30,Qe=!1,Me=[];const Oe=()=>Me,Le=e=>{Ne(e),Me=e},Ne=e=>{ke&&ke.setItem(Te,JSON.stringify(e))},He=e=>{var t,n,r,A,o;ke=\"SESSION_STORAGE\"===(null==(n=null==(t=e.chatHistory)?void 0:t.storageType)?void 0:n.toUpperCase())?sessionStorage:localStorage,Te=null==(r=e.chatHistory)?void 0:r.storageKey,Ie=null==(A=e.chatHistory)?void 0:A.maxEntries,Qe=null==(o=e.chatHistory)?void 0:o.disabled,Me=(e=>{if(null!=e)try{return JSON.parse(e)}catch{return[]}return[]})(ke.getItem(Te))},Re=e=>c(e.content)?structuredClone({id:e.id,content:v.renderToString(e.content),type:e.type,sender:e.sender.toUpperCase(),timestamp:e.timestamp,tags:e.tags}):e,Fe=(e,t,n)=>{const r=(new DOMParser).parseFromString(e,\"text/html\");return Array.from(r.body.childNodes).map((e,r)=>{var A;if(e.nodeType===Node.TEXT_NODE)return e.textContent;{const o=e.tagName.toLowerCase();let i=Array.from(e.attributes).reduce((e,t)=>{const n=t.name.toLowerCase();if(\"style\"===n){const r=t.value.split(\";\").filter(e=>\"\"!==e.trim()),A={};r.forEach(e=>{const[t,n]=e.split(\":\").map(e=>e.trim()),r=t.replace(/-([a-z])/g,(e,t)=>t.toUpperCase());A[r]=n}),e[n]=A}else\"audio\"!==o&&\"video\"!==o||\"controls\"!==n||\"\"!==t.value?e[n]=t.value:e[n]=\"true\";return e},{});if(Object.prototype.hasOwnProperty.call(i,\"class\")){const r=e.classList;i.className=r.toString(),delete i.class,null!=(A=t.botBubble)&&A.showAvatar&&(i=Ue(r,i)),i=je(r,i,t,n),i=ze(r,i,t,n),i=_e(r,i,t,n),i=qe(r,i,t,n)}if([\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"link\",\"meta\",\"source\",\"track\",\"wbr\"].includes(o))return d(o,{key:r,...i});{const A=Fe(e.innerHTML,t,n);return d(o,{key:r,...i},...A)}}})},Ue=(e,t)=>((e.contains(\"rcb-options-container\")||e.contains(\"rcb-checkbox-container\"))&&(t.className=`${e.toString()} rcb-options-offset`),t),je=(e,t,n,r)=>{var A,o,i,l,a;return e.contains(\"rcb-options\")&&(t.style={...t.style,color:(null==(A=r.botOptionStyle)?void 0:A.color)??(null==(o=n.general)?void 0:o.primaryColor),borderColor:(null==(i=r.botOptionStyle)?void 0:i.color)??(null==(l=n.general)?void 0:l.primaryColor),cursor:`url(\"${null==(a=n.general)?void 0:a.actionDisabledIcon}\"), auto`,...r.botOptionStyle}),t},ze=(e,t,n,r)=>{var A,o,i,l,a;return e.contains(\"rcb-checkbox-row-container\")&&(t.style={...t.style,color:(null==(A=r.botCheckboxRowStyle)?void 0:A.color)??(null==(o=n.general)?void 0:o.primaryColor),borderColor:(null==(i=r.botCheckboxRowStyle)?void 0:i.color)??(null==(l=n.general)?void 0:l.primaryColor),cursor:`url(\"${null==(a=n.general)?void 0:a.actionDisabledIcon}\"), auto`,...r.botCheckboxRowStyle}),t},_e=(e,t,n,r)=>{var A,o,i,l,a;return e.contains(\"rcb-checkbox-next-button\")&&(t.style={...t.style,color:(null==(A=r.botCheckboxNextStyle)?void 0:A.color)??(null==(o=n.general)?void 0:o.primaryColor),borderColor:(null==(i=r.botCheckboxNextStyle)?void 0:i.color)??(null==(l=n.general)?void 0:l.primaryColor),cursor:`url(\"${null==(a=n.general)?void 0:a.actionDisabledIcon}\"), auto`,...r.botCheckboxNextStyle}),t},qe=(e,t,n,r)=>{var A,o;return(e.contains(\"rcb-media-display-image-container\")||e.contains(\"rcb-media-display-video-container\"))&&(t.style={...t.style,backgroundColor:null==(A=n.general)?void 0:A.primaryColor,maxWidth:null!=(o=n.userBubble)&&o.showAvatar?\"65%\":\"70%\",...r.mediaDisplayContainerStyle}),t},Ge=()=>{const{settings:e}=H(),{notificationsToggledOn:t,setSyncedNotificationsToggledOn:n,hasInteractedPage:r,unreadCount:A,setUnreadCount:i,syncedNotificationsToggledOnRef:l}=X(),{audioBufferRef:a,audioContextRef:s,gainNodeRef:c}=G(),{dispatchRcbEvent:u}=re(),d=o(async()=>{var t,n;const r=null==(t=e.notification)?void 0:t.sound;s.current=new AudioContext;const A=s.current.createGain();let o;if(A.gain.value=(null==(n=e.notification)?void 0:n.volume)??.2,c.current=A,null!=r&&r.startsWith(\"data:audio\")){const e=atob(r.split(\",\")[1]),t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);o=t}else o=await(await fetch(r)).arrayBuffer();a.current=await s.current.decodeAudioData(o)},[e.notification]),f=o(()=>{var t;if(null!=(t=e.notification)&&t.disabled||!l.current||!r||!s.current||!a.current)return;const n=s.current.createBufferSource();n.buffer=a.current,n.connect(c.current).connect(s.current.destination),n.start()},[e.notification,l,r,s,a,c]);return{unreadCount:A,setUnreadCount:i,notificationsToggledOn:t,toggleNotifications:o(async t=>{var r;t!==l.current&&(null!=(r=e.event)&&r.rcbToggleNotifications&&(await u(J.TOGGLE_NOTIFICATIONS,{currState:l.current,newState:!l.current})).defaultPrevented||n(e=>!e))},[l]),playNotificationSound:f,setUpNotifications:d}},Ye=(e,t)=>{var n,r,A,o;((e,t,n,r,A)=>{if(!window.SpeechSynthesisUtterance)return void console.info(\"Speech Synthesis API is not supported in this environment.\");const o=new window.SpeechSynthesisUtterance;o.text=e,o.lang=t,o.rate=r,o.volume=A;let i=!1;for(const e of n){const t=window.speechSynthesis.getVoices().find(t=>t.name===e);if(t){o.voice=t,window.speechSynthesis.speak(o),i=!0;break}}i||window.speechSynthesis.speak(o)})(t,null==(n=e.audio)?void 0:n.language,null==(r=e.audio)?void 0:r.voiceNames,null==(A=e.audio)?void 0:A.rate,null==(o=e.audio)?void 0:o.volume)},We=()=>{const{settings:e}=H(),{audioToggledOn:t,setSyncedAudioToggledOn:n,syncedAudioToggledOnRef:r}=X(),{dispatchRcbEvent:A}=re(),i=o(async t=>{var o;t!==r.current&&(null!=(o=e.event)&&o.rcbToggleAudio&&(await A(J.TOGGLE_AUDIO,{currState:r.current,newState:!r.current})).defaultPrevented||n(e=>!e))},[r]),l=o(async t=>{var n,o;if(null!=(n=e.audio)&&n.disabled||!r.current)return;let i=t;if(null!=(o=e.event)&&o.rcbStartSpeakAudio){const e=await A(J.START_SPEAK_AUDIO,{textToRead:i});if(e.defaultPrevented)return;i=e.data.textToRead}Ye(e,i)},[e,r]);return{audioToggledOn:t,speakAudio:l,toggleAudio:i}},Ve=()=>{var e,t,n;const{settings:r}=H(),{messages:A,setSyncedMessages:i,syncedMessagesRef:l}=le(),{setSyncedIsBotTyping:a,setUnreadCount:s,syncedIsScrollingRef:c,syncedIsChatWindowOpenRef:u}=X(),{streamMessageMap:d,chatBodyRef:f,paramsInputRef:p}=G(),{scrollToBottom:g,getIsChatBotVisible:h}=Ae(),{dispatchRcbEvent:m}=re(),{speakAudio:v}=We(),{playNotificationSound:y}=Ge(),w=o(async e=>{var t,n;if(null!=(t=r.event)&&t.rcbSaveChatHistory){const t=await m(J.SAVE_CHAT_HISTORY,{messages:e});if(t.defaultPrevented)return;e=(null==(n=t.data)?void 0:n.messages)??e}await(async e=>{if(Qe||!ke)return;const t=[];for(let n=e.length-1;n>=0;n--){const r=e[n];if(\"SYSTEM\"!==r.sender.toUpperCase()&&(\"\"!==r.content&&t.unshift(r),t.length===Ie))break}let n=t.map(Re);if(!Se&&n.length<Ie){const e=Ie-n.length;n=[...Me.slice(-e),...n]}Ne(n)})(e)},[m,null==(e=r.event)?void 0:e.rcbSaveChatHistory]),b=o((e,t=!1)=>{var n,A;w(e);let o=!0;const i=e[e.length-1];if(!i)return;const l=i.sender.toUpperCase();\"USER\"===l&&(o=!1),null!=(n=r.general)&&n.embedded&&h()&&(o=!1),(u.current&&!c.current||t)&&(o=!1),o&&y(),!t&&(\"USER\"!==l&&null!=(A=r.chatWindow)&&A.autoJumpToBottom||\"USER\"===l||!c.current)&&setTimeout(()=>g(),1)},[r,f,u,c,y,g,h]),E=o(async(e,t=\"BOT\",n=null)=>{var A,o,d,f,g;if(\"string\"!=typeof e)throw new Error(\"Content must be of type string to simulate stream.\");t=t.toUpperCase();let h=xe(e,t);if(null!=(A=r.event)&&A.rcbStartSimulateStreamMessage){const e=await m(J.START_SIMULATE_STREAM_MESSAGE,{message:h});if(e.defaultPrevented)return null;n=e.data.simulateStreamChunker||n,h=e.data.message}a(!1);let y=30;y=\"BOT\"===t?null==(o=r.botBubble)?void 0:o.streamSpeed:null==(d=r.userBubble)?void 0:d.streamSpeed;const E={...h,content:\"\"};i(e=>[...e,E]),b(l.current);let P=h.content;n&&(P=n(P));let B=0;const D=P.length;\"BOT\"===h.sender.toUpperCase()&&(u.current||null!=(f=r.general)&&f.embedded)&&\"string\"==typeof h.content&&\"\"!==h.content.trim()&&v(h.content);const C=new Promise(e=>{const t=setInterval(()=>{if(B>=D)return clearInterval(t),void e();i(e=>{const t=[...e];for(let e=t.length-1;e>=0;e--)if(t[e].id===E.id){const n=P[B];n&&(E.content+=n,t[e]=E),B++;break}return t})},y)});return(c.current||!u.current)&&s(e=>e+1),await C,w(l.current),null!=(g=r.event)&&g.rcbStopSimulateStreamMessage&&await m(J.STOP_SIMULATE_STREAM_MESSAGE,{message:h}),\"USER\"===t&&(p.current=e),h},[r,m,b,l,p,a,s,u,v]),P=o(async(e,t=\"BOT\")=>{var n,A,o;t=t.toUpperCase();let a=xe(e,t);if(null!=(n=r.event)&&n.rcbPreInjectMessage){const e=await m(J.PRE_INJECT_MESSAGE,{message:a});if(e.defaultPrevented)return null;a=e.data.message}return\"BOT\"===a.sender.toUpperCase()&&(u.current||null!=(A=r.general)&&A.embedded)&&\"string\"==typeof a.content&&\"\"!==a.content.trim()&&v(a.content),(c.current||!u.current)&&s(e=>e+1),null!=(o=r.event)&&o.rcbPostInjectMessage&&await m(J.POST_INJECT_MESSAGE,{message:a}),i(e=>[...e,a]),b(l.current),\"USER\"===t&&\"string\"==typeof e&&(p.current=e),a},[r,m,b,p,l,u,v,s]),B=o(async e=>{var t;let n=l.current.find(t=>t.id===e),A=null,o=!1;return n||(A=Oe(),n=A.find(t=>t.id===e),n&&(o=!0)),!n||null!=(t=r.event)&&t.rcbRemoveMessage&&(await m(J.REMOVE_MESSAGE,{message:n})).defaultPrevented?null:o?(A&&Le(A.filter(t=>t.id!==e)),n):(i(t=>t.filter(t=>t.id!==e)),b(l.current),s(e=>Math.max(e-1,0)),n)},[m,null==(t=r.event)?void 0:t.rcbRemoveMessage,b,l,s,Oe,Le]),D=o(async(e,t=\"BOT\")=>{var n,A;if(t=t.toUpperCase(),!d.current.has(t)){const A=xe(e,t);return null!=(n=r.event)&&n.rcbStartStreamMessage&&(await m(J.START_STREAM_MESSAGE,{message:A})).defaultPrevented?null:(a(!1),i(e=>[...e,A]),b(l.current),d.current.set(t,A.id),(c.current||!u.current)&&s(e=>e+1),A)}const o={...xe(e,t),id:d.current.get(t)};return null!=(A=r.event)&&A.rcbChunkStreamMessage&&(await m(J.CHUNK_STREAM_MESSAGE,{message:o})).defaultPrevented?null:(i(e=>e.map(e=>e.id===o.id?o:e)),b(l.current,!0),o)},[m,r.event,b,l,a,s,d]),C=o(async(e=\"BOT\")=>{var t;if(e=e.toUpperCase(),!d.current.has(e))return!0;const n=d.current.get(e);let A;for(let e=0;e<3;e++){const e=l.current.find(e=>e.id===n);e&&(A=e),await new Promise(e=>setTimeout(e,20))}return(null==(t=r.event)||!t.rcbStopStreamMessage||!(await m(J.STOP_STREAM_MESSAGE,{message:A})).defaultPrevented)&&(d.current.delete(e),w(l.current),\"USER\"===e&&\"string\"==typeof(null==A?void 0:A.content)&&(p.current=A.content),!0)},[m,null==(n=r.event)?void 0:n.rcbStopStreamMessage,d,p]),x=o(e=>{const t=\"function\"==typeof e?e(l.current):e;i(t),b(t)},[b,l]),k=o((e,t,n=0)=>{var r;const A=l.current,o=e?e.toUpperCase():null,i=[];let a=n;for(let e=A.length-1;e>=0;e--){const n=A[e];if(!o||(null==(r=null==n?void 0:n.sender)?void 0:r.toUpperCase())===o){if(a>0){a--;continue}if(i.push(n),void 0!==t&&i.length===t)break}}return i.length>0?i:null},[l]);return{simulateStreamMessage:E,injectMessage:P,removeMessage:B,streamMessage:D,endStreamMessage:C,replaceMessages:x,getMessages:k,messages:A}};let Xe,Ke,Je,Ze=!1,$e=null;const et=()=>{if(!Xe){const e=window.SpeechRecognition||window.webkitSpeechRecognition;Xe=null!=e?new e:null}return Xe},tt=(e,t,n,r,A,o)=>{var i,l,a;const s=et();if(!s)return;if(!Ze)try{Ze=!0,s.lang=null==(i=e.voice)?void 0:i.language,s.start()}catch{}const c=null==(l=e.voice)?void 0:l.timeoutPeriod,u=null==(a=e.voice)?void 0:a.autoSendPeriod;s.onresult=i=>{var l,a;clearTimeout(Ke),Ke=null,clearTimeout(Je);const s=i.results[i.results.length-1][0].transcript;if(o.current){const t=null==(l=e.chatInput)?void 0:l.characterLimit,n=o.current.value+s;null!=t&&t>=0&&n.length>t?r(n.slice(0,t)):r(n),A(o.current.value.length)}c&&(Ke=setTimeout(async()=>await At(t,o),c)),null!=(a=e.voice)&&a.autoSendDisabled||(Je=setTimeout(n,u))},s.onend=()=>{Ze?(s.start(),!Ke&&c&&(Ke=setTimeout(async()=>await At(t,o),c))):(clearTimeout(Ke),Ke=null,clearTimeout(Je))},c&&(Ke=setTimeout(async()=>await At(t,o),c))},nt=(e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0}).then(n=>{if($e=new MediaRecorder(n),!Ze)try{Ze=!0,$e.start()}catch{}$e.ondataavailable=e=>{t.current&&t.current.push(e.data)},$e.onstop=()=>{e(),n.getTracks().forEach(e=>e.stop())}}).catch(e=>{console.error(\"Unable to use microphone:\",e)})},rt=()=>{const e=et();e&&(Ze=!1,e&&e.stop(),$e&&\"inactive\"!==$e.state&&($e.stop(),$e=null),clearTimeout(Ke),Ke=null,clearTimeout(Je))},At=async(e,t)=>{var n;null!=(n=t.current)&&n.disabled||await e(),rt()},ot=()=>{const{settings:e}=H(),{voiceToggledOn:t,setSyncedVoiceToggledOn:n,syncedVoiceToggledOnRef:r}=X(),{dispatchRcbEvent:A}=re(),i=o(async t=>{var o;t!==r.current&&(null!=(o=e.event)&&o.rcbToggleVoice&&(await A(J.TOGGLE_VOICE,{currState:r.current,newState:!r.current})).defaultPrevented||n(e=>!e))},[r]),l=o(t=>{((e,t)=>{var n,r,A;const o=et();null!=(n=t.voice)&&n.disabled||null==(r=t.chatInput)||!r.blockSpam||!o||(e&&!Ze?(Ze=!0,null!=(A=t.voice)&&A.sendAsAudio?null==$e||$e.start():o.start()):e||rt())})(t,e)},[e]);return{voiceToggledOn:t,toggleVoice:i,syncVoice:l}},it=()=>{var e;const{settings:t}=H(),{inputLength:n,setInputLength:r,textAreaDisabled:A,setSyncedTextAreaDisabled:i,textAreaSensitiveMode:l,setSyncedTextAreaSensitiveMode:a,syncedTextAreaDisabledRef:s,syncedTextAreaSensitiveModeRef:c}=X(),{inputRef:u,chatBodyRef:d,prevInputRef:f}=G(),{dispatchRcbEvent:p}=re(),{getIsChatBotVisible:g}=Ae(),h=o(async e=>{var n,r,A;if(s.current&&u.current)u.current.value=\"\";else if(u.current&&null!==f.current){const o=null==(n=t.chatInput)?void 0:n.characterLimit,i=(null==(r=t.chatInput)?void 0:r.allowNewline)?e:e.replace(/\\n/g,\" \");if(null!=o&&o>=0&&i.length>o?u.current.value=i.slice(0,o):u.current.value=i,null!=(A=t.event)&&A.rcbTextAreaChangeValue&&(await p(J.TEXT_AREA_CHANGE_VALUE,{currValue:u.current.value,prevValue:f.current})).defaultPrevented)return void(u.current.value=f.current);f.current=u.current.value}},[s,u,f,t,p]),m=o(e=>{var n;null!=(n=u.current)&&n.disabled||setTimeout(()=>{var n,r,A;null!=(n=t.general)&&n.embedded?g()&&(null==(r=u.current)||r.focus()):\"start\"!==e&&(null==(A=u.current)||A.focus())},100)},[u,null==(e=t.general)?void 0:e.embedded,d,g]),v=o(()=>{u.current&&u.current.focus()},[]),y=o(()=>{u.current&&u.current.blur()},[]),w=o(()=>u&&u.current?u.current.value:\"\",[]),b=o(e=>{e!==s.current&&i(e=>!e)},[s]),E=o(e=>{e!==c.current&&a(e=>!e)},[c]);return{textAreaDisabled:A,setSyncedTextAreaDisabled:i,textAreaSensitiveMode:l,setSyncedTextAreaSensitiveMode:a,inputLength:n,setInputLength:r,getTextAreaValue:w,setTextAreaValue:h,updateTextAreaFocus:m,focusTextArea:v,blurTextArea:y,toggleTextAreaDisabled:b,toggleTextAreaSensitiveMode:E}},lt=r({toasts:[],setSyncedToasts:()=>{},syncedToastsRef:{current:[]}}),at=()=>A(lt),st=({children:e})=>{const[t,n,r]=W([]);return g(lt.Provider,{value:{toasts:t,setSyncedToasts:n,syncedToastsRef:r},children:e})},ct=()=>{const{settings:e}=H(),{toasts:t,setSyncedToasts:n,syncedToastsRef:r}=at(),{dispatchRcbEvent:A}=re(),i=o(async(t,o)=>{var i,l,a,s;let c=null;if(r.current.length>=((null==(i=e.toast)?void 0:i.maxCount)??3)){if(null!=(l=e.toast)&&l.forbidOnMax)return null;c=Ce();let r={id:c,content:t,timeout:o};if(null!=(a=e.event)&&a.rcbShowToast){const e=await A(J.SHOW_TOAST,{toast:r});if(e.defaultPrevented)return null;r=e.data.toast}return n(e=>[...e.slice(1),r]),c}c=Ce();let u={id:c,content:t,timeout:o};if(null!=(s=e.event)&&s.rcbShowToast){const e=await A(J.SHOW_TOAST,{toast:u});if(e.defaultPrevented)return null;u=e.data.toast}return n(e=>[...e,u]),c},[e,A]),l=o(async t=>{var o;const i=r.current.find(e=>e.id===t);return!i||null!=(o=e.event)&&o.rcbDismissToast&&(await A(J.DISMISS_TOAST,{toast:i})).defaultPrevented?null:(n(e=>e.filter(e=>e.id!==t)),t)},[A]),a=o(e=>{const t=\"function\"==typeof e?e(r.current):e;n(t)},[r]);return{showToast:i,dismissToast:l,toasts:t,replaceToasts:a}},ut=()=>{var e,t,n,r,A;const{settings:i}=H(),{paths:l,setSyncedPaths:a,syncedPathsRef:s}=te(),{flowRef:c,streamMessageMap:u,paramsInputRef:d,keepVoiceOnRef:f,timeoutIdRef:p}=G(),{setSyncedIsBotTyping:g,setSyncedTextAreaDisabled:h,setSyncedTextAreaSensitiveMode:m,blockAllowsAttachment:v,setBlockAllowsAttachment:y}=X(),{dispatchRcbEvent:w}=re(),{endStreamMessage:b,injectMessage:E,removeMessage:P,simulateStreamMessage:B,streamMessage:D}=Ve(),{showToast:C,dismissToast:x}=ct(),{toggleChatWindow:k}=Ae(),{updateTextAreaFocus:S,setTextAreaValue:T}=it(),{syncVoice:I}=ot(),Q=o(async e=>{var t;if(null!=(t=i.event)&&t.rcbPostProcessBlock){const t=await w(J.POST_PROCESS_BLOCK,{block:e});if(t.defaultPrevented)return null;e=t.data.block}return e},[null==(e=i.event)?void 0:e.rcbPostProcessBlock,w]),M=o(async(e,t)=>{var n,r,A,o;if(!e)return;let l=c.current[e];if(!l)return void g(!1);if(null!=(n=i.event)&&n.rcbPreProcessBlock){const e=await w(J.PRE_PROCESS_BLOCK,{block:l});if(e.defaultPrevented)return;l=e.data.block}g(!0),null!=(r=i.chatInput)&&r.blockSpam&&h(!0),m(!1);const a={prevPath:t,currPath:e,goToPath:N,setTextAreaValue:T,userInput:d.current,endStreamMessage:b,injectMessage:E,removeMessage:P,simulateStreamMessage:B,streamMessage:D,toggleChatWindow:k,showToast:C,dismissToast:x};await(async(e,t,n,r,A,o,i)=>{if(!e)throw new Error(\"Block is not valid.\");for(const l of Object.keys(e))switch(l){case\"message\":await he(e,t,n);break;case\"options\":await ve(e,t);break;case\"checkboxes\":await pe(e,t);break;case\"component\":await ye(e,t);break;case\"chatDisabled\":await be(e,t,A);break;case\"isSensitive\":await Ee(e,t,o);break;case\"transition\":await we(e,t,r,i)}})(l,a,(null==(A=i.botBubble)?void 0:A.simulateStream)??!1,p,h,m,Q),g(!1),\"chatDisabled\"in l||h(null==(o=i.chatInput)?void 0:o.disabled),\"isSensitive\"in l||m(!1),y(\"function\"==typeof l.file),S(e),I(f.current&&!l.chatDisabled),e!==t&&u.current.clear()},[c,S,I,null==(t=i.botBubble)?void 0:t.simulateStream,null==(n=i.chatInput)?void 0:n.disabled,d,b,E,P,B,D,k,C,x,f,u]),O=o(()=>s.current.length>0?s.current.at(-1)??null:null,[]),L=o(()=>s.current.length>1?s.current.at(-2)??null:null,[]),N=o(async e=>{var t;const n=O(),r=L();return(null==(t=i.event)||!t.rcbChangePath||!(await w(J.CHANGE_PATH,{currPath:n,prevPath:r,nextPath:e})).defaultPrevented)&&(a(t=>[...t,e]),await M(e,n),!0)},[null==(r=i.chatInput)?void 0:r.blockSpam,null==(A=i.event)?void 0:A.rcbChangePath,M,w]),R=o(e=>{const t=\"function\"==typeof e?e(s.current):e;a(t)},[s]);return{getCurrPath:O,getPrevPath:L,goToPath:N,blockAllowsAttachment:v,setBlockAllowsAttachment:y,paths:l,replacePaths:R,firePostProcessBlockEvent:Q}},dt=()=>{var e,t,n,r;const{settings:A}=H(),{endStreamMessage:i,injectMessage:l,removeMessage:a,simulateStreamMessage:s,streamMessage:c}=Ve(),{syncedPathsRef:u}=te(),{getCurrPath:d,getPrevPath:f,goToPath:p,firePostProcessBlockEvent:g}=ut(),{setSyncedTextAreaSensitiveMode:h,setSyncedTextAreaDisabled:m,setSyncedIsBotTyping:v,setBlockAllowsAttachment:y,setInputLength:w,syncedVoiceToggledOnRef:b,syncedTextAreaSensitiveModeRef:E}=X(),{flowRef:P,inputRef:B,keepVoiceOnRef:D,paramsInputRef:C,timeoutIdRef:x}=G(),{showToast:k,dismissToast:S}=ct(),{dispatchRcbEvent:T}=re(),{syncVoice:I}=ot(),{setTextAreaValue:Q}=it(),{toggleChatWindow:M}=Ae(),O=o(async e=>{var t,n,r,o,i,a;const c=d();if(c&&P.current[c]){if(E.current){if(null!=(t=null==A?void 0:A.sensitiveInput)&&t.hideInUserBubble)return;if(null!=(n=null==A?void 0:A.sensitiveInput)&&n.maskInUserBubble)return void(null!=(r=A.userBubble)&&r.simulateStream?await s(\"*\".repeat((null==(o=A.sensitiveInput)?void 0:o.asterisksCount)??10),\"USER\"):await l(\"*\".repeat((null==(i=A.sensitiveInput)?void 0:i.asterisksCount)??10),\"USER\"))}null!=(a=A.userBubble)&&a.simulateStream?await s(e,\"USER\"):await l(e,\"USER\")}},[P,d,A,l,s,E]),L=o(async(e,t=!0)=>{var n,r;if(\"\"===(e=e.trim()))return;t&&await O(e),x.current&&clearTimeout(x.current),B.current&&(Q(\"\"),w(0));const o=d();if(!o)return;let E=P.current[o];const T=await g(E);T&&(null!=(n=A.chatInput)&&n.blockSpam&&m(!0),D.current=b.current,I(!1),setTimeout(()=>{v(!0)},400),h(!1),setTimeout(async()=>{var e;const t={prevPath:f(),currPath:d(),goToPath:p,setTextAreaValue:Q,userInput:C.current,injectMessage:l,simulateStreamMessage:s,streamMessage:c,removeMessage:a,endStreamMessage:i,toggleChatWindow:M,showToast:k,dismissToast:S},n=u.current.length;await Pe(T,t),u.current.length===n&&(m(\"chatDisabled\"in E?!!E.chatDisabled:!(null==(e=A.chatInput)||!e.disabled)),Ee(E,t,h),y(\"function\"==typeof E.file),I(D.current),v(!1))},null==(r=A.chatInput)?void 0:r.botDelay))},[x,null==(e=A.chatInput)?void 0:e.blockSpam,null==(t=A.chatInput)?void 0:t.botDelay,null==(n=A.chatInput)?void 0:n.disabled,D,b,I,O,f,d,p,l,s,c,a,i,M,k,S,P]);return{handleSubmitText:o(async(e,t=!0)=>{var n,r;e=e??(null==(n=B.current)?void 0:n.value),!(null!=(r=A.event)&&r.rcbUserSubmitText&&(await T(J.USER_SUBMIT_TEXT,{inputText:e,sendInChat:t})).defaultPrevented||!d())&&L(e,t)},[T,d,L,B,null==(r=A.event)?void 0:r.rcbUserSubmitText])}},ft=()=>{var e;const{settings:t}=H();return s(()=>{var e;if(typeof window>\"u\"||!window.navigator)return!1;if(null==(e=t.device)||!e.applyMobileOptimizations)return!0;const n=navigator.userAgent,r=!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n),A=window.innerWidth>=768;return r&&A},[null==(e=t.device)?void 0:e.applyMobileOptimizations])},pt=({buttons:e})=>{var t,n,r,A,o,i,a,s,c,d,f;const p=ft(),{settings:v}=H(),{styles:y}=j(),{textAreaDisabled:w,textAreaSensitiveMode:b,inputLength:E,hasFlowStarted:P,setHasFlowStarted:B,setInputLength:D}=X(),{inputRef:C}=G(),[x,k]=l(!1),[S,T]=l(!1),{handleSubmitText:I}=dt(),{setTextAreaValue:Q}=it(),M={boxSizing:p?\"content-box\":\"border-box\",...y.chatInputAreaStyle},O={outline:w?\"\":\"none\",boxShadow:w?\"\":`0 0 5px ${null==(t=v.general)?void 0:t.primaryColor}`,boxSizing:p?\"content-box\":\"border-box\",...y.chatInputAreaStyle,...y.chatInputAreaFocusedStyle},L={cursor:`url(\"${null==(n=v.general)?void 0:n.actionDisabledIcon}\"), auto`,caretColor:\"transparent\",boxSizing:p?\"content-box\":\"border-box\",...y.chatInputAreaStyle,...y.chatInputAreaDisabledStyle},N={color:\"#989898\",...y.characterLimitStyle},R={color:\"#ff0000\",...y.characterLimitReachedStyle},F=w?null==(r=v.chatInput)?void 0:r.disabledPlaceholderText:null==(A=v.chatInput)?void 0:A.enabledPlaceholderText,U=()=>{w||k(!0)},z=()=>{k(!1)},_=()=>{T(!0)},q=()=>{T(!1)},Y=async e=>{var t;if(!S&&\"Enter\"===e.key){if(e.shiftKey)return void(null!=(t=v.chatInput)&&t.allowNewline||e.preventDefault());e.preventDefault(),await I()}},W=e=>{C.current&&(Q(e.target.value),D(C.current.value.length))};return h(\"div\",{\"aria-label\":(null==(o=v.ariaLabel)?void 0:o.inputTextArea)??\"input text area\",role:\"textbox\",onMouseDown:e=>{var t;e.stopPropagation(),!P&&\"ON_CHATBOT_INTERACT\"===(null==(t=v.general)?void 0:t.flowStartTrigger)&&B(!0)},style:{...y.chatInputContainerStyle},className:\"rcb-chat-input\",children:[b&&null!=(i=v.sensitiveInput)&&i.maskInTextArea?g(\"input\",{ref:C,type:\"password\",className:\"rcb-chat-input-textarea\",style:w?L:x?O:M,placeholder:F,onChange:W,onKeyDown:Y,onFocus:U,onBlur:z,onCompositionStart:_,onCompositionEnd:q}):g(\"textarea\",{ref:C,style:w?L:x?O:M,rows:1,className:\"rcb-chat-input-textarea\",placeholder:F,onChange:W,onKeyDown:Y,onFocus:U,onBlur:z,onCompositionStart:_,onCompositionEnd:q}),h(m,{children:[null==e?void 0:e.map((e,t)=>g(u,{children:e},t)),(null==(a=v.chatInput)?void 0:a.showCharacterCount)&&null!=(null==(s=v.chatInput)?void 0:s.characterLimit)&&(null==(c=v.chatInput)?void 0:c.characterLimit)>0&&h(\"div\",{className:\"rcb-chat-input-char-counter\",style:E>=(null==(d=v.chatInput)?void 0:d.characterLimit)?R:N,children:[E,\"/\",null==(f=v.chatInput)?void 0:f.characterLimit]})]})]})},gt=({buttons:e})=>{var t;const{settings:n}=H(),{styles:r}=j();return h(\"div\",{\"data-testid\":\"chatbot-footer-container\",style:{...r.footerStyle},className:\"rcb-chat-footer-container\",children:[g(\"div\",{className:\"rcb-chat-footer\",children:null==e?void 0:e.map((e,t)=>g(u,{children:e},t))}),g(\"span\",{children:null==(t=n.footer)?void 0:t.text})]})},ht=()=>{var e,t,n,r,A,o,i;const{settings:a}=H(),{styles:s}=j(),{unreadCount:c}=X(),{isChatWindowOpen:u,toggleChatWindow:d}=Ae(),[f,p]=l(!1),v={backgroundImage:`linear-gradient(to right, ${null==(e=a.general)?void 0:e.secondaryColor},\\n\\t\\t\\t${null==(t=a.general)?void 0:t.primaryColor})`,...s.chatButtonStyle},y={transform:\"scale(1.05)\",...v,...s.chatButtonHoveredStyle},w={backgroundImage:`url(${null==(n=a.chatButton)?void 0:n.icon})`,fill:\"#fff\",width:75,height:75,...s.chatIconStyle};return g(m,{children:!(null!=(r=a.general)&&r.embedded)&&h(\"div\",{\"aria-label\":(null==(A=a.ariaLabel)?void 0:A.chatButton)??\"open chat\",role:\"button\",style:f?y:v,className:\"rcb-toggle-button \"+(u?\"rcb-button-hide\":\"rcb-button-show\"),onMouseEnter:()=>{p(!0)},onMouseLeave:()=>{p(!1)},onClick:()=>d(!0),children:[(()=>{var e;const t=null==(e=a.chatButton)?void 0:e.icon;return t&&\"string\"!=typeof t?t&&g(\"span\",{className:\"rcb-toggle-icon\",children:g(t,{style:w})}):g(\"span\",{className:\"rcb-toggle-icon\",style:w})})(),!(null!=(o=a.notification)&&o.disabled)&&(null==(i=a.notification)?void 0:i.showCount)&&g(\"span\",{style:{...s.notificationBadgeStyle},className:\"rcb-badge\",children:c})]})})},mt=()=>{var e,t,n,r,A,o;const i=ft(),{settings:s}=H(),{styles:c}=j(),{chatBodyRef:u}=G(),{isChatWindowOpen:d,toggleChatWindow:f}=Ae(),[p,v]=l(!1),[y,w]=l(!1),[b,E]=l(0);a(()=>{var e,t,n;const r=null==(e=s.tooltip)?void 0:e.mode;if(\"ALWAYS\"===r)if(i){let e;e=d?((null==(t=u.current)?void 0:t.offsetWidth)??375)-(\"number\"==typeof(null==(n=c.chatButtonStyle)?void 0:n.width)?c.chatButtonStyle.width:75):0,E(e),v(!0)}else v(!d);else\"NEVER\"===r?v(!1):\"START\"===r?y?v(!1):(w(!0),v(!0)):\"CLOSE\"===r&&v(!d)},[d,i,y,null==(e=c.chatButtonStyle)?void 0:e.width,null==(t=s.tooltip)?void 0:t.mode]);const P={transform:`translateX(-${b}px)`,right:((null==(n=c.chatButtonStyle)?void 0:n.width)??75)+40,bottom:30,backgroundColor:null==(r=s.general)?void 0:r.secondaryColor,color:\"#fff\",...c.tooltipStyle},B={borderColor:`transparent transparent transparent ${P.backgroundColor}`};return g(m,{children:!(null!=(A=s.general)&&A.embedded)&&h(\"div\",{\"data-testid\":\"chat-tooltip\",style:P,className:\"rcb-chat-tooltip \"+(p?\"rcb-tooltip-show\":\"rcb-tooltip-hide\"),onClick:()=>f(!0),children:[g(\"span\",{children:null==(o=s.tooltip)?void 0:o.text}),g(\"span\",{className:\"rcb-chat-tooltip-tail\",style:B})]})})},vt=({id:e,content:t,timeout:n})=>{var r,A;const{settings:o}=H(),{styles:i}=j(),[s]=l({toastPromptStyle:{...i.toastPromptStyle},toastPromptHoveredStyle:{...i.toastPromptHoveredStyle}}),{dismissToast:c}=ct(),[u,d]=l(!1),f={color:null==(r=o.general)?void 0:r.primaryColor,borderColor:null==(A=o.general)?void 0:A.primaryColor,...s.toastPromptHoveredStyle};return a(()=>{if(n){const t=setTimeout(()=>{c(e)},n);return()=>clearTimeout(t)}},[e,c,n]),\"string\"==typeof t?g(\"div\",{onMouseEnter:()=>{d(!0)},onMouseLeave:()=>{d(!1)},style:u?f:s.toastPromptStyle,onMouseDown:async t=>{var n;null!=(n=o.toast)&&n.dismissOnClick&&(t.preventDefault(),await c(e))},className:\"rcb-toast-prompt\",children:t}):g(m,{children:t})},yt=()=>{var e,t,n,r,A,o,i,l,a,s,c,u;const{styles:d}=j(),{toasts:f}=at(),p={bottom:`calc(${\"number\"==typeof(null==(e=d.footerStyle)?void 0:e.height)?`${null==(t=d.footerStyle)?void 0:t.height}px`:(null==(n=d.footerStyle)?void 0:n.height)??\"50px\"} + ${\"number\"==typeof(null==(r=d.chatInputContainerStyle)?void 0:r.height)?`${null==(A=d.chatInputContainerStyle)?void 0:A.height}px`:(null==(o=d.chatInputContainerStyle)?void 0:o.height)??\"70px\"} + 20px)`,width:300,minWidth:`calc(${\"number\"==typeof(null==(i=d.chatWindowStyle)?void 0:i.width)?`${null==(l=d.chatWindowStyle)?void 0:l.width}px`:(null==(a=d.chatWindowStyle)?void 0:a.width)??\"375px\"} / 2)`,maxWidth:`calc(${\"number\"==typeof(null==(s=d.chatWindowStyle)?void 0:s.width)?`${null==(c=d.chatWindowStyle)?void 0:c.width}px`:(null==(u=d.chatWindowStyle)?void 0:u.width)??\"375px\"} - 50px)`,...d.toastPromptContainerStyle};return g(\"div\",{className:\"rcb-toast-prompt-container\",style:p,children:f.map(e=>g(vt,{id:e.id,content:e.content,timeout:e.timeout},e.id))})},wt=({file:e,fileType:t,fileUrl:n})=>{var r,A,o;const{settings:i}=H(),{styles:l}=j(),a={backgroundColor:null==(r=i.general)?void 0:r.primaryColor,maxWidth:null!=(A=i.userBubble)&&A.showAvatar?\"65%\":\"70%\",...l.mediaDisplayContainerStyle};return g(m,{children:n?h(m,{children:[\"image\"===t&&n&&g(\"div\",{style:a,className:\"rcb-media-display-image-container rcb-media-entry\",\"data-testid\":\"media-display-image-container\",children:g(\"img\",{src:n,alt:\"Image Display\",className:\"rcb-media-display-image\"})}),\"video\"===t&&n&&g(\"div\",{style:a,className:\"rcb-media-display-video-container rcb-media-entry\",\"data-testid\":\"media-display-video-container\",children:h(\"video\",{controls:!0,className:\"rcb-media-display-video\",children:[g(\"source\",{src:n,type:e.type}),\"Your browser does not support the video tag.\"]})}),\"audio\"===t&&n&&h(\"audio\",{\"data-testid\":\"media-display-audio-container\",style:{maxWidth:null!=(o=i.userBubble)&&o.showAvatar?\"65%\":\"70%\"},controls:!0,className:\"rcb-media-display-audio rcb-media-entry\",children:[g(\"source\",{src:n,type:e.type}),\"Your browser does not support the audio tag.\"]})]}):g(m,{})})},bt=async e=>{if(!e)return{fileType:null,fileUrl:null};const t=e.type.split(\"/\")[0];if(![\"image\",\"video\",\"audio\"].includes(t))return{fileType:null,fileUrl:null};try{return{fileType:t,fileUrl:await new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(new Error(\"File reading failed\")),r.readAsDataURL(e)})}}catch(e){return console.error(e),{fileType:null,fileUrl:null}}},Et=()=>{var e,t,n,r,A,o;const{settings:i}=H(),{styles:l}=j(),{injectMessage:a,simulateStreamMessage:s,streamMessage:c,removeMessage:u,endStreamMessage:d}=Ve(),{getCurrPath:f,getPrevPath:p,goToPath:m,blockAllowsAttachment:v}=ut(),{flowRef:y,inputRef:w}=G(),b=y.current,{showToast:E,dismissToast:P}=ct(),{dispatchRcbEvent:B}=re(),{toggleChatWindow:D}=Ae(),{setTextAreaValue:C}=it(),{handleSubmitText:x}=dt(),k={cursor:`url(\"${null==(e=i.general)?void 0:e.actionDisabledIcon}\"), auto`,...l.fileAttachmentButtonStyle,...l.fileAttachmentButtonDisabledStyle},S={backgroundImage:`url(${null==(t=i.fileAttachment)?void 0:t.icon})`,fill:\"#a6a6a6\",...l.fileAttachmentIconStyle},T={backgroundImage:`url(${null==(n=i.fileAttachment)?void 0:n.icon})`,fill:\"#a6a6a6\",...l.fileAttachmentIconStyle,...l.fileAttachmentIconDisabledStyle};return h(\"label\",{\"aria-label\":(null==(r=i.ariaLabel)?void 0:r.fileAttachmentButton)??\"upload file\",role:\"button\",className:v?\"rcb-attach-button-enabled\":\"rcb-attach-button-disabled\",style:v?{...l.fileAttachmentButtonStyle}:k,children:[g(\"input\",{className:\"rcb-attach-input\",role:\"file\",type:\"file\",onChange:async e=>{var t,n,r,A;const o=e.target.files;if(!o)return;const l=Array.from(o);if(e.target.value=\"\",null!=(t=i.event)&&t.rcbUserUploadFile&&(await B(J.USER_UPLOAD_FILE,{files:l})).defaultPrevented)return;const h=f();if(!h)return;const v=b[h];if(!v)return;const y=v.file;if(null!=y){const e=[];for(let t=0;t<l.length;t++){if(e.push(l[t].name),null==(n=i.fileAttachment)||!n.showMediaDisplay)continue;const r=await bt(l[t]);!r.fileType||!r.fileUrl||await a(g(wt,{file:l[t],fileType:r.fileType,fileUrl:r.fileUrl}),\"USER\")}await x(\"📄 \"+e.join(\", \"),null==(r=i.fileAttachment)?void 0:r.sendFileName),await y({userInput:null==(A=w.current)?void 0:A.value,prevPath:p(),currPath:f(),goToPath:m,setTextAreaValue:C,injectMessage:a,simulateStreamMessage:s,streamMessage:c,removeMessage:u,endStreamMessage:d,toggleChatWindow:D,showToast:E,dismissToast:P,files:l})}},multiple:null==(A=i.fileAttachment)?void 0:A.multiple,accept:null==(o=i.fileAttachment)?void 0:o.accept,disabled:!v}),(()=>{var e,t;const n=v?null==(e=i.fileAttachment)?void 0:e.icon:null==(t=i.fileAttachment)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&g(\"span\",{className:v?\"rcb-attach-icon-enabled\":\"rcb-attach-icon-disabled\",children:g(n,{style:v?S:T})}):g(\"span\",{className:v?\"rcb-attach-icon-enabled\":\"rcb-attach-icon-disabled\",style:v?S:T})})()]})},Pt=()=>{var e,t,n,r,A,o;const{settings:s}=H(),{styles:c}=j(),{syncedTextAreaDisabledRef:u}=X(),{inputRef:d}=G(),{textAreaDisabled:f,setTextAreaValue:p}=it(),v=i(null),y=i(null),[w,b]=l(!1),E={cursor:`url(\"${null==(e=s.general)?void 0:e.actionDisabledIcon}\"), auto`,...c.emojiButtonStyle,...c.emojiButtonDisabledStyle},P={backgroundImage:`url(${null==(t=s.emoji)?void 0:t.icon})`,fill:\"#a6a6a6\",...c.emojiIconStyle},B={backgroundImage:`url(${null==(n=s.emoji)?void 0:n.icon})`,fill:\"#a6a6a6\",...c.emojiIconStyle,...c.emojiIconDisabledStyle};a(()=>{const e=e=>{const t=e.composedPath();v.current&&!t.includes(v.current)&&y.current&&!t.includes(y.current)&&b(!1)},t=()=>{(()=>{if(v.current&&y.current){const e=y.current.getBoundingClientRect(),t=v.current.offsetHeight,n=e.top-t-8;v.current.style.left=`${e.left}px`,v.current.style.top=`${n}px`}})()};return document.addEventListener(\"mousedown\",e),window.addEventListener(\"resize\",t),()=>{document.removeEventListener(\"mousedown\",e),window.removeEventListener(\"resize\",t)}},[]);return h(m,{children:[g(\"div\",{\"aria-label\":(null==(r=s.ariaLabel)?void 0:r.emojiButton)??\"emoji picker\",role:\"button\",ref:y,className:\"\"+(f?\"rcb-emoji-button-disabled\":\"rcb-emoji-button-enabled\"),style:f?E:{...c.emojiButtonStyle},onMouseDown:e=>{e.preventDefault(),u.current?b(!1):b(e=>!e)},children:(()=>{var e,t;const n=f?null==(e=s.emoji)?void 0:e.iconDisabled:null==(t=s.emoji)?void 0:t.icon;return n&&\"string\"!=typeof n?n&&g(\"span\",{className:\"\"+(f?\"rcb-emoji-icon-disabled\":\"rcb-emoji-icon-enabled\"),children:g(n,{style:f?B:P})}):g(\"span\",{className:\"\"+(f?\"rcb-emoji-icon-disabled\":\"rcb-emoji-icon-enabled\"),style:f?B:P})})()}),w&&g(\"div\",{className:\"rcb-emoji-button-popup\",ref:v,children:null==(o=null==(A=s.emoji)?void 0:A.list)?void 0:o.map((e,t)=>g(\"span\",{className:\"rcb-emoji\",onMouseDown:t=>((e,t)=>{e.preventDefault(),d.current&&(p(d.current.value+t),setTimeout(()=>{const e=d.current;if(e){e.focus();const t=e.value.length;e.setSelectionRange(t,t)}},50)),b(!1)})(t,e),children:e},t))})]})},Bt=()=>{var e,t,n;const{settings:r}=H(),{styles:A}=j(),{audioToggledOn:o,toggleAudio:i}=We(),l={backgroundImage:`url(${null==(e=r.audio)?void 0:e.icon})`,fill:\"#fcec3d\",...A.audioIconStyle},a={backgroundImage:`url(${null==(t=r.audio)?void 0:t.iconDisabled})`,fill:\"#e8eaed\",...A.audioIconStyle,...A.audioIconDisabledStyle};return g(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.audioButton)??\"toggle audio\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),await i()},style:o?{...A.audioButtonStyle}:{...A.audioButtonStyle,...A.audioButtonDisabledStyle},children:(()=>{var e,t;const n=o?null==(e=r.audio)?void 0:e.icon:null==(t=r.audio)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&g(\"span\",{className:\"rcb-audio-icon\",\"data-testid\":\"rcb-audio-icon\",children:g(n,{style:o?l:a,\"data-testid\":\"rcb-audio-icon-svg\"})}):g(\"span\",{className:\"rcb-audio-icon\",\"data-testid\":\"rcb-audio-icon\",style:o?l:a})})()})},Dt=()=>{var e,t;const{settings:n}=H(),{styles:r}=j(),{toggleChatWindow:A}=Ae(),o={backgroundImage:`url(${null==(e=n.header)?void 0:e.closeChatIcon})`,fill:\"#e8eaed\",stroke:\"#e8eaed\",...r.closeChatIconStyle};return g(\"div\",{\"aria-label\":(null==(t=n.ariaLabel)?void 0:t.closeChatButton)??\"close chat\",role:\"button\",onMouseDown:e=>{e.stopPropagation(),A(!1)},style:{...r.closeChatButtonStyle},children:(()=>{var e;const t=null==(e=n.header)?void 0:e.closeChatIcon;return t&&\"string\"!=typeof t?t&&g(\"span\",{className:\"rcb-close-chat-icon\",\"data-testid\":\"rcb-close-chat-icon\",children:g(t,{style:o})}):g(\"span\",{className:\"rcb-close-chat-icon\",\"data-testid\":\"rcb-close-chat-icon\",style:o})})()})},Ct=()=>{var e,t,n;const{settings:r}=H(),{styles:A}=j(),{notificationsToggledOn:o,toggleNotifications:i}=(()=>{const{notificationsToggledOn:e,toggleNotifications:t,playNotificationSound:n}=Ge();return{notificationsToggledOn:e,toggleNotifications:t,playNotificationSound:n}})(),l={backgroundImage:`url(${null==(e=r.notification)?void 0:e.icon})`,fill:\"#fcec3d\",...A.notificationIconStyle},a={backgroundImage:`url(${null==(t=r.notification)?void 0:t.iconDisabled})`,fill:\"#e8eaed\",...A.notificationIconStyle,...A.notificationIconDisabledStyle};return g(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.notificationButton)??\"toggle notifications\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),await i()},style:o?{...A.notificationButtonStyle}:{...A.notificationButtonStyle,...A.notificationButtonDisabledStyle},children:(()=>{var e,t;const n=o?null==(e=r.notification)?void 0:e.icon:null==(t=r.notification)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&g(\"span\",{className:\"rcb-notification-icon\",\"data-testid\":\"rcb-notification-icon\",children:g(n,{style:o?l:a,\"data-testid\":\"rcb-notification-icon-svg\"})}):g(\"span\",{className:\"rcb-notification-icon\",\"data-testid\":\"rcb-notification-icon\",style:o?l:a})})()})},xt=()=>{var e,t,n;const{settings:r}=H(),{styles:A}=j(),{injectMessage:o}=Ve(),{inputRef:s}=G(),{voiceToggledOn:c,toggleVoice:u}=ot(),{setInputLength:d,setTextAreaValue:f,textAreaDisabled:p}=it(),{handleSubmitText:h}=dt(),m=i([]),[v,y]=l(!1);a(()=>{var e;null!=(e=r.voice)&&e.sendAsAudio?(P(),m.current=[]):h()},[v]),a(()=>{c?((e,t,n,r,A,o,i)=>{var l;null!=(l=e.voice)&&l.sendAsAudio?nt(n,o):tt(e,t,n,r,A,i)})(r,u,E,f,d,m,s):rt()},[c]);const w={backgroundImage:`url(${null==(e=r.voice)?void 0:e.icon})`,fill:\"#9aa0a6\",...A.voiceIconStyle},b={backgroundImage:`url(${null==(t=r.voice)?void 0:t.iconDisabled})`,fill:\"#9aa0a6\",...A.voiceIconStyle,...A.voiceIconDisabledStyle},E=()=>{y(e=>!e)},P=async()=>{const e=new Blob(m.current,{type:\"audio/wav\"}),t=new File([e],\"voice-input.wav\",{type:\"audio/wav\"}),n=await bt(t);!n.fileType||!n.fileUrl||await o(g(wt,{file:t,fileType:n.fileType,fileUrl:n.fileUrl}),\"USER\")};return g(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.voiceButton)??\"toggle voice\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),!p&&await u()},style:c&&!p?{...A.voiceButtonStyle}:{...A.voiceButtonStyle,...A.voiceButtonDisabledStyle},className:c&&!p?\"rcb-voice-button-enabled\":\"rcb-voice-button-disabled\",children:(()=>{var e,t;const n=c?null==(e=r.voice)?void 0:e.icon:null==(t=r.voice)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&g(\"span\",{className:\"rcb-voice-icon \"+(c&&!p?\"on\":\"\"),children:g(n,{style:c&&!p?w:b})}):g(\"span\",{className:\"rcb-voice-icon\"+(c&&!p?\"-on\":\"\"),\"data-testid\":\"rcb-voice-icon\",style:c&&!p?w:b})})()})},kt=()=>{var e,t,n,r,A,o,i,a;const{settings:s}=H(),{styles:c}=j(),{textAreaDisabled:u}=X(),[d,f]=l(!1),{handleSubmitText:p}=dt(),h={backgroundColor:null==(e=s.general)?void 0:e.primaryColor,...c.sendButtonStyle},m={cursor:`url(\"${null==(t=s.general)?void 0:t.actionDisabledIcon}\"), auto`,backgroundColor:null==(n=s.general)?void 0:n.primaryColor,...c.sendButtonStyle,...c.sendButtonDisabledStyle},v={backgroundColor:null==(r=s.general)?void 0:r.secondaryColor,...c.sendButtonStyle,...c.sendButtonHoveredStyle},y={backgroundImage:`url(${null==(A=s.chatInput)?void 0:A.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle},w={backgroundImage:`url(${null==(o=s.chatInput)?void 0:o.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle,...c.sendIconDisabledStyle},b={backgroundImage:`url(${null==(i=s.chatInput)?void 0:i.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle,...c.sendIconHoveredStyle};return g(\"div\",{\"aria-label\":(null==(a=s.ariaLabel)?void 0:a.sendButton)??\"send message\",role:\"button\",onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},onMouseDown:async e=>{null==e||e.preventDefault(),!u&&await p()},style:u?m:d?v:h,className:\"rcb-send-button\",children:(()=>{var e;const t=null==(e=s.chatInput)?void 0:e.sendButtonIcon;return t&&\"string\"!=typeof t?t&&g(\"span\",{className:\"rcb-send-icon\",\"data-testid\":\"rcb-send-icon\",children:g(t,{style:u?w:d?b:y})}):g(\"span\",{className:\"rcb-send-icon\",\"data-testid\":\"rcb-send-icon\",style:u?w:d?b:y})})()})},St=(e,t)=>{var n,r,A,o,i,l,a,s,c;const u={[E.AUDIO_BUTTON]:null==(n=e.audio)?void 0:n.disabled,[E.CLOSE_CHAT_BUTTON]:null==(r=e.general)?void 0:r.embedded,[E.EMOJI_PICKER_BUTTON]:null==(A=e.emoji)?void 0:A.disabled,[E.FILE_ATTACHMENT_BUTTON]:null==(o=e.fileAttachment)?void 0:o.disabled,[E.NOTIFICATION_BUTTON]:null==(i=e.notification)?void 0:i.disabled,[E.SEND_MESSAGE_BUTTON]:!1,[E.VOICE_MESSAGE_BUTTON]:null==(l=e.voice)?void 0:l.disabled},d={},f=e=>e?e.map(e=>{if(\"string\"==typeof e){if((e=>Object.values(E).includes(e))(e)&&!u[e]){if(d[e])return d[e];const n=t[e];if(\"function\"==typeof n){const t=n();return d[e]=t,t}return null}return null}return e}).filter(e=>null!==e):[];return{header:f(null==(a=e.header)?void 0:a.buttons),chatInput:f(null==(s=e.chatInput)?void 0:s.buttons),footer:f(null==(c=e.footer)?void 0:c.buttons)}},Tt=()=>{const{settings:e}=H(),t=s(()=>({[E.CLOSE_CHAT_BUTTON]:()=>g(Dt,{}),[E.AUDIO_BUTTON]:()=>g(Bt,{}),[E.NOTIFICATION_BUTTON]:()=>g(Ct,{}),[E.EMOJI_PICKER_BUTTON]:()=>g(Pt,{}),[E.FILE_ATTACHMENT_BUTTON]:()=>g(Et,{}),[E.SEND_MESSAGE_BUTTON]:()=>g(kt,{}),[E.VOICE_MESSAGE_BUTTON]:()=>g(xt,{})}),[]),{header:n,chatInput:r,footer:A}=s(()=>St(e,t),[e,t]);return{headerButtons:s(()=>n,[n]),chatInputButtons:s(()=>r,[r]),footerButtons:s(()=>A,[A])}},It=()=>{const{settings:e}=H(),{styles:t}=j(),{setSyncedMessages:n,syncedMessagesRef:r}=le(),{isLoadingChatHistory:A,setIsLoadingChatHistory:i,hasChatHistoryLoaded:l,setHasChatHistoryLoaded:a}=X(),{chatBodyRef:s}=G(),{dispatchRcbEvent:c}=re(),u=o(async()=>{var A,o;const l=Oe();if(!l||null!=(A=e.event)&&A.rcbLoadChatHistory&&(await c(J.LOAD_CHAT_HISTORY,{})).defaultPrevented)return;i(!0);const u=(null==(o=s.current)?void 0:o.scrollHeight)??0;((e,t,n,r,A,o,i,l,a)=>{var s;if(Se=!0,null!=n)try{const s=xe(g(De,{}),\"SYSTEM\"),c=A.current.slice(1);r([s,...c]);const u=n.map(n=>{if(\"object\"===n.type){const r=Fe(n.content,e,t);return{...n,content:r}}return n});setTimeout(()=>{var t;const n=A.current.slice(1);let o=null!=(t=e.chatHistory)&&t.autoLoad?xe(g(m,{}),\"SYSTEM\"):xe(g(Be,{}),\"SYSTEM\");r([...u,o,...n]),a(!0)},500),setTimeout(()=>{if(!o.current)return;const{scrollHeight:e}=o.current,t=e-i;o.current.scrollTop+=t,l(!1)},510)}catch{ke.removeItem(null==(s=e.chatHistory)?void 0:s.storageKey)}})(e,t,l,n,r,s,u,i,a)},[e,t,c,r,s,i,a]);return{isLoadingChatHistory:A,setIsLoadingChatHistory:i,hasChatHistoryLoaded:l,showChatHistory:u}},Qt=()=>{var e,t,n;const{settings:r}=H(),{styles:A}=j(),{showChatHistory:o}=It(),[i,a]=l(!1),s={color:null==(e=r.general)?void 0:e.primaryColor,borderColor:null==(t=r.general)?void 0:t.primaryColor,...A.chatHistoryButtonStyle,...A.chatHistoryButtonHoveredStyle};return g(\"div\",{className:\"rcb-view-history-container\",children:g(\"div\",{onMouseEnter:()=>{a(!0)},onMouseLeave:()=>{a(!1)},style:i?s:{...A.chatHistoryButtonStyle},onMouseDown:e=>{e.preventDefault(),o()},className:\"rcb-view-history-button\",role:\"button\",tabIndex:0,children:g(\"p\",{children:null==(n=r.chatHistory)?void 0:n.viewChatHistoryButtonText})})})},Mt=()=>{var e,t,n,r;const A=ft(),{settings:l}=H(),{replaceMessages:s}=Ve(),{isBotTyping:c,isChatWindowOpen:u,setUnreadCount:d,setSyncedIsChatWindowOpen:f,setSyncedTextAreaDisabled:p,setSyncedAudioToggledOn:h,setSyncedVoiceToggledOn:m,setSyncedIsScrolling:v,syncedIsScrollingRef:y,syncedIsChatWindowOpenRef:w}=X(),{chatBodyRef:b}=G(),{viewportHeight:E,setViewportHeight:P,setViewportWidth:B,scrollToBottom:D}=Ae(),{setUpNotifications:C}=Ge(),{handleFirstInteraction:x}=(()=>{var e;const{settings:t}=H(),{hasInteractedPage:n,setHasInteractedPage:r,hasFlowStarted:A,setHasFlowStarted:i}=X(),l=o(()=>{var e;if(r(!0),!A&&\"ON_PAGE_INTERACT\"===(null==(e=t.general)?void 0:e.flowStartTrigger)&&i(!0),!window.SpeechSynthesisUtterance)return void console.info(\"Speech Synthesis API is not supported in this environment.\");const n=new window.SpeechSynthesisUtterance;n.text=\"\",n.onend=()=>{window.removeEventListener(\"click\",l),window.removeEventListener(\"keydown\",l),window.removeEventListener(\"touchstart\",l)},window.speechSynthesis.speak(n)},[A,null==(e=t.general)?void 0:e.flowStartTrigger]);return{hasInteractedPage:n,handleFirstInteraction:l}})(),{showChatHistory:k}=It(),S=i(0),T=i(!1);a(()=>(window.addEventListener(\"click\",x),window.addEventListener(\"keydown\",x),window.addEventListener(\"touchstart\",x),()=>{window.removeEventListener(\"click\",x),window.removeEventListener(\"keydown\",x),window.removeEventListener(\"touchstart\",x)}),[]),a(()=>{const e=b.current;if(!e)return;const t=()=>{T.current||(T.current=!0,requestAnimationFrame(()=>{var t,n;if(!e)return;const{scrollTop:r,clientHeight:A,scrollHeight:o}=e,i=r+A<o-((null==(t=l.chatWindow)?void 0:t.messagePromptOffset)??30);v(i),y.current=i,i||(r+A>=o-1&&(e.scrollTop=o-A-1),(w.current||null!=(n=l.general)&&n.embedded)&&d(0)),T.current=!1}))};return e.addEventListener(\"wheel\",t,{passive:!0}),e.addEventListener(\"touchmove\",t,{passive:!0}),()=>{e.removeEventListener(\"wheel\",t),e.removeEventListener(\"touchmove\",t)}},[]),a(()=>{var e,t,n;p(null==(e=l.chatInput)?void 0:e.disabled),f(null==(t=l.chatWindow)?void 0:t.defaultOpen),h(null==(n=l.audio)?void 0:n.defaultToggledOn),setTimeout(()=>{var e;m(null==(e=l.voice)?void 0:e.defaultToggledOn)},1)},[]),a(()=>{var e;null!=(e=l.notification)&&e.disabled||C()},[null==(e=l.notification)?void 0:e.disabled]),a(()=>{!y.current&&null!=b&&b.current&&D()},[c]),a(()=>{var e,t;if(null!=(e=l.chatHistory)&&e.disabled)ke&&ke.removeItem(Te);else if(He(l),Oe().length>0){const e=xe(g(Qt,{}),\"SYSTEM\");s([e]),null!=(t=l.chatHistory)&&t.autoLoad&&k()}},[null==(t=l.chatHistory)?void 0:t.storageKey,null==(n=l.chatHistory)?void 0:n.maxEntries,null==(r=l.chatHistory)?void 0:r.disabled]),a(()=>{var e;A||null!=(e=l.general)&&e.embedded||!navigator.virtualKeyboard||(navigator.virtualKeyboard.overlaysContent=!0,navigator.virtualKeyboard.addEventListener(\"geometrychange\",e=>{if(!e.target)return;const{x:t,y:n,width:r,height:A}=e.target.boundingRect;0==t&&0==n&&0==r&&0==A?(setTimeout(()=>{var e;P(null==(e=window.visualViewport)?void 0:e.height)},101),setTimeout(()=>{var e,t;E!=(null==(e=window.visualViewport)?void 0:e.height)&&P(null==(t=window.visualViewport)?void 0:t.height)},1001)):setTimeout(()=>{var e;P((null==(e=window.visualViewport)?void 0:e.height)-A)},101)}))},[A]),a(()=>{var e,t,n,r;if(A)return;u&&(P(null==(e=window.visualViewport)?void 0:e.height),B(null==(t=window.visualViewport)?void 0:t.width));const o=()=>window.scrollTo({top:0,left:0,behavior:\"auto\"}),i=()=>S.current=window.scrollY,l=()=>{var e,t;P(null==(e=window.visualViewport)?void 0:e.height),B(null==(t=window.visualViewport)?void 0:t.width)},a=()=>{var e;window.removeEventListener(\"scroll\",o),window.removeEventListener(\"scroll\",i),null==(e=window.visualViewport)||e.removeEventListener(\"resize\",l)};return u?(a(),document.body.style.position=\"fixed\",window.addEventListener(\"scroll\",o),null==(n=window.visualViewport)||n.addEventListener(\"resize\",l)):(document.body.style.position=\"static\",a(),window.scrollTo({top:S.current,left:0,behavior:\"auto\"}),window.addEventListener(\"scroll\",i),null==(r=window.visualViewport)||r.removeEventListener(\"resize\",l)),a},[u,A])},Ot=\"https://cdn.jsdelivr.net/gh/react-chatbotify/community-themes/themes\",Lt=\"2592000\",Nt=\"RCB_THEME_CACHE_DATA\",Ht=async(e,t)=>{const{id:n,version:r,baseUrl:A=Ot,cacheDuration:o=Lt}=t,i=r||await(async(e,t)=>{const n=`${t}/${e}/meta.json`;try{const e=await fetch(n);return e.ok?(await e.json()).version:(console.error(`Failed to fetch meta.json from ${n}`),null)}catch(e){return console.error(`Failed to fetch meta.json from ${n}`,e),null}})(n,A);if(!i)return console.error(`Unable to find version for theme: ${n}`),{settings:{},inlineStyles:{},cssStylesText:\"\"};const l=((e,t,n)=>{const r=localStorage.getItem(`${Nt}_${e}_${t}`);if(!r)return null;try{const e=JSON.parse(r),t=(new Date).getTime(),A=Math.floor(t/1e3);return e.cacheDate+n>=A?e:null}catch(t){return console.error(`Unable to fetch cache for ${e}`,t),null}})(n,i,o);if(l){const t=Rt(e,l.cssStylesText);return{settings:l.settings,inlineStyles:l.inlineStyles,cssStylesText:t}}const a=`${A}/${n}/${i}/styles.css`,s=`${A}/${n}/${i}/settings.json`,c=`${A}/${n}/${i}/styles.json`;let u=\"\";const d=await fetch(a);d.ok?u=await d.text():console.info(`Could not fetch styles.css from ${a}`);const f=await fetch(s);let p={};f.ok?p=await f.json():console.info(`Could not fetch settings.json from ${s}`);const g=await fetch(c);let h={};g.ok?h=await g.json():console.info(`Could not fetch styles.json from ${c}`),((e,t,n,r,A)=>{const o=(new Date).getTime(),i={settings:n,inlineStyles:r,cssStylesText:A,cacheDate:Math.floor(o/1e3)};localStorage.setItem(`${Nt}_${e}_${t}`,JSON.stringify(i))})(n,i,p,h,u);return{settings:p,inlineStyles:h,cssStylesText:Rt(e,u)}},Rt=(e,t)=>t.split(new RegExp(\"(?<=})\")).map(t=>{const n=t.trim();return n.startsWith(\"@import\")||n.startsWith(\"@keyframes\")||n.startsWith(\"@media\")?n:n?`#${e} ${n}`:\"\"}).join(\"\\n\"),Ft=async(e,t,n,r)=>{var A,o;let i=jt(L),l=jt(F),a=\"\";if(null!=r)if(Array.isArray(r))for(const t of r){const n=await Ht(e,t);i=Ut(n.settings,i),l=Ut(n.inlineStyles,l),a+=n.cssStylesText}else{const t=await Ht(e,r);i=Ut(t.settings,i),l=Ut(t.inlineStyles,l),a+=t.cssStylesText}return null!=t&&(i=Ut(t,i)),null!=n&&(l=Ut(n,l)),null!=(null==(A=i.chatInput)?void 0:A.botDelay)&&(null==(o=i.chatInput)?void 0:o.botDelay)<500&&(i.chatInput.botDelay=500),{settings:i,inlineStyles:l,cssStylesText:a}},Ut=(e,t)=>{const n=[{source:e,target:t}];for(;n.length;){const e=n.pop();if(null==e)continue;const{source:t,target:r}=e;for(const e of Object.keys(t)){const A=e;if(c(t[A]))r[A]=t[A];else if(\"object\"!=typeof t[A]||null===t[A]||Array.isArray(t[A]))try{r[A]=t[A]}catch{}else(\"object\"!=typeof r[A]||null===r[A])&&(r[A]={}),n.push({source:t[A],target:r[A]})}}return t},jt=e=>{if(null===e||\"object\"!=typeof e)return e;const t=Array.isArray(e)?[]:{},n=[{source:e,target:t}],r=new WeakMap;for(r.set(e,t);n.length;){const e=n.pop();if(null==e)continue;const{source:t,target:A}=e;for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const o=t[e];if(o&&\"object\"==typeof o)if(r.has(o))A[e]=r.get(o);else{const t=Array.isArray(o)?[]:{};r.set(o,t),A[e]=t,n.push({source:o,target:t})}else A[e]=o}}return t},zt=()=>{const{settings:e,setSyncedSettings:t,syncedSettingsRef:n}=H(),r=o(n=>{!n||0===Object.keys(n).length||t(jt(Ut(n,e)))},[e]),A=o(e=>{const r=\"function\"==typeof e?e(n.current):e;t(r)},[n]);return{settings:e,replaceSettings:A,updateSettings:r}},_t=()=>{const{styles:e,setSyncedStyles:t,syncedStylesRef:n}=j(),r=o(n=>{!n||0===Object.keys(n).length||t(jt(Ut(n,e)))},[e]),A=o(e=>{const r=\"function\"==typeof e?e(n.current):e;t(r)},[n]);return{styles:e,replaceStyles:A,updateStyles:r}},qt=({plugins:e,slots:t})=>{var n,r;const A=ft(),{settings:o}=H(),{styles:i}=j(),{hasFlowStarted:l,setHasFlowStarted:c}=X(),{inputRef:u}=G(),{viewportHeight:d,viewportWidth:f,isChatWindowOpen:p}=Ae(),{goToPath:v}=ut(),{headerButtons:y,chatInputButtons:w,footerButtons:b}=Tt();Mt(),(e=>{const{updateSettings:t}=zt(),{updateStyles:n}=_t(),r=null==e?void 0:e.map(e=>e());a(()=>{let e={},A={};null==r||r.forEach(t=>{null!=t&&t.settings&&0!==Object.keys(null==t?void 0:t.settings).length&&(e=Ut(t.settings,e)),null!=t&&t.styles&&0!==Object.keys(null==t?void 0:t.styles).length&&(A=Ut(t.styles,A))}),t(e),n(A)},[])})(e),a(()=>{var e;(l||\"ON_LOAD\"===(null==(e=o.general)?void 0:e.flowStartTrigger))&&v(\"start\")},[l,null==(n=o.general)?void 0:n.flowStartTrigger]);const E=s(()=>{var e;const t=\"rcb-chatbot-global \";return null!=(e=o.general)&&e.embedded?t+\"rcb-window-embedded\":p?t+\"rcb-window-open\":t+\"rcb-window-close\"},[o,p]);return g(m,{children:(()=>{var e,t;return A&&(null==(e=o.device)?void 0:e.desktopEnabled)||!A&&(null==(t=o.device)?void 0:t.mobileEnabled)})()&&h(\"div\",{onMouseDown:e=>{var t,n;!l&&\"ON_CHATBOT_INTERACT\"===(null==(t=o.general)?void 0:t.flowStartTrigger)&&c(!0),A?null==(n=u.current)||n.blur():null==e||e.preventDefault()},className:E,children:[g(mt,{}),g(ht,{}),p&&!A&&!(null!=(r=o.general)&&r.embedded)&&h(m,{children:[g(\"style\",{children:\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\thtml {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\toverflow: hidden !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttouch-action: none !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tscroll-behavior: auto !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\"}),g(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:\"#fff\",zIndex:9999}})]}),g(\"div\",{style:(()=>{var e,t;return A||null!=(e=o.general)&&e.embedded?null!=(t=o.general)&&t.embedded?{...i.chatWindowStyle}:{...i.chatWindowStyle,zIndex:1e4}:{...i.chatWindowStyle,borderRadius:\"0px\",left:\"0px\",right:\"auto\",top:\"0px\",bottom:\"auto\",width:`${f}px`,height:`${d}px`,zIndex:1e4}})(),className:\"rcb-chat-window\",children:(()=>{var e,n,r;const A=(null==t?void 0:t.chatBotHeader)||_,i=(null==t?void 0:t.chatBotBody)||de,l=(null==t?void 0:t.chatBotInput)||pt,a=(null==t?void 0:t.chatBotFooter)||gt;return h(m,{children:[(null==(e=o.general)?void 0:e.showHeader)&&g(A,{buttons:y}),g(i,{}),g(yt,{}),(null==(n=o.general)?void 0:n.showInputRow)&&g(l,{buttons:w}),(null==(r=o.general)?void 0:r.showFooter)&&g(a,{buttons:b})]})})()})]})})},Gt=r(void 0),Yt=()=>A(Gt),Wt=({children:e})=>{var t;const n=i(\"\"),r=i({}),[A,o,s]=W({}),[c,u,d]=W({}),[f,p]=l(!1);a(()=>{p(!0)},[]);return f?g(\"div\",{style:{fontFamily:null==(t=A.general)?void 0:t.fontFamily},children:g(Gt.Provider,{value:{loadConfig:async(e,t,A,i,l,a)=>{n.current=e,r.current=t;const s=await Ft(e,A,i,l);a.current&&(a.current.textContent=s.cssStylesText),o(s.settings),u(s.inlineStyles)}},children:g(R,{settings:A,setSyncedSettings:o,syncedSettingsRef:s,children:g(z,{styles:c,setSyncedStyles:u,syncedStylesRef:d,children:g(st,{children:g(Y,{botIdRef:n,flowRef:r,children:g(ne,{children:g(K,{settings:A,children:g(ae,{children:e})})})})})})})})}):null},Vt=({id:e,flow:t,settings:n,styles:r,themes:A,plugins:o,setConfigLoaded:i,styleRootRef:l})=>{const c=s(()=>e,[]),u=Yt(),{flowRef:d}=G();d&&d.current!==t&&(d.current=t);return a(()=>{(async()=>{var e,a;null!=(e=n.event)&&e.rcbPreLoadChatBot&&(await $(J.PRE_LOAD_CHATBOT,{botId:c,currPath:null,prevPath:null},{flow:t,settings:n,styles:r,themes:A,plugins:o})).defaultPrevented||(null!=u&&u.loadConfig&&(await u.loadConfig(c,t,n,r,A,l),i(!0)),null!=(a=n.event)&&a.rcbPostLoadChatBot&&$(J.POST_LOAD_CHATBOT,{botId:c,currPath:null,prevPath:null},{flow:t,settings:n,styles:r,themes:A,plugins:o}))})()},[A]),null},Xt=[\"Quickstart\",\"API Docs\",\"Examples\",\"Github\",\"Discord\"],Kt={start:{message:\"Hello, I am Tan Jin 👋! Welcome to React ChatBotify, I'm excited that you are using our chatbot 😊!\",transition:{duration:1e3},chatDisabled:!0,path:\"show_options\"},show_options:{message:\"It looks like you have not set up a conversation flow yet. No worries! Here are a few helpful things you can check out to get started:\",options:Xt,path:\"process_options\"},prompt_again:{message:\"Do you need any other help?\",options:Xt,path:\"process_options\"},unknown_input:{message:\"Sorry, I do not understand your message 😢! If you require further assistance, you may click on the Github option and open an issue there or visit our discord.\",options:Xt,path:\"process_options\"},process_options:{transition:{duration:0},path:e=>{let t=\"\";switch(e.userInput){case\"Quickstart\":t=\"https://react-chatbotify.com/docs/introduction/quickstart/\";break;case\"API Docs\":t=\"https://react-chatbotify.com/docs/api/bot_options\";break;case\"Examples\":t=\"https://react-chatbotify.com/docs/examples/basic_form\";break;case\"Github\":t=\"https://github.com/react-chatbotify/react-chatbotify/\";break;case\"Discord\":t=\"https://discord.gg/6R4DK4G5Zh\";break;default:return\"unknown_input\"}return e.injectMessage(\"Sit tight! I'll send you right there!\"),setTimeout(()=>{window.open(t)},1e3),\"repeat\"}},repeat:{transition:{duration:3e3},path:\"prompt_again\"}},Jt=({id:e,flow:t,settings:n,styles:r,themes:A,plugins:o,slots:c})=>{const u=s(()=>e||\"rcb-\"+Ce(),[]),d=t&&0!==Object.keys(t).length?t:Kt,f=n||{},p=r||{},v=o||[],[y,w]=l(!1),b=Yt(),E=i(null),[P,B]=l(A||[]);a(()=>{A&&B(A)},[A]);const D=()=>h(m,{children:[g(Vt,{styleRootRef:E,id:u,flow:d,settings:f,styles:p,themes:P,plugins:v,setConfigLoaded:w}),y&&g(qt,{plugins:o,slots:c})]});return h(null==b?Wt:m,{children:[g(\"style\",{ref:E}),g(\"div\",{id:u,children:D()})]})},Zt=()=>{const{getBotId:e}=(()=>{const{botIdRef:e}=G();return{getBotId:o(()=>e.current,[e])}})();return{getBotId:e}},$t=()=>{const{hasFlowStarted:e,restartFlow:t,getFlow:n}=(()=>{const{replaceMessages:e}=Ve(),{replacePaths:t,goToPath:n}=ut(),{replaceToasts:r}=ct(),{hasFlowStarted:A}=X(),{flowRef:i,timeoutIdRef:l}=G(),{settings:a}=H();return{hasFlowStarted:A,restartFlow:o(async()=>{He(a),l.current&&clearTimeout(l.current),e([]),r([]),t([]),await n(\"start\")},[l,a,e,r,t,He,n]),getFlow:o(()=>(null==i?void 0:i.current)??{},[i])}})();return{hasFlowStarted:e,restartFlow:t,getFlow:n}},en=()=>{const{endStreamMessage:e,injectMessage:t,removeMessage:n,simulateStreamMessage:r,streamMessage:A,messages:o,replaceMessages:i,getMessages:l}=Ve();return{endStreamMessage:e,injectMessage:t,removeMessage:n,simulateStreamMessage:r,streamMessage:A,messages:o,replaceMessages:i,getMessages:l}},tn=(e,t)=>{const{getBotId:n}=Zt();a(()=>{const r=e=>{e.detail.botId===n()&&t(e)};return window.addEventListener(e,r),()=>{window.removeEventListener(e,r)}},[n,e,t])},nn=()=>{const{settings:e,replaceSettings:t,updateSettings:n}=zt();return{settings:e,replaceSettings:t,updateSettings:n}},rn=()=>{const{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:n,toggleTextAreaSensitiveMode:r,getTextAreaValue:A,setTextAreaValue:o,focusTextArea:i,blurTextArea:l}=it();return{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:n,toggleTextAreaSensitiveMode:r,getTextAreaValue:A,setTextAreaValue:o,focusTextArea:i,blurTextArea:l}},An=()=>{const{showChatHistory:e,hasChatHistoryLoaded:t}=It();return{showChatHistory:e,getHistoryMessages:Oe,setHistoryMessages:Le,hasChatHistoryLoaded:t}},on={a:{content:9,self:!1,type:105},address:{invalid:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"address\",\"article\",\"aside\",\"section\",\"div\",\"header\",\"footer\"],self:!1},audio:{children:[\"track\",\"source\"]},br:{type:9,void:!0},body:{content:127},button:{content:8,type:105},caption:{content:1,parent:[\"table\"]},col:{parent:[\"colgroup\"],void:!0},colgroup:{children:[\"col\"],parent:[\"table\"]},details:{children:[\"summary\"],type:97},dd:{content:1,parent:[\"dl\"]},dl:{children:[\"dt\",\"dd\"],type:1},dt:{content:1,invalid:[\"footer\",\"header\"],parent:[\"dl\"]},figcaption:{content:1,parent:[\"figure\"]},footer:{invalid:[\"footer\",\"header\"]},header:{invalid:[\"footer\",\"header\"]},hr:{type:1,void:!0},img:{void:!0},li:{content:1,parent:[\"ul\",\"ol\",\"menu\"]},main:{self:!1},ol:{children:[\"li\"],type:1},picture:{children:[\"source\",\"img\"],type:25},rb:{parent:[\"ruby\",\"rtc\"]},rp:{parent:[\"ruby\",\"rtc\"]},rt:{content:8,parent:[\"ruby\",\"rtc\"]},rtc:{content:8,parent:[\"ruby\"]},ruby:{children:[\"rb\",\"rp\",\"rt\",\"rtc\"]},source:{parent:[\"audio\",\"video\",\"picture\"],void:!0},summary:{content:8,parent:[\"details\"]},table:{children:[\"caption\",\"colgroup\",\"thead\",\"tbody\",\"tfoot\",\"tr\"],type:1},tbody:{parent:[\"table\"],children:[\"tr\"]},td:{content:1,parent:[\"tr\"]},tfoot:{parent:[\"table\"],children:[\"tr\"]},th:{content:1,parent:[\"tr\"]},thead:{parent:[\"table\"],children:[\"tr\"]},tr:{parent:[\"table\",\"tbody\",\"thead\",\"tfoot\"],children:[\"th\",\"td\"]},track:{parent:[\"audio\",\"video\"],void:!0},ul:{children:[\"li\"],type:1},video:{children:[\"track\",\"source\"]},wbr:{type:9,void:!0}};function ln(e){return t=>{on[t]={...e,...on[t]}}}[\"address\",\"main\",\"div\",\"figure\",\"p\",\"pre\"].forEach(ln({content:1,type:65})),[\"abbr\",\"b\",\"bdi\",\"bdo\",\"cite\",\"code\",\"data\",\"dfn\",\"em\",\"i\",\"kbd\",\"mark\",\"q\",\"ruby\",\"samp\",\"strong\",\"sub\",\"sup\",\"time\",\"u\",\"var\"].forEach(ln({content:8,type:73})),[\"p\",\"pre\"].forEach(ln({content:8,type:65})),[\"s\",\"small\",\"span\",\"del\",\"ins\"].forEach(ln({content:8,type:9})),[\"article\",\"aside\",\"footer\",\"header\",\"nav\",\"section\",\"blockquote\"].forEach(ln({content:1,type:67})),[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].forEach(ln({content:8,type:69})),[\"audio\",\"canvas\",\"iframe\",\"img\",\"video\"].forEach(ln({type:89}));const an=Object.freeze(on),sn=[\"applet\",\"base\",\"body\",\"command\",\"embed\",\"frame\",\"frameset\",\"head\",\"html\",\"link\",\"meta\",\"noscript\",\"object\",\"script\",\"style\",\"title\"],cn=Object.keys(an).filter(e=>\"canvas\"!==e&&\"iframe\"!==e),un=Object.freeze({alt:1,cite:1,class:1,colspan:3,controls:4,datetime:1,default:4,disabled:4,dir:1,height:1,href:1,id:1,kind:1,label:1,lang:1,loading:1,loop:4,media:1,muted:4,poster:1,rel:1,role:1,rowspan:3,scope:1,sizes:1,span:3,start:3,style:5,src:1,srclang:1,srcset:1,tabindex:1,target:1,title:1,type:1,width:1}),dn=Object.freeze({class:\"className\",colspan:\"colSpan\",datetime:\"dateTime\",rowspan:\"rowSpan\",srclang:\"srcLang\",srcset:\"srcSet\",tabindex:\"tabIndex\"});function fn(){return fn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fn.apply(this,arguments)}function pn({attributes:e={},className:n,children:r=null,selfClose:A=!1,tagName:o}){const i=o;return A?t.createElement(i,fn({className:n},e)):t.createElement(i,fn({className:n},e),r)}class gn{attribute(e,t){return t}node(e,t){return t}}function hn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}\n/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */var mn,vn;const yn=hn(function(){if(vn)return mn;vn=1;var e=/[\"'&<>]/;return mn=function(t){var n=\"\"+t,r=e.exec(n);if(!r)return n;var A,o=\"\",i=0,l=0;for(i=r.index;i<n.length;i++){switch(n.charCodeAt(i)){case 34:A=\""\";break;case 38:A=\"&\";break;case 39:A=\"'\";break;case 60:A=\"<\";break;case 62:A=\">\";break;default:continue}l!==i&&(o+=n.substring(l,i)),l=i+1,o+=A}return l!==i?o+n.substring(l,i):o}}());function wn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const bn=/(url|image|image-set)\\(/i;class En extends gn{attribute(e,t){return\"style\"===e&&Object.keys(t).forEach(e=>{String(t[e]).match(bn)&&delete t[e]}),t}}const Pn=/^<(!doctype|(html|head|body)(\\s|>))/i,Bn=/^(aria-|data-|\\w+:)/iu,Dn=/{{{(\\w+)\\/?}}}/;function Cn(){if(!(typeof window>\"u\"||typeof document>\"u\"))return document.implementation.createHTMLDocument(\"Interweave\")}let xn=class{constructor(e,t={},n=[],r=[]){var A;if(wn(this,\"allowed\",void 0),wn(this,\"banned\",void 0),wn(this,\"blocked\",void 0),wn(this,\"container\",void 0),wn(this,\"content\",[]),wn(this,\"props\",void 0),wn(this,\"matchers\",void 0),wn(this,\"filters\",void 0),wn(this,\"keyIndex\",void 0),\"production\"!==process.env.NODE_ENV&&e&&\"string\"!=typeof e)throw new TypeError(\"Interweave parser requires a valid string.\");this.props=t,this.matchers=n,this.filters=[...r,new En],this.keyIndex=-1,this.container=this.createContainer(e||\"\"),this.allowed=new Set(null!==(A=t.allowList)&&void 0!==A?A:cn),this.banned=new Set(sn),this.blocked=new Set(t.blockList)}applyAttributeFilters(e,t){return this.filters.reduce((t,n)=>null!==t&&\"function\"==typeof n.attribute?n.attribute(e,t):t,t)}applyNodeFilters(e,t){return this.filters.reduce((t,n)=>null!==t&&\"function\"==typeof n.node?n.node(e,t):t,t)}applyMatchers(e,t){const n={},{props:r}=this;let A=e,o=0,i=null;return this.matchers.forEach(e=>{const l=e.asTag().toLowerCase(),a=this.getTagConfig(l);if(r[e.inverseName]||!this.isTagAllowed(l)||!this.canRenderChild(t,a))return;let s=\"\";for(;A&&(i=e.match(A));){const{index:t,length:l,match:a,valid:c,void:u,...d}=i,f=e.propName+String(o);t>0&&(s+=A.slice(0,t)),c?(s+=u?`{{{${f}/}}}`:`{{{${f}}}}${a}{{{/${f}}}}`,this.keyIndex+=1,o+=1,n[f]={children:a,matcher:e,props:{...r,...d,key:this.keyIndex}}):s+=a,e.greedy?(A=s+A.slice(t+l),s=\"\"):A=A.slice(t+(l||a.length))}e.greedy||(A=s+A)}),0===o?e:this.replaceTokens(A,n)}canRenderChild(e,t){return!(!e.tagName||!t.tagName||e.void)&&(e.children.length>0?e.children.includes(t.tagName):!(e.invalid.length>0&&e.invalid.includes(t.tagName))&&(t.parent.length>0?t.parent.includes(e.tagName):!(!e.self&&e.tagName===t.tagName)&&!!(e&&e.content&t.type)))}convertLineBreaks(e){const{noHtml:t,disableLineBreaks:n}=this.props;if(t||n||e.match(/<((?:\\/[ a-z]+)|(?:[ a-z]+\\/))>/gi))return e;let r=e.replace(/\\r\\n/g,\"\\n\");return r=r.replace(/\\n{3,}/g,\"\\n\\n\\n\"),r=r.replace(/\\n/g,\"<br/>\"),r}createContainer(e){var t;const n=(typeof global<\"u\"&&global.INTERWEAVE_SSR_POLYFILL||Cn)();if(!n)return;const r=null!==(t=this.props.containerTagName)&&void 0!==t?t:\"body\",A=\"body\"===r||\"fragment\"===r?n.body:n.createElement(r);if(e.match(Pn)){if(\"production\"!==process.env.NODE_ENV)throw new Error(\"HTML documents as Interweave content are not supported.\")}else A.innerHTML=this.convertLineBreaks(this.props.escapeHtml?yn(e):e);return A}extractAttributes(e){const{allowAttributes:t}=this.props,n={};let r=0;return 1===e.nodeType&&e.attributes&&([...e.attributes].forEach(A=>{const{name:o,value:i}=A,l=o.toLowerCase(),a=un[l]||un[o];if(!this.isSafe(e)||!l.match(Bn)&&(!t&&(!a||2===a)||l.startsWith(\"on\")||i.replace(/(\\s|\\0|�([9AD]);)/,\"\").match(/(javascript|vbscript|livescript|xss):/i)))return;let s=\"style\"===l?this.extractStyleAttribute(e):i;4===a?s=!0:3===a?s=Number.parseFloat(String(s)):5!==a&&(s=String(s)),n[dn[l]||l]=this.applyAttributeFilters(l,s),r+=1}),0!==r)?n:null}extractStyleAttribute(e){const t={};return Array.from(e.style).forEach(n=>{const r=e.style[n];(\"string\"==typeof r||\"number\"==typeof r)&&(t[n.replace(/-([a-z])/g,(e,t)=>String(t).toUpperCase())]=r)}),t}getTagConfig(e){const t={children:[],content:0,invalid:[],parent:[],self:!0,tagName:\"\",type:0,void:!1};return an[e]?{...t,...an[e],tagName:e}:t}isSafe(e){if(typeof HTMLAnchorElement<\"u\"&&e instanceof HTMLAnchorElement){const t=e.getAttribute(\"href\");if(null!=t&&t.startsWith(\"#\"))return!0;const n=e.protocol.toLowerCase();return\":\"===n||\"http:\"===n||\"https:\"===n||\"mailto:\"===n||\"tel:\"===n}return!0}isTagAllowed(e){return!this.banned.has(e)&&!this.blocked.has(e)&&(this.props.allowElements||this.allowed.has(e))}parse(){return this.container?this.parseNode(this.container,this.getTagConfig(this.container.nodeName.toLowerCase())):[]}parseNode(e,n){const{noHtml:r,noHtmlExceptMatchers:A,allowElements:o,transform:i,transformOnlyAllowList:l}=this.props;let a=[],s=\"\";return[...e.childNodes].forEach(e=>{if(1===e.nodeType){const u=e.nodeName.toLowerCase(),d=this.getTagConfig(u);s&&(a.push(s),s=\"\");const f=this.applyNodeFilters(u,e);if(!f)return;let p;if(i&&(!l||this.isTagAllowed(u))){this.keyIndex+=1;const e=this.keyIndex;p=this.parseNode(f,d);const n=i(f,p,d);if(null===n)return;if(typeof n<\"u\")return void a.push(t.cloneElement(n,{key:e}));this.keyIndex=e-1}if(this.banned.has(u))return;if(r||A&&\"br\"!==u||!this.isTagAllowed(u)||!o&&!this.canRenderChild(n,d))a=[...a,...this.parseNode(f,d.tagName?d:n)];else{var c;this.keyIndex+=1;const e=this.extractAttributes(f),n={tagName:u};e&&(n.attributes=e),d.void&&(n.selfClose=d.void),a.push(t.createElement(pn,{...n,key:this.keyIndex},null!==(c=p)&&void 0!==c?c:this.parseNode(f,d)))}}else if(3===e.nodeType){const t=r&&!A?e.textContent:this.applyMatchers(e.textContent||\"\",n);Array.isArray(t)?a=[...a,...t]:s+=t}}),s&&a.push(s),a}replaceTokens(e,t){if(!e.includes(\"{{{\"))return e;const n=[];let r=e,A=null;for(;A=r.match(Dn);){const[e,o]=A,i=A.index,l=e.includes(\"/\");if(\"production\"!==process.env.NODE_ENV&&!t[o])throw new Error(`Token \"${o}\" found but no matching element to replace with.`);i>0&&(n.push(r.slice(0,i)),r=r.slice(i));const{children:a,matcher:s,props:c}=t[o];let u;if(l)u=e.length,n.push(s.createElement(a,c));else{const A=r.match(new RegExp(`{{{/${o}}}}`));if(\"production\"!==process.env.NODE_ENV&&!A)throw new Error(`Closing token missing for interpolated element \"${o}\".`);u=A.index+A[0].length,n.push(s.createElement(this.replaceTokens(r.slice(e.length,A.index),t),c))}r=r.slice(u)}return r.length>0&&n.push(r),0===n.length?\"\":1===n.length&&\"string\"==typeof n[0]?n[0]:n}};function kn(e){var n;const{attributes:r,className:A,containerTagName:o,content:i,emptyContent:l,parsedContent:a,tagName:s,noWrap:c}=e,u=null!==(n=o??s)&&void 0!==n?n:\"span\",d=\"fragment\"===u||c;let f;if(a)f=a;else{const t=new xn(i??\"\",e).parse();t.length>0&&(f=t)}return f||(f=l),d?t.createElement(t.Fragment,null,f):t.createElement(pn,{attributes:r,className:A,tagName:u},f)}function Sn(e){const{attributes:n,className:r,content:A=\"\",disableFilters:o=!1,disableMatchers:i=!1,emptyContent:l=null,filters:a=[],matchers:s=[],onAfterParse:c=null,onBeforeParse:u=null,tagName:d=\"span\",noWrap:f=!1,...p}=e,g=i?[]:s,h=o?[]:a,m=u?[u]:[],v=c?[c]:[];g.forEach(e=>{e.onBeforeParse&&m.push(e.onBeforeParse.bind(e)),e.onAfterParse&&v.push(e.onAfterParse.bind(e))});const y=m.reduce((t,n)=>{const r=n(t,e);if(\"production\"!==process.env.NODE_ENV&&\"string\"!=typeof r)throw new TypeError(\"Interweave `onBeforeParse` must return a valid HTML string.\");return r},A??\"\"),w=new xn(y,p,g,h),b=v.reduce((t,n)=>{const r=n(t,e);if(\"production\"!==process.env.NODE_ENV&&!Array.isArray(r))throw new TypeError(\"Interweave `onAfterParse` must return an array of strings and React elements.\");return r},w.parse());return t.createElement(kn,{attributes:n,className:r,containerTagName:e.containerTagName,emptyContent:l,noWrap:f,parsedContent:0===b.length?void 0:b,tagName:d})}const Tn=({children:e})=>g(\"div\",{style:{whiteSpace:\"normal\"},children:g(Sn,{content:\"string\"==typeof e?e:\"\"})}),In={autoConfig:!0},Qn=(e,t,n)=>{var r;if(!e.detail.currPath)return!1;const A=t[e.detail.currPath];return!!A&&((null==(r=A.renderHtml)?void 0:r.map(e=>e.toUpperCase()).includes(n))??!1)},Mn=e=>{const t=[];let n=\"\",r=!1;for(let A=0;A<e.length;A++){const o=e[A];\"<\"===o?r?(t.push(n),n=o):(r=!0,n=o):\">\"===o?(n+=o,t.push(n),n=\"\",r=!1):r?n+=o:t.push(o)}return\"\"!==n&&t.push(n),t},On=e=>{const{getFlow:t}=$t(),{messages:n,replaceMessages:r}=en(),{settings:A}=nn(),{hasChatHistoryLoaded:o}=An(),i={...e,...In},l=i.htmlComponent?i.htmlComponent:Tn;a(()=>{var e,t;if(o){const o=[...n];for(let n=0;n<o.length&&n<((null==(e=A.chatHistory)?void 0:e.maxEntries)??30);n++){const e=o[n];null!=(t=e.tags)&&t.includes(\"rcb-html-renderer-plugin:parsed\")&&(e.contentWrapper=l)}r(o)}},[o]);const s=async e=>{var n;const r=null==(n=e.data.message)?void 0:n.sender.toUpperCase();\"string\"==typeof e.data.message.content&&Qn(e,t(),r)&&(\"rcb-start-simulate-stream-message\"===e.type&&(e.data.simulateStreamChunker=Mn),e.data.message.contentWrapper=l,e.data.message.tags||(e.data.message.tags=[]),e.data.message.tags.push(\"rcb-html-renderer-plugin:parsed\"))};tn(J.PRE_INJECT_MESSAGE,s),tn(J.CHUNK_STREAM_MESSAGE,s),tn(J.START_STREAM_MESSAGE,s),tn(J.START_SIMULATE_STREAM_MESSAGE,s),tn(J.START_SPEAK_AUDIO,async e=>{Qn(e,t(),\"BOT\")&&(e.data.textToRead=(e=>typeof window.DOMParser<\"u\"?(new DOMParser).parseFromString(e,\"text/html\").body.textContent||\"\":e.replace(/<\\/?[^>]+(>|$)/g,\"\"))(e.data.textToRead))});const c={name:\"@rcb-plugins/html-renderer\"};return null!=i&&i.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0,rcbStartSpeakAudio:!0}}),c};const Ln=/^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,Nn=/^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,Hn={};function Rn(e,t){return(Hn.jsx?Nn:Ln).test(e)}const Fn=/[ \\t\\n\\f\\r]/g;function Un(e){return\"\"===e.replace(Fn,\"\")}class jn{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function zn(e,t){const n={},r={};let A=-1;for(;++A<e.length;)Object.assign(n,e[A].property),Object.assign(r,e[A].normal);return new jn(n,r,t)}function _n(e){return e.toLowerCase()}jn.prototype.property={},jn.prototype.normal={},jn.prototype.space=null;class qn{constructor(e,t){this.property=e,this.attribute=t}}qn.prototype.space=null,qn.prototype.boolean=!1,qn.prototype.booleanish=!1,qn.prototype.overloadedBoolean=!1,qn.prototype.number=!1,qn.prototype.commaSeparated=!1,qn.prototype.spaceSeparated=!1,qn.prototype.commaOrSpaceSeparated=!1,qn.prototype.mustUseProperty=!1,qn.prototype.defined=!1;let Gn=0;const Yn=$n(),Wn=$n(),Vn=$n(),Xn=$n(),Kn=$n(),Jn=$n(),Zn=$n();function $n(){return 2**++Gn}const er=Object.freeze(Object.defineProperty({__proto__:null,boolean:Yn,booleanish:Wn,commaOrSpaceSeparated:Zn,commaSeparated:Jn,number:Xn,overloadedBoolean:Vn,spaceSeparated:Kn},Symbol.toStringTag,{value:\"Module\"})),tr=Object.keys(er);class nr extends qn{constructor(e,t,n,r){let A=-1;if(super(e,t),rr(this,\"space\",r),\"number\"==typeof n)for(;++A<tr.length;){const e=tr[A];rr(this,tr[A],(n&er[e])===er[e])}}}function rr(e,t,n){n&&(e[t]=n)}nr.prototype.defined=!0;const Ar={}.hasOwnProperty;function or(e){const t={},n={};let r;for(r in e.properties)if(Ar.call(e.properties,r)){const A=e.properties[r],o=new nr(r,e.transform(e.attributes||{},r),A,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(o.mustUseProperty=!0),t[r]=o,n[_n(r)]=r,n[_n(o.attribute)]=r}return new jn(t,n,e.space)}const ir=or({space:\"xlink\",transform:(e,t)=>\"xlink:\"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),lr=or({space:\"xml\",transform:(e,t)=>\"xml:\"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function ar(e,t){return t in e?e[t]:t}function sr(e,t){return ar(e,t.toLowerCase())}const cr=or({space:\"xmlns\",attributes:{xmlnsxlink:\"xmlns:xlink\"},transform:sr,properties:{xmlns:null,xmlnsXLink:null}}),ur=or({transform:(e,t)=>\"role\"===t?t:\"aria-\"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:Wn,ariaAutoComplete:null,ariaBusy:Wn,ariaChecked:Wn,ariaColCount:Xn,ariaColIndex:Xn,ariaColSpan:Xn,ariaControls:Kn,ariaCurrent:null,ariaDescribedBy:Kn,ariaDetails:null,ariaDisabled:Wn,ariaDropEffect:Kn,ariaErrorMessage:null,ariaExpanded:Wn,ariaFlowTo:Kn,ariaGrabbed:Wn,ariaHasPopup:null,ariaHidden:Wn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Kn,ariaLevel:Xn,ariaLive:null,ariaModal:Wn,ariaMultiLine:Wn,ariaMultiSelectable:Wn,ariaOrientation:null,ariaOwns:Kn,ariaPlaceholder:null,ariaPosInSet:Xn,ariaPressed:Wn,ariaReadOnly:Wn,ariaRelevant:null,ariaRequired:Wn,ariaRoleDescription:Kn,ariaRowCount:Xn,ariaRowIndex:Xn,ariaRowSpan:Xn,ariaSelected:Wn,ariaSetSize:Xn,ariaSort:null,ariaValueMax:Xn,ariaValueMin:Xn,ariaValueNow:Xn,ariaValueText:null,role:null}}),dr=or({space:\"html\",attributes:{acceptcharset:\"accept-charset\",classname:\"class\",htmlfor:\"for\",httpequiv:\"http-equiv\"},transform:sr,mustUseProperty:[\"checked\",\"multiple\",\"muted\",\"selected\"],properties:{abbr:null,accept:Jn,acceptCharset:Kn,accessKey:Kn,action:null,allow:null,allowFullScreen:Yn,allowPaymentRequest:Yn,allowUserMedia:Yn,alt:null,as:null,async:Yn,autoCapitalize:null,autoComplete:Kn,autoFocus:Yn,autoPlay:Yn,blocking:Kn,capture:null,charSet:null,checked:Yn,cite:null,className:Kn,cols:Xn,colSpan:null,content:null,contentEditable:Wn,controls:Yn,controlsList:Kn,coords:Xn|Jn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Yn,defer:Yn,dir:null,dirName:null,disabled:Yn,download:Vn,draggable:Wn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Yn,formTarget:null,headers:Kn,height:Xn,hidden:Yn,high:Xn,href:null,hrefLang:null,htmlFor:Kn,httpEquiv:Kn,id:null,imageSizes:null,imageSrcSet:null,inert:Yn,inputMode:null,integrity:null,is:null,isMap:Yn,itemId:null,itemProp:Kn,itemRef:Kn,itemScope:Yn,itemType:Kn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Yn,low:Xn,manifest:null,max:null,maxLength:Xn,media:null,method:null,min:null,minLength:Xn,multiple:Yn,muted:Yn,name:null,nonce:null,noModule:Yn,noValidate:Yn,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Yn,optimum:Xn,pattern:null,ping:Kn,placeholder:null,playsInline:Yn,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Yn,referrerPolicy:null,rel:Kn,required:Yn,reversed:Yn,rows:Xn,rowSpan:Xn,sandbox:Kn,scope:null,scoped:Yn,seamless:Yn,selected:Yn,shadowRootClonable:Yn,shadowRootDelegatesFocus:Yn,shadowRootMode:null,shape:null,size:Xn,sizes:null,slot:null,span:Xn,spellCheck:Wn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Xn,step:null,style:null,tabIndex:Xn,target:null,title:null,translate:null,type:null,typeMustMatch:Yn,useMap:null,value:Wn,width:Xn,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Kn,axis:null,background:null,bgColor:null,border:Xn,borderColor:null,bottomMargin:Xn,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Yn,declare:Yn,event:null,face:null,frame:null,frameBorder:null,hSpace:Xn,leftMargin:Xn,link:null,longDesc:null,lowSrc:null,marginHeight:Xn,marginWidth:Xn,noResize:Yn,noHref:Yn,noShade:Yn,noWrap:Yn,object:null,profile:null,prompt:null,rev:null,rightMargin:Xn,rules:null,scheme:null,scrolling:Wn,standby:null,summary:null,text:null,topMargin:Xn,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Xn,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Yn,disableRemotePlayback:Yn,prefix:null,property:null,results:Xn,security:null,unselectable:null}}),fr=or({space:\"svg\",attributes:{accentHeight:\"accent-height\",alignmentBaseline:\"alignment-baseline\",arabicForm:\"arabic-form\",baselineShift:\"baseline-shift\",capHeight:\"cap-height\",className:\"class\",clipPath:\"clip-path\",clipRule:\"clip-rule\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",crossOrigin:\"crossorigin\",dataType:\"datatype\",dominantBaseline:\"dominant-baseline\",enableBackground:\"enable-background\",fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",hrefLang:\"hreflang\",horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",horizOriginY:\"horiz-origin-y\",imageRendering:\"image-rendering\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",navDown:\"nav-down\",navDownLeft:\"nav-down-left\",navDownRight:\"nav-down-right\",navLeft:\"nav-left\",navNext:\"nav-next\",navPrev:\"nav-prev\",navRight:\"nav-right\",navUp:\"nav-up\",navUpLeft:\"nav-up-left\",navUpRight:\"nav-up-right\",onAbort:\"onabort\",onActivate:\"onactivate\",onAfterPrint:\"onafterprint\",onBeforePrint:\"onbeforeprint\",onBegin:\"onbegin\",onCancel:\"oncancel\",onCanPlay:\"oncanplay\",onCanPlayThrough:\"oncanplaythrough\",onChange:\"onchange\",onClick:\"onclick\",onClose:\"onclose\",onCopy:\"oncopy\",onCueChange:\"oncuechange\",onCut:\"oncut\",onDblClick:\"ondblclick\",onDrag:\"ondrag\",onDragEnd:\"ondragend\",onDragEnter:\"ondragenter\",onDragExit:\"ondragexit\",onDragLeave:\"ondragleave\",onDragOver:\"ondragover\",onDragStart:\"ondragstart\",onDrop:\"ondrop\",onDurationChange:\"ondurationchange\",onEmptied:\"onemptied\",onEnd:\"onend\",onEnded:\"onended\",onError:\"onerror\",onFocus:\"onfocus\",onFocusIn:\"onfocusin\",onFocusOut:\"onfocusout\",onHashChange:\"onhashchange\",onInput:\"oninput\",onInvalid:\"oninvalid\",onKeyDown:\"onkeydown\",onKeyPress:\"onkeypress\",onKeyUp:\"onkeyup\",onLoad:\"onload\",onLoadedData:\"onloadeddata\",onLoadedMetadata:\"onloadedmetadata\",onLoadStart:\"onloadstart\",onMessage:\"onmessage\",onMouseDown:\"onmousedown\",onMouseEnter:\"onmouseenter\",onMouseLeave:\"onmouseleave\",onMouseMove:\"onmousemove\",onMouseOut:\"onmouseout\",onMouseOver:\"onmouseover\",onMouseUp:\"onmouseup\",onMouseWheel:\"onmousewheel\",onOffline:\"onoffline\",onOnline:\"ononline\",onPageHide:\"onpagehide\",onPageShow:\"onpageshow\",onPaste:\"onpaste\",onPause:\"onpause\",onPlay:\"onplay\",onPlaying:\"onplaying\",onPopState:\"onpopstate\",onProgress:\"onprogress\",onRateChange:\"onratechange\",onRepeat:\"onrepeat\",onReset:\"onreset\",onResize:\"onresize\",onScroll:\"onscroll\",onSeeked:\"onseeked\",onSeeking:\"onseeking\",onSelect:\"onselect\",onShow:\"onshow\",onStalled:\"onstalled\",onStorage:\"onstorage\",onSubmit:\"onsubmit\",onSuspend:\"onsuspend\",onTimeUpdate:\"ontimeupdate\",onToggle:\"ontoggle\",onUnload:\"onunload\",onVolumeChange:\"onvolumechange\",onWaiting:\"onwaiting\",onZoom:\"onzoom\",overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pointerEvents:\"pointer-events\",referrerPolicy:\"referrerpolicy\",renderingIntent:\"rendering-intent\",shapeRendering:\"shape-rendering\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",strokeDashArray:\"stroke-dasharray\",strokeDashOffset:\"stroke-dashoffset\",strokeLineCap:\"stroke-linecap\",strokeLineJoin:\"stroke-linejoin\",strokeMiterLimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",tabIndex:\"tabindex\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",transformOrigin:\"transform-origin\",typeOf:\"typeof\",underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",vectorEffect:\"vector-effect\",vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",xHeight:\"x-height\",playbackOrder:\"playbackorder\",timelineBegin:\"timelinebegin\"},transform:ar,properties:{about:Zn,accentHeight:Xn,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Xn,amplitude:Xn,arabicForm:null,ascent:Xn,attributeName:null,attributeType:null,azimuth:Xn,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Xn,by:null,calcMode:null,capHeight:Xn,className:Kn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Xn,diffuseConstant:Xn,direction:null,display:null,dur:null,divisor:Xn,dominantBaseline:null,download:Yn,dx:null,dy:null,edgeMode:null,editable:null,elevation:Xn,enableBackground:null,end:null,event:null,exponent:Xn,externalResourcesRequired:null,fill:null,fillOpacity:Xn,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Jn,g2:Jn,glyphName:Jn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Xn,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Xn,horizOriginX:Xn,horizOriginY:Xn,id:null,ideographic:Xn,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Xn,k:Xn,k1:Xn,k2:Xn,k3:Xn,k4:Xn,kernelMatrix:Zn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Xn,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Xn,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Xn,overlineThickness:Xn,paintOrder:null,panose1:null,path:null,pathLength:Xn,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Kn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Xn,pointsAtY:Xn,pointsAtZ:Xn,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Zn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Zn,rev:Zn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Zn,requiredFeatures:Zn,requiredFonts:Zn,requiredFormats:Zn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Xn,specularExponent:Xn,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Xn,strikethroughThickness:Xn,string:null,stroke:null,strokeDashArray:Zn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Xn,strokeOpacity:Xn,strokeWidth:null,style:null,surfaceScale:Xn,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Zn,tabIndex:Xn,tableValues:null,target:null,targetX:Xn,targetY:Xn,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Zn,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Xn,underlineThickness:Xn,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Xn,values:null,vAlphabetic:Xn,vMathematical:Xn,vectorEffect:null,vHanging:Xn,vIdeographic:Xn,version:null,vertAdvY:Xn,vertOriginX:Xn,vertOriginY:Xn,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Xn,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),pr=/^data[-\\w.:]+$/i,gr=/-[a-z]/g,hr=/[A-Z]/g;function mr(e){return\"-\"+e.toLowerCase()}function vr(e){return e.charAt(1).toUpperCase()}const yr={classId:\"classID\",dataType:\"datatype\",itemId:\"itemID\",strokeDashArray:\"strokeDasharray\",strokeDashOffset:\"strokeDashoffset\",strokeLineCap:\"strokeLinecap\",strokeLineJoin:\"strokeLinejoin\",strokeMiterLimit:\"strokeMiterlimit\",typeOf:\"typeof\",xLinkActuate:\"xlinkActuate\",xLinkArcRole:\"xlinkArcrole\",xLinkHref:\"xlinkHref\",xLinkRole:\"xlinkRole\",xLinkShow:\"xlinkShow\",xLinkTitle:\"xlinkTitle\",xLinkType:\"xlinkType\",xmlnsXLink:\"xmlnsXlink\"},wr=zn([lr,ir,cr,ur,dr],\"html\"),br=zn([lr,ir,cr,ur,fr],\"svg\");function Er(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var Pr,Br,Dr,Cr={};var xr=function(){if(Dr)return Cr;Dr=1;var e=Cr&&Cr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Cr,\"__esModule\",{value:!0}),Cr.default=function(e,n){var r=null;if(!e||\"string\"!=typeof e)return r;var A=(0,t.default)(e),o=\"function\"==typeof n;return A.forEach(function(e){if(\"declaration\"===e.type){var t=e.property,A=e.value;o?n(t,A,e):A&&((r=r||{})[t]=A)}}),r};var t=e(function(){if(Br)return Pr;Br=1;var e=/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g,t=/\\n/g,n=/^\\s*/,r=/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/,A=/^:\\s*/,o=/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/,i=/^[;\\s]*/,l=/^\\s+|\\s+$/g,a=\"\";function s(e){return e?e.replace(l,a):a}return Pr=function(l,c){if(\"string\"!=typeof l)throw new TypeError(\"First argument must be a string\");if(!l)return[];c=c||{};var u=1,d=1;function f(e){var n=e.match(t);n&&(u+=n.length);var r=e.lastIndexOf(\"\\n\");d=~r?e.length-r:d+e.length}function p(){var e={line:u,column:d};return function(t){return t.position=new g(e),v(),t}}function g(e){this.start=e,this.end={line:u,column:d},this.source=c.source}function h(e){var t=new Error(c.source+\":\"+u+\":\"+d+\": \"+e);if(t.reason=e,t.filename=c.source,t.line=u,t.column=d,t.source=l,!c.silent)throw t}function m(e){var t=e.exec(l);if(t){var n=t[0];return f(n),l=l.slice(n.length),t}}function v(){m(n)}function y(e){var t;for(e=e||[];t=w();)!1!==t&&e.push(t);return e}function w(){var e=p();if(\"/\"==l.charAt(0)&&\"*\"==l.charAt(1)){for(var t=2;a!=l.charAt(t)&&(\"*\"!=l.charAt(t)||\"/\"!=l.charAt(t+1));)++t;if(t+=2,a===l.charAt(t-1))return h(\"End of comment missing\");var n=l.slice(2,t-2);return d+=2,f(n),l=l.slice(t),d+=2,e({type:\"comment\",comment:n})}}function b(){var t=p(),n=m(r);if(n){if(w(),!m(A))return h(\"property missing ':'\");var l=m(o),c=t({type:\"declaration\",property:s(n[0].replace(e,a)),value:l?s(l[0].replace(e,a)):a});return m(i),c}}return g.prototype.content=l,v(),function(){var e,t=[];for(y(t);e=b();)!1!==e&&(t.push(e),y(t));return t}()},Pr}());return Cr}();const kr=Er(xr),Sr=kr.default||kr,Tr=Qr(\"end\"),Ir=Qr(\"start\");function Qr(e){return function(t){const n=t&&t.position&&t.position[e]||{};if(\"number\"==typeof n.line&&n.line>0&&\"number\"==typeof n.column&&n.column>0)return{line:n.line,column:n.column,offset:\"number\"==typeof n.offset&&n.offset>-1?n.offset:void 0}}}function Mr(e){return e&&\"object\"==typeof e?\"position\"in e||\"type\"in e?Lr(e.position):\"start\"in e||\"end\"in e?Lr(e):\"line\"in e||\"column\"in e?Or(e):\"\":\"\"}function Or(e){return Nr(e&&e.line)+\":\"+Nr(e&&e.column)}function Lr(e){return Or(e&&e.start)+\"-\"+Or(e&&e.end)}function Nr(e){return e&&\"number\"==typeof e?e:1}class Hr extends Error{constructor(e,t,n){super(),\"string\"==typeof t&&(n=t,t=void 0);let r=\"\",A={},o=!1;if(t&&(A=\"line\"in t&&\"column\"in t||\"start\"in t&&\"end\"in t?{place:t}:\"type\"in t?{ancestors:[t],place:t.position}:{...t}),\"string\"==typeof e?r=e:!A.cause&&e&&(o=!0,r=e.message,A.cause=e),!A.ruleId&&!A.source&&\"string\"==typeof n){const e=n.indexOf(\":\");-1===e?A.ruleId=n:(A.source=n.slice(0,e),A.ruleId=n.slice(e+1))}if(!A.place&&A.ancestors&&A.ancestors){const e=A.ancestors[A.ancestors.length-1];e&&(A.place=e.position)}const i=A.place&&\"start\"in A.place?A.place.start:A.place;this.ancestors=A.ancestors||void 0,this.cause=A.cause||void 0,this.column=i?i.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=i?i.line:void 0,this.name=Mr(A.place)||\"1:1\",this.place=A.place||void 0,this.reason=this.message,this.ruleId=A.ruleId||void 0,this.source=A.source||void 0,this.stack=o&&A.cause&&\"string\"==typeof A.cause.stack?A.cause.stack:\"\",this.actual,this.expected,this.note,this.url}}Hr.prototype.file=\"\",Hr.prototype.name=\"\",Hr.prototype.reason=\"\",Hr.prototype.message=\"\",Hr.prototype.stack=\"\",Hr.prototype.column=void 0,Hr.prototype.line=void 0,Hr.prototype.ancestors=void 0,Hr.prototype.cause=void 0,Hr.prototype.fatal=void 0,Hr.prototype.place=void 0,Hr.prototype.ruleId=void 0,Hr.prototype.source=void 0;const Rr={}.hasOwnProperty,Fr=new Map,Ur=/[A-Z]/g,jr=/-([a-z])/g,zr=new Set([\"table\",\"tbody\",\"thead\",\"tfoot\",\"tr\"]),_r=new Set([\"td\",\"th\"]),qr=\"https://github.com/syntax-tree/hast-util-to-jsx-runtime\";function Gr(e,t){if(!t||void 0===t.Fragment)throw new TypeError(\"Expected `Fragment` in options\");const n=t.filePath||void 0;let r;if(t.development){if(\"function\"!=typeof t.jsxDEV)throw new TypeError(\"Expected `jsxDEV` in options when `development: true`\");r=function(e,t){return n;function n(n,r,A,o){const i=Array.isArray(A.children),l=Ir(n);return t(r,A,o,i,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}(n,t.jsxDEV)}else{if(\"function\"!=typeof t.jsx)throw new TypeError(\"Expected `jsx` in production options\");if(\"function\"!=typeof t.jsxs)throw new TypeError(\"Expected `jsxs` in production options\");r=function(e,t,n){return r;function r(e,r,A,o){const i=Array.isArray(A.children)?n:t;return o?i(r,A,o):i(r,A)}}(0,t.jsx,t.jsxs)}const A={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||\"react\",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:\"svg\"===t.space?br:wr,stylePropertyNameCase:t.stylePropertyNameCase||\"dom\",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},o=Yr(A,e,void 0);return o&&\"string\"!=typeof o?o:A.create(e,A.Fragment,{children:o||void 0},void 0)}function Yr(e,t,n){return\"element\"===t.type?function(e,t,n){const r=e.schema;let A=r;\"svg\"===t.tagName.toLowerCase()&&\"html\"===r.space&&(A=br,e.schema=A),e.ancestors.push(t);const o=Jr(e,t.tagName,!1),i=function(e,t){const n={};let r,A;for(A in t.properties)if(\"children\"!==A&&Rr.call(t.properties,A)){const o=Kr(e,A,t.properties[A]);if(o){const[A,i]=o;e.tableCellAlignToStyle&&\"align\"===A&&\"string\"==typeof i&&_r.has(t.tagName)?r=i:n[A]=i}}if(r){(n.style||(n.style={}))[\"css\"===e.stylePropertyNameCase?\"text-align\":\"textAlign\"]=r}return n}(e,t);let l=Xr(e,t);return zr.has(t.tagName)&&(l=l.filter(function(e){return\"string\"!=typeof e||!function(e){return\"object\"==typeof e?\"text\"===e.type&&Un(e.value):Un(e)}(e)})),Wr(e,i,o,t),Vr(i,l),e.ancestors.pop(),e.schema=r,e.create(t,o,i,n)}(e,t,n):\"mdxFlowExpression\"===t.type||\"mdxTextExpression\"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){const n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}Zr(e,t.position)}(e,t):\"mdxJsxFlowElement\"===t.type||\"mdxJsxTextElement\"===t.type?function(e,t,n){const r=e.schema;let A=r;\"svg\"===t.name&&\"html\"===r.space&&(A=br,e.schema=A),e.ancestors.push(t);const o=null===t.name?e.Fragment:Jr(e,t.name,!0),i=function(e,t){const n={};for(const r of t.attributes)if(\"mdxJsxExpressionAttribute\"===r.type)if(r.data&&r.data.estree&&e.evaluater){const t=r.data.estree.body[0];t.type;const A=t.expression;A.type;const o=A.properties[0];o.type,Object.assign(n,e.evaluater.evaluateExpression(o.argument))}else Zr(e,t.position);else{const A=r.name;let o;if(r.value&&\"object\"==typeof r.value)if(r.value.data&&r.value.data.estree&&e.evaluater){const t=r.value.data.estree.body[0];t.type,o=e.evaluater.evaluateExpression(t.expression)}else Zr(e,t.position);else o=null===r.value||r.value;n[A]=o}return n}(e,t),l=Xr(e,t);return Wr(e,i,o,t),Vr(i,l),e.ancestors.pop(),e.schema=r,e.create(t,o,i,n)}(e,t,n):\"mdxjsEsm\"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Zr(e,t.position)}(e,t):\"root\"===t.type?function(e,t,n){const r={};return Vr(r,Xr(e,t)),e.create(t,e.Fragment,r,n)}(e,t,n):\"text\"===t.type?function(e,t){return t.value}(0,t):void 0}function Wr(e,t,n,r){\"string\"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Vr(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Xr(e,t){const n=[];let r=-1;const A=e.passKeys?new Map:Fr;for(;++r<t.children.length;){const o=t.children[r];let i;if(e.passKeys){const e=\"element\"===o.type?o.tagName:\"mdxJsxFlowElement\"===o.type||\"mdxJsxTextElement\"===o.type?o.name:void 0;if(e){const t=A.get(e)||0;i=e+\"-\"+t,A.set(e,t+1)}}const l=Yr(e,o,i);void 0!==l&&n.push(l)}return n}function Kr(e,t,n){const r=function(e,t){const n=_n(t);let r=t,A=qn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&\"data\"===n.slice(0,4)&&pr.test(t)){if(\"-\"===t.charAt(4)){const e=t.slice(5).replace(gr,vr);r=\"data\"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!gr.test(e)){let n=e.replace(hr,mr);\"-\"!==n.charAt(0)&&(n=\"-\"+n),t=\"data\"+n}}A=nr}return new A(r,t)}(e.schema,t);if(!(null==n||\"number\"==typeof n&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?function(e){const t={};return(\"\"===e[e.length-1]?[...e,\"\"]:e).join((t.padRight?\" \":\"\")+\",\"+(!1===t.padLeft?\"\":\" \")).trim()}(n):function(e){return e.join(\" \").trim()}(n)),\"style\"===r.property){let t=\"object\"==typeof n?n:function(e,t){const n={};try{Sr(t,r)}catch(t){if(!e.ignoreInvalidStyle){const n=t,r=new Hr(\"Cannot parse `style` attribute\",{ancestors:e.ancestors,cause:n,ruleId:\"style\",source:\"hast-util-to-jsx-runtime\"});throw r.file=e.filePath||void 0,r.url=qr+\"#cannot-parse-style-attribute\",r}}return n;function r(e,t){let r=e;\"--\"!==r.slice(0,2)&&(\"-ms-\"===r.slice(0,4)&&(r=\"ms-\"+r.slice(4)),r=r.replace(jr,eA)),n[r]=t}}(e,String(n));return\"css\"===e.stylePropertyNameCase&&(t=function(e){const t={};let n;for(n in e)Rr.call(e,n)&&(t[$r(n)]=e[n]);return t}(t)),[\"style\",t]}return[\"react\"===e.elementAttributeNameCase&&r.space?yr[r.property]||r.property:r.attribute,n]}}function Jr(e,t,n){let r;if(n)if(t.includes(\".\")){const e=t.split(\".\");let n,A=-1;for(;++A<e.length;){const t=Rn(e[A])?{type:\"Identifier\",name:e[A]}:{type:\"Literal\",value:e[A]};n=n?{type:\"MemberExpression\",object:n,property:t,computed:!(!A||\"Literal\"!==t.type),optional:!1}:t}r=n}else r=Rn(t)&&!/^[a-z]/.test(t)?{type:\"Identifier\",name:t}:{type:\"Literal\",value:t};else r={type:\"Literal\",value:t};if(\"Literal\"===r.type){const t=r.value;return Rr.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);Zr(e)}function Zr(e,t){const n=new Hr(\"Cannot handle MDX estrees without `createEvaluater`\",{ancestors:e.ancestors,place:t,ruleId:\"mdx-estree\",source:\"hast-util-to-jsx-runtime\"});throw n.file=e.filePath||void 0,n.url=qr+\"#cannot-handle-mdx-estrees-without-createevaluater\",n}function $r(e){let t=e.replace(Ur,tA);return\"ms-\"===t.slice(0,3)&&(t=\"-\"+t),t}function eA(e,t){return t.toUpperCase()}function tA(e){return\"-\"+e.toLowerCase()}const nA={action:[\"form\"],cite:[\"blockquote\",\"del\",\"ins\",\"q\"],data:[\"object\"],formAction:[\"button\",\"input\"],href:[\"a\",\"area\",\"base\",\"link\"],icon:[\"menuitem\"],itemId:null,manifest:[\"html\"],ping:[\"a\",\"area\"],poster:[\"video\"],src:[\"audio\",\"embed\",\"iframe\",\"img\",\"input\",\"script\",\"source\",\"track\",\"video\"]},rA={};function AA(e,t,n){if(function(e){return!(!e||\"object\"!=typeof e)}(e)){if(\"value\"in e)return\"html\"!==e.type||n?e.value:\"\";if(t&&\"alt\"in e&&e.alt)return e.alt;if(\"children\"in e)return oA(e.children,t,n)}return Array.isArray(e)?oA(e,t,n):\"\"}function oA(e,t,n){const r=[];let A=-1;for(;++A<e.length;)r[A]=AA(e[A],t,n);return r.join(\"\")}const iA=document.createElement(\"i\");function lA(e){const t=\"&\"+e+\";\";iA.innerHTML=t;const n=iA.textContent;return(59!==n.charCodeAt(n.length-1)||\"semi\"===e)&&n!==t&&n}function aA(e,t,n,r){const A=e.length;let o,i=0;if(t=t<0?-t>A?0:A+t:t>A?A:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);i<r.length;)o=r.slice(i,i+1e4),o.unshift(t,0),e.splice(...o),i+=1e4,t+=1e4}function sA(e,t){return e.length>0?(aA(e,e.length,0,t),e):t}const cA={}.hasOwnProperty;function uA(e){const t={};let n=-1;for(;++n<e.length;)dA(t,e[n]);return t}function dA(e,t){let n;for(n in t){const r=(cA.call(e,n)?e[n]:void 0)||(e[n]={}),A=t[n];let o;if(A)for(o in A){cA.call(r,o)||(r[o]=[]);const e=A[o];fA(r[o],Array.isArray(e)?e:e?[e]:[])}}}function fA(e,t){let n=-1;const r=[];for(;++n<t.length;)(\"after\"===t[n].add?e:r).push(t[n]);aA(e,0,0,r)}function pA(e,t){const n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||!(65535&~n)||65534==(65535&n)||n>1114111?\"�\":String.fromCodePoint(n)}function gA(e){return e.replace(/[\\t\\n\\r ]+/g,\" \").replace(/^ | $/g,\"\").toLowerCase().toUpperCase()}const hA=kA(/[A-Za-z]/),mA=kA(/[\\dA-Za-z]/),vA=kA(/[#-'*+\\--9=?A-Z^-~]/);function yA(e){return null!==e&&(e<32||127===e)}const wA=kA(/\\d/),bA=kA(/[\\dA-Fa-f]/),EA=kA(/[!-/:-@[-`{-~]/);function PA(e){return null!==e&&e<-2}function BA(e){return null!==e&&(e<0||32===e)}function DA(e){return-2===e||-1===e||32===e}const CA=kA(new RegExp(\"\\\\p{P}|\\\\p{S}\",\"u\")),xA=kA(/\\s/);function kA(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function SA(e){const t=[];let n=-1,r=0,A=0;for(;++n<e.length;){const o=e.charCodeAt(n);let i=\"\";if(37===o&&mA(e.charCodeAt(n+1))&&mA(e.charCodeAt(n+2)))A=2;else if(o<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(o))||(i=String.fromCharCode(o));else if(o>55295&&o<57344){const t=e.charCodeAt(n+1);o<56320&&t>56319&&t<57344?(i=String.fromCharCode(o,t),A=1):i=\"�\"}else i=String.fromCharCode(o);i&&(t.push(e.slice(r,n),encodeURIComponent(i)),r=n+A+1,i=\"\"),A&&(n+=A,A=0)}return t.join(\"\")+e.slice(r)}function TA(e,t,n,r){const A=r?r-1:Number.POSITIVE_INFINITY;let o=0;return function(r){return DA(r)?(e.enter(n),i(r)):t(r)};function i(r){return DA(r)&&o++<A?(e.consume(r),i):(e.exit(n),t(r))}}const IA={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,function(n){if(null===n)return void e.consume(n);return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),TA(e,t,\"linePrefix\")},function(t){return e.enter(\"paragraph\"),r(t)});let n;return t;function r(t){const r=e.enter(\"chunkText\",{contentType:\"text\",previous:n});return n&&(n.next=r),n=r,A(t)}function A(t){return null===t?(e.exit(\"chunkText\"),e.exit(\"paragraph\"),void e.consume(t)):PA(t)?(e.consume(t),e.exit(\"chunkText\"),r):(e.consume(t),A)}}};const QA={tokenize:function(e){const t=this,n=[];let r,A,o,i=0;return l;function l(r){if(i<n.length){const A=n[i];return t.containerState=A[1],e.attempt(A[0].continuation,a,s)(r)}return s(r)}function a(e){if(i++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,r&&v();const n=t.events.length;let A,o=n;for(;o--;)if(\"exit\"===t.events[o][0]&&\"chunkFlow\"===t.events[o][1].type){A=t.events[o][1].end;break}m(i);let l=n;for(;l<t.events.length;)t.events[l][1].end={...A},l++;return aA(t.events,o+1,0,t.events.slice(n)),t.events.length=l,s(e)}return l(e)}function s(A){if(i===n.length){if(!r)return d(A);if(r.currentConstruct&&r.currentConstruct.concrete)return p(A);t.interrupt=!(!r.currentConstruct||r._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(MA,c,u)(A)}function c(e){return r&&v(),m(i),d(e)}function u(e){return t.parser.lazy[t.now().line]=i!==n.length,o=t.now().offset,p(e)}function d(n){return t.containerState={},e.attempt(MA,f,p)(n)}function f(e){return i++,n.push([t.currentConstruct,t.containerState]),d(e)}function p(n){return null===n?(r&&v(),m(0),void e.consume(n)):(r=r||t.parser.flow(t.now()),e.enter(\"chunkFlow\",{_tokenizer:r,contentType:\"flow\",previous:A}),g(n))}function g(n){return null===n?(h(e.exit(\"chunkFlow\"),!0),m(0),void e.consume(n)):PA(n)?(e.consume(n),h(e.exit(\"chunkFlow\")),i=0,t.interrupt=void 0,l):(e.consume(n),g)}function h(e,n){const l=t.sliceStream(e);if(n&&l.push(null),e.previous=A,A&&(A.next=e),A=e,r.defineSkip(e.start),r.write(l),t.parser.lazy[e.start.line]){let e=r.events.length;for(;e--;)if(r.events[e][1].start.offset<o&&(!r.events[e][1].end||r.events[e][1].end.offset>o))return;const n=t.events.length;let A,l,a=n;for(;a--;)if(\"exit\"===t.events[a][0]&&\"chunkFlow\"===t.events[a][1].type){if(A){l=t.events[a][1].end;break}A=!0}for(m(i),e=n;e<t.events.length;)t.events[e][1].end={...l},e++;aA(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function m(r){let A=n.length;for(;A-- >r;){const r=n[A];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){r.write([null]),A=void 0,r=void 0,t.containerState._closeFlow=void 0}}},MA={tokenize:function(e,t,n){return TA(e,e.attempt(this.parser.constructs.document,t,n),\"linePrefix\",this.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)}};function OA(e){return null===e||BA(e)||xA(e)?1:CA(e)?2:void 0}function LA(e,t,n){const r=[];let A=-1;for(;++A<e.length;){const o=e[A].resolveAll;o&&!r.includes(o)&&(t=o(t,n),r.push(o))}return t}const NA={name:\"attention\",resolveAll:function(e,t){let n,r,A,o,i,l,a,s,c=-1;for(;++c<e.length;)if(\"enter\"===e[c][0]&&\"attentionSequence\"===e[c][1].type&&e[c][1]._close)for(n=c;n--;)if(\"exit\"===e[n][0]&&\"attentionSequence\"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[c][1]).charCodeAt(0)){if((e[n][1]._close||e[c][1]._open)&&(e[c][1].end.offset-e[c][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[c][1].end.offset-e[c][1].start.offset)%3))continue;l=e[n][1].end.offset-e[n][1].start.offset>1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const u={...e[n][1].end},d={...e[c][1].start};HA(u,-l),HA(d,l),o={type:l>1?\"strongSequence\":\"emphasisSequence\",start:u,end:{...e[n][1].end}},i={type:l>1?\"strongSequence\":\"emphasisSequence\",start:{...e[c][1].start},end:d},A={type:l>1?\"strongText\":\"emphasisText\",start:{...e[n][1].end},end:{...e[c][1].start}},r={type:l>1?\"strong\":\"emphasis\",start:{...o.start},end:{...i.end}},e[n][1].end={...o.start},e[c][1].start={...i.end},a=[],e[n][1].end.offset-e[n][1].start.offset&&(a=sA(a,[[\"enter\",e[n][1],t],[\"exit\",e[n][1],t]])),a=sA(a,[[\"enter\",r,t],[\"enter\",o,t],[\"exit\",o,t],[\"enter\",A,t]]),a=sA(a,LA(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),a=sA(a,[[\"exit\",A,t],[\"enter\",i,t],[\"exit\",i,t],[\"exit\",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(s=2,a=sA(a,[[\"enter\",e[c][1],t],[\"exit\",e[c][1],t]])):s=0,aA(e,n-1,c-n+3,a),c=n+a.length-s-2;break}for(c=-1;++c<e.length;)\"attentionSequence\"===e[c][1].type&&(e[c][1].type=\"data\");return e},tokenize:function(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,A=OA(r);let o;return function(t){return o=t,e.enter(\"attentionSequence\"),i(t)};function i(l){if(l===o)return e.consume(l),i;const a=e.exit(\"attentionSequence\"),s=OA(l),c=!s||2===s&&A||n.includes(l),u=!A||2===A&&s||n.includes(r);return a._open=!!(42===o?c:c&&(A||!u)),a._close=!!(42===o?u:u&&(s||!c)),t(l)}}};function HA(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const RA={name:\"autolink\",tokenize:function(e,t,n){let r=0;return function(t){return e.enter(\"autolink\"),e.enter(\"autolinkMarker\"),e.consume(t),e.exit(\"autolinkMarker\"),e.enter(\"autolinkProtocol\"),A};function A(t){return hA(t)?(e.consume(t),o):64===t?n(t):a(t)}function o(e){return 43===e||45===e||46===e||mA(e)?(r=1,i(e)):a(e)}function i(t){return 58===t?(e.consume(t),r=0,l):(43===t||45===t||46===t||mA(t))&&r++<32?(e.consume(t),i):(r=0,a(t))}function l(r){return 62===r?(e.exit(\"autolinkProtocol\"),e.enter(\"autolinkMarker\"),e.consume(r),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t):null===r||32===r||60===r||yA(r)?n(r):(e.consume(r),l)}function a(t){return 64===t?(e.consume(t),s):vA(t)?(e.consume(t),a):n(t)}function s(e){return mA(e)?c(e):n(e)}function c(n){return 46===n?(e.consume(n),r=0,s):62===n?(e.exit(\"autolinkProtocol\").type=\"autolinkEmail\",e.enter(\"autolinkMarker\"),e.consume(n),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t):u(n)}function u(t){if((45===t||mA(t))&&r++<63){const n=45===t?u:c;return e.consume(t),n}return n(t)}}};const FA={partial:!0,tokenize:function(e,t,n){return function(t){return DA(t)?TA(e,r,\"linePrefix\")(t):r(t)};function r(e){return null===e||PA(e)?t(e):n(e)}}};const UA={continuation:{tokenize:function(e,t,n){const r=this;return function(t){return DA(t)?TA(e,A,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):A(t)};function A(r){return e.attempt(UA,t,n)(r)}}},exit:function(e){e.exit(\"blockQuote\")},name:\"blockQuote\",tokenize:function(e,t,n){const r=this;return function(t){if(62===t){const n=r.containerState;return n.open||(e.enter(\"blockQuote\",{_container:!0}),n.open=!0),e.enter(\"blockQuotePrefix\"),e.enter(\"blockQuoteMarker\"),e.consume(t),e.exit(\"blockQuoteMarker\"),A}return n(t)};function A(n){return DA(n)?(e.enter(\"blockQuotePrefixWhitespace\"),e.consume(n),e.exit(\"blockQuotePrefixWhitespace\"),e.exit(\"blockQuotePrefix\"),t):(e.exit(\"blockQuotePrefix\"),t(n))}}};const jA={name:\"characterEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"characterEscape\"),e.enter(\"escapeMarker\"),e.consume(t),e.exit(\"escapeMarker\"),r};function r(r){return EA(r)?(e.enter(\"characterEscapeValue\"),e.consume(r),e.exit(\"characterEscapeValue\"),e.exit(\"characterEscape\"),t):n(r)}}};const zA={name:\"characterReference\",tokenize:function(e,t,n){const r=this;let A,o,i=0;return function(t){return e.enter(\"characterReference\"),e.enter(\"characterReferenceMarker\"),e.consume(t),e.exit(\"characterReferenceMarker\"),l};function l(t){return 35===t?(e.enter(\"characterReferenceMarkerNumeric\"),e.consume(t),e.exit(\"characterReferenceMarkerNumeric\"),a):(e.enter(\"characterReferenceValue\"),A=31,o=mA,s(t))}function a(t){return 88===t||120===t?(e.enter(\"characterReferenceMarkerHexadecimal\"),e.consume(t),e.exit(\"characterReferenceMarkerHexadecimal\"),e.enter(\"characterReferenceValue\"),A=6,o=bA,s):(e.enter(\"characterReferenceValue\"),A=7,o=wA,s(t))}function s(l){if(59===l&&i){const A=e.exit(\"characterReferenceValue\");return o!==mA||lA(r.sliceSerialize(A))?(e.enter(\"characterReferenceMarker\"),e.consume(l),e.exit(\"characterReferenceMarker\"),e.exit(\"characterReference\"),t):n(l)}return o(l)&&i++<A?(e.consume(l),s):n(l)}}};const _A={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return null===t?n(t):(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),A)};function A(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},qA={concrete:!0,name:\"codeFenced\",tokenize:function(e,t,n){const r=this,A={partial:!0,tokenize:function(e,t,n){let A=0;return i;function i(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),a}function a(t){return e.enter(\"codeFencedFence\"),DA(t)?TA(e,s,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):s(t)}function s(t){return t===o?(e.enter(\"codeFencedFenceSequence\"),c(t)):n(t)}function c(t){return t===o?(A++,e.consume(t),c):A>=l?(e.exit(\"codeFencedFenceSequence\"),DA(t)?TA(e,u,\"whitespace\")(t):u(t)):n(t)}function u(r){return null===r||PA(r)?(e.exit(\"codeFencedFence\"),t(r)):n(r)}}};let o,i=0,l=0;return function(t){return function(t){const n=r.events[r.events.length-1];return i=n&&\"linePrefix\"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,o=t,e.enter(\"codeFenced\"),e.enter(\"codeFencedFence\"),e.enter(\"codeFencedFenceSequence\"),a(t)}(t)};function a(t){return t===o?(l++,e.consume(t),a):l<3?n(t):(e.exit(\"codeFencedFenceSequence\"),DA(t)?TA(e,s,\"whitespace\")(t):s(t))}function s(n){return null===n||PA(n)?(e.exit(\"codeFencedFence\"),r.interrupt?t(n):e.check(_A,f,v)(n)):(e.enter(\"codeFencedFenceInfo\"),e.enter(\"chunkString\",{contentType:\"string\"}),c(n))}function c(t){return null===t||PA(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),s(t)):DA(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),TA(e,u,\"whitespace\")(t)):96===t&&t===o?n(t):(e.consume(t),c)}function u(t){return null===t||PA(t)?s(t):(e.enter(\"codeFencedFenceMeta\"),e.enter(\"chunkString\",{contentType:\"string\"}),d(t))}function d(t){return null===t||PA(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceMeta\"),s(t)):96===t&&t===o?n(t):(e.consume(t),d)}function f(t){return e.attempt(A,v,p)(t)}function p(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),g}function g(t){return i>0&&DA(t)?TA(e,h,\"linePrefix\",i+1)(t):h(t)}function h(t){return null===t||PA(t)?e.check(_A,f,v)(t):(e.enter(\"codeFlowValue\"),m(t))}function m(t){return null===t||PA(t)?(e.exit(\"codeFlowValue\"),h(t)):(e.consume(t),m)}function v(n){return e.exit(\"codeFenced\"),t(n)}}};const GA={name:\"codeIndented\",tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"codeIndented\"),TA(e,A,\"linePrefix\",5)(t)};function A(e){const t=r.events[r.events.length-1];return t&&\"linePrefix\"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return null===t?l(t):PA(t)?e.attempt(YA,o,l)(t):(e.enter(\"codeFlowValue\"),i(t))}function i(t){return null===t||PA(t)?(e.exit(\"codeFlowValue\"),o(t)):(e.consume(t),i)}function l(n){return e.exit(\"codeIndented\"),t(n)}}},YA={partial:!0,tokenize:function(e,t,n){const r=this;return A;function A(t){return r.parser.lazy[r.now().line]?n(t):PA(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),A):TA(e,o,\"linePrefix\",5)(t)}function o(e){const o=r.events[r.events.length-1];return o&&\"linePrefix\"===o[1].type&&o[2].sliceSerialize(o[1],!0).length>=4?t(e):PA(e)?A(e):n(e)}}};const WA={name:\"codeText\",previous:function(e){return 96!==e||\"characterEscape\"===this.events[this.events.length-1][1].type},resolve:function(e){let t,n,r=e.length-4,A=3;if(!(\"lineEnding\"!==e[A][1].type&&\"space\"!==e[A][1].type||\"lineEnding\"!==e[r][1].type&&\"space\"!==e[r][1].type))for(t=A;++t<r;)if(\"codeTextData\"===e[t][1].type){e[A][1].type=\"codeTextPadding\",e[r][1].type=\"codeTextPadding\",A+=2,r-=2;break}for(t=A-1,r++;++t<=r;)void 0===n?t!==r&&\"lineEnding\"!==e[t][1].type&&(n=t):(t===r||\"lineEnding\"===e[t][1].type)&&(e[n][1].type=\"codeTextData\",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},tokenize:function(e,t,n){let r,A,o=0;return function(t){return e.enter(\"codeText\"),e.enter(\"codeTextSequence\"),i(t)};function i(t){return 96===t?(e.consume(t),o++,i):(e.exit(\"codeTextSequence\"),l(t))}function l(t){return null===t?n(t):32===t?(e.enter(\"space\"),e.consume(t),e.exit(\"space\"),l):96===t?(A=e.enter(\"codeTextSequence\"),r=0,s(t)):PA(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),l):(e.enter(\"codeTextData\"),a(t))}function a(t){return null===t||32===t||96===t||PA(t)?(e.exit(\"codeTextData\"),l(t)):(e.consume(t),a)}function s(n){return 96===n?(e.consume(n),r++,s):r===o?(e.exit(\"codeTextSequence\"),e.exit(\"codeText\"),t(n)):(A.type=\"codeTextData\",a(n))}}};class VA{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw new RangeError(\"Cannot access index `\"+e+\"` in a splice buffer of size `\"+(this.left.length+this.right.length)+\"`\");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){const n=t??Number.POSITIVE_INFINITY;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){const r=t||0;this.setCursor(Math.trunc(e));const A=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return n&&XA(this.left,n),A.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),XA(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),XA(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&0===this.right.length||e<0&&0===this.left.length))if(e<this.left.length){const t=this.left.splice(e,Number.POSITIVE_INFINITY);XA(this.right,t.reverse())}else{const t=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);XA(this.left,t.reverse())}}}function XA(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function KA(e){const t={};let n,r,A,o,i,l,a,s=-1;const c=new VA(e);for(;++s<c.length;){for(;s in t;)s=t[s];if(n=c.get(s),s&&\"chunkFlow\"===n[1].type&&\"listItemPrefix\"===c.get(s-1)[1].type&&(l=n[1]._tokenizer.events,A=0,A<l.length&&\"lineEndingBlank\"===l[A][1].type&&(A+=2),A<l.length&&\"content\"===l[A][1].type))for(;++A<l.length&&\"content\"!==l[A][1].type;)\"chunkText\"===l[A][1].type&&(l[A][1]._isInFirstContentOfListItem=!0,A++);if(\"enter\"===n[0])n[1].contentType&&(Object.assign(t,JA(c,s)),s=t[s],a=!0);else if(n[1]._container){for(A=s,r=void 0;A--;)if(o=c.get(A),\"lineEnding\"===o[1].type||\"lineEndingBlank\"===o[1].type)\"enter\"===o[0]&&(r&&(c.get(r)[1].type=\"lineEndingBlank\"),o[1].type=\"lineEnding\",r=A);else if(\"linePrefix\"!==o[1].type)break;r&&(n[1].end={...c.get(r)[1].start},i=c.slice(r,s),i.unshift(n),c.splice(r,s-r+1,i))}}return aA(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!a}function JA(e,t){const n=e.get(t)[1],r=e.get(t)[2];let A=t-1;const o=[],i=n._tokenizer||r.parser[n.contentType](n.start),l=i.events,a=[],s={};let c,u,d=-1,f=n,p=0,g=0;const h=[g];for(;f;){for(;e.get(++A)[1]!==f;);o.push(A),f._tokenizer||(c=r.sliceStream(f),f.next||c.push(null),u&&i.defineSkip(f.start),f._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=!0),i.write(c),f._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=void 0)),u=f,f=f.next}for(f=n;++d<l.length;)\"exit\"===l[d][0]&&\"enter\"===l[d-1][0]&&l[d][1].type===l[d-1][1].type&&l[d][1].start.line!==l[d][1].end.line&&(g=d+1,h.push(g),f._tokenizer=void 0,f.previous=void 0,f=f.next);for(i.events=[],f?(f._tokenizer=void 0,f.previous=void 0):h.pop(),d=h.length;d--;){const t=l.slice(h[d],h[d+1]),n=o.pop();a.push([n,n+t.length-1]),e.splice(n,2,t)}for(a.reverse(),d=-1;++d<a.length;)s[p+a[d][0]]=p+a[d][1],p+=a[d][1]-a[d][0]-1;return s}const ZA={resolve:function(e){return KA(e),e},tokenize:function(e,t){let n;return function(t){return e.enter(\"content\"),n=e.enter(\"chunkContent\",{contentType:\"content\"}),r(t)};function r(t){return null===t?A(t):PA(t)?e.check($A,o,A)(t):(e.consume(t),r)}function A(n){return e.exit(\"chunkContent\"),e.exit(\"content\"),t(n)}function o(t){return e.consume(t),e.exit(\"chunkContent\"),n.next=e.enter(\"chunkContent\",{contentType:\"content\",previous:n}),n=n.next,r}}},$A={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return e.exit(\"chunkContent\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),TA(e,A,\"linePrefix\")};function A(A){if(null===A||PA(A))return n(A);const o=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(\"codeIndented\")&&o&&\"linePrefix\"===o[1].type&&o[2].sliceSerialize(o[1],!0).length>=4?t(A):e.interrupt(r.parser.constructs.flow,n,t)(A)}}};function eo(e,t,n,r,A,o,i,l,a){const s=a||Number.POSITIVE_INFINITY;let c=0;return function(t){return 60===t?(e.enter(r),e.enter(A),e.enter(o),e.consume(t),e.exit(o),u):null===t||32===t||41===t||yA(t)?n(t):(e.enter(r),e.enter(i),e.enter(l),e.enter(\"chunkString\",{contentType:\"string\"}),p(t))};function u(n){return 62===n?(e.enter(o),e.consume(n),e.exit(o),e.exit(A),e.exit(r),t):(e.enter(l),e.enter(\"chunkString\",{contentType:\"string\"}),d(n))}function d(t){return 62===t?(e.exit(\"chunkString\"),e.exit(l),u(t)):null===t||60===t||PA(t)?n(t):(e.consume(t),92===t?f:d)}function f(t){return 60===t||62===t||92===t?(e.consume(t),d):d(t)}function p(A){return c||null!==A&&41!==A&&!BA(A)?c<s&&40===A?(e.consume(A),c++,p):41===A?(e.consume(A),c--,p):null===A||32===A||40===A||yA(A)?n(A):(e.consume(A),92===A?g:p):(e.exit(\"chunkString\"),e.exit(l),e.exit(i),e.exit(r),t(A))}function g(t){return 40===t||41===t||92===t?(e.consume(t),p):p(t)}}function to(e,t,n,r,A,o){const i=this;let l,a=0;return function(t){return e.enter(r),e.enter(A),e.consume(t),e.exit(A),e.enter(o),s};function s(u){return a>999||null===u||91===u||93===u&&!l||94===u&&!a&&\"_hiddenFootnoteSupport\"in i.parser.constructs?n(u):93===u?(e.exit(o),e.enter(A),e.consume(u),e.exit(A),e.exit(r),t):PA(u)?(e.enter(\"lineEnding\"),e.consume(u),e.exit(\"lineEnding\"),s):(e.enter(\"chunkString\",{contentType:\"string\"}),c(u))}function c(t){return null===t||91===t||93===t||PA(t)||a++>999?(e.exit(\"chunkString\"),s(t)):(e.consume(t),l||(l=!DA(t)),92===t?u:c)}function u(t){return 91===t||92===t||93===t?(e.consume(t),a++,c):c(t)}}function no(e,t,n,r,A,o){let i;return function(t){return 34===t||39===t||40===t?(e.enter(r),e.enter(A),e.consume(t),e.exit(A),i=40===t?41:t,l):n(t)};function l(n){return n===i?(e.enter(A),e.consume(n),e.exit(A),e.exit(r),t):(e.enter(o),a(n))}function a(t){return t===i?(e.exit(o),l(i)):null===t?n(t):PA(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),TA(e,a,\"linePrefix\")):(e.enter(\"chunkString\",{contentType:\"string\"}),s(t))}function s(t){return t===i||null===t||PA(t)?(e.exit(\"chunkString\"),a(t)):(e.consume(t),92===t?c:s)}function c(t){return t===i||92===t?(e.consume(t),s):s(t)}}function ro(e,t){let n;return function r(A){return PA(A)?(e.enter(\"lineEnding\"),e.consume(A),e.exit(\"lineEnding\"),n=!0,r):DA(A)?TA(e,r,n?\"linePrefix\":\"lineSuffix\")(A):t(A)}}const Ao={name:\"definition\",tokenize:function(e,t,n){const r=this;let A;return function(t){return e.enter(\"definition\"),function(t){return to.call(r,e,o,n,\"definitionLabel\",\"definitionLabelMarker\",\"definitionLabelString\")(t)}(t)};function o(t){return A=gA(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter(\"definitionMarker\"),e.consume(t),e.exit(\"definitionMarker\"),i):n(t)}function i(t){return BA(t)?ro(e,l)(t):l(t)}function l(t){return eo(e,a,n,\"definitionDestination\",\"definitionDestinationLiteral\",\"definitionDestinationLiteralMarker\",\"definitionDestinationRaw\",\"definitionDestinationString\")(t)}function a(t){return e.attempt(oo,s,s)(t)}function s(t){return DA(t)?TA(e,c,\"whitespace\")(t):c(t)}function c(o){return null===o||PA(o)?(e.exit(\"definition\"),r.parser.defined.push(A),t(o)):n(o)}}},oo={partial:!0,tokenize:function(e,t,n){return function(t){return BA(t)?ro(e,r)(t):n(t)};function r(t){return no(e,A,n,\"definitionTitle\",\"definitionTitleMarker\",\"definitionTitleString\")(t)}function A(t){return DA(t)?TA(e,o,\"whitespace\")(t):o(t)}function o(e){return null===e||PA(e)?t(e):n(e)}}};const io={name:\"hardBreakEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"hardBreakEscape\"),e.consume(t),r};function r(r){return PA(r)?(e.exit(\"hardBreakEscape\"),t(r)):n(r)}}};const lo={name:\"headingAtx\",resolve:function(e,t){let n,r,A=e.length-2,o=3;return\"whitespace\"===e[o][1].type&&(o+=2),A-2>o&&\"whitespace\"===e[A][1].type&&(A-=2),\"atxHeadingSequence\"===e[A][1].type&&(o===A-1||A-4>o&&\"whitespace\"===e[A-2][1].type)&&(A-=o+1===A?2:4),A>o&&(n={type:\"atxHeadingText\",start:e[o][1].start,end:e[A][1].end},r={type:\"chunkText\",start:e[o][1].start,end:e[A][1].end,contentType:\"text\"},aA(e,o,A-o+1,[[\"enter\",n,t],[\"enter\",r,t],[\"exit\",r,t],[\"exit\",n,t]])),e},tokenize:function(e,t,n){let r=0;return function(t){return e.enter(\"atxHeading\"),function(t){return e.enter(\"atxHeadingSequence\"),A(t)}(t)};function A(t){return 35===t&&r++<6?(e.consume(t),A):null===t||BA(t)?(e.exit(\"atxHeadingSequence\"),o(t)):n(t)}function o(n){return 35===n?(e.enter(\"atxHeadingSequence\"),i(n)):null===n||PA(n)?(e.exit(\"atxHeading\"),t(n)):DA(n)?TA(e,o,\"whitespace\")(n):(e.enter(\"atxHeadingText\"),l(n))}function i(t){return 35===t?(e.consume(t),i):(e.exit(\"atxHeadingSequence\"),o(t))}function l(t){return null===t||35===t||BA(t)?(e.exit(\"atxHeadingText\"),o(t)):(e.consume(t),l)}}};const ao=[\"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\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"search\",\"section\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"],so=[\"pre\",\"script\",\"style\",\"textarea\"],co={concrete:!0,name:\"htmlFlow\",resolveTo:function(e){let t=e.length;for(;t--&&(\"enter\"!==e[t][0]||\"htmlFlow\"!==e[t][1].type););return t>1&&\"linePrefix\"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,n){const r=this;let A,o,i,l,a;return function(t){return function(t){return e.enter(\"htmlFlow\"),e.enter(\"htmlFlowData\"),e.consume(t),s}(t)};function s(l){return 33===l?(e.consume(l),c):47===l?(e.consume(l),o=!0,f):63===l?(e.consume(l),A=3,r.interrupt?t:O):hA(l)?(e.consume(l),i=String.fromCharCode(l),p):n(l)}function c(o){return 45===o?(e.consume(o),A=2,u):91===o?(e.consume(o),A=5,l=0,d):hA(o)?(e.consume(o),A=4,r.interrupt?t:O):n(o)}function u(A){return 45===A?(e.consume(A),r.interrupt?t:O):n(A)}function d(A){const o=\"CDATA[\";return A===o.charCodeAt(l++)?(e.consume(A),6===l?r.interrupt?t:C:d):n(A)}function f(t){return hA(t)?(e.consume(t),i=String.fromCharCode(t),p):n(t)}function p(l){if(null===l||47===l||62===l||BA(l)){const a=47===l,s=i.toLowerCase();return a||o||!so.includes(s)?ao.includes(i.toLowerCase())?(A=6,a?(e.consume(l),g):r.interrupt?t(l):C(l)):(A=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(l):o?h(l):m(l)):(A=1,r.interrupt?t(l):C(l))}return 45===l||mA(l)?(e.consume(l),i+=String.fromCharCode(l),p):n(l)}function g(A){return 62===A?(e.consume(A),r.interrupt?t:C):n(A)}function h(t){return DA(t)?(e.consume(t),h):B(t)}function m(t){return 47===t?(e.consume(t),B):58===t||95===t||hA(t)?(e.consume(t),v):DA(t)?(e.consume(t),m):B(t)}function v(t){return 45===t||46===t||58===t||95===t||mA(t)?(e.consume(t),v):y(t)}function y(t){return 61===t?(e.consume(t),w):DA(t)?(e.consume(t),y):m(t)}function w(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),a=t,b):DA(t)?(e.consume(t),w):E(t)}function b(t){return t===a?(e.consume(t),a=null,P):null===t||PA(t)?n(t):(e.consume(t),b)}function E(t){return null===t||34===t||39===t||47===t||60===t||61===t||62===t||96===t||BA(t)?y(t):(e.consume(t),E)}function P(e){return 47===e||62===e||DA(e)?m(e):n(e)}function B(t){return 62===t?(e.consume(t),D):n(t)}function D(t){return null===t||PA(t)?C(t):DA(t)?(e.consume(t),D):n(t)}function C(t){return 45===t&&2===A?(e.consume(t),T):60===t&&1===A?(e.consume(t),I):62===t&&4===A?(e.consume(t),L):63===t&&3===A?(e.consume(t),O):93===t&&5===A?(e.consume(t),M):!PA(t)||6!==A&&7!==A?null===t||PA(t)?(e.exit(\"htmlFlowData\"),x(t)):(e.consume(t),C):(e.exit(\"htmlFlowData\"),e.check(uo,N,x)(t))}function x(t){return e.check(fo,k,N)(t)}function k(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),S}function S(t){return null===t||PA(t)?x(t):(e.enter(\"htmlFlowData\"),C(t))}function T(t){return 45===t?(e.consume(t),O):C(t)}function I(t){return 47===t?(e.consume(t),i=\"\",Q):C(t)}function Q(t){if(62===t){const n=i.toLowerCase();return so.includes(n)?(e.consume(t),L):C(t)}return hA(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),Q):C(t)}function M(t){return 93===t?(e.consume(t),O):C(t)}function O(t){return 62===t?(e.consume(t),L):45===t&&2===A?(e.consume(t),O):C(t)}function L(t){return null===t||PA(t)?(e.exit(\"htmlFlowData\"),N(t)):(e.consume(t),L)}function N(n){return e.exit(\"htmlFlow\"),t(n)}}},uo={partial:!0,tokenize:function(e,t,n){return function(r){return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),e.attempt(FA,t,n)}}},fo={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return PA(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),A):n(t)};function A(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}};const po={name:\"htmlText\",tokenize:function(e,t,n){const r=this;let A,o,i;return function(t){return e.enter(\"htmlText\"),e.enter(\"htmlTextData\"),e.consume(t),l};function l(t){return 33===t?(e.consume(t),a):47===t?(e.consume(t),w):63===t?(e.consume(t),v):hA(t)?(e.consume(t),P):n(t)}function a(t){return 45===t?(e.consume(t),s):91===t?(e.consume(t),o=0,f):hA(t)?(e.consume(t),m):n(t)}function s(t){return 45===t?(e.consume(t),d):n(t)}function c(t){return null===t?n(t):45===t?(e.consume(t),u):PA(t)?(i=c,Q(t)):(e.consume(t),c)}function u(t){return 45===t?(e.consume(t),d):c(t)}function d(e){return 62===e?I(e):45===e?u(e):c(e)}function f(t){const r=\"CDATA[\";return t===r.charCodeAt(o++)?(e.consume(t),6===o?p:f):n(t)}function p(t){return null===t?n(t):93===t?(e.consume(t),g):PA(t)?(i=p,Q(t)):(e.consume(t),p)}function g(t){return 93===t?(e.consume(t),h):p(t)}function h(t){return 62===t?I(t):93===t?(e.consume(t),h):p(t)}function m(t){return null===t||62===t?I(t):PA(t)?(i=m,Q(t)):(e.consume(t),m)}function v(t){return null===t?n(t):63===t?(e.consume(t),y):PA(t)?(i=v,Q(t)):(e.consume(t),v)}function y(e){return 62===e?I(e):v(e)}function w(t){return hA(t)?(e.consume(t),b):n(t)}function b(t){return 45===t||mA(t)?(e.consume(t),b):E(t)}function E(t){return PA(t)?(i=E,Q(t)):DA(t)?(e.consume(t),E):I(t)}function P(t){return 45===t||mA(t)?(e.consume(t),P):47===t||62===t||BA(t)?B(t):n(t)}function B(t){return 47===t?(e.consume(t),I):58===t||95===t||hA(t)?(e.consume(t),D):PA(t)?(i=B,Q(t)):DA(t)?(e.consume(t),B):I(t)}function D(t){return 45===t||46===t||58===t||95===t||mA(t)?(e.consume(t),D):C(t)}function C(t){return 61===t?(e.consume(t),x):PA(t)?(i=C,Q(t)):DA(t)?(e.consume(t),C):B(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),A=t,k):PA(t)?(i=x,Q(t)):DA(t)?(e.consume(t),x):(e.consume(t),S)}function k(t){return t===A?(e.consume(t),A=void 0,T):null===t?n(t):PA(t)?(i=k,Q(t)):(e.consume(t),k)}function S(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||BA(t)?B(t):(e.consume(t),S)}function T(e){return 47===e||62===e||BA(e)?B(e):n(e)}function I(r){return 62===r?(e.consume(r),e.exit(\"htmlTextData\"),e.exit(\"htmlText\"),t):n(r)}function Q(t){return e.exit(\"htmlTextData\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),M}function M(t){return DA(t)?TA(e,O,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):O(t)}function O(t){return e.enter(\"htmlTextData\"),i(t)}}};const go={name:\"labelEnd\",resolveAll:function(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),\"labelImage\"===r.type||\"labelLink\"===r.type||\"labelEnd\"===r.type){const e=\"labelImage\"===r.type?4:2;r.type=\"data\",t+=e}}return e.length!==n.length&&aA(e,0,e.length,n),e},resolveTo:function(e,t){let n,r,A,o,i=e.length,l=0;for(;i--;)if(n=e[i][1],r){if(\"link\"===n.type||\"labelLink\"===n.type&&n._inactive)break;\"enter\"===e[i][0]&&\"labelLink\"===n.type&&(n._inactive=!0)}else if(A){if(\"enter\"===e[i][0]&&(\"labelImage\"===n.type||\"labelLink\"===n.type)&&!n._balanced&&(r=i,\"labelLink\"!==n.type)){l=2;break}}else\"labelEnd\"===n.type&&(A=i);const a={type:\"labelLink\"===e[r][1].type?\"link\":\"image\",start:{...e[r][1].start},end:{...e[e.length-1][1].end}},s={type:\"label\",start:{...e[r][1].start},end:{...e[A][1].end}},c={type:\"labelText\",start:{...e[r+l+2][1].end},end:{...e[A-2][1].start}};return o=[[\"enter\",a,t],[\"enter\",s,t]],o=sA(o,e.slice(r+1,r+l+3)),o=sA(o,[[\"enter\",c,t]]),o=sA(o,LA(t.parser.constructs.insideSpan.null,e.slice(r+l+4,A-3),t)),o=sA(o,[[\"exit\",c,t],e[A-2],e[A-1],[\"exit\",s,t]]),o=sA(o,e.slice(A+1)),o=sA(o,[[\"exit\",a,t]]),aA(e,r,e.length,o),e},tokenize:function(e,t,n){const r=this;let A,o,i=r.events.length;for(;i--;)if((\"labelImage\"===r.events[i][1].type||\"labelLink\"===r.events[i][1].type)&&!r.events[i][1]._balanced){A=r.events[i][1];break}return function(t){return A?A._inactive?c(t):(o=r.parser.defined.includes(gA(r.sliceSerialize({start:A.end,end:r.now()}))),e.enter(\"labelEnd\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelEnd\"),l):n(t)};function l(t){return 40===t?e.attempt(ho,s,o?s:c)(t):91===t?e.attempt(mo,s,o?a:c)(t):o?s(t):c(t)}function a(t){return e.attempt(vo,s,c)(t)}function s(e){return t(e)}function c(e){return A._balanced=!0,n(e)}}},ho={tokenize:function(e,t,n){return function(t){return e.enter(\"resource\"),e.enter(\"resourceMarker\"),e.consume(t),e.exit(\"resourceMarker\"),r};function r(t){return BA(t)?ro(e,A)(t):A(t)}function A(t){return 41===t?s(t):eo(e,o,i,\"resourceDestination\",\"resourceDestinationLiteral\",\"resourceDestinationLiteralMarker\",\"resourceDestinationRaw\",\"resourceDestinationString\",32)(t)}function o(t){return BA(t)?ro(e,l)(t):s(t)}function i(e){return n(e)}function l(t){return 34===t||39===t||40===t?no(e,a,n,\"resourceTitle\",\"resourceTitleMarker\",\"resourceTitleString\")(t):s(t)}function a(t){return BA(t)?ro(e,s)(t):s(t)}function s(r){return 41===r?(e.enter(\"resourceMarker\"),e.consume(r),e.exit(\"resourceMarker\"),e.exit(\"resource\"),t):n(r)}}},mo={tokenize:function(e,t,n){const r=this;return function(t){return to.call(r,e,A,o,\"reference\",\"referenceMarker\",\"referenceString\")(t)};function A(e){return r.parser.defined.includes(gA(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}},vo={tokenize:function(e,t,n){return function(t){return e.enter(\"reference\"),e.enter(\"referenceMarker\"),e.consume(t),e.exit(\"referenceMarker\"),r};function r(r){return 93===r?(e.enter(\"referenceMarker\"),e.consume(r),e.exit(\"referenceMarker\"),e.exit(\"reference\"),t):n(r)}}};const yo={name:\"labelStartImage\",resolveAll:go.resolveAll,tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelImage\"),e.enter(\"labelImageMarker\"),e.consume(t),e.exit(\"labelImageMarker\"),A};function A(t){return 91===t?(e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelImage\"),o):n(t)}function o(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}}};const wo={name:\"labelStartLink\",resolveAll:go.resolveAll,tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelLink\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelLink\"),A};function A(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}}};const bo={name:\"lineEnding\",tokenize:function(e,t){return function(n){return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),TA(e,t,\"linePrefix\")}}};const Eo={name:\"thematicBreak\",tokenize:function(e,t,n){let r,A=0;return function(t){return e.enter(\"thematicBreak\"),function(e){return r=e,o(e)}(t)};function o(o){return o===r?(e.enter(\"thematicBreakSequence\"),i(o)):A>=3&&(null===o||PA(o))?(e.exit(\"thematicBreak\"),t(o)):n(o)}function i(t){return t===r?(e.consume(t),A++,i):(e.exit(\"thematicBreakSequence\"),DA(t)?TA(e,o,\"whitespace\")(t):o(t))}}};const Po={continuation:{tokenize:function(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(FA,function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,TA(e,t,\"listItemIndent\",r.containerState.size+1)(n)},function(n){return r.containerState.furtherBlankLines||!DA(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,A(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Do,t,A)(n))});function A(A){return r.containerState._closeFlow=!0,r.interrupt=void 0,TA(e,e.attempt(Po,t,n),\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(A)}}},exit:function(e){e.exit(this.containerState.type)},name:\"list\",tokenize:function(e,t,n){const r=this,A=r.events[r.events.length-1];let o=A&&\"linePrefix\"===A[1].type?A[2].sliceSerialize(A[1],!0).length:0,i=0;return function(t){const A=r.containerState.type||(42===t||43===t||45===t?\"listUnordered\":\"listOrdered\");if(\"listUnordered\"===A?!r.containerState.marker||t===r.containerState.marker:wA(t)){if(r.containerState.type||(r.containerState.type=A,e.enter(A,{_container:!0})),\"listUnordered\"===A)return e.enter(\"listItemPrefix\"),42===t||45===t?e.check(Eo,n,a)(t):a(t);if(!r.interrupt||49===t)return e.enter(\"listItemPrefix\"),e.enter(\"listItemValue\"),l(t)}return n(t)};function l(t){return wA(t)&&++i<10?(e.consume(t),l):(!r.interrupt||i<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit(\"listItemValue\"),a(t)):n(t)}function a(t){return e.enter(\"listItemMarker\"),e.consume(t),e.exit(\"listItemMarker\"),r.containerState.marker=r.containerState.marker||t,e.check(FA,r.interrupt?n:s,e.attempt(Bo,u,c))}function s(e){return r.containerState.initialBlankLine=!0,o++,u(e)}function c(t){return DA(t)?(e.enter(\"listItemPrefixWhitespace\"),e.consume(t),e.exit(\"listItemPrefixWhitespace\"),u):n(t)}function u(n){return r.containerState.size=o+r.sliceSerialize(e.exit(\"listItemPrefix\"),!0).length,t(n)}}},Bo={partial:!0,tokenize:function(e,t,n){const r=this;return TA(e,function(e){const A=r.events[r.events.length-1];return!DA(e)&&A&&\"listItemPrefixWhitespace\"===A[1].type?t(e):n(e)},\"listItemPrefixWhitespace\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:5)}},Do={partial:!0,tokenize:function(e,t,n){const r=this;return TA(e,function(e){const A=r.events[r.events.length-1];return A&&\"listItemIndent\"===A[1].type&&A[2].sliceSerialize(A[1],!0).length===r.containerState.size?t(e):n(e)},\"listItemIndent\",r.containerState.size+1)}};const Co={name:\"setextUnderline\",resolveTo:function(e,t){let n,r,A,o=e.length;for(;o--;)if(\"enter\"===e[o][0]){if(\"content\"===e[o][1].type){n=o;break}\"paragraph\"===e[o][1].type&&(r=o)}else\"content\"===e[o][1].type&&e.splice(o,1),!A&&\"definition\"===e[o][1].type&&(A=o);const i={type:\"setextHeading\",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type=\"setextHeadingText\",A?(e.splice(r,0,[\"enter\",i,t]),e.splice(A+1,0,[\"exit\",e[n][1],t]),e[n][1].end={...e[A][1].end}):e[n][1]=i,e.push([\"exit\",i,t]),e},tokenize:function(e,t,n){const r=this;let A;return function(t){let i,l=r.events.length;for(;l--;)if(\"lineEnding\"!==r.events[l][1].type&&\"linePrefix\"!==r.events[l][1].type&&\"content\"!==r.events[l][1].type){i=\"paragraph\"===r.events[l][1].type;break}return r.parser.lazy[r.now().line]||!r.interrupt&&!i?n(t):(e.enter(\"setextHeadingLine\"),A=t,function(t){return e.enter(\"setextHeadingLineSequence\"),o(t)}(t))};function o(t){return t===A?(e.consume(t),o):(e.exit(\"setextHeadingLineSequence\"),DA(t)?TA(e,i,\"lineSuffix\")(t):i(t))}function i(r){return null===r||PA(r)?(e.exit(\"setextHeadingLine\"),t(r)):n(r)}}};const xo={tokenize:function(e){const t=this,n=e.attempt(FA,function(r){if(null===r)return void e.consume(r);return e.enter(\"lineEndingBlank\"),e.consume(r),e.exit(\"lineEndingBlank\"),t.currentConstruct=void 0,n},e.attempt(this.parser.constructs.flowInitial,r,TA(e,e.attempt(this.parser.constructs.flow,r,e.attempt(ZA,r)),\"linePrefix\")));return n;function r(r){if(null!==r)return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),t.currentConstruct=void 0,n;e.consume(r)}}};const ko={resolveAll:Qo()},So=Io(\"string\"),To=Io(\"text\");function Io(e){return{resolveAll:Qo(\"text\"===e?Mo:void 0),tokenize:function(t){const n=this,r=this.parser.constructs[e],A=t.attempt(r,o,i);return o;function o(e){return a(e)?A(e):i(e)}function i(e){if(null!==e)return t.enter(\"data\"),t.consume(e),l;t.consume(e)}function l(e){return a(e)?(t.exit(\"data\"),A(e)):(t.consume(e),l)}function a(e){if(null===e)return!0;const t=r[e];let A=-1;if(t)for(;++A<t.length;){const e=t[A];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}}function Qo(e){return function(t,n){let r,A=-1;for(;++A<=t.length;)void 0===r?t[A]&&\"data\"===t[A][1].type&&(r=A,A++):(!t[A]||\"data\"!==t[A][1].type)&&(A!==r+2&&(t[r][1].end=t[A-1][1].end,t.splice(r+2,A-r-2),A=r+2),r=void 0);return e?e(t,n):t}}function Mo(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||\"lineEnding\"===e[n][1].type)&&\"data\"===e[n-1][1].type){const r=e[n-1][1],A=t.sliceStream(r);let o,i=A.length,l=-1,a=0;for(;i--;){const e=A[i];if(\"string\"==typeof e){for(l=e.length;32===e.charCodeAt(l-1);)a++,l--;if(l)break;l=-1}else if(-2===e)o=!0,a++;else if(-1!==e){i++;break}}if(a){const A={type:n===e.length||o||a<2?\"lineSuffix\":\"hardBreakTrailing\",start:{_bufferIndex:i?l:r.start._bufferIndex+l,_index:r.start._index+i,line:r.end.line,column:r.end.column-a,offset:r.end.offset-a},end:{...r.end}};r.end={...A.start},r.start.offset===r.end.offset?Object.assign(r,A):(e.splice(n,0,[\"enter\",A,t],[\"exit\",A,t]),n+=2)}n++}return e}const Oo={42:Po,43:Po,45:Po,48:Po,49:Po,50:Po,51:Po,52:Po,53:Po,54:Po,55:Po,56:Po,57:Po,62:UA},Lo={91:Ao},No={[-2]:GA,[-1]:GA,32:GA},Ho={35:lo,42:Eo,45:[Co,Eo],60:co,61:Co,95:Eo,96:qA,126:qA},Ro={38:zA,92:jA},Fo={[-5]:bo,[-4]:bo,[-3]:bo,33:yo,38:zA,42:NA,60:[RA,po],91:wo,92:[io,jA],93:go,95:NA,96:WA},Uo={null:[NA,ko]},jo=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:Lo,disable:{null:[]},document:Oo,flow:Ho,flowInitial:No,insideSpan:Uo,string:Ro,text:Fo},Symbol.toStringTag,{value:\"Module\"}));function zo(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const A={},o=[];let i=[],l=[];const a={attempt:g(function(e,t){h(e,t.from)}),check:g(p),consume:function(e){PA(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,m()):-1!==e&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===i[r._index].length&&(r._bufferIndex=-1,r._index++)),s.previous=e},enter:function(e,t){const n=t||{};return n.type=e,n.start=d(),s.events.push([\"enter\",n,s]),l.push(n),n},exit:function(e){const t=l.pop();return t.end=d(),s.events.push([\"exit\",t,s]),t},interrupt:g(p,{interrupt:!0})},s={code:null,containerState:{},defineSkip:function(e){A[e.line]=e.column,m()},events:[],now:d,parser:e,previous:null,sliceSerialize:function(e,t){return function(e,t){let n=-1;const r=[];let A;for(;++n<e.length;){const o=e[n];let i;if(\"string\"==typeof o)i=o;else switch(o){case-5:i=\"\\r\";break;case-4:i=\"\\n\";break;case-3:i=\"\\r\\n\";break;case-2:i=t?\" \":\"\\t\";break;case-1:if(!t&&A)continue;i=\" \";break;default:i=String.fromCharCode(o)}A=-2===o,r.push(i)}return r.join(\"\")}(u(e),t)},sliceStream:u,write:function(e){return i=sA(i,e),function(){let e;for(;r._index<i.length;){const t=i[r._index];if(\"string\"==typeof t)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)f(t.charCodeAt(r._bufferIndex));else f(t)}}(),null!==i[i.length-1]?[]:(h(t,0),s.events=LA(o,s.events,s),s.events)}};let c=t.tokenize.call(s,a);return t.resolveAll&&o.push(t),s;function u(e){return function(e,t){const n=t.start._index,r=t.start._bufferIndex,A=t.end._index,o=t.end._bufferIndex;let i;if(n===A)i=[e[n].slice(r,o)];else{if(i=e.slice(n,A),r>-1){const e=i[0];\"string\"==typeof e?i[0]=e.slice(r):i.shift()}o>0&&i.push(e[A].slice(0,o))}return i}(i,e)}function d(){const{_bufferIndex:e,_index:t,line:n,column:A,offset:o}=r;return{_bufferIndex:e,_index:t,line:n,column:A,offset:o}}function f(e){c=c(e)}function p(e,t){t.restore()}function g(e,t){return function(n,A,o){let i,c,u,f;return Array.isArray(n)?p(n):\"tokenize\"in n?p([n]):function(e){return t;function t(t){const n=null!==t&&e[t],r=null!==t&&e.null;return p([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}(n);function p(e){return i=e,c=0,0===e.length?o:g(e[c])}function g(e){return function(n){return f=function(){const e=d(),t=s.previous,n=s.currentConstruct,A=s.events.length,o=Array.from(l);return{from:A,restore:i};function i(){r=e,s.previous=t,s.currentConstruct=n,s.events.length=A,l=o,m()}}(),u=e,e.partial||(s.currentConstruct=e),e.name&&s.parser.constructs.disable.null.includes(e.name)?v():e.tokenize.call(t?Object.assign(Object.create(s),t):s,a,h,v)(n)}}function h(t){return e(u,f),A}function v(e){return f.restore(),++c<i.length?g(i[c]):o}}}function h(e,t){e.resolveAll&&!o.includes(e)&&o.push(e),e.resolve&&aA(s.events,t,s.events.length-t,e.resolve(s.events.slice(t),s)),e.resolveTo&&(s.events=e.resolveTo(s.events,s))}function m(){r.line in A&&r.column<2&&(r.column=A[r.line],r.offset+=A[r.line]-1)}}const _o=/[\\0\\t\\n\\r]/g;const qo=/\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;function Go(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return pA(n.slice(t?2:1),t?16:10)}return lA(n)||e}const Yo={}.hasOwnProperty;function Wo(e,t,n){return\"string\"!=typeof t&&(n=t,t=void 0),function(e){const t={transforms:[],canContainEols:[\"emphasis\",\"fragment\",\"heading\",\"paragraph\",\"strong\"],enter:{autolink:o(te),autolinkProtocol:D,autolinkEmail:D,atxHeading:o(J),blockQuote:o(Y),characterEscape:D,characterReference:D,codeFenced:o(W),codeFencedFenceInfo:i,codeFencedFenceMeta:i,codeIndented:o(W,i),codeText:o(V,i),codeTextData:D,data:D,codeFlowValue:D,definition:o(X),definitionDestinationString:i,definitionLabelString:i,definitionTitleString:i,emphasis:o(K),hardBreakEscape:o(Z),hardBreakTrailing:o(Z),htmlFlow:o($,i),htmlFlowData:D,htmlText:o($,i),htmlTextData:D,image:o(ee),label:i,link:o(te),listItem:o(re),listItemValue:d,listOrdered:o(ne,u),listUnordered:o(ne),paragraph:o(Ae),reference:F,referenceString:i,resourceDestinationString:i,resourceTitleString:i,setextHeading:o(J),strong:o(oe),thematicBreak:o(le)},exit:{atxHeading:a(),atxHeadingSequence:b,autolink:a(),autolinkEmail:G,autolinkProtocol:q,blockQuote:a(),characterEscapeValue:C,characterReferenceMarkerHexadecimal:j,characterReferenceMarkerNumeric:j,characterReferenceValue:z,characterReference:_,codeFenced:a(h),codeFencedFence:g,codeFencedFenceInfo:f,codeFencedFenceMeta:p,codeFlowValue:C,codeIndented:a(m),codeText:a(I),codeTextData:C,data:C,definition:a(),definitionDestinationString:w,definitionLabelString:v,definitionTitleString:y,emphasis:a(),hardBreakEscape:a(k),hardBreakTrailing:a(k),htmlFlow:a(S),htmlFlowData:C,htmlText:a(T),htmlTextData:C,image:a(M),label:L,labelText:O,lineEnding:x,link:a(Q),listItem:a(),listOrdered:a(),listUnordered:a(),paragraph:a(),referenceString:U,resourceDestinationString:N,resourceTitleString:H,resource:R,setextHeading:a(B),setextHeadingLineSequence:P,setextHeadingText:E,strong:a(),thematicBreak:a()}};Xo(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(e){let r={type:\"root\",children:[]};const o={stack:[r],tokenStack:[],config:t,enter:l,exit:s,buffer:i,resume:c,data:n},a=[];let u=-1;for(;++u<e.length;)if(\"listOrdered\"===e[u][1].type||\"listUnordered\"===e[u][1].type)if(\"enter\"===e[u][0])a.push(u);else{u=A(e,a.pop(),u)}for(u=-1;++u<e.length;){const n=t[e[u][0]];Yo.call(n,e[u][1].type)&&n[e[u][1].type].call(Object.assign({sliceSerialize:e[u][2].sliceSerialize},o),e[u][1])}if(o.tokenStack.length>0){const e=o.tokenStack[o.tokenStack.length-1];(e[1]||Jo).call(o,void 0,e[0])}for(r.position={start:Vo(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:Vo(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},u=-1;++u<t.transforms.length;)r=t.transforms[u](r)||r;return r}function A(e,t,n){let r,A,o,i,l=t-1,a=-1,s=!1;for(;++l<=n;){const t=e[l];switch(t[1].type){case\"listUnordered\":case\"listOrdered\":case\"blockQuote\":\"enter\"===t[0]?a++:a--,i=void 0;break;case\"lineEndingBlank\":\"enter\"===t[0]&&(r&&!i&&!a&&!o&&(o=l),i=void 0);break;case\"linePrefix\":case\"listItemValue\":case\"listItemMarker\":case\"listItemPrefix\":case\"listItemPrefixWhitespace\":break;default:i=void 0}if(!a&&\"enter\"===t[0]&&\"listItemPrefix\"===t[1].type||-1===a&&\"exit\"===t[0]&&(\"listUnordered\"===t[1].type||\"listOrdered\"===t[1].type)){if(r){let i=l;for(A=void 0;i--;){const t=e[i];if(\"lineEnding\"===t[1].type||\"lineEndingBlank\"===t[1].type){if(\"exit\"===t[0])continue;A&&(e[A][1].type=\"lineEndingBlank\",s=!0),t[1].type=\"lineEnding\",A=i}else if(\"linePrefix\"!==t[1].type&&\"blockQuotePrefix\"!==t[1].type&&\"blockQuotePrefixWhitespace\"!==t[1].type&&\"blockQuoteMarker\"!==t[1].type&&\"listItemIndent\"!==t[1].type)break}o&&(!A||o<A)&&(r._spread=!0),r.end=Object.assign({},A?e[A][1].start:t[1].end),e.splice(A||l,0,[\"exit\",r,t[2]]),l++,n++}if(\"listItemPrefix\"===t[1].type){const A={type:\"listItem\",_spread:!1,start:Object.assign({},t[1].start),end:void 0};r=A,e.splice(l,0,[\"enter\",A,t[2]]),l++,n++,o=void 0,i=!0}}}return e[t][1]._spread=s,n}function o(e,t){return n;function n(n){l.call(this,e(n),n),t&&t.call(this,n)}}function i(){this.stack.push({type:\"fragment\",children:[]})}function l(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:Vo(t.start),end:void 0}}function a(e){return t;function t(t){e&&e.call(this,t),s.call(this,t)}}function s(e,t){const n=this.stack.pop(),r=this.tokenStack.pop();if(!r)throw new Error(\"Cannot close `\"+e.type+\"` (\"+Mr({start:e.start,end:e.end})+\"): it’s not open\");r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||Jo).call(this,e,r[0])),n.position.end=Vo(e.end)}function c(){return function(e){return AA(e,\"boolean\"!=typeof rA.includeImageAlt||rA.includeImageAlt,\"boolean\"!=typeof rA.includeHtml||rA.includeHtml)}(this.stack.pop())}function u(){this.data.expectingFirstListItemValue=!0}function d(e){if(this.data.expectingFirstListItemValue){this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function f(){const e=this.resume();this.stack[this.stack.length-1].lang=e}function p(){const e=this.resume();this.stack[this.stack.length-1].meta=e}function g(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function h(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,\"\"),this.data.flowCodeInside=void 0}function m(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\\r?\\n|\\r)$/g,\"\")}function v(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=gA(this.sliceSerialize(e)).toLowerCase()}function y(){const e=this.resume();this.stack[this.stack.length-1].title=e}function w(){const e=this.resume();this.stack[this.stack.length-1].url=e}function b(e){const t=this.stack[this.stack.length-1];if(!t.depth){const n=this.sliceSerialize(e).length;t.depth=n}}function E(){this.data.setextHeadingSlurpLineEnding=!0}function P(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2}function B(){this.data.setextHeadingSlurpLineEnding=void 0}function D(e){const t=this.stack[this.stack.length-1].children;let n=t[t.length-1];(!n||\"text\"!==n.type)&&(n=ie(),n.position={start:Vo(e.start),end:void 0},t.push(n)),this.stack.push(n)}function C(e){const t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=Vo(e.end)}function x(e){const n=this.stack[this.stack.length-1];if(this.data.atHardBreak){return n.children[n.children.length-1].position.end=Vo(e.end),void(this.data.atHardBreak=void 0)}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(D.call(this,e),C.call(this,e))}function k(){this.data.atHardBreak=!0}function S(){const e=this.resume();this.stack[this.stack.length-1].value=e}function T(){const e=this.resume();this.stack[this.stack.length-1].value=e}function I(){const e=this.resume();this.stack[this.stack.length-1].value=e}function Q(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||\"shortcut\";e.type+=\"Reference\",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function M(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||\"shortcut\";e.type+=\"Reference\",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function O(e){const t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=function(e){return e.replace(qo,Go)}(t),n.identifier=gA(t).toLowerCase()}function L(){const e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(this.data.inReference=!0,\"link\"===n.type){const t=e.children;n.children=t}else n.alt=t}function N(){const e=this.resume();this.stack[this.stack.length-1].url=e}function H(){const e=this.resume();this.stack[this.stack.length-1].title=e}function R(){this.data.inReference=void 0}function F(){this.data.referenceType=\"collapsed\"}function U(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=gA(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=\"full\"}function j(e){this.data.characterReferenceType=e.type}function z(e){const t=this.sliceSerialize(e),n=this.data.characterReferenceType;let r;n?(r=pA(t,\"characterReferenceMarkerNumeric\"===n?10:16),this.data.characterReferenceType=void 0):r=lA(t);this.stack[this.stack.length-1].value+=r}function _(e){this.stack.pop().position.end=Vo(e.end)}function q(e){C.call(this,e);this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function G(e){C.call(this,e);this.stack[this.stack.length-1].url=\"mailto:\"+this.sliceSerialize(e)}function Y(){return{type:\"blockquote\",children:[]}}function W(){return{type:\"code\",lang:null,meta:null,value:\"\"}}function V(){return{type:\"inlineCode\",value:\"\"}}function X(){return{type:\"definition\",identifier:\"\",label:null,title:null,url:\"\"}}function K(){return{type:\"emphasis\",children:[]}}function J(){return{type:\"heading\",depth:0,children:[]}}function Z(){return{type:\"break\"}}function $(){return{type:\"html\",value:\"\"}}function ee(){return{type:\"image\",title:null,url:\"\",alt:null}}function te(){return{type:\"link\",title:null,url:\"\",children:[]}}function ne(e){return{type:\"list\",ordered:\"listOrdered\"===e.type,start:null,spread:e._spread,children:[]}}function re(e){return{type:\"listItem\",spread:e._spread,checked:null,children:[]}}function Ae(){return{type:\"paragraph\",children:[]}}function oe(){return{type:\"strong\",children:[]}}function ie(){return{type:\"text\",value:\"\"}}function le(){return{type:\"thematicBreak\"}}}(n)(function(e){for(;!KA(e););return e}(function(e){const t={constructs:uA([jo,...(e||{}).extensions||[]]),content:n(IA),defined:[],document:n(QA),flow:n(xo),lazy:{},string:n(So),text:n(To)};return t;function n(e){return function(n){return zo(t,e,n)}}}(n).document().write(function(){let e,t=1,n=\"\",r=!0;return function(A,o,i){const l=[];let a,s,c,u,d;for(A=n+(\"string\"==typeof A?A.toString():new TextDecoder(o||void 0).decode(A)),c=0,n=\"\",r&&(65279===A.charCodeAt(0)&&c++,r=void 0);c<A.length;){if(_o.lastIndex=c,a=_o.exec(A),u=a&&void 0!==a.index?a.index:A.length,d=A.charCodeAt(u),!a){n=A.slice(c);break}if(10===d&&c===u&&e)l.push(-3),e=void 0;else switch(e&&(l.push(-5),e=void 0),c<u&&(l.push(A.slice(c,u)),t+=u-c),d){case 0:l.push(65533),t++;break;case 9:for(s=4*Math.ceil(t/4),l.push(-2);t++<s;)l.push(-1);break;case 10:l.push(-4),t=1;break;default:e=!0,t=1}c=u+1}return i&&(e&&l.push(-5),n&&l.push(n),l.push(null)),l}}()(e,t,!0))))}function Vo(e){return{line:e.line,column:e.column,offset:e.offset}}function Xo(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?Xo(e,r):Ko(e,r)}}function Ko(e,t){let n;for(n in t)if(Yo.call(t,n))switch(n){case\"canContainEols\":{const r=t[n];r&&e[n].push(...r);break}case\"transforms\":{const r=t[n];r&&e[n].push(...r);break}case\"enter\":case\"exit\":{const r=t[n];r&&Object.assign(e[n],r);break}}}function Jo(e,t){throw e?new Error(\"Cannot close `\"+e.type+\"` (\"+Mr({start:e.start,end:e.end})+\"): a different token (`\"+t.type+\"`, \"+Mr({start:t.start,end:t.end})+\") is open\"):new Error(\"Cannot close document, a token (`\"+t.type+\"`, \"+Mr({start:t.start,end:t.end})+\") is still open\")}function Zo(e){const t=this;t.parser=function(n){return Wo(n,{...t.data(\"settings\"),...e,extensions:t.data(\"micromarkExtensions\")||[],mdastExtensions:t.data(\"fromMarkdownExtensions\")||[]})}}function $o(e,t){const n=t.referenceType;let r=\"]\";if(\"collapsed\"===n?r+=\"[]\":\"full\"===n&&(r+=\"[\"+(t.label||t.identifier)+\"]\"),\"imageReference\"===t.type)return[{type:\"text\",value:\"![\"+t.alt+r}];const A=e.all(t),o=A[0];o&&\"text\"===o.type?o.value=\"[\"+o.value:A.unshift({type:\"text\",value:\"[\"});const i=A[A.length-1];return i&&\"text\"===i.type?i.value+=r:A.push({type:\"text\",value:r}),A}function ei(e){return e.spread??e.children.length>1}function ti(e){const t=String(e),n=/\\r?\\n|\\r/g;let r=n.exec(t),A=0;const o=[];for(;r;)o.push(ni(t.slice(A,r.index),A>0,!0),r[0]),A=r.index+r[0].length,r=n.exec(t);return o.push(ni(t.slice(A),A>0,!1)),o.join(\"\")}function ni(e,t,n){let r=0,A=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(A-1);for(;9===t||32===t;)A--,t=e.codePointAt(A-1)}return A>r?e.slice(r,A):\"\"}const ri={blockquote:function(e,t){const n={type:\"element\",tagName:\"blockquote\",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){const n={type:\"element\",tagName:\"br\",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:\"text\",value:\"\\n\"}]},code:function(e,t){const n=t.value?t.value+\"\\n\":\"\",r={};t.lang&&(r.className=[\"language-\"+t.lang]);let A={type:\"element\",tagName:\"code\",properties:r,children:[{type:\"text\",value:n}]};return t.meta&&(A.data={meta:t.meta}),e.patch(t,A),A=e.applyData(t,A),A={type:\"element\",tagName:\"pre\",properties:{},children:[A]},e.patch(t,A),A},delete:function(e,t){const n={type:\"element\",tagName:\"del\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){const n={type:\"element\",tagName:\"em\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:function(e,t){const n=\"string\"==typeof e.options.clobberPrefix?e.options.clobberPrefix:\"user-content-\",r=String(t.identifier).toUpperCase(),A=SA(r.toLowerCase()),o=e.footnoteOrder.indexOf(r);let i,l=e.footnoteCounts.get(r);void 0===l?(l=0,e.footnoteOrder.push(r),i=e.footnoteOrder.length):i=o+1,l+=1,e.footnoteCounts.set(r,l);const a={type:\"element\",tagName:\"a\",properties:{href:\"#\"+n+\"fn-\"+A,id:n+\"fnref-\"+A+(l>1?\"-\"+l:\"\"),dataFootnoteRef:!0,ariaDescribedBy:[\"footnote-label\"]},children:[{type:\"text\",value:String(i)}]};e.patch(t,a);const s={type:\"element\",tagName:\"sup\",properties:{},children:[a]};return e.patch(t,s),e.applyData(t,s)},heading:function(e,t){const n={type:\"element\",tagName:\"h\"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.options.allowDangerousHtml){const n={type:\"raw\",value:t.value};return e.patch(t,n),e.applyData(t,n)}},imageReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return $o(e,t);const A={src:SA(r.url||\"\"),alt:t.alt};null!==r.title&&void 0!==r.title&&(A.title=r.title);const o={type:\"element\",tagName:\"img\",properties:A,children:[]};return e.patch(t,o),e.applyData(t,o)},image:function(e,t){const n={src:SA(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:\"element\",tagName:\"img\",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){const n={type:\"text\",value:t.value.replace(/\\r?\\n|\\r/g,\" \")};e.patch(t,n);const r={type:\"element\",tagName:\"code\",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return $o(e,t);const A={href:SA(r.url||\"\")};null!==r.title&&void 0!==r.title&&(A.title=r.title);const o={type:\"element\",tagName:\"a\",properties:A,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)},link:function(e,t){const n={href:SA(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:\"element\",tagName:\"a\",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){const r=e.all(t),A=n?function(e){let t=!1;if(\"list\"===e.type){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=ei(n[r])}return t}(n):ei(t),o={},i=[];if(\"boolean\"==typeof t.checked){const e=r[0];let n;e&&\"element\"===e.type&&\"p\"===e.tagName?n=e:(n={type:\"element\",tagName:\"p\",properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:\"text\",value:\" \"}),n.children.unshift({type:\"element\",tagName:\"input\",properties:{type:\"checkbox\",checked:t.checked,disabled:!0},children:[]}),o.className=[\"task-list-item\"]}let l=-1;for(;++l<r.length;){const e=r[l];(A||0!==l||\"element\"!==e.type||\"p\"!==e.tagName)&&i.push({type:\"text\",value:\"\\n\"}),\"element\"!==e.type||\"p\"!==e.tagName||A?i.push(e):i.push(...e.children)}const a=r[r.length-1];a&&(A||\"element\"!==a.type||\"p\"!==a.tagName)&&i.push({type:\"text\",value:\"\\n\"});const s={type:\"element\",tagName:\"li\",properties:o,children:i};return e.patch(t,s),e.applyData(t,s)},list:function(e,t){const n={},r=e.all(t);let A=-1;for(\"number\"==typeof t.start&&1!==t.start&&(n.start=t.start);++A<r.length;){const e=r[A];if(\"element\"===e.type&&\"li\"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(\"task-list-item\")){n.className=[\"contains-task-list\"];break}}const o={type:\"element\",tagName:t.ordered?\"ol\":\"ul\",properties:n,children:e.wrap(r,!0)};return e.patch(t,o),e.applyData(t,o)},paragraph:function(e,t){const n={type:\"element\",tagName:\"p\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},root:function(e,t){const n={type:\"root\",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)},strong:function(e,t){const n={type:\"element\",tagName:\"strong\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},table:function(e,t){const n=e.all(t),r=n.shift(),A=[];if(r){const n={type:\"element\",tagName:\"thead\",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),A.push(n)}if(n.length>0){const r={type:\"element\",tagName:\"tbody\",properties:{},children:e.wrap(n,!0)},o=Ir(t.children[1]),i=Tr(t.children[t.children.length-1]);o&&i&&(r.position={start:o,end:i}),A.push(r)}const o={type:\"element\",tagName:\"table\",properties:{},children:e.wrap(A,!0)};return e.patch(t,o),e.applyData(t,o)},tableCell:function(e,t){const n={type:\"element\",tagName:\"td\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){const r=n?n.children:void 0,A=0===(r?r.indexOf(t):1)?\"th\":\"td\",o=n&&\"table\"===n.type?n.align:void 0,i=o?o.length:t.children.length;let l=-1;const a=[];for(;++l<i;){const n=t.children[l],r={},i=o?o[l]:void 0;i&&(r.align=i);let s={type:\"element\",tagName:A,properties:r,children:[]};n&&(s.children=e.all(n),e.patch(n,s),s=e.applyData(n,s)),a.push(s)}const s={type:\"element\",tagName:\"tr\",properties:{},children:e.wrap(a,!0)};return e.patch(t,s),e.applyData(t,s)},text:function(e,t){const n={type:\"text\",value:ti(String(t.value))};return e.patch(t,n),e.applyData(t,n)},thematicBreak:function(e,t){const n={type:\"element\",tagName:\"hr\",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)},toml:Ai,yaml:Ai,definition:Ai,footnoteDefinition:Ai};function Ai(){}const oi=\"object\"==typeof self?self:globalThis,ii=e=>((e,t)=>{const n=(t,n)=>(e.set(n,t),t),r=A=>{if(e.has(A))return e.get(A);const[o,i]=t[A];switch(o){case 0:case-1:return n(i,A);case 1:{const e=n([],A);for(const t of i)e.push(r(t));return e}case 2:{const e=n({},A);for(const[t,n]of i)e[r(t)]=r(n);return e}case 3:return n(new Date(i),A);case 4:{const{source:e,flags:t}=i;return n(new RegExp(e,t),A)}case 5:{const e=n(new Map,A);for(const[t,n]of i)e.set(r(t),r(n));return e}case 6:{const e=n(new Set,A);for(const t of i)e.add(r(t));return e}case 7:{const{name:e,message:t}=i;return n(new oi[e](t),A)}case 8:return n(BigInt(i),A);case\"BigInt\":return n(Object(BigInt(i)),A);case\"ArrayBuffer\":return n(new Uint8Array(i).buffer,i);case\"DataView\":{const{buffer:e}=new Uint8Array(i);return n(new DataView(e),i)}}return n(new oi[o](i),A)};return r})(new Map,e)(0),li=\"\",{toString:ai}={},{keys:si}=Object,ci=e=>{const t=typeof e;if(\"object\"!==t||!e)return[0,t];const n=ai.call(e).slice(8,-1);switch(n){case\"Array\":return[1,li];case\"Object\":return[2,li];case\"Date\":return[3,li];case\"RegExp\":return[4,li];case\"Map\":return[5,li];case\"Set\":return[6,li];case\"DataView\":return[1,n]}return n.includes(\"Array\")?[1,n]:n.includes(\"Error\")?[7,n]:[2,n]},ui=([e,t])=>0===e&&(\"function\"===t||\"symbol\"===t),di=(e,{json:t,lossy:n}={})=>{const r=[];return((e,t,n,r)=>{const A=(e,t)=>{const A=r.push(e)-1;return n.set(t,A),A},o=r=>{if(n.has(r))return n.get(r);let[i,l]=ci(r);switch(i){case 0:{let t=r;switch(l){case\"bigint\":i=8,t=r.toString();break;case\"function\":case\"symbol\":if(e)throw new TypeError(\"unable to serialize \"+l);t=null;break;case\"undefined\":return A([-1],r)}return A([i,t],r)}case 1:{if(l){let e=r;return\"DataView\"===l?e=new Uint8Array(r.buffer):\"ArrayBuffer\"===l&&(e=new Uint8Array(r)),A([l,[...e]],r)}const e=[],t=A([i,e],r);for(const t of r)e.push(o(t));return t}case 2:{if(l)switch(l){case\"BigInt\":return A([l,r.toString()],r);case\"Boolean\":case\"Number\":case\"String\":return A([l,r.valueOf()],r)}if(t&&\"toJSON\"in r)return o(r.toJSON());const n=[],a=A([i,n],r);for(const t of si(r))(e||!ui(ci(r[t])))&&n.push([o(t),o(r[t])]);return a}case 3:return A([i,r.toISOString()],r);case 4:{const{source:e,flags:t}=r;return A([i,{source:e,flags:t}],r)}case 5:{const t=[],n=A([i,t],r);for(const[n,A]of r)(e||!ui(ci(n))&&!ui(ci(A)))&&t.push([o(n),o(A)]);return n}case 6:{const t=[],n=A([i,t],r);for(const n of r)(e||!ui(ci(n)))&&t.push(o(n));return n}}const{message:a}=r;return A([i,{name:l,message:a}],r)};return o})(!(t||n),!!t,new Map,r)(e),r},fi=\"function\"==typeof structuredClone?(e,t)=>t&&(\"json\"in t||\"lossy\"in t)?ii(di(e,t)):structuredClone(e):(e,t)=>ii(di(e,t));function pi(e,t){const n=[{type:\"text\",value:\"↩\"}];return t>1&&n.push({type:\"element\",tagName:\"sup\",properties:{},children:[{type:\"text\",value:String(t)}]}),n}function gi(e,t){return\"Back to reference \"+(e+1)+(t>1?\"-\"+t:\"\")}const hi=function(e){if(null==e)return vi;if(\"function\"==typeof e)return mi(e);if(\"object\"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=hi(e[n]);return mi(r);function r(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}}(e):function(e){const t=e;return mi(n);function n(n){const r=n;let A;for(A in e)if(r[A]!==t[A])return!1;return!0}}(e);if(\"string\"==typeof e)return function(e){return mi(t);function t(t){return t&&t.type===e}}(e);throw new Error(\"Expected function, string, or object as test\")};function mi(e){return function(t,n,r){return!(!function(e){return null!==e&&\"object\"==typeof e&&\"type\"in e}(t)||!e.call(this,t,\"number\"==typeof n?n:void 0,r||void 0))}}function vi(){return!0}const yi=[],wi=!0,bi=!1;function Ei(e,t,n,r){let A;\"function\"==typeof t&&\"function\"!=typeof n?(r=n,n=t):A=t;const o=hi(A),i=r?-1:1;!function e(A,l,a){const s=A&&\"object\"==typeof A?A:{};if(\"string\"==typeof s.type){const e=\"string\"==typeof s.tagName?s.tagName:\"string\"==typeof s.name?s.name:void 0;Object.defineProperty(c,\"name\",{value:\"node (\"+A.type+(e?\"<\"+e+\">\":\"\")+\")\"})}return c;function c(){let s,c,u,d=yi;if((!t||o(A,l,a[a.length-1]||void 0))&&(d=function(e){return Array.isArray(e)?e:\"number\"==typeof e?[wi,e]:null==e?yi:[e]}(n(A,a)),d[0]===bi))return d;if(\"children\"in A&&A.children){const t=A;if(t.children&&\"skip\"!==d[0])for(c=(r?t.children.length:-1)+i,u=a.concat(t);c>-1&&c<t.children.length;){const n=t.children[c];if(s=e(n,c,u)(),s[0]===bi)return s;c=\"number\"==typeof s[1]?s[1]:c+i}}return d}}(e,void 0,[])()}function Pi(e,t,n,r){let A,o,i;\"function\"==typeof t?(o=void 0,i=t,A=n):(o=t,i=n,A=r),Ei(e,o,function(e,t){const n=t[t.length-1],r=n?n.children.indexOf(e):void 0;return i(e,r,n)},A)}const Bi={}.hasOwnProperty,Di={};function Ci(e,t){const n=t||Di,r=new Map,A=new Map,o=new Map,i={...ri,...n.handlers},l={all:function(e){const t=[];if(\"children\"in e){const n=e.children;let r=-1;for(;++r<n.length;){const A=l.one(n[r],e);if(A){if(r&&\"break\"===n[r-1].type&&(!Array.isArray(A)&&\"text\"===A.type&&(A.value=Ii(A.value)),!Array.isArray(A)&&\"element\"===A.type)){const e=A.children[0];e&&\"text\"===e.type&&(e.value=Ii(e.value))}Array.isArray(A)?t.push(...A):t.push(A)}}}return t},applyData:ki,definitionById:r,footnoteById:A,footnoteCounts:o,footnoteOrder:[],handlers:i,one:function(e,t){const n=e.type,r=l.handlers[n];if(Bi.call(l.handlers,n)&&r)return r(l,e,t);if(l.options.passThrough&&l.options.passThrough.includes(n)){if(\"children\"in e){const{children:t,...n}=e,r=fi(n);return r.children=l.all(e),r}return fi(e)}return(l.options.unknownHandler||Si)(l,e,t)},options:n,patch:xi,wrap:Ti};return Pi(e,function(e){if(\"definition\"===e.type||\"footnoteDefinition\"===e.type){const t=\"definition\"===e.type?r:A,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),l}function xi(e,t){e.position&&(t.position=function(e){const t=Ir(e),n=Tr(e);if(t&&n)return{start:t,end:n}}(e))}function ki(e,t){let n=t;if(e&&e.data){const t=e.data.hName,r=e.data.hChildren,A=e.data.hProperties;if(\"string\"==typeof t)if(\"element\"===n.type)n.tagName=t;else{n={type:\"element\",tagName:t,properties:{},children:\"children\"in n?n.children:[n]}}\"element\"===n.type&&A&&Object.assign(n.properties,fi(A)),\"children\"in n&&n.children&&null!=r&&(n.children=r)}return n}function Si(e,t){const n=t.data||{},r=!(\"value\"in t)||Bi.call(n,\"hProperties\")||Bi.call(n,\"hChildren\")?{type:\"element\",tagName:\"div\",properties:{},children:e.all(t)}:{type:\"text\",value:t.value};return e.patch(t,r),e.applyData(t,r)}function Ti(e,t){const n=[];let r=-1;for(t&&n.push({type:\"text\",value:\"\\n\"});++r<e.length;)r&&n.push({type:\"text\",value:\"\\n\"}),n.push(e[r]);return t&&e.length>0&&n.push({type:\"text\",value:\"\\n\"}),n}function Ii(e){let t=0,n=e.charCodeAt(t);for(;9===n||32===n;)t++,n=e.charCodeAt(t);return e.slice(t)}function Qi(e,t){const n=Ci(e,t),r=n.one(e,void 0),A=function(e){const t=\"string\"==typeof e.options.clobberPrefix?e.options.clobberPrefix:\"user-content-\",n=e.options.footnoteBackContent||pi,r=e.options.footnoteBackLabel||gi,A=e.options.footnoteLabel||\"Footnotes\",o=e.options.footnoteLabelTagName||\"h2\",i=e.options.footnoteLabelProperties||{className:[\"sr-only\"]},l=[];let a=-1;for(;++a<e.footnoteOrder.length;){const A=e.footnoteById.get(e.footnoteOrder[a]);if(!A)continue;const o=e.all(A),i=String(A.identifier).toUpperCase(),s=SA(i.toLowerCase());let c=0;const u=[],d=e.footnoteCounts.get(i);for(;void 0!==d&&++c<=d;){u.length>0&&u.push({type:\"text\",value:\" \"});let e=\"string\"==typeof n?n:n(a,c);\"string\"==typeof e&&(e={type:\"text\",value:e}),u.push({type:\"element\",tagName:\"a\",properties:{href:\"#\"+t+\"fnref-\"+s+(c>1?\"-\"+c:\"\"),dataFootnoteBackref:\"\",ariaLabel:\"string\"==typeof r?r:r(a,c),className:[\"data-footnote-backref\"]},children:Array.isArray(e)?e:[e]})}const f=o[o.length-1];if(f&&\"element\"===f.type&&\"p\"===f.tagName){const e=f.children[f.children.length-1];e&&\"text\"===e.type?e.value+=\" \":f.children.push({type:\"text\",value:\" \"}),f.children.push(...u)}else o.push(...u);const p={type:\"element\",tagName:\"li\",properties:{id:t+\"fn-\"+s},children:e.wrap(o,!0)};e.patch(A,p),l.push(p)}if(0!==l.length)return{type:\"element\",tagName:\"section\",properties:{dataFootnotes:!0,className:[\"footnotes\"]},children:[{type:\"element\",tagName:o,properties:{...fi(i),id:\"footnote-label\"},children:[{type:\"text\",value:A}]},{type:\"text\",value:\"\\n\"},{type:\"element\",tagName:\"ol\",properties:{},children:e.wrap(l,!0)},{type:\"text\",value:\"\\n\"}]}}(n),o=Array.isArray(r)?{type:\"root\",children:r}:r||{type:\"root\",children:[]};return A&&o.children.push({type:\"text\",value:\"\\n\"},A),o}function Mi(e,t){return e&&\"run\"in e?async function(n,r){const A=Qi(n,{file:r,...t});await e.run(A,r)}:function(n,r){return Qi(n,{file:r,...e||t})}}function Oi(e){if(e)throw e}var Li,Ni;var Hi=function(){if(Ni)return Li;Ni=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,A=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===t.call(e)},o=function(n){if(!n||\"[object Object]\"!==t.call(n))return!1;var r,A=e.call(n,\"constructor\"),o=n.constructor&&n.constructor.prototype&&e.call(n.constructor.prototype,\"isPrototypeOf\");if(n.constructor&&!A&&!o)return!1;for(r in n);return typeof r>\"u\"||e.call(n,r)},i=function(e,t){n&&\"__proto__\"===t.name?n(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(t,n){if(\"__proto__\"===n){if(!e.call(t,n))return;if(r)return r(t,n).value}return t[n]};return Li=function e(){var t,n,r,a,s,c,u=arguments[0],d=1,f=arguments.length,p=!1;for(\"boolean\"==typeof u&&(p=u,u=arguments[1]||{},d=2),(null==u||\"object\"!=typeof u&&\"function\"!=typeof u)&&(u={});d<f;++d)if(null!=(t=arguments[d]))for(n in t)r=l(u,n),u!==(a=l(t,n))&&(p&&a&&(o(a)||(s=A(a)))?(s?(s=!1,c=r&&A(r)?r:[]):c=r&&o(r)?r:{},i(u,{name:n,newValue:e(p,c,a)})):typeof a<\"u\"&&i(u,{name:n,newValue:a}));return u},Li}();const Ri=Er(Hi);function Fi(e){if(\"object\"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)}function Ui(){const e=[],t={run:function(...t){let n=-1;const r=t.pop();if(\"function\"!=typeof r)throw new TypeError(\"Expected function as last argument, not \"+r);!function A(o,...i){const l=e[++n];let a=-1;if(o)r(o);else{for(;++a<t.length;)(null===i[a]||void 0===i[a])&&(i[a]=t[a]);t=i,l?function(e,t){let n;return r;function r(...t){const r=e.length>t.length;let i;r&&t.push(A);try{i=e.apply(this,t)}catch(e){if(r&&n)throw e;return A(e)}r||(i&&i.then&&\"function\"==typeof i.then?i.then(o,A):i instanceof Error?A(i):o(i))}function A(e,...r){n||(n=!0,t(e,...r))}function o(e){A(null,e)}}(l,A)(...i):r(null,...i)}}(null,...t)},use:function(n){if(\"function\"!=typeof n)throw new TypeError(\"Expected `middelware` to be a function, not \"+n);return e.push(n),t}};return t}const ji={basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');zi(e);let n,r=0,A=-1,o=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;o--;)if(47===e.codePointAt(o)){if(n){r=o+1;break}}else A<0&&(n=!0,A=o+1);return A<0?\"\":e.slice(r,A)}if(t===e)return\"\";let i=-1,l=t.length-1;for(;o--;)if(47===e.codePointAt(o)){if(n){r=o+1;break}}else i<0&&(n=!0,i=o+1),l>-1&&(e.codePointAt(o)===t.codePointAt(l--)?l<0&&(A=o):(l=-1,A=i));return r===A?A=i:A<0&&(A=e.length),e.slice(r,A)},dirname:function(e){if(zi(e),0===e.length)return\".\";let t,n=-1,r=e.length;for(;--r;)if(47===e.codePointAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.codePointAt(0)?\"/\":\".\":1===n&&47===e.codePointAt(0)?\"//\":e.slice(0,n)},extname:function(e){zi(e);let t,n=e.length,r=-1,A=0,o=-1,i=0;for(;n--;){const l=e.codePointAt(n);if(47!==l)r<0&&(t=!0,r=n+1),46===l?o<0?o=n:1!==i&&(i=1):o>-1&&(i=-1);else if(t){A=n+1;break}}return o<0||r<0||0===i||1===i&&o===r-1&&o===A+1?\"\":e.slice(o,r)},join:function(...e){let t,n=-1;for(;++n<e.length;)zi(e[n]),e[n]&&(t=void 0===t?e[n]:t+\"/\"+e[n]);return void 0===t?\".\":function(e){zi(e);const t=47===e.codePointAt(0);let n=function(e,t){let n,r,A=\"\",o=0,i=-1,l=0,a=-1;for(;++a<=e.length;){if(a<e.length)n=e.codePointAt(a);else{if(47===n)break;n=47}if(47===n){if(i!==a-1&&1!==l)if(i!==a-1&&2===l){if(A.length<2||2!==o||46!==A.codePointAt(A.length-1)||46!==A.codePointAt(A.length-2))if(A.length>2){if(r=A.lastIndexOf(\"/\"),r!==A.length-1){r<0?(A=\"\",o=0):(A=A.slice(0,r),o=A.length-1-A.lastIndexOf(\"/\")),i=a,l=0;continue}}else if(A.length>0){A=\"\",o=0,i=a,l=0;continue}t&&(A=A.length>0?A+\"/..\":\"..\",o=2)}else A.length>0?A+=\"/\"+e.slice(i+1,a):A=e.slice(i+1,a),o=a-i-1;i=a,l=0}else 46===n&&l>-1?l++:l=-1}return A}(e,!t);return 0===n.length&&!t&&(n=\".\"),n.length>0&&47===e.codePointAt(e.length-1)&&(n+=\"/\"),t?\"/\"+n:n}(t)},sep:\"/\"};function zi(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}const _i={cwd:function(){return\"/\"}};function qi(e){return!!(null!==e&&\"object\"==typeof e&&\"href\"in e&&e.href&&\"protocol\"in e&&e.protocol&&void 0===e.auth)}function Gi(e){if(\"string\"==typeof e)e=new URL(e);else if(!qi(e)){const t=new TypeError('The \"path\" argument must be of type string or an instance of URL. Received `'+e+\"`\");throw t.code=\"ERR_INVALID_ARG_TYPE\",t}if(\"file:\"!==e.protocol){const e=new TypeError(\"The URL must be of scheme file\");throw e.code=\"ERR_INVALID_URL_SCHEME\",e}return function(e){if(\"\"!==e.hostname){const e=new TypeError('File URL host must be \"localhost\" or empty on darwin');throw e.code=\"ERR_INVALID_FILE_URL_HOST\",e}const t=e.pathname;let n=-1;for(;++n<t.length;)if(37===t.codePointAt(n)&&50===t.codePointAt(n+1)){const e=t.codePointAt(n+2);if(70===e||102===e){const e=new TypeError(\"File URL path must not include encoded / characters\");throw e.code=\"ERR_INVALID_FILE_URL_PATH\",e}}return decodeURIComponent(t)}(e)}const Yi=[\"history\",\"path\",\"basename\",\"stem\",\"extname\",\"dirname\"];class Wi{constructor(e){let t;var n;t=e?qi(e)?{path:e}:\"string\"==typeof e||(n=e)&&\"object\"==typeof n&&\"byteLength\"in n&&\"byteOffset\"in n?{value:e}:e:{},this.cwd=\"cwd\"in t?\"\":_i.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r,A=-1;for(;++A<Yi.length;){const e=Yi[A];e in t&&void 0!==t[e]&&null!==t[e]&&(this[e]=\"history\"===e?[...t[e]]:t[e])}for(r in t)Yi.includes(r)||(this[r]=t[r])}get basename(){return\"string\"==typeof this.path?ji.basename(this.path):void 0}set basename(e){Xi(e,\"basename\"),Vi(e,\"basename\"),this.path=ji.join(this.dirname||\"\",e)}get dirname(){return\"string\"==typeof this.path?ji.dirname(this.path):void 0}set dirname(e){Ki(this.basename,\"dirname\"),this.path=ji.join(e||\"\",this.basename)}get extname(){return\"string\"==typeof this.path?ji.extname(this.path):void 0}set extname(e){if(Vi(e,\"extname\"),Ki(this.dirname,\"extname\"),e){if(46!==e.codePointAt(0))throw new Error(\"`extname` must start with `.`\");if(e.includes(\".\",1))throw new Error(\"`extname` cannot contain multiple dots\")}this.path=ji.join(this.dirname,this.stem+(e||\"\"))}get path(){return this.history[this.history.length-1]}set path(e){qi(e)&&(e=Gi(e)),Xi(e,\"path\"),this.path!==e&&this.history.push(e)}get stem(){return\"string\"==typeof this.path?ji.basename(this.path,this.extname):void 0}set stem(e){Xi(e,\"stem\"),Vi(e,\"stem\"),this.path=ji.join(this.dirname||\"\",e+(this.extname||\"\"))}fail(e,t,n){const r=this.message(e,t,n);throw r.fatal=!0,r}info(e,t,n){const r=this.message(e,t,n);return r.fatal=void 0,r}message(e,t,n){const r=new Hr(e,t,n);return this.path&&(r.name=this.path+\":\"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(e){return void 0===this.value?\"\":\"string\"==typeof this.value?this.value:new TextDecoder(e||void 0).decode(this.value)}}function Vi(e,t){if(e&&e.includes(ji.sep))throw new Error(\"`\"+t+\"` cannot be a path: did not expect `\"+ji.sep+\"`\")}function Xi(e,t){if(!e)throw new Error(\"`\"+t+\"` cannot be empty\")}function Ki(e,t){if(!e)throw new Error(\"Setting `\"+t+\"` requires `path` to be set too\")}const Ji=function(e){const t=this.constructor.prototype,n=t[e],r=function(){return n.apply(r,arguments)};return Object.setPrototypeOf(r,t),r},Zi={}.hasOwnProperty;class $i extends Ji{constructor(){super(\"copy\"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Ui()}copy(){const e=new $i;let t=-1;for(;++t<this.attachers.length;){const n=this.attachers[t];e.use(...n)}return e.data(Ri(!0,{},this.namespace)),e}data(e,t){return\"string\"==typeof e?2===arguments.length?(rl(\"data\",this.frozen),this.namespace[e]=t,this):Zi.call(this.namespace,e)&&this.namespace[e]||void 0:e?(rl(\"data\",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...n]=this.attachers[this.freezeIndex];if(!1===n[0])continue;!0===n[0]&&(n[0]=void 0);const r=t.call(e,...n);\"function\"==typeof r&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const t=il(e),n=this.parser||this.Parser;return tl(\"parse\",n),n(String(t),t)}process(e,t){const n=this;return this.freeze(),tl(\"process\",this.parser||this.Parser),nl(\"process\",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,A){const o=il(e),i=n.parse(o);function l(e,n){e||!n?A(e):r?r(n):t(void 0,n)}n.run(i,o,function(e,t,r){if(e||!t||!r)return l(e);const A=t,o=n.stringify(A,r);var i;\"string\"==typeof(i=o)||function(e){return!!(e&&\"object\"==typeof e&&\"byteLength\"in e&&\"byteOffset\"in e)}(i)?r.value=o:r.result=o,l(e,r)})}}processSync(e){let t,n=!1;return this.freeze(),tl(\"processSync\",this.parser||this.Parser),nl(\"processSync\",this.compiler||this.Compiler),this.process(e,function(e,r){n=!0,Oi(e),t=r}),ol(\"processSync\",\"process\",n),t}run(e,t,n){Al(e),this.freeze();const r=this.transformers;return!n&&\"function\"==typeof t&&(n=t,t=void 0),n?A(void 0,n):new Promise(A);function A(A,o){const i=il(t);r.run(e,i,function(t,r,i){const l=r||e;t?o(t):A?A(l):n(void 0,l,i)})}}runSync(e,t){let n,r=!1;return this.run(e,t,function(e,t){Oi(e),n=t,r=!0}),ol(\"runSync\",\"run\",r),n}stringify(e,t){this.freeze();const n=il(t),r=this.compiler||this.Compiler;return nl(\"stringify\",r),Al(e),r(e,n)}use(e,...t){const n=this.attachers,r=this.namespace;if(rl(\"use\",this.frozen),null!=e)if(\"function\"==typeof e)l(e,t);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");Array.isArray(e)?i(e):o(e)}return this;function A(e){if(\"function\"==typeof e)l(e,[]);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");if(Array.isArray(e)){const[t,...n]=e;l(t,n)}else o(e)}}function o(e){if(!(\"plugins\"in e)&&!(\"settings\"in e))throw new Error(\"Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither\");i(e.plugins),e.settings&&(r.settings=Ri(!0,r.settings,e.settings))}function i(e){let t=-1;if(null!=e){if(!Array.isArray(e))throw new TypeError(\"Expected a list of plugins, not `\"+e+\"`\");for(;++t<e.length;){A(e[t])}}}function l(e,t){let r=-1,A=-1;for(;++r<n.length;)if(n[r][0]===e){A=r;break}if(-1===A)n.push([e,...t]);else if(t.length>0){let[r,...o]=t;const i=n[A][1];Fi(i)&&Fi(r)&&(r=Ri(!0,i,r)),n[A]=[e,r,...o]}}}}const el=(new $i).freeze();function tl(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `parser`\")}function nl(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `compiler`\")}function rl(e,t){if(t)throw new Error(\"Cannot call `\"+e+\"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.\")}function Al(e){if(!Fi(e)||\"string\"!=typeof e.type)throw new TypeError(\"Expected node, got `\"+e+\"`\")}function ol(e,t,n){if(!n)throw new Error(\"`\"+e+\"` finished async. Use `\"+t+\"` instead\")}function il(e){return function(e){return!!(e&&\"object\"==typeof e&&\"message\"in e&&\"messages\"in e)}(e)?e:new Wi(e)}const ll=[],al={allowDangerousHtml:!0},sl=/^(https?|ircs?|mailto|xmpp)$/i,cl=[{from:\"astPlugins\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"allowDangerousHtml\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"allowNode\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"allowElement\"},{from:\"allowedTypes\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"allowedElements\"},{from:\"disallowedTypes\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"disallowedElements\"},{from:\"escapeHtml\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"includeElementIndex\",id:\"#remove-includeelementindex\"},{from:\"includeNodeIndex\",id:\"change-includenodeindex-to-includeelementindex\"},{from:\"linkTarget\",id:\"remove-linktarget\"},{from:\"plugins\",id:\"change-plugins-to-remarkplugins\",to:\"remarkPlugins\"},{from:\"rawSourcePos\",id:\"#remove-rawsourcepos\"},{from:\"renderers\",id:\"change-renderers-to-components\",to:\"components\"},{from:\"source\",id:\"change-source-to-children\",to:\"children\"},{from:\"sourcePos\",id:\"#remove-sourcepos\"},{from:\"transformImageUri\",id:\"#add-urltransform\",to:\"urlTransform\"},{from:\"transformLinkUri\",id:\"#add-urltransform\",to:\"urlTransform\"}];function ul(e){const t=e.allowedElements,n=e.allowElement,r=e.children||\"\",A=e.className,o=e.components,i=e.disallowedElements,l=e.rehypePlugins||ll,a=e.remarkPlugins||ll,s=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...al}:al,c=e.skipHtml,u=e.unwrapDisallowed,d=e.urlTransform||dl,f=el().use(Zo).use(a).use(Mi,s).use(l),p=new Wi;\"string\"==typeof r&&(p.value=r);for(const t of cl)Object.hasOwn(e,t.from)&&(t.from,t.to&&t.to,t.id);const v=f.parse(p);let y=f.runSync(v,p);return A&&(y={type:\"element\",tagName:\"div\",properties:{className:A},children:\"root\"===y.type?y.children:[y]}),Pi(y,function(e,r,A){if(\"raw\"===e.type&&A&&\"number\"==typeof r)return c?A.children.splice(r,1):A.children[r]={type:\"text\",value:e.value},r;if(\"element\"===e.type){let t;for(t in nA)if(Object.hasOwn(nA,t)&&Object.hasOwn(e.properties,t)){const n=e.properties[t],r=nA[t];(null===r||r.includes(e.tagName))&&(e.properties[t]=d(String(n||\"\"),t,e))}}if(\"element\"===e.type){let o=t?!t.includes(e.tagName):!!i&&i.includes(e.tagName);if(!o&&n&&\"number\"==typeof r&&(o=!n(e,r,A)),o&&A&&\"number\"==typeof r)return u&&e.children?A.children.splice(r,1,...e.children):A.children.splice(r,1),r}}),Gr(y,{Fragment:m,components:o,ignoreInvalidStyle:!0,jsx:g,jsxs:h,passKeys:!0,passNode:!0})}function dl(e){const t=e.indexOf(\":\"),n=e.indexOf(\"?\"),r=e.indexOf(\"#\"),A=e.indexOf(\"/\");return-1===t||-1!==A&&t>A||-1!==n&&t>n||-1!==r&&t>r||sl.test(e.slice(0,t))?e:\"\"}const fl=({children:e})=>g(\"div\",{style:{whiteSpace:\"normal\"},children:g(ul,{components:{p:({...e})=>g(\"p\",{style:{margin:0,marginBottom:\"0.5em\",lineHeight:1.4,textAlign:\"left\"},children:e.children}),ul:({...e})=>g(\"ul\",{style:{paddingLeft:\"clamp(8px, 3.5vw, 16px)\",margin:0,listStylePosition:\"inside\"},children:e.children}),ol:({...e})=>g(\"ol\",{style:{paddingLeft:\"clamp(8px, 3.5vw, 16px)\",margin:0,listStylePosition:\"inside\"},children:e.children}),li:({...e})=>g(\"li\",{style:{marginBottom:\"1px\",lineHeight:1.4},children:e.children}),code:({inline:e,children:t})=>e?g(\"code\",{style:{backgroundColor:\"rgba(0, 0, 0, 0.3)\",padding:\"2px 4px\",borderRadius:\"4px\",fontFamily:\"inherit\",fontSize:\"0.95em\"},children:t}):g(\"pre\",{style:{backgroundColor:\"rgba(0, 0, 0, 0.3)\",padding:\"8px\",borderRadius:\"4px\",overflowX:\"auto\",margin:\"0.5em 0\",whiteSpace:\"pre-wrap\"},children:g(\"code\",{children:t})}),blockquote:({...e})=>g(\"blockquote\",{style:{margin:0,paddingLeft:\"10px\",borderLeft:\"2px solid #ccc\",color:\"#666\",fontStyle:\"italic\"},children:e.children})},children:\"string\"==typeof e?e:\"\"})}),pl={autoConfig:!0},gl=e=>()=>(e=>{const{getFlow:t}=$t(),{messages:n,replaceMessages:r}=en(),{settings:A}=nn(),{hasChatHistoryLoaded:o}=An(),i={...e,...pl},l=i.markdownComponent?i.markdownComponent:fl;a(()=>{var e,t;if(o){const o=[...n];for(let n=0;n<o.length&&n<((null==(e=A.chatHistory)?void 0:e.maxEntries)??30);n++){const e=o[n];null!=(t=e.tags)&&t.includes(\"rcb-markdown-renderer-plugin:parsed\")&&(e.contentWrapper=l)}r(o)}},[o]);const s=async e=>{var n;const r=null==(n=e.data.message)?void 0:n.sender.toUpperCase();((e,t,n)=>{var r;if(\"string\"!=typeof e.data.message.content||!e.detail.currPath)return!1;const A=t[e.detail.currPath];return!!A&&((null==(r=A.renderMarkdown)?void 0:r.map(e=>e.toUpperCase()).includes(n))??!1)})(e,t(),r)&&(e.data.message.contentWrapper=l,e.data.message.tags||(e.data.message.tags=[]),e.data.message.tags.push(\"rcb-markdown-renderer-plugin:parsed\"))};tn(J.PRE_INJECT_MESSAGE,s),tn(J.CHUNK_STREAM_MESSAGE,s),tn(J.START_STREAM_MESSAGE,s),tn(J.START_SIMULATE_STREAM_MESSAGE,s);const c={name:\"@rcb-plugins/markdown-renderer\"};return null!=i&&i.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0}}),c})(e),hl={autoConfig:!0,promptBaseColors:{info:\"#007bff\",warning:\"#ffc107\",error:\"#dc3545\",success:\"#28a745\"},promptHoveredColors:{info:\"#0056b3\",warning:\"#d39e00\",error:\"#c82333\",success:\"#218838\"},textAreaHighlightColors:{info:\"#007bff\",warning:\"#ffc107\",error:\"#dc3545\",success:\"#28a745\"}},ml=(e,t,n=\"validateTextInput\")=>{var r;if(null==(r=e.detail)||!r.currPath)return;const A=t[e.detail.currPath];if(!A)return;const o=A[n];return\"function\"==typeof o?o:void 0},vl=e=>{const{showToast:t}=(()=>{const{showToast:e,dismissToast:t,toasts:n,replaceToasts:r}=ct();return{showToast:e,dismissToast:t,toasts:n,replaceToasts:r}})(),{getFlow:n}=$t(),{styles:r,updateStyles:A,replaceStyles:o}=(()=>{const{styles:e,replaceStyles:t,updateStyles:n}=_t();return{styles:e,replaceStyles:t,updateStyles:n}})(),s=(e=>({...hl,...e,promptBaseColors:{...hl.promptBaseColors},promptHoveredColors:{...hl.promptHoveredColors},textAreaHighlightColors:{...hl.textAreaHighlightColors}}))(e),[c,u]=l(0),d=i({});tn(J.USER_SUBMIT_TEXT,e=>{const o=e,i=ml(o,n(),\"validateTextInput\");if(!i)return;const l=i(o.data.inputText);if(null!=l&&l.success||e.preventDefault(),!l.promptContent)return;0===c&&(d.current=structuredClone(r));const a=((e,t)=>{const n=e.promptType??\"info\";let r={};return t.advancedStyles&&(r=t.advancedStyles[n]),t.promptBaseColors&&(r.toastPromptStyle={color:t.promptBaseColors[n],borderColor:t.promptBaseColors[n]}),t.promptHoveredColors&&(r.toastPromptHoveredStyle={color:t.promptHoveredColors[n],borderColor:t.promptHoveredColors[n]}),t.textAreaHighlightColors&&(e.highlightTextArea??!0)&&(r.chatInputAreaStyle={boxShadow:`${t.textAreaHighlightColors[n]} 0px 0px 5px`}),r})(l,s);A(a),t(l.promptContent,l.promptDuration??3e3),u(e=>e+1)}),tn(J.USER_UPLOAD_FILE,e=>{var r,A;const o=e,i=null==(A=null==(r=o.data)?void 0:r.files)?void 0:A[0];if(!i)return console.error(\"No file uploaded.\"),void e.preventDefault();const l=ml(o,n(),\"validateFileInput\");if(!l)return void console.error(\"Validator not found for file input.\");const a=l(i);if(!a.success)return console.error(\"Validation failed:\",a),a.promptContent&&t(a.promptContent,a.promptDuration??3e3),void e.preventDefault();console.log(\"Validation successful:\",a)}),tn(J.DISMISS_TOAST,()=>{u(e=>e-1)}),a(()=>{0===c&&setTimeout(()=>{o(d.current)})},[c,o]);const f={name:\"@rcb-plugins/input-validator\"};return s.autoConfig&&(f.settings={event:{rcbUserSubmitText:!0,rcbUserUploadFile:!0,rcbDismissToast:!0}}),f},yl=n((e,t)=>{let{embedded:n,currentOpen:r,enabled:A,onSetEnabled:o}=e;const l=en(),s=(()=>{const{isChatWindowOpen:e,toggleChatWindow:t,toggleIsBotTyping:n,scrollToBottom:r,getIsChatBotVisible:A}=Ae();return{isChatWindowOpen:e,toggleChatWindow:t,toggleIsBotTyping:n,scrollToBottom:r,getIsChatBotVisible:A}})(),c=i(!1),u=i(!1);return a(()=>{!n&&s&&s.toggleChatWindow&&(c.current===r||u.current||(setTimeout(()=>{s&&s.toggleChatWindow&&s.toggleChatWindow(r)},0),c.current=null!=r&&r),u.current=!1)},[r,n,s]),a(()=>{const e=()=>{u.current=!0};return window.addEventListener(\"rcb-toggle-chat-window\",e),()=>window.removeEventListener(\"rcb-toggle-chat-window\",e)}),f(t,()=>({addMessage:e=>{l&&l.injectMessage&&l.injectMessage(e)},openChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow(!0)},closeChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow(!1)},toggleChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow()},setBotEnabled:e=>{o&&o(e)}}),[l,s,n,o]),null});yl.displayName=\"BotController\";const wl=r(null),bl=e=>{let{trackEvent:n,children:r}=e;const A=i(n);return A.current=n,t.createElement(wl.Provider,{value:{trackEvent:e=>A.current(e)}},r)},El=()=>{const e=A(wl);return e||{trackEvent:()=>{}}},Pl=e=>{let{loginUrl:n,className:r=\"\",style:A,isHeaderButton:o=!1}=e;const{trackEvent:i}=El(),l=o?{display:\"inline-block\",padding:\"6px 12px\",backgroundColor:\"transparent\",border:\"1px solid #ccc\",color:\"white\",textDecoration:\"none\",borderRadius:\"4px\",fontWeight:\"normal\",textAlign:\"center\",margin:\"8px\",fontSize:\"12px\",opacity:.8,transition:\"all 0.2s ease\"}:{display:\"inline-block\",padding:\"10px 20px\",backgroundColor:\"white\",border:\"1px solid var(--primaryColor, #107180)\",color:\"var(--primaryColor, #107180)\",textDecoration:\"none\",borderRadius:\"4px\",fontWeight:\"bold\",textAlign:\"center\",margin:\"18px\",boxShadow:\"0 2px 4px rgba(0, 0, 0, 0.2)\"};return t.createElement(t.Fragment,null,o&&t.createElement(\"style\",null,\"\\n .rcb-chat-header-container .qa-bot-header-login-button:hover {\\n background-color: #0000001a !important;\\n opacity: 1 !important;\\n }\\n \"),t.createElement(\"a\",{href:n,target:\"_blank\",rel:\"noopener noreferrer\",className:`qa-bot-login-button ${o?\"qa-bot-header-login-button\":\"\"} ${r}`,style:Object.assign(Object.assign({},l),A),onClick:()=>{i({type:\"chatbot_login_clicked\",loginUrl:n})}},\"Log In\"))},Bl=()=>t.createElement(\"div\",{className:\"user-login-icon\",style:{alignItems:\"center\",justifyContent:\"center\",width:\"30px\",height:\"30px\",borderRadius:\"50%\",backgroundColor:\"var(--primaryColor, #1a5b6e)\",marginRight:\"5px\",display:\"flex\"},role:\"img\",\"aria-label\":\"User logged in\",title:\"User logged in\"},t.createElement(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},t.createElement(\"path\",{d:\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"}),t.createElement(\"circle\",{cx:\"12\",cy:\"7\",r:\"4\"}))),Dl=[];for(let e=0;e<256;++e)Dl.push((e+256).toString(16).slice(1));let Cl;const xl=new Uint8Array(16);var kl={randomUUID:\"undefined\"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Sl(e,t,n){if(kl.randomUUID&&!e)return kl.randomUUID();const r=(e=e||{}).random??e.rng?.()??function(){if(!Cl){if(\"undefined\"==typeof crypto||!crypto.getRandomValues)throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");Cl=crypto.getRandomValues.bind(crypto)}return Cl(xl)}();if(r.length<16)throw new Error(\"Random bytes length must be >= 16\");return r[6]=15&r[6]|64,r[8]=63&r[8]|128,function(e,t=0){return(Dl[e[t+0]]+Dl[e[t+1]]+Dl[e[t+2]]+Dl[e[t+3]]+\"-\"+Dl[e[t+4]]+Dl[e[t+5]]+\"-\"+Dl[e[t+6]]+Dl[e[t+7]]+\"-\"+Dl[e[t+8]]+Dl[e[t+9]]+\"-\"+Dl[e[t+10]]+Dl[e[t+11]]+Dl[e[t+12]]+Dl[e[t+13]]+Dl[e[t+14]]+Dl[e[t+15]]).toLowerCase()}(r)}function Tl(){return\"undefined\"!=typeof localStorage&&\"true\"===localStorage.getItem(\"QA_BOT_DEBUG\")}const Il=\"background: #1a5b6e; color: white; padding: 2px 6px; border-radius: 3px;\",Ql=\"background: #7c3aed; color: white; padding: 2px 6px; border-radius: 3px;\",Ml=\"background: #059669; color: white; padding: 2px 6px; border-radius: 3px;\",Ol=\"background: #f97316; color: white; padding: 2px 6px; border-radius: 3px;\",Ll=\"background: #f59e0b; color: #000; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;\",Nl=\"background: #fbbf24; color: #000; padding: 2px 6px; border-radius: 0 3px 3px 0;\",Hl=()=>{Tl()&&console.log(\"%c QA Bot Core %c v0.2.35 \",Ll,Nl)},Rl=function(e){if(Tl()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(`%c[Session]%c ${e}`,Il,\"\",...n)}},Fl=function(e){if(Tl()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(`%c[History]%c ${e}`,Ql,\"\",...n)}},Ul=(e,t)=>{Tl()&&console.log(`%c[Message]%c ${e}`,Ml,\"\",t)},jl=function(e){if(Tl()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(`%c[Turnstile]%c ${e}`,Ol,\"\",...n)}},zl=function(){console.warn(...arguments)},_l=function(){console.error(...arguments)},ql=\"qa_bot_session_messages\",Gl=()=>`qa_bot_session_${Sl()}`,Yl=()=>{try{const e=localStorage.getItem(ql);return e?JSON.parse(e):{}}catch(e){return{}}},Wl=(e,t,n,r,A)=>{const o=Yl();!o[e]&&(o[e]={messages:[],startedAt:(new Date).toISOString(),preview:\"\"},Fl(\"NEW session created\",{sessionId:e.slice(-12)}));if(o[e].messages.some(e=>e.id===t))return void Fl(\"DUPLICATE message skipped\",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:r});const i={id:t,content:n,sender:r,type:A,timestamp:Date.now()};o[e].messages.push(i),Fl(\"MESSAGE added\",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:r,totalInSession:o[e].messages.length});const l=o[e].messages,a=l.find(e=>{var t;return\"bot\"===e.sender.toLowerCase()&&(null===(t=e.content)||void 0===t?void 0:t.trim())&&e.content.length>=100});if(a){const t=a.content;o[e].preview=t.slice(0,50)+(t.length>50?\"...\":\"\")}else{const t=l.find(e=>{var t;return\"user\"===e.sender.toLowerCase()&&(null===(t=e.content)||void 0===t?void 0:t.trim())});if(t&&!o[e].preview){const n=t.content;o[e].preview=n.slice(0,50)+(n.length>50?\"...\":\"\")}}(e=>{var t;const n=()=>Object.values(e).reduce((e,t)=>e+t.messages.length,0);for(;n()>100&&Object.keys(e).length>1;){const n=null===(t=Object.entries(e).sort((e,t)=>{let[,n]=e,[,r]=t;return new Date(n.startedAt).getTime()-new Date(r.startedAt).getTime()})[0])||void 0===t?void 0:t[0];if(!n)break;delete e[n]}localStorage.setItem(ql,JSON.stringify(e))})(o),Fl(\"STORAGE state\",{ourSessions:Object.keys(o).length,ourTotalMessages:Object.values(o).reduce((e,t)=>e+t.messages.length,0)})},Vl=e=>{var t,n;return null!==(n=null===(t=Yl()[e])||void 0===t?void 0:t.messages.length)&&void 0!==n?n:0},Xl=e=>{const t=Yl()[e];return(null==t?void 0:t.startedAt)?Date.now()-new Date(t.startedAt).getTime():0},Kl=r(void 0),Jl=e=>{let{children:n,getSessionId:r,setSessionId:A,resetSession:o,clearResettingFlag:i}=e;return t.createElement(Kl.Provider,{value:{getSessionId:r,setSessionId:A,resetSession:o,clearResettingFlag:i}},n)},Zl=()=>{const e=A(Kl);if(!e)throw new Error(\"useSession must be used within a SessionProvider\");return e},$l=()=>{const[e,n]=l(!1),[r,A]=l([]),[o,s]=l(null),[c,u]=l(0),d=i(null),f=i(null),{replaceMessages:p}=en(),{toggleTextAreaDisabled:g}=rn(),{setSessionId:h,getSessionId:m}=Zl();a(()=>{var t,r;const A=e=>{d.current&&!d.current.contains(e.target)&&f.current&&!f.current.contains(e.target)&&n(!1)},o=null!==(r=null===(t=d.current)||void 0===t?void 0:t.getRootNode())&&void 0!==r?r:document;return e&&o.addEventListener(\"mousedown\",A),()=>{o.removeEventListener(\"mousedown\",A)}},[e]);const v=e=>{var t;const r=m();if(Fl(\"RESTORE requested\",{targetSession:e.slice(-12),currentSession:null==r?void 0:r.slice(-12)}),e===r)return Fl(\"RESTORE skipped - already on this session\"),void n(!1);const A=(e=>{var t;return(null===(t=Yl()[e])||void 0===t?void 0:t.messages)||[]})(e).filter(e=>{var t;return null===(t=e.content)||void 0===t?void 0:t.trim()});Fl(\"Stored messages from our localStorage\",{count:A.length,ids:A.map(e=>e.id.slice(-8))});const o=A.map(e=>({id:e.id,content:e.content,sender:e.sender.toUpperCase(),type:e.type||\"string\",timestamp:new Date(e.timestamp).toISOString()}));var i;h(e),Fl(\"Session ID updated\",{newSession:e.slice(-12)}),p(o),Fl(\"replaceMessages called\",{count:o.length}),i=null===(t=f.current)||void 0===t?void 0:t.getRootNode(),setTimeout(()=>{const e=(i||document).querySelector(\".rcb-chat-body-container\");e&&e.querySelectorAll(\".rcb-bot-message\").forEach(e=>{var t;let n=e.innerHTML,r=!1;n.includes(\"](\")&&(n=n.replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g,'<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>'),r=!0),n.includes(\"<a href=\")&&(n=n.replace(/<a\\s+href=[\"']([^\"']+)[\"'][^&]*>([^&]+)<\\/a>/gi,'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$2</a>'),r=!0),(n.includes(\"<a \")||(null===(t=e.textContent)||void 0===t?void 0:t.includes(\"<a href=\")))&&(e.textContent||\"\").includes(\"<a href=\")&&(n=n.replace(/<a\\s+href=\"([^\"]+)\"[^&]*>([^&]+)<\\/a>/gi,'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$2</a>'),r=!0),r&&(e.innerHTML=n)})},50),g(!1),Fl(\"Chat input enabled after restore\"),n(!1)};return t.createElement(\"div\",{style:{position:\"relative\"}},t.createElement(\"button\",{ref:f,className:\"history-button\",onClick:()=>{if(!e&&(A((()=>{const e=Yl();return Object.entries(e).map(e=>{let[t,n]=e;return Object.assign({sessionId:t},n)}).sort((e,t)=>new Date(t.startedAt).getTime()-new Date(e.startedAt).getTime())})()),f.current)){const e=f.current.closest(\".rcb-chat-window\");if(e){const t=e.getBoundingClientRect(),n=f.current.getBoundingClientRect();s(t.width+3),u(t.right-n.right-18+4)}}n(!e)},style:{alignItems:\"center\",justifyContent:\"center\",width:\"30px\",height:\"30px\",borderRadius:\"50%\",backgroundColor:\"var(--primaryColor, #1a5b6e)\",marginRight:\"18px\",display:\"flex\",border:\"none\",cursor:\"pointer\",padding:0},\"aria-label\":\"View chat history\",title:\"View chat history\",\"aria-expanded\":e,\"aria-haspopup\":\"menu\"},t.createElement(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},t.createElement(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),t.createElement(\"polyline\",{points:\"12 6 12 12 16 14\"}))),e&&t.createElement(\"div\",{ref:d,role:\"menu\",style:{position:\"absolute\",right:c?`-${c}px`:\"-18px\",top:\"100%\",marginTop:\"8px\",width:o?`${o}px`:\"550px\",backgroundColor:\"white\",borderRadius:0,borderBottom:\"3px solid var(--primaryColor, #1a5b6e)\",boxShadow:\"0 2px 8px rgba(0, 0, 0, 0.1)\",maxHeight:\"250px\",overflowY:\"auto\",zIndex:1e3}},0===r.length?t.createElement(\"div\",{style:{padding:\"12px 16px\",color:\"#666\",fontSize:\"14px\",textAlign:\"center\"}},\"No chat history\"):r.map(e=>t.createElement(\"button\",{key:e.sessionId,role:\"menuitem\",onClick:()=>v(e.sessionId),style:{width:\"100%\",padding:\"10px 14px\",border:\"none\",backgroundColor:\"transparent\",cursor:\"pointer\",textAlign:\"left\",display:\"flex\",flexDirection:\"column\",gap:\"2px\",borderBottom:\"1px solid #eee\"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=\"#f5f5f5\"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=\"transparent\"}},t.createElement(\"span\",{style:{fontSize:\"14px\",color:\"#333\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},e.preview||\"New conversation\"),t.createElement(\"span\",{style:{fontSize:\"12px\",color:\"#888\"}},(e=>{const t=new Date(e),n=(new Date).getTime()-t.getTime(),r=Math.floor(n/864e5);return 0===r?t.toLocaleTimeString([],{hour:\"2-digit\",minute:\"2-digit\"}):1===r?\"Yesterday\":r<7?t.toLocaleDateString([],{weekday:\"short\"}):t.toLocaleDateString([],{month:\"short\",day:\"numeric\"})})(e.startedAt))))))},ea=e=>{var{width:n=24,height:r=24,color:A=\"currentColor\",children:o}=e,i=b(e,[\"width\",\"height\",\"color\",\"children\"]);return t.createElement(\"svg\",w({xmlns:\"http://www.w3.org/2000/svg\",width:n,height:r,viewBox:\"0 0 24 24\",fill:\"none\",stroke:A,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},i),o)},ta=e=>t.createElement(ea,e,t.createElement(\"path\",{d:\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"})),na=()=>{const{restartFlow:e}=$t(),{setTextAreaValue:n}=rn(),{messages:r}=en(),{getSessionId:A,resetSession:o,clearResettingFlag:i}=Zl(),{trackEvent:l}=El();return t.createElement(\"button\",{onClick:async()=>{const t=A(),r=t?Vl(t):0;l({type:\"chatbot_new_chat\",previousMessageCount:r}),o(),await n(\"\"),await e(),setTimeout(()=>{i()},100)},tabIndex:0,\"aria-label\":\"New chat conversation\",style:{backgroundColor:\"var(--primaryColor, #107180)\",border:\"none\",color:\"#ffffff\",fontSize:\"14px\",cursor:\"pointer\",padding:\"8px 12px\",borderRadius:\"4px\",transition:\"all 0.2s ease\",display:\"flex\",alignItems:\"center\",gap:\"6px\",fontWeight:\"500\"},onMouseEnter:e=>{e.target.style.backgroundColor=\"var(--secondaryColor, #0d5f6b)\"},onMouseLeave:e=>{e.target.style.backgroundColor=\"var(--primaryColor, #107180)\"}},t.createElement(ta,{width:16,height:16}),\"New Chat\")};function ra(e){if(\"string\"==typeof e)return e;if(\"number\"==typeof e)return String(e);if(!e)return\"\";if(Array.isArray(e))return e.map(ra).join(\"\");if(\"object\"==typeof e&&null!==e&&\"props\"in e){const t=e.props;if(t&&\"children\"in t)return ra(t.children)}return\"\"}const Aa=()=>{const{getSessionId:e}=Zl(),t=o(t=>{var n;const r=null===(n=t.data)||void 0===n?void 0:n.message;if(!(null==r?void 0:r.id))return;const A=r.sender,o=r.type||\"string\";let i;if(i=\"string\"==typeof r.content?r.content:ra(r.content),Ul(\"TRACKED\",{id:r.id,sender:A,content:i.substring(0,50)+(i.length>50?\"...\":\"\")}),i.includes(\"rcb-options-container\"))return;if(!i.trim())return;const l=e();Wl(l,r.id,i,A,o)},[e]);return a(()=>(window.addEventListener(\"rcb-pre-inject-message\",t),()=>{window.removeEventListener(\"rcb-pre-inject-message\",t)}),[t]),null},oa=()=>(a(()=>{const e=e=>{if(![\"ArrowDown\",\"ArrowUp\",\"ArrowLeft\",\"ArrowRight\",\"Enter\",\" \",\"Home\",\"End\"].includes(e.key))return;const n=document.activeElement;if(n&&(\"INPUT\"===n.tagName||\"TEXTAREA\"===n.tagName||\"true\"===n.contentEditable||n.classList.contains(\"rcb-chat-input-textarea\")))return;const r=document.querySelector(\".rcb-chat-window\");if(!r)return;const A=Array.from(r.querySelectorAll(\".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container\")).filter(e=>null!==e.offsetParent);if(A.length>0){const t=A[A.length-1].querySelector(\".rcb-checkbox-container\");if(t&&null!==t.offsetParent){const n=Array.from(t.querySelectorAll(\".rcb-checkbox-row-container\")),r=t.querySelector(\".rcb-checkbox-next-button\");if(n.length>0){const t=[...n];return r&&t.push(r),void((e,t)=>{e.preventDefault();let n=-1;for(let e=0;e<t.length;e++)if(t[e]===document.activeElement||t[e].contains(document.activeElement)){n=e;break}-1===n&&(n=0);let r=n;switch(e.key){case\"ArrowDown\":case\"ArrowRight\":r=n<t.length-1?n+1:0;break;case\"ArrowUp\":case\"ArrowLeft\":r=n>0?n-1:t.length-1;break;case\"Home\":r=0;break;case\"End\":r=t.length-1;break;case\"Enter\":case\" \":{const e=t[n],r=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});return void e.dispatchEvent(r)}default:return}t[r].focus(),t[r].setAttribute(\"tabindex\",\"0\"),t[r].classList.add(\"keyboard-focused\"),t.forEach((e,t)=>{t!==r&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))})})(e,t)}}}let o=[];if(A.length>0){const e=A[A.length-1],t=Array.from(e.querySelectorAll(\".rcb-options-container\")).filter(e=>null!==e.offsetParent);if(t.length>0){const e=t[t.length-1];o=Array.from(e.querySelectorAll(\".rcb-options\"))}}if(0===o.length)return;const i=o.findIndex(e=>e===document.activeElement);switch(e.key){case\"ArrowDown\":case\"ArrowRight\":{let t;e.preventDefault(),t=i<o.length-1?i+1:0,o[t].setAttribute(\"tabindex\",\"0\"),o.forEach((e,n)=>{n!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),o[t].classList.add(\"keyboard-focused\"),o[t].focus();break}case\"ArrowUp\":case\"ArrowLeft\":{let t;e.preventDefault(),t=i>0?i-1:o.length-1,o[t].setAttribute(\"tabindex\",\"0\"),o.forEach((e,n)=>{n!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),o[t].classList.add(\"keyboard-focused\"),o[t].focus();break}case\"Enter\":case\" \":if(e.preventDefault(),document.activeElement&&o.includes(document.activeElement)){const e=document.activeElement;if(e.classList.contains(\"rcb-checkbox-row-container\")||e.closest(\".rcb-checkbox-row-container\")){const n=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n);const r=e.querySelector(\".rcb-checkbox-label\"),A=r?r.textContent:e.textContent||\"checkbox\",o=e.querySelector(\".rcb-checkbox-mark\"),i=o&&o.style.backgroundColor?\"checked\":\"unchecked\";t(`${A} ${i}`)}else{const n=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n);const r=e.textContent||e.innerText;t(`Selected: ${r}`)}}break;case\"Home\":e.preventDefault(),o.length>0&&(o[0].setAttribute(\"tabindex\",\"0\"),o.forEach((e,t)=>{0!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),o[0].classList.add(\"keyboard-focused\"),o[0].focus());break;case\"End\":if(e.preventDefault(),o.length>0){const e=o.length-1;o[e].setAttribute(\"tabindex\",\"0\"),o.forEach((t,n)=>{n!==e&&(t.setAttribute(\"tabindex\",\"-1\"),t.classList.remove(\"keyboard-focused\"))}),o[e].classList.add(\"keyboard-focused\"),o[e].focus()}}},t=e=>{const t=document.createElement(\"div\");t.setAttribute(\"aria-live\",\"assertive\"),t.setAttribute(\"aria-atomic\",\"true\"),t.className=\"sr-only\",t.textContent=e,document.body.appendChild(t),setTimeout(()=>{document.body.contains(t)&&document.body.removeChild(t)},1e3)},n=(e=null)=>{let n=e;if(n||(n=document.querySelector(\".rcb-chat-window\"),n||(n=document.querySelector('[class*=\"rcb-chat\"]')),n||(n=document.querySelector(\".qa-bot\"))),!n)return;const r=null!==n.closest(\".embedded-qa-bot\"),A=Array.from(n.querySelectorAll(\".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container\")).filter(e=>null!==e.offsetParent);if(0===A.length)return;const o=A[A.length-1],i=Array.from(o.querySelectorAll(\".rcb-options-container\")).filter(e=>null!==e.offsetParent);let l=[];if(i.length>0){const e=i[i.length-1];l=Array.from(e.querySelectorAll(\".rcb-options\"))}if(0===l.length){let e=o.querySelector(\".rcb-checkbox-container\");if(!e&&n&&(e=n.querySelector(\".rcb-checkbox-container\")),e&&null!==e.offsetParent){const t=Array.from(e.querySelectorAll(\".rcb-checkbox-row-container\")).filter(e=>null!==e.offsetParent&&\"none\"!==e.style.display);if(t.length>0){const n=e.querySelector(\".rcb-checkbox-next-button\"),A=[...t];if(n&&null!==n.offsetParent&&A.push(n),A.forEach((e,t)=>{e.setAttribute(\"tabindex\",0===t?\"0\":\"-1\"),0===t?e.classList.add(\"keyboard-focused\"):e.classList.remove(\"keyboard-focused\")}),t.length>1){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove());const t=document.createElement(\"div\");t.className=\"keyboard-nav-hint\",t.textContent=\"Use arrow keys ↕ to navigate, Enter to select/deselect, or click any option\",t.style.cssText=\"font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;\",e.insertBefore(t,e.firstChild)}return void setTimeout(()=>{A[0]&&null!==A[0].offsetParent&&!r&&A[0].focus()},150)}}}if(l.length>0){if(l.forEach((e,t)=>{const n=0===t?\"0\":\"-1\";e.setAttribute(\"tabindex\",n),e.setAttribute(\"role\",\"option\"),e.setAttribute(\"aria-posinset\",t+1),e.setAttribute(\"aria-setsize\",l.length),0===t?e.classList.add(\"keyboard-focused\"):e.classList.remove(\"keyboard-focused\")}),l.length>1){const e=i.length>0?i[i.length-1]:null;if(e){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove());const t=document.createElement(\"div\");t.className=\"keyboard-nav-hint\",t.textContent=\"Use arrow keys ↕ to navigate, Enter to select, or click any option\",t.style.cssText=\"font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;\",e.insertBefore(t,e.firstChild)}}else{const e=i.length>0?i[i.length-1]:null;if(e){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove())}}setTimeout(()=>{l[0]&&null!==l[0].offsetParent&&!r&&(l[0].focus(),l.length>1&&t(`${l.length} options available. Use arrow keys to navigate.`))},200)}},r=new MutationObserver(e=>{e.forEach(e=>{if(\"childList\"===e.type){const t=Array.from(e.addedNodes),r=t.some(e=>e.nodeType===Node.ELEMENT_NODE&&(e.classList?.contains(\"rcb-options-container\")||e.classList?.contains(\"rcb-options\")||e.querySelector?.(\".rcb-options-container\")||e.querySelector?.(\".rcb-options\"))),A=t.some(e=>e.nodeType===Node.ELEMENT_NODE&&(e.classList?.contains(\"rcb-checkbox-container\")||e.querySelector?.(\".rcb-checkbox-container\")));if(r||A){let t=e.target;for(;t&&!t.classList?.contains(\"qa-bot\")&&!t.classList?.contains(\"rcb-chat-window\");)t=t.parentElement;(t||document).querySelectorAll(\".rcb-options[tabindex], .rcb-checkbox-row-container[tabindex], .rcb-checkbox-next-button[tabindex]\").forEach(e=>{e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\")}),setTimeout(()=>n(t),100)}}})});r.observe(document.body,{childList:!0,subtree:!0}),document.addEventListener(\"keydown\",e),n();const A=setInterval(()=>{document.querySelectorAll(\".qa-bot\").forEach(e=>{const t=e.querySelectorAll(\".rcb-options-container .rcb-options\").length>0,r=e.querySelectorAll(\".rcb-checkbox-row-container\").length>0;if(t){const t=e.querySelectorAll(\".rcb-options[tabindex]\").length;e.querySelectorAll(\".rcb-options\").length>t&&n(e)}if(r){const t=e.querySelectorAll(\".rcb-checkbox-row-container[tabindex]\").length;e.querySelectorAll(\".rcb-checkbox-row-container\").length>t&&n(e)}})},1e3);return()=>{document.removeEventListener(\"keydown\",e),r.disconnect(),clearInterval(A)}},[]),null);let ia=!1,la=null;function aa(){return ia?Promise.resolve():la||(la=new Promise((e,t)=>{const n=document.createElement(\"script\");n.src=\"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit\",n.async=!0,n.onload=()=>{ia=!0,jl(\"Script loaded\"),e()},n.onerror=()=>{la=null,t(new Error(\"Failed to load Turnstile script\"))},document.head.appendChild(n)}),la)}const sa=e=>{if(!e||\"string\"!=typeof e)return e;let t=e.replace(/\\[(https?:\\/\\/[^\\s]+?)\\]/gi,\"[$1]($1)\");return t=t.replace(/(?<!\\]\\(|href=[\"']|\\[)https?:\\/\\/[^\\s[\\]()]+/gi,e=>{let t=e,n=\"\";const r=t.match(/([.,;:!?]+)$/);return r&&(n=r[1],t=t.slice(0,-n.length)),`[${t}](${t})${n}`}),t},ca=e=>{let{siteKey:n,onVerify:r,onError:A,loginUrl:s}=e;const c=i(null),u=i(null),d=i(!1),f=i(null),p=i(null),[g,h]=l(!1),[m,v]=l(0),w=i(\"widget_error\"),b=i(null),E=s&&\"/login\"!==s,P=o(()=>{const e=window.turnstile;if(f.current&&(null==e?void 0:e.remove)){try{e.remove(f.current)}catch(e){}f.current=null}},[]),B=o(()=>{var e;P(),g?null==A||A(w.current,null!==(e=b.current)&&void 0!==e?e:void 0):null==A||A(\"user_cancelled\")},[A,P,g]);a(()=>()=>{P()},[P]),a(()=>{var e;return p.current=document.activeElement,null===(e=u.current)||void 0===e||e.focus(),()=>{p.current&&\"function\"==typeof p.current.focus&&p.current.focus()}},[]),a(()=>{const e=e=>{if(\"Escape\"===e.key)return e.preventDefault(),void B();if(\"Tab\"===e.key&&u.current){const t=u.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');if(0===t.length)return;const n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):e.shiftKey||document.activeElement!==r||(e.preventDefault(),n.focus())}};return document.addEventListener(\"keydown\",e),()=>document.removeEventListener(\"keydown\",e)},[B]),a(()=>{d.current||!c.current||g||(d.current=!0,aa().then(()=>{const e=window.turnstile;if(!e||!c.current)return _l(\"Turnstile API not available after script load\"),w.current=\"api_unavailable\",void h(!0);f.current=e.render(c.current,{sitekey:n,callback:e=>{jl(\"Visible challenge completed\"),r(e)},\"error-callback\":e=>(_l(\"Turnstile challenge failed:\",e),b.current=e,w.current=\"widget_error\",P(),h(!0),!0),\"expired-callback\":()=>{_l(\"Turnstile token expired\"),w.current=\"token_expired\",P(),h(!0)}})}).catch(e=>{_l(\"Failed to load Turnstile script:\",e),w.current=\"script_load_failed\",h(!0)}))},[n,r,g]);const D=t.createElement(t.Fragment,null,t.createElement(\"div\",{\"aria-hidden\":\"true\",style:{position:\"fixed\",inset:0,background:\"rgba(0, 0, 0, 0.5)\",zIndex:999998}}),t.createElement(\"div\",{ref:u,role:\"dialog\",\"aria-modal\":\"true\",\"aria-labelledby\":\"qa-bot-turnstile-label\",tabIndex:-1,style:{position:\"fixed\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",zIndex:999999,background:\"white\",padding:\"24px\",borderRadius:\"8px\",boxShadow:\"0 4px 20px rgba(0, 0, 0, 0.3)\",maxWidth:\"90vw\",fontFamily:'-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif'}},t.createElement(\"span\",{id:\"qa-bot-turnstile-label\",className:\"sr-only\",style:{position:\"absolute\",width:\"1px\",height:\"1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\"}},\"Verification challenge\"),g?t.createElement(\"div\",{style:{fontSize:\"14px\",lineHeight:\"1.5\",color:\"#333\"}},0===m?t.createElement(\"p\",{style:{margin:\"0 0 16px 0\"}},\"Verification failed. You can try again\",E&&t.createElement(t.Fragment,null,\", or\",\" \",t.createElement(\"a\",{href:s,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:\"var(--primaryColor, #107180)\",fontWeight:\"bold\"}},\"log in\"),\" \",\"to skip verification\"),\".\"):t.createElement(t.Fragment,null,t.createElement(\"p\",{style:{margin:\"0 0 8px 0\"}},\"Verification is still not working. This can be caused by browser extensions (ad blockers, privacy tools) or VPN connections.\"),t.createElement(\"p\",{style:{margin:\"0 0 16px 0\"}},\"Try disabling extensions, using a private/incognito window,\",E&&t.createElement(t.Fragment,null,\" \",t.createElement(\"a\",{href:s,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:\"var(--primaryColor, #107180)\",fontWeight:\"bold\"}},\"logging in\"),\",\"),\" \",\"or using a different browser.\")),t.createElement(\"div\",{style:{display:\"flex\",gap:\"8px\"}},t.createElement(\"button\",{type:\"button\",onClick:()=>{P(),d.current=!1,v(e=>e+1),h(!1)},style:{padding:\"8px 16px\",background:\"var(--primaryColor, #107180)\",color:\"white\",border:\"none\",borderRadius:\"4px\",cursor:\"pointer\",fontSize:\"14px\"}},\"Try again\"),t.createElement(\"button\",{type:\"button\",onClick:B,style:{padding:\"8px 16px\",background:\"#f0f0f0\",color:\"#333\",border:\"1px solid #ccc\",borderRadius:\"4px\",cursor:\"pointer\",fontSize:\"14px\"}},\"Close\"))):t.createElement(t.Fragment,null,t.createElement(\"div\",{ref:c,style:{borderRadius:\"8px\",overflow:\"hidden\"}}),t.createElement(\"button\",{type:\"button\",onClick:B,style:{marginTop:\"16px\",padding:\"8px 16px\",background:\"#f0f0f0\",color:\"#333\",border:\"1px solid #ccc\",borderRadius:\"4px\",cursor:\"pointer\",fontSize:\"14px\"}},\"Cancel\"))));return y(D,document.body)};function ua(e){const{confidence:t,tools_used:n,metadata:r}=e;if(!(t||n&&0!==n.length))return\"\";const A=[];return t&&A.push(`• Confidence: ${t}`),n&&n.length>0&&A.push(`• Tools used: ${n.join(\", \")}`),(null==r?void 0:r.agent)&&A.push(`• Agent: ${r.agent}`),`---\\n${A.join(\"\\n\")}`}function da(e){let{getState:n,onResubmit:r,trackEvent:A,loginUrl:o}=e;var i,l;const[a,s]=t.useState(null),[c,u]=t.useState(0),d=n(),f=null!==(i=import.meta.env)&&void 0!==i?i:{},p=\"true\"===f.VITE_FORCE_TURNSTILE_WIDGET,g=null!==(l=d.siteKey)&&void 0!==l?l:p?f.VITE_TURNSTILE_SITE_KEY:null;return g&&(p||a!==g)?t.createElement(ca,{key:c,siteKey:g,loginUrl:o,onVerify:async e=>{d.token=e,null==A||A({type:\"chatbot_turnstile_completed\"});\"needs_another_challenge\"===await r(e)?u(e=>e+1):s(d.siteKey)},onError:(e,t)=>{var n;s(d.siteKey),null==A||A({type:\"chatbot_turnstile_error\",queryId:null===(n=d.pendingQuery)||void 0===n?void 0:n.queryId,failureReason:e,cloudflareErrorCode:t})}}):null}const fa=\"#1a5b6e\",pa=\"#107180\",ga=\"Arial, sans-serif\",ha=\"Q&A Bot\",ma=\"/chat-icon.svg\",va=\"Type your question here...\",ya=\"Select an option to continue\",wa=!1,ba=\"Ask me a question!\",Ea=\"/login\",Pa={general:{showHeader:!0,showFooter:!0},tooltip:{mode:\"CLOSE\"},chatInput:{disabled:!1,characterLimit:5e3,showCharacterCount:!1,allowNewline:!0,blockSpam:!1},chatWindow:{defaultOpen:!1,showScrollbar:!1},botBubble:{simulateStream:!0,streamSpeed:10,showAvatar:!1},userBubble:{showAvatar:!1},notification:{disabled:!0,showCount:!1},audio:{disabled:!0},emoji:{disabled:!0},fileAttachment:{disabled:!0}},Ba=n((e,n)=>{var r,A,c;const{apiKey:u,qaEndpoint:d,ratingEndpoint:f,capabilitiesEndpoint:p,agentRatingEndpoint:g,welcomeMessage:h,open:m,onOpenChange:v,isLoggedIn:y,allowAnonAccess:w=!1,actingUser:b,primaryColor:P,secondaryColor:B,botName:D,logo:C,placeholder:x,errorMessage:k,embedded:S,footerText:T,footerLink:I,tooltipText:Q,loginUrl:M,turnstileSiteKey:O,backendId:L,resourceContext:N,customFlow:H,onAnalyticsEvent:R}=e,F=i(`bot_${Math.random().toString(36).substr(2,9)}`);a(()=>{Hl()},[]);const U=i(null);null===U.current&&(U.current=Gl(),Rl(\"CREATED\",U.current));const j=i(!1),z=i({getSessionId:()=>U.current,isResetting:()=>j.current}),_=i(null),q=function(e,t){const[n,r]=l(null),[A,s]=l(\"idle\"),c=i(null),u=i(null),d=i(!0),f=o(()=>{const e=window.turnstile;if(u.current&&(null==e?void 0:e.remove)){try{e.remove(u.current)}catch(e){}u.current=null}c.current&&(c.current.remove(),c.current=null)},[]);return a(()=>{if(d.current=!0,!e)return s(\"idle\"),void r(null);s(\"loading\");const n=document.createElement(\"div\");return n.style.position=\"fixed\",n.style.left=\"-9999px\",n.style.top=\"-9999px\",n.style.width=\"0\",n.style.height=\"0\",n.style.overflow=\"hidden\",n.setAttribute(\"aria-hidden\",\"true\"),document.body.appendChild(n),c.current=n,aa().then(()=>{if(!d.current)return;const n=window.turnstile;if(!n||!c.current)return _l(\"Turnstile API not available for silent verification\"),s(\"failed\"),void(null==t||t({type:\"chatbot_turnstile_silent_failed\",failureReason:\"api_unavailable\"}));const A=n.render(c.current,{sitekey:e,execution:\"render\",\"refresh-expired\":\"auto\",callback:e=>{d.current&&(jl(\"Silent verification succeeded\"),r(e),s(\"verified\"))},\"error-callback\":e=>!d.current||(_l(\"Turnstile silent verification failed:\",e),r(null),s(\"failed\"),null==t||t({type:\"chatbot_turnstile_silent_failed\",failureReason:\"widget_error\",cloudflareErrorCode:e}),!0),\"expired-callback\":()=>{d.current&&(jl(\"Token expired, awaiting refresh\"),r(null),s(\"loading\"))}});u.current=A}).catch(e=>{d.current&&(_l(\"Failed to load Turnstile script for silent verification:\",e),s(\"failed\"),null==t||t({type:\"chatbot_turnstile_silent_failed\",failureReason:\"script_load_failed\"}))}),()=>{d.current=!1,f()}},[e,f]),{token:n,status:A,reset:o(()=>{const e=window.turnstile;u.current&&(null==e?void 0:e.reset)&&(r(null),s(\"loading\"),e.reset(u.current),jl(\"Token consumed, resetting widget for fresh token\"))},[])}}(O,e=>{var t;null===(t=_.current)||void 0===t||t.call(_,e)}),G=i(null);G.current=q.token;const[Y,W]=l(y);a(()=>{W(y)},[y]);const V=void 0!==S?S:wa,X=o(e=>{var t;R&&R(Object.assign(Object.assign({},e),{timestamp:Date.now(),sessionId:null!==(t=U.current)&&void 0!==t?t:void 0,pageUrl:\"undefined\"!=typeof window?window.location.href:void 0,isEmbedded:V}))},[R,V]);a(()=>{_.current=e=>X(e)},[X]);const K=s(()=>{const e=Object.assign({},Pa);e.general=Object.assign(Object.assign({},e.general),{primaryColor:P||fa,secondaryColor:B||pa,fontFamily:ga,embedded:V});const n=!1===Y?[t.createElement(Pl,{key:\"login-button\",loginUrl:M||Ea,isHeaderButton:!0})]:[t.createElement($l,{key:\"history-button\"}),t.createElement(Bl,{key:\"user-icon\"})];e.header={title:t.createElement(\"span\",{style:{fontSize:14,fontWeight:500}},D||ha),showAvatar:!0,avatar:C||ma,buttons:[...n,E.CLOSE_CHAT_BUTTON]},e.chatInput=Object.assign(Object.assign({},e.chatInput),{disabled:!1,enabledPlaceholderText:x||va,disabledPlaceholderText:k||ya}),e.tooltip=Object.assign(Object.assign({},e.tooltip),{text:Q||ba});const r=T?I?t.createElement(\"a\",{href:I,target:\"_blank\",rel:\"noopener noreferrer\",key:\"footer-link\"},T):t.createElement(\"span\",{key:\"footer-text\"},T):null;return e.footer={text:null!=r?r:void 0,buttons:[t.createElement(na,{key:\"new-chat-button\"})]},e.chatWindow=Object.assign(Object.assign({},e.chatWindow),{defaultOpen:!!V}),e.event={rcbPreInjectMessage:!0,rcbPostInjectMessage:!0,rcbUserSubmitText:!0,rcbChangePath:!0,rcbToggleChatWindow:!0},e},[P,B,D,C,x,k,V,Q,Y,M,T,I]),J=i(null),Z=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(()=>{const n=(t,n)=>{if(e.current){const n=getComputedStyle(e.current).getPropertyValue(t);if(n&&\"\"!==n.trim())return n.trim();if(e.current.parentElement){const n=getComputedStyle(e.current.parentElement).getPropertyValue(t);if(n&&\"\"!==n.trim())return n.trim()}}return n};return{primaryColor:n(\"--primaryColor\",t.primaryColor),secondaryColor:n(\"--secondaryColor\",t.secondaryColor),fontFamily:n(\"--fontFamily\",t.fontFamily)}},[e,t])}(J,K.general);((e,t)=>{a(()=>{t.current&&(e?t.current.classList.add(\"bot-logged-in\"):t.current.classList.remove(\"bot-logged-in\"))},[e,t])})(!1!==Y,J),(e=>{let{settings:n,themeColors:r}=e;a(()=>{r&&(Object.entries(r).forEach(e=>{let[t,n]=e;n&&document.documentElement.style.setProperty(`--${t}`,n)}),r.primaryColor&&document.documentElement.style.setProperty(\"--rcb-header-background\",r.primaryColor),r.secondaryColor&&document.documentElement.style.setProperty(\"--rcb-header-background-hover\",r.secondaryColor))},[r]),a(()=>{var e,r;(null===(e=n.header)||void 0===e?void 0:e.title)&&\"string\"==typeof n.header.title&&(n.header.title=t.createElement(\"div\",{key:\"header-title\"},t.createElement(\"h1\",{className:\"sr-only\"},n.header.title),t.createElement(\"span\",{\"aria-hidden\":\"true\"},n.header.title))),n.device={desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!1},n.chatHistory={disabled:!0},n.chatButton=Object.assign(Object.assign({},n.chatButton),{icon:null===(r=n.header)||void 0===r?void 0:r.avatar}),n.event=Object.assign(Object.assign({},n.event),{rcbToggleChatWindow:!0})},[n])})({settings:K,themeColors:Z});const $=s(()=>{const e=(e=>{let{endpoint:n,ratingEndpoint:r,agentRatingEndpoint:A,apiKey:o,sessionId:i,isResetting:l=()=>!1,isLoggedIn:a,allowAnonAccess:s=!1,loginUrl:c=\"/login\",trackEvent:u,getTurnstileToken:d,resetTurnstileToken:f,backendId:p,resourceContext:g}=e;if(!1===a&&!s)return null==u||u({type:\"chatbot_login_prompt_shown\"}),{qa_loop:{message:\"To ask questions, please log in first.\",component:t.createElement(Pl,{loginUrl:c}),chatDisabled:!0,path:\"qa_loop\"}};let h=null,m=null,v=!1;const y={siteKey:null,token:null,pendingQuery:null,needsChallenge:!1};let w=null;if(!n)throw new Error(\"Q&A endpoint is required\");return{qa_loop:{message:async e=>{var t;w=e.injectMessage.bind(e);const{userInput:a}=e;if((!l||!l())&&a&&\"\"!==a.trim()){if(\"👍 Helpful\"===a||\"👎 Not helpful\"===a){if(h){const e=\"👍 Helpful\"===a,t=\"agent\"===m?A:r;if(t)try{const n={\"Content-Type\":\"application/json\"};o&&(n[\"X-API-KEY\"]=o);const r=i();r&&(n[\"X-Session-ID\"]=r,n[\"X-Query-ID\"]=h);const A=\"agent\"===m?{query_id:h,rating:e?\"helpful\":\"not_helpful\",session_id:r}:{sessionId:r,queryId:h,rating:e?1:0};await fetch(t,{method:\"POST\",headers:n,credentials:\"include\",body:JSON.stringify(A)}),null==u||u({type:\"chatbot_rating_sent\",queryId:h,rating:e?\"helpful\":\"not_helpful\"})}catch(e){_l(\"Error sending feedback:\",e)}}return\"Thanks for the feedback!\"}try{const r=Sl();h=r,null==u||u({type:\"chatbot_question_sent\",queryId:r,questionLength:a.length});const A={\"Content-Type\":\"application/json\"};o&&(A[\"X-API-KEY\"]=o);const l=i();l&&(A[\"X-Session-ID\"]=l,A[\"X-Query-ID\"]=r),A[\"X-Origin\"]=g||\"access\";const s={query:a,question_id:r};l&&(s.session_id=l),p&&(s._backend=p),g&&(s.rp_name=g);const c=null==d?void 0:d();c&&(s.turnstile_token=c),Rl(\"SENT to API\",{session_id:l,question_id:r});const w=Date.now(),b=await fetch(n,{method:\"POST\",headers:A,credentials:\"include\",body:JSON.stringify(s)});if(!b.ok)throw new Error(`API returned ${b.status}`);if((b.headers.get(\"content-type\")||\"\").includes(\"text/event-stream\")){null==f||f();const n=null===(t=b.body)||void 0===t?void 0:t.getReader();if(!n)throw new Error(\"Response body is not readable\");const A=new TextDecoder;let o=\"\",i=\"\",l=!1;try{for(;;){const{done:t,value:r}=await n.read();if(t)break;o+=A.decode(r,{stream:!0});let a=o.indexOf(\"\\n\\n\");for(;-1!==a;){const t=o.slice(0,a);o=o.slice(a+2);let n,r=\"\",A=\"\";for(const e of t.split(\"\\n\"))e.startsWith(\"event: \")?r=e.slice(7):e.startsWith(\"data: \")&&(A=e.slice(6));if(r&&A){try{n=JSON.parse(A)}catch(e){zl(\"Failed to parse SSE data:\",A),a=o.indexOf(\"\\n\\n\");continue}if(\"status\"===r){const t=n.message||\"Processing...\";await e.streamMessage(`_${t}_`,\"BOT\"),l=!0}else if(\"token\"===r){i+=n.content||\"\";const t=sa(i);await e.streamMessage(t,\"BOT\")}else if(\"done\"===r){const t=n.metadata||{};if(m=t.rating_target||null,v=!0===t.is_final_response,i)console.log(\"[SSE DEBUG] done: tokenContent exists, skipping streamMessage, calling endStreamMessage\"),await e.endStreamMessage(\"BOT\");else{const t=n.response||\"\";if(t){const n=sa(t);await e.streamMessage(n,\"BOT\"),l=!0}l&&await e.endStreamMessage(\"BOT\")}}else if(\"error\"===r){const t=n.message||\"An error occurred\";_l(\"SSE error event:\",t),l?(await e.streamMessage(t,\"BOT\"),await e.endStreamMessage(\"BOT\")):await e.injectMessage(t)}a=o.indexOf(\"\\n\\n\")}else a=o.indexOf(\"\\n\\n\")}}l&&await e.endStreamMessage(\"BOT\")}catch(t){if(_l(\"Error reading SSE stream:\",t),!l)throw t;await e.streamMessage(\"I had trouble completing the response. Please try again.\",\"BOT\"),await e.endStreamMessage(\"BOT\")}const a=Date.now()-w;return void(null==u||u({type:\"chatbot_answer_received\",queryId:r,responseTimeMs:a,success:!0,responseLength:i.length}))}const E=Date.now()-w,P=await b.json();if(P.requires_turnstile)return null==u||u({type:\"chatbot_turnstile_shown\",queryId:r}),y.siteKey=P.site_key,y.pendingQuery={query:a,sessionId:l,queryId:r},y.needsChallenge=!0,\"One moment — verifying your session…\";null==f||f();const B=P.response||P.answer||P.text||P.message;if(!B)throw new Error(\"Invalid response format from API\");const D=P.metadata||{};m=D.rating_target||null,v=!0===D.is_final_response;const C=sa(B),x=Tl()?ua(P):\"\",k=x?`${C}\\n\\n${x}`:C;return await e.injectMessage(k),void(null==u||u({type:\"chatbot_answer_received\",queryId:r,responseTimeMs:E,success:!0,responseLength:B.length,hasMetadata:!!x}))}catch(e){return _l(\"Error in Q&A flow:\",e),null==u||u({type:\"chatbot_answer_error\",queryId:null!=h?h:void 0,errorType:e instanceof Error?e.message:\"unknown\"}),\"I apologize, but I'm having trouble processing your question. Please try again later.\"}}},options:e=>l&&l()||\"👍 Helpful\"===e.userInput||\"👎 Not helpful\"===e.userInput||y.needsChallenge?[]:v&&m&&(\"agent\"===m?A:r)?[\"👍 Helpful\",\"👎 Not helpful\"]:[],renderMarkdown:[\"BOT\"],chatDisabled:!1,component:t.createElement(da,{getState:()=>y,onResubmit:async e=>{var t;if(!y.pendingQuery||!w)return _l(\"Turnstile resubmit called without pending query or injectMessage\"),\"error\";try{const r={\"Content-Type\":\"application/json\"};o&&(r[\"X-API-KEY\"]=o),y.pendingQuery.sessionId&&(r[\"X-Session-ID\"]=y.pendingQuery.sessionId,r[\"X-Query-ID\"]=y.pendingQuery.queryId),r[\"X-Origin\"]=g||\"access\";const A={query:y.pendingQuery.query,question_id:y.pendingQuery.queryId,turnstile_token:e};y.pendingQuery.sessionId&&(A.session_id=y.pendingQuery.sessionId),p&&(A._backend=p),g&&(A.rp_name=g);const i=await fetch(n,{method:\"POST\",headers:r,credentials:\"include\",body:JSON.stringify(A)}),l=y.pendingQuery.queryId;if(!i.ok)throw new Error(`API returned ${i.status} after Turnstile`);if((i.headers.get(\"content-type\")||\"\").includes(\"text/event-stream\")){const e=null===(t=i.body)||void 0===t?void 0:t.getReader();if(!e)throw new Error(\"Response body is not readable\");const n=new TextDecoder;let r=\"\",A=\"\",o={};for(;;){const{done:t,value:i}=await e.read();if(t)break;r+=n.decode(i,{stream:!0});let l=r.indexOf(\"\\n\\n\");for(;-1!==l;){const e=r.slice(0,l);r=r.slice(l+2);let t=\"\",n=\"\";for(const r of e.split(\"\\n\"))r.startsWith(\"event: \")?t=r.slice(7):r.startsWith(\"data: \")&&(n=r.slice(6));if(t&&n)try{const e=JSON.parse(n);\"token\"===t?A+=e.content||\"\":\"done\"===t&&(o=e.metadata||{})}catch(e){}l=r.indexOf(\"\\n\\n\")}}if(y.token=null,y.pendingQuery=null,y.needsChallenge=!1,y.siteKey=null,!A)throw new Error(\"No content received from stream\");m=o.rating_target||null,v=!0===o.is_final_response,h=l;const a=sa(A);return await w(a),null==u||u({type:\"chatbot_answer_received\",queryId:l,success:!0,responseLength:A.length}),\"success\"}const a=await i.json();if(a.requires_turnstile)return y.siteKey=a.site_key,y.token=null,await w(\"Still verifying — please complete the challenge again.\"),\"needs_another_challenge\";y.token=null,y.pendingQuery=null,y.needsChallenge=!1,y.siteKey=null;const s=a.response||a.answer||a.text||a.message;if(!s)throw new Error(\"Invalid response format from API\");const c=a.metadata||{};m=c.rating_target||null,v=!0===c.is_final_response,h=l;const d=sa(s),f=Tl()?ua(a):\"\",b=f?`${d}\\n\\n${f}`:d;return await w(b),null==u||u({type:\"chatbot_answer_received\",queryId:l,success:!0,responseLength:s.length}),\"success\"}catch(e){return _l(\"Error resubmitting after Turnstile:\",e),y.token=null,y.pendingQuery=null,y.needsChallenge=!1,y.siteKey=null,await(null==w?void 0:w(\"I had trouble processing your question after verification. Please try again.\")),\"error\"}},trackEvent:u,loginUrl:c}),path:\"qa_loop\"}}})({endpoint:d,ratingEndpoint:f,agentRatingEndpoint:g,apiKey:u,sessionId:z.current.getSessionId,isResetting:z.current.isResetting,isLoggedIn:Y,allowAnonAccess:w,loginUrl:M||Ea,trackEvent:X,getTurnstileToken:()=>G.current,resetTurnstileToken:()=>q.reset(),backendId:L,resourceContext:N}),n={message:h,renderMarkdown:[\"BOT\"],transition:{duration:0},path:\"qa_loop\"};return Object.assign(Object.assign({start:n},e),H||{})},[u,d,f,g,h,Y,w,M,H,b,X,N,L]),ee=s(()=>{return[()=>On(t),gl(),()=>vl(e)];var e,t},[]);return a(()=>{const e=()=>{const e=document.querySelector(\".rcb-chat-window\");if(!e)return;const t=e.querySelector(\".rcb-send-button\");t&&(t.hasAttribute(\"tabindex\")||t.setAttribute(\"tabindex\",\"0\"),t.hasAttribute(\"data-keyboard-enabled\")||(t.setAttribute(\"data-keyboard-enabled\",\"true\"),t.addEventListener(\"keydown\",e=>{if(\"Enter\"===e.key||\" \"===e.key){e.preventDefault();const n=t&&Object.keys(t).find(e=>e.startsWith(\"__reactProps\"));if(n){const r=t[n],A=null==r?void 0:r.onMouseDown;if(A&&\"function\"==typeof A)return void A(e)}const r=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(r)}})))},t=setInterval(e,1e3);return e(),()=>clearInterval(t)},[]),oa(),a(()=>{const e=J.current;if(!e)return;const t=e=>{var t,n,r;const A=null===(n=(t=e.target).closest)||void 0===n?void 0:n.call(t,\"a\");A&&A.closest(\".rcb-chat-body-container\")&&(A.classList.contains(\"qa-bot-login-button\")||A.closest(\".rcb-options-container\")||X({type:\"chatbot_link_clicked\",linkUrl:A.href,linkText:(null===(r=A.textContent)||void 0===r?void 0:r.trim())||\"\"}))};return e.addEventListener(\"click\",t),()=>e.removeEventListener(\"click\",t)},[X]),a(()=>{if(!V){const e=e=>{const t=e.data.newState;null==v||v(t);const n=U.current;X(t?{type:\"chatbot_open\"}:{type:\"chatbot_close\",messageCount:n?Vl(n):0,durationMs:n?Xl(n):0})};return window.addEventListener(\"rcb-toggle-chat-window\",e),()=>{window.removeEventListener(\"rcb-toggle-chat-window\",e)}}},[V,v,X]),t.createElement(\"div\",{className:\"qa-bot \"+((null===(r=K.general)||void 0===r?void 0:r.embedded)?\"embedded-qa-bot\":\"\"),ref:J,role:\"region\",\"aria-label\":`${D||ha}${(null===(A=K.general)||void 0===A?void 0:A.embedded)?\" - Embedded\":\"\"}`},t.createElement(Jl,{getSessionId:()=>U.current,setSessionId:e=>{const t=U.current;U.current=e,Rl(\"RESTORED\",`${null==t?void 0:t.slice(-12)} -> ${e.slice(-12)}`)},resetSession:()=>{const e=U.current;j.current=!0,U.current=Gl(),Rl(\"RESET\",`${null==e?void 0:e.slice(-12)} -> ${U.current.slice(-12)}`)},clearResettingFlag:()=>{j.current=!1}},t.createElement(bl,{trackEvent:X},t.createElement(Wt,null,t.createElement(\"div\",null,t.createElement(Aa,null),t.createElement(yl,{ref:n,embedded:(null===(c=K.general)||void 0===c?void 0:c.embedded)||!1,currentOpen:m||!1,enabled:!1!==Y,onSetEnabled:e=>W(!!e&&void 0)}),t.createElement(Jt,{key:`chatbot-${F.current}-${Y}`,settings:K,flow:$,plugins:ee}),t.createElement(\"div\",{role:\"status\",\"aria-live\":\"polite\",\"aria-label\":\"Bot response updates\",className:\"sr-only\",id:\"bot-live-region\",style:{position:\"absolute\",width:\"1px\",height:\"1px\",padding:0,margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0}}),t.createElement(\"div\",{id:\"chat-input-help\",className:\"sr-only\",style:{position:\"absolute\",width:\"1px\",height:\"1px\",padding:0,margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0}},\"Type your message and press Enter to send. Use arrow keys to navigate through response options.\"))))))});Ba.displayName=\"QABot\";const Da=()=>{const[e,t]=l(!1),n=()=>\"undefined\"!=typeof navigator&&void 0!==navigator.mediaDevices&&\"function\"==typeof navigator.mediaDevices.getDisplayMedia;return{captureScreenshot:async()=>{if(!n())throw new Error(\"Screen capture is not available in this environment\");try{t(!0);const e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:\"browser\",cursor:\"always\",width:{ideal:1920},height:{ideal:1080}},audio:!1}),n=document.createElement(\"video\");n.srcObject=e,await new Promise(e=>{n.onloadedmetadata=()=>{n.play(),e()}});const r=document.createElement(\"canvas\");r.width=n.videoWidth,r.height=n.videoHeight;const A=r.getContext(\"2d\");if(!A)throw new Error(\"Could not get canvas context\");A.drawImage(n,0,0,r.width,r.height);const o=await new Promise(e=>r.toBlob(e,\"image/png\"));if(!o)throw new Error(\"Could not create image blob\");const i=(new Date).toISOString().replace(/[:.]/g,\"-\"),l=new File([o],`screenshot-${i}.png`,{type:\"image/png\"});return e.getTracks().forEach(e=>e.stop()),t(!1),l}catch(e){throw _l(\"Error capturing screenshot:\",e),t(!1),e}},isCapturing:e,isScreenCaptureAvailable:n()}},Ca=e=>t.createElement(ea,e,t.createElement(\"path\",{d:\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}),t.createElement(\"polyline\",{points:\"17 8 12 3 7 8\"}),t.createElement(\"line\",{x1:\"12\",y1:\"3\",x2:\"12\",y2:\"15\"})),xa=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{if(\"string\"!=typeof r.result)return void n(new Error(`Failed to read file ${e.name}`));const A=r.result.split(\",\")[1];t({fileName:e.name,contentType:e.type,size:e.size,fileData:A})},r.onerror=()=>n(new Error(`Failed to read file ${e.name}`)),r.readAsDataURL(e)}),ka=e=>Promise.all(e.map(xa)),Sa=function(e){const t=1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:10)*1024;return e.size<=t},Ta=e=>e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`,Ia=e=>{let{onFileUpload:n,maxSizeMB:r=10,acceptedTypes:A=\"image/*,application/pdf,text/*,.doc,.docx\",enableScreenshot:o=!1,className:a}=e;const[s,c]=l(!1),[u,d]=l([]),[f,p]=l(null),g=i(null),{captureScreenshot:h,isCapturing:m,isScreenCaptureAvailable:v}=Da(),y=e=>{const t=document.createElement(\"div\");t.setAttribute(\"aria-live\",\"assertive\"),t.setAttribute(\"aria-atomic\",\"true\"),t.className=\"sr-only\",t.textContent=e,document.body.appendChild(t),setTimeout(()=>document.body.removeChild(t),1e3)},w=e=>{if(!e||0===e.length)return void zl(\"FileUploadComponent: No valid files provided to handleFiles\");let t;try{t=Array.from(e)}catch(e){return _l(\"FileUploadComponent: Error converting files to array:\",e),void y(\"Error processing selected files. Please try again.\")}const r=[...u,...t];d(r);const A=t.length,o=t.map(e=>e.name).join(\", \");y(`${A} file${A>1?\"s\":\"\"} selected: ${o}`),setTimeout(()=>{const e=document.querySelector(\".rcb-chat-content\");e&&(e.scrollTop=e.scrollHeight)},100),n&&n(r)},b=e=>{e.preventDefault(),e.stopPropagation(),\"dragenter\"===e.type||\"dragover\"===e.type?c(!0):\"dragleave\"===e.type&&c(!1)},E=()=>{try{g.current&&g.current.click()}catch(e){_l(\"FileUploadComponent: Error in handleButtonClick:\",e),y(\"Error opening file selection dialog. Please try again.\")}},P=()=>{p(null)},B=o&&v;return t.createElement(\"div\",{className:`file-upload-container ${a||\"\"}`,style:{padding:\"16px\",margin:\"8px 0\"}},B&&t.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"center\",marginBottom:\"10px\"}},t.createElement(\"button\",{onClick:e=>{e.preventDefault(),(async()=>{try{const e=await h();w([e]),y(\"Screenshot captured successfully\")}catch(e){y(\"Error capturing screenshot. Please try again.\")}})()},disabled:m,\"aria-describedby\":\"screenshot-help\",\"aria-label\":m?\"Taking screenshot, please wait\":\"Take a screenshot to attach\",style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",backgroundColor:\"#107180\",color:\"white\",border:\"none\",borderRadius:\"5px\",padding:\"8px 12px\",cursor:m?\"not-allowed\":\"pointer\",fontSize:\"14px\",fontWeight:\"500\",boxShadow:\"0 1px 3px rgba(0,0,0,0.2)\"}},t.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},t.createElement(\"path\",{d:\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"}),t.createElement(\"circle\",{cx:\"12\",cy:\"13\",r:\"4\"})),m?\"Taking screenshot...\":\"Take screenshot...\"),t.createElement(\"span\",{id:\"screenshot-help\",className:\"sr-only\"},\"Captures the current screen and adds it as an attachment\")),t.createElement(\"div\",{className:\"file-upload-dropzone \"+(s?\"active\":\"\"),onDragEnter:b,onDragLeave:b,onDragOver:b,onDrop:e=>{var t;e.preventDefault(),e.stopPropagation(),c(!1);try{(null===(t=e.dataTransfer)||void 0===t?void 0:t.files)&&e.dataTransfer.files.length>0&&w(e.dataTransfer.files)}catch(e){_l(\"FileUploadComponent: Error in handleDrop:\",e),y(\"Error processing dropped files. Please try again.\")}},role:\"button\",tabIndex:0,\"aria-label\":\"File upload area. Click to select files or drag and drop files here.\",\"aria-describedby\":\"upload-instructions\",onKeyDown:e=>{\"Enter\"!==e.key&&\" \"!==e.key||(e.preventDefault(),E())},style:{padding:\"20px\",border:\"2px dashed #ccc\",borderRadius:\"8px\",backgroundColor:s?\"#f0f8ff\":\"#fafafa\",transition:\"all 0.3s ease\"}},t.createElement(\"input\",{ref:g,type:\"file\",className:\"file-input\",onChange:e=>{var t;try{(null===(t=e.target)||void 0===t?void 0:t.files)&&e.target.files.length>0&&w(e.target.files)}catch(e){_l(\"FileUploadComponent: Error in handleFileSelect:\",e),y(\"Error processing selected files. Please try again.\")}},multiple:!0,style:{display:\"none\"},\"aria-label\":\"Select files to upload\",accept:A}),t.createElement(\"div\",{className:\"upload-content\",onClick:E,style:{cursor:\"pointer\",flexDirection:\"column\",alignItems:\"center\",display:\"flex\",textAlign:\"center\",padding:\"12px\"}},t.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:\"8px\"}},t.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",gap:\"10px\"}},t.createElement(Ca,null),t.createElement(\"p\",{style:{margin:0,fontWeight:\"bold\"}},\"Upload Files\")),t.createElement(\"p\",{id:\"upload-instructions\",style:{margin:0,fontSize:\"14px\",color:\"#666\"}},\"Drag and drop files here or click to select. (Max \",r,\"MB each)\")),u.length>0&&t.createElement(\"div\",{className:\"selected-files\",style:{display:\"flex\",flexWrap:\"wrap\",gap:\"8px\",marginTop:\"12px\",alignItems:\"center\"}},t.createElement(\"span\",{style:{fontWeight:400,color:\"#888\",fontSize:\"13px\",marginRight:\"8px\",alignSelf:\"center\"}},\"Selected files:\"),u.map((e,r)=>t.createElement(\"span\",{key:r,style:{background:\"#fff\",color:\"#107180\",borderRadius:\"5px\",padding:\"4px 12px\",fontSize:\"14px\",marginRight:\"4px\",marginBottom:\"4px\",border:\"1px solid #ccc\",display:\"flex\",alignItems:\"center\",gap:\"6px\",cursor:\"pointer\"},onClick:t=>{t.stopPropagation(),(e=>{p(e)})(e)}},t.createElement(\"span\",{onClick:e=>{e.stopPropagation(),(e=>{const t=u.filter((t,n)=>n!==e);d(t),n&&n(t)})(r)},style:{cursor:\"pointer\",color:\"#888\",fontWeight:\"bold\",fontSize:\"15px\",marginRight:\"4px\",userSelect:\"none\",lineHeight:1},title:\"Remove file\",\"aria-label\":`Remove ${e.name}`},\"×\"),e.name,\" (\",Ta(e.size),\")\"))))),(()=>{if(!f)return null;const e=f.type.startsWith(\"image/\"),n=f.type.startsWith(\"text/\"),r=\"application/pdf\"===f.type;return t.createElement(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,backgroundColor:\"rgba(0, 0, 0, 0.7)\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",zIndex:1e3},onClick:P},t.createElement(\"div\",{style:{backgroundColor:\"white\",padding:\"20px\",borderRadius:\"8px\",maxWidth:\"90%\",maxHeight:\"90%\",overflow:\"auto\",position:\"relative\"},onClick:e=>e.stopPropagation()},t.createElement(\"button\",{onClick:P,style:{position:\"absolute\",top:\"10px\",right:\"10px\",background:\"none\",border:\"none\",fontSize:\"24px\",cursor:\"pointer\",color:\"#666\"}},\"×\"),t.createElement(\"h3\",{style:{marginTop:0,marginBottom:\"16px\"}},f.name),e&&t.createElement(\"img\",{src:URL.createObjectURL(f),alt:f.name,style:{maxWidth:\"100%\",maxHeight:\"70vh\"}}),n&&t.createElement(\"pre\",{style:{whiteSpace:\"pre-wrap\",wordWrap:\"break-word\",maxHeight:\"70vh\",overflow:\"auto\",padding:\"16px\",backgroundColor:\"#f5f5f5\",borderRadius:\"4px\"}},URL.createObjectURL(f)),r&&t.createElement(\"iframe\",{src:URL.createObjectURL(f),style:{width:\"100%\",height:\"70vh\",border:\"none\"},title:f.name}),!e&&!n&&!r&&t.createElement(\"div\",{style:{padding:\"20px\",textAlign:\"center\"}},\"Preview not available for this file type\")))})())};function Qa(e,t){if(!t||0===Object.keys(t).length)return e;const n={};for(const[r,A]of Object.entries(e)){let e=Object.assign({},A);if(t.disableOnOptions&&void 0===e.chatDisabled){const t=!(!e.options&&!e.checkboxes);e.chatDisabled=t}n[r]=e}return n}function Ma(e){return async t=>{await t.injectMessage(e)}}function Oa(e){return async t=>{const n=await e(t);await t.injectMessage(n)}}const La=t.forwardRef((e,n)=>{var{defaultOpen:r}=e,A=b(e,[\"defaultOpen\"]);const[o,i]=t.useState(r||!1),l=t.useRef(null);return t.useImperativeHandle(n,()=>({addMessage:e=>{var t;null===(t=l.current)||void 0===t||t.addMessage(e)},setBotEnabled:e=>{var t;null===(t=l.current)||void 0===t||t.setBotEnabled(e)},openChat:()=>{var e;i(!0),null===(e=l.current)||void 0===e||e.openChat()},closeChat:()=>{var e;i(!1),null===(e=l.current)||void 0===e||e.closeChat()},toggleChat:()=>{var e;i(e=>!e),null===(e=l.current)||void 0===e||e.toggleChat()}}),[]),t.createElement(Ba,w({ref:l},A,{open:o,onOpenChange:i}))});function Na(e){if(!(e.target&&e.target instanceof HTMLElement))return void _l(\"QA Bot: A valid target DOM element is required\");const{target:n}=e,r=b(e,[\"target\"]),A=p.createRoot(n),o={current:null};return A.render(t.createElement(t.StrictMode,null,t.createElement(La,w({ref:e=>{o.current=e}},r)))),{addMessage:e=>{var t;return null===(t=o.current)||void 0===t?void 0:t.addMessage(e)},setBotEnabled:e=>{var t;return null===(t=o.current)||void 0===t?void 0:t.setBotEnabled(e)},openChat:()=>{var e;return null===(e=o.current)||void 0===e?void 0:e.openChat()},closeChat:()=>{var e;return null===(e=o.current)||void 0===e?void 0:e.closeChat()},toggleChat:()=>{var e;return null===(e=o.current)||void 0===e?void 0:e.toggleChat()},destroy:()=>{o.current=null,A.unmount()}}}La.displayName=\"ProgrammaticQABot\";export{Ia as FileUploadComponent,Ba as QABot,Qa as applyFlowSettings,Na as default,xa as fileToBase64,ka as filesToBase64,Ta as formatFileSize,Na as qaBot,Da as useScreenshotCapture,Sa as validateFileSize,Ma as withHistory,Oa as withHistoryFn};\n//# sourceMappingURL=qa-bot-core.js.map\n","// Environment configuration\nexport const API_CONFIG = {\n // Q&A goes through qa-bot-proxy (Turnstile-protected) to UKY RAG.\n // To bypass the proxy (local dev), set VITE_API_ENDPOINT directly.\n QA_ENDPOINT: import.meta.env.VITE_API_ENDPOINT || 'https://qa-bot-proxy.netlify.app/api/chat',\n RATING_ENDPOINT: import.meta.env.VITE_RATING_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/',\n\n // Backend ID sent as `_backend` in the request body so qa-bot-proxy can\n // route to the correct upstream (defined in its ALLOWED_BACKENDS env var).\n BACKEND_ID: import.meta.env.VITE_BACKEND_ID || 'access',\n\n // Access-agent endpoints — disabled in non-agentic mode.\n // REACTIVATION: republish access-qa-bot with VITE_AGENT_ENABLED=true and\n // VITE_AGENT_ENDPOINT/VITE_API_ENDPOINT pointing at the agent. (Vite bakes\n // VITE_* values at this library's publish time, so flipping them requires a\n // republish — they are NOT runtime env vars in the consuming app.)\n // The gated useEffects in AccessQABot.tsx and the conditional QABot prop\n // spread come back to life automatically when this is true. Search the\n // codebase for `REACTIVATION:` to see all the affected sites.\n AGENT_ENABLED: import.meta.env.VITE_AGENT_ENABLED === 'true',\n AGENT_ENDPOINT: import.meta.env.VITE_AGENT_ENDPOINT || 'http://localhost:8000/api/v1',\n get CAPABILITIES_ENDPOINT() { return `${this.AGENT_ENDPOINT}/capabilities`; },\n get AGENT_RATING_ENDPOINT() { return `${this.AGENT_ENDPOINT}/rating`; },\n\n // Metrics/XDMoD API endpoints (unchanged — direct to UKY)\n METRICS_API_ENDPOINT: import.meta.env.VITE_METRICS_API_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/',\n METRICS_RATING_ENDPOINT: import.meta.env.VITE_METRICS_RATING_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/',\n METRICS_QUESTIONS_URL: 'https://metrics.access-ci.org/qa_bot_faq',\n\n // Netlify functions for JIRA/JSM (unchanged)\n NETLIFY_BASE_URL: import.meta.env.VITE_NETLIFY_BASE_URL || 'https://access-jsm-api.netlify.app',\n\n // API key (can be overridden via prop)\n DEFAULT_API_KEY: import.meta.env.VITE_API_KEY || 'demo-key',\n\n // Cloudflare Turnstile site key (public, safe to embed in frontend)\n TURNSTILE_SITE_KEY: import.meta.env.VITE_TURNSTILE_SITE_KEY || '',\n\n // Allow anonymous users to chat without logging in.\n // Requires Turnstile for bot protection — if anon access is enabled\n // without a Turnstile key, anonymous users get unrestricted access.\n ALLOW_ANON_ACCESS: import.meta.env.VITE_ALLOW_ANON_ACCESS === 'true',\n};\n\n// Bot configuration defaults\nexport const BOT_CONFIG = {\n BOT_NAME: 'ACCESS Q&A',\n LOGO: 'https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg',\n WELCOME_MESSAGE: 'Hello! I can answer questions about ACCESS resources, allocations, and more. Choose an option below or just type your question.\\n\\n<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href=\"https://support.access-ci.org/tools/access-qa-tool/privacy\">Privacy Notice</a>',\n LOGIN_URL: '/login',\n PRIMARY_COLOR: '#1a5b6e',\n SECONDARY_COLOR: '#107180',\n TOOLTIP: 'Ask me about ACCESS! 😊',\n};\n\n// Session storage keys\nexport const STORAGE_KEYS = {\n SESSION_ID: 'access-qa-bot-session-id',\n TOOLTIP_SHOWN: 'access-qa-bot-tooltip-shown',\n};\n","/**\n * Main Menu Flow — static buttons for non-agentic mode.\n *\n * The previous dynamic capabilities-driven version (single \"Show my options\"\n * button that called the agent's /capabilities endpoint) is preserved in git\n * history at v3.5.0:src/flows/main-menu-flow.ts. Restore it when re-enabling\n * the agent.\n */\n\nimport type { TicketFormData } from '../utils/flow-context';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n welcome: string;\n setTicketForm: (form: TicketFormData) => void;\n trackEvent: TrackEventFn;\n}\n\n/**\n * Creates the main menu conversation flow.\n *\n * Login gating for the Q&A path happens downstream in qa-bot-core's qa_loop\n * step (via isLoggedIn + allowAnonAccess passed to QABot), so we don't need\n * isLoggedIn here.\n */\nexport function createMainMenuFlow({\n welcome,\n setTicketForm,\n trackEvent,\n}: FlowParams) {\n return {\n start: {\n message: welcome,\n renderHtml: [\"BOT\"],\n options: [\n 'Ask a question',\n 'Open a help ticket',\n 'Report a security issue',\n 'Ask about metrics',\n ],\n chatDisabled: false,\n path: (chatState: { userInput: string }) => {\n const selection = chatState.userInput;\n trackEvent({ type: 'chatbot_menu_selected', selection });\n\n switch (selection) {\n case 'Ask a question':\n // Explicit option click: route to a prompt state that waits for\n // the user to type their real question. Routing directly to\n // qa_loop would pass \"Ask a question\" as userInput and it would\n // be sent to the Q&A backend as the user's literal question.\n return 'qa_prompt';\n case 'Open a help ticket':\n // Reset any prior form state so the ticket flow starts clean.\n setTicketForm({});\n return 'help_ticket';\n case 'Report a security issue':\n setTicketForm({});\n trackEvent({ type: 'chatbot_security_started' });\n return 'security_incident';\n case 'Ask about metrics':\n return 'metrics_intro';\n default:\n // Free-text input at start: user typed their question directly\n // without clicking \"Ask a question\". Route into the Q&A loop\n // and let the typed text be processed as their question.\n return 'qa_loop';\n }\n },\n },\n // Intermediate state between the \"Ask a question\" button click and the\n // qa_loop. Does nothing except prompt the user to type their question,\n // then hands them to qa_loop where their typed text is processed.\n qa_prompt: {\n message: 'What would you like to ask?',\n chatDisabled: false,\n path: 'qa_loop',\n },\n };\n}\n","/**\n * Flow context utilities for managing form state in conversational flows\n * Solves React closure issues by providing global access to current form state\n */\n\nexport interface TicketFormData {\n // User info\n email?: string;\n name?: string;\n accessId?: string;\n\n // Common ticket fields\n summary?: string;\n description?: string;\n priority?: string;\n category?: string;\n\n // Login-specific fields\n identityProvider?: string;\n browser?: string;\n\n // Resource fields (affiliated login)\n resource?: string;\n userIdResource?: string;\n\n // Resource fields (general help)\n involvesResource?: string;\n resourceDetails?: string;\n userIdAtResource?: string;\n\n // File upload\n uploadedFiles?: File[];\n wantsAttachment?: string;\n uploadConfirmed?: boolean;\n\n // Keywords\n keywords?: string | string[];\n suggestedKeyword?: string;\n\n // Submission result\n ticketKey?: string;\n ticketUrl?: string;\n submissionError?: string;\n\n // Allow additional fields\n [key: string]: unknown;\n}\n\nexport interface UserInfo {\n email?: string;\n name?: string;\n accessId?: string;\n}\n\nexport interface FormContext {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n}\n\n// Global form context reference\nlet currentFormContext: FormContext | null = null;\n\n/**\n * Sets the current form context reference\n * Call this when creating flows to enable access to latest form state\n */\nexport function setCurrentFormContext(context: FormContext): void {\n currentFormContext = context;\n}\n\n/**\n * Clears the current form context\n */\nexport function clearFormContext(): void {\n currentFormContext = null;\n}\n\n/**\n * Gets the current ticket form state\n * Always returns the latest state, avoiding stale closure issues\n */\nexport function getCurrentTicketForm(): TicketFormData {\n if (!currentFormContext) {\n console.warn('Form context not available, returning empty form');\n return {};\n }\n return currentFormContext.ticketForm || {};\n}\n\n/**\n * Updates the ticket form with new values\n */\nexport function updateTicketForm(updates: Partial<TicketFormData>): void {\n if (!currentFormContext) {\n console.warn('Form context not available, cannot update form');\n return;\n }\n currentFormContext.setTicketForm(prev => ({ ...prev, ...updates }));\n}\n\n/**\n * Gets current form merged with user info (user info takes precedence if form is empty)\n */\nexport function getCurrentFormWithUserInfo(userInfo: UserInfo = {}): TicketFormData {\n const currentForm = getCurrentTicketForm();\n return {\n ...currentForm,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n };\n}\n\n/**\n * Gets file info string for summaries\n */\nexport function getFileInfo(uploadedFiles?: File[]): string {\n if (uploadedFiles && uploadedFiles.length > 0) {\n return `\\nAttachments: ${uploadedFiles.length} file(s) attached`;\n }\n return '';\n}\n","/**\n * ACCESS-specific ticket submission API utilities\n * Handles JIRA/JSM ticket creation via Netlify proxy\n */\n\nimport { filesToBase64 } from '@snf/qa-bot-core';\nimport type { ProcessedFile } from '@snf/qa-bot-core';\nimport { API_CONFIG } from '../config/constants';\n\n// JSM Request Type IDs\nexport const REQUEST_TYPE_IDS = {\n SUPPORT: 17,\n LOGIN_ACCESS: 30,\n LOGIN_PROVIDER: 31,\n SECURITY: 26,\n} as const;\n\nexport type TicketType = 'support' | 'general_help' | 'loginAccess' | 'loginProvider' | 'security';\n\nexport interface TicketSubmissionData {\n serviceDeskId: number;\n requestTypeId: number;\n requestFieldValues: Record<string, unknown>;\n attachments?: ProcessedFile[];\n}\n\nexport interface TicketSubmissionResult {\n success: boolean;\n ticketKey?: string;\n ticketUrl?: string;\n error?: string;\n status?: number;\n}\n\n/**\n * Prepares form data for JSM API submission\n */\nexport async function prepareApiSubmission(\n formData: Record<string, unknown>,\n ticketType: TicketType = 'support',\n uploadedFiles: File[] = []\n): Promise<TicketSubmissionData> {\n const requestTypeIds: Record<TicketType, number> = {\n support: REQUEST_TYPE_IDS.SUPPORT,\n general_help: REQUEST_TYPE_IDS.SUPPORT,\n loginAccess: REQUEST_TYPE_IDS.LOGIN_ACCESS,\n loginProvider: REQUEST_TYPE_IDS.LOGIN_PROVIDER,\n security: REQUEST_TYPE_IDS.SECURITY,\n };\n\n const requestTypeId = requestTypeIds[ticketType] || REQUEST_TYPE_IDS.SUPPORT;\n const serviceDeskId = ticketType === 'security' ? 3 : 2;\n\n const submissionData: TicketSubmissionData = {\n serviceDeskId,\n requestTypeId,\n requestFieldValues: { ...formData },\n };\n\n // Process file attachments if any\n if (uploadedFiles.length > 0) {\n submissionData.attachments = await filesToBase64(uploadedFiles);\n }\n\n return submissionData;\n}\n\n/**\n * Sends prepared ticket data to the Netlify proxy\n */\nexport async function sendToProxy(\n submissionData: TicketSubmissionData,\n endpoint: 'tickets' | 'security-incidents'\n): Promise<TicketSubmissionResult> {\n const baseUrl = API_CONFIG.NETLIFY_BASE_URL;\n const proxyEndpoint = `${baseUrl}/api/v1/${endpoint}`;\n\n try {\n const response = await fetch(proxyEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(submissionData),\n });\n\n if (!response.ok) {\n let errorMessage = '';\n try {\n const errorText = await response.text();\n try {\n const errorJson = JSON.parse(errorText);\n errorMessage = errorJson.message || errorJson.error || errorText;\n } catch {\n errorMessage = errorText;\n }\n } catch {\n errorMessage = `HTTP ${response.status} ${response.statusText}`;\n }\n\n // User-friendly messages for common errors\n if (response.status === 403) {\n errorMessage = 'The ticket service is temporarily unavailable. Please try again later or contact support directly.';\n } else if (response.status === 404) {\n errorMessage = 'Ticket service not found. Please try again later.';\n } else if (response.status === 500) {\n errorMessage = 'Server error. Please try again later.';\n } else if (response.status === 401) {\n errorMessage = 'Authentication error with the ticket service. Please contact support.';\n }\n\n return {\n success: false,\n status: response.status,\n error: errorMessage,\n };\n }\n\n const data = await response.json();\n return {\n success: true,\n ticketKey: data.data?.ticketKey,\n ticketUrl: data.data?.ticketUrl,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n}\n\n/**\n * High-level function to submit a ticket\n */\nexport async function submitTicket(\n formData: Record<string, unknown>,\n ticketType: TicketType,\n uploadedFiles: File[] = []\n): Promise<TicketSubmissionResult> {\n try {\n const submissionData = await prepareApiSubmission(formData, ticketType, uploadedFiles);\n const endpoint = ticketType === 'security' ? 'security-incidents' : 'tickets';\n return await sendToProxy(submissionData, endpoint);\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n}\n\n/**\n * Generates a success/error message for ticket submission\n */\nexport function generateSuccessMessage(\n result: TicketSubmissionResult | null,\n ticketType: string = 'ticket'\n): string {\n if (!result) {\n return `We apologize, but there was an error submitting your ${ticketType}.\\n\\nPlease try again or contact our support team directly.`;\n }\n\n if (!result.success) {\n return `We apologize, but there was an error submitting your ${ticketType}: ${result.error || 'Unknown error'}\\n\\nPlease try again or contact our support team directly.`;\n }\n\n if (result.ticketUrl && result.ticketKey) {\n return `Your ${ticketType} has been submitted successfully.\\n\\nTicket: <a href=\"${result.ticketUrl}\" target=\"_blank\">${result.ticketKey}</a>\\n\\nOur support team will review your request and respond accordingly. Thank you for contacting ACCESS.`;\n }\n\n return `Your ${ticketType} has been submitted successfully.\\n\\nOur support team will review your request and respond accordingly. Thank you for contacting ACCESS.`;\n}\n","/**\n * Validation utilities for form inputs in ticket flows\n *\n * These functions return objects compatible with @rcb-plugins/input-validator:\n * { success: boolean, promptContent?: string, promptDuration?: number, promptType?: string }\n */\n\nexport interface ValidationResult {\n success: boolean;\n promptContent?: string;\n promptDuration?: number;\n promptType?: string;\n}\n\n/**\n * Validates an email address\n * Returns validation result object for InputValidator plugin\n */\nexport function validateEmail(email: string): ValidationResult {\n if (!email || email.trim() === '') {\n return {\n success: false,\n promptContent: 'Email is required',\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(email)) {\n return {\n success: false,\n promptContent: 'Please enter a valid email address',\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n\n return { success: true };\n}\n\n/**\n * Creates a validator for optional fields\n * Always returns success since the field is optional\n */\nexport function createOptionalFieldValidator(): () => ValidationResult {\n return () => ({ success: true });\n}\n\n/**\n * Processes optional input - returns empty string for skipped fields\n */\nexport function processOptionalInput(input: string): string {\n if (!input || input.trim() === '' || input.trim().toLowerCase() === 'skip') {\n return '';\n }\n return input.trim();\n}\n\n/**\n * Validates that a required field is not empty\n * Returns validation result object for InputValidator plugin\n */\nexport function validateRequired(value: string, fieldName: string = 'This field'): ValidationResult {\n if (!value || value.trim() === '') {\n return {\n success: false,\n promptContent: `${fieldName} is required`,\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n return { success: true };\n}\n","/**\n * ACCESS Login Help Ticket Flow\n *\n * This flow handles ticket creation for users having trouble logging into ACCESS.\n * It demonstrates how to wrap qa-bot-core's FileUploadComponent with ACCESS-specific\n * ticket submission logic.\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n/**\n * Creates the ACCESS login help ticket flow\n *\n * Note: chatDisabled is handled automatically by applyFlowSettings() in AccessQABot.\n */\nexport function createAccessLoginFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'loginAccess', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'access_login',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'access_login',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component - wired to update form state\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Entry point - provides context and asks if user wants to create ticket\n access_help: {\n message: \"If you're having trouble logging into the ACCESS website, here are some common issues:\\n\\n\" +\n \"• Make sure you're using a supported browser (Chrome, Firefox, Safari)\\n\" +\n \"• Clear your browser cookies and cache\\n\" +\n \"• Check if you're using the correct identity provider\\n\\n\" +\n \"Would you like to submit a help ticket for ACCESS login issues?\",\n options: [\"Yes, let's create a ticket\", \"Back to Main Menu\"],\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes, let's create a ticket\"\n ? \"access_login_description\"\n : \"start\",\n },\n\n // Step 1: Describe the issue (text input)\n access_login_description: {\n message: \"Describe your login issue.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n description: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'description',\n });\n },\n path: \"access_login_identity\",\n },\n\n // Step 2: Identity provider (options)\n access_login_identity: {\n message: \"Which identity provider were you using?\",\n options: [\"ACCESS\", \"Github\", \"Google\", \"Institution\", \"Microsoft\", \"ORCID\", \"Other\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, identityProvider: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'identity_provider',\n });\n },\n path: \"access_login_browser\",\n },\n\n // Step 3: Browser (options)\n access_login_browser: {\n message: \"Which browser were you using?\",\n options: [\"Chrome\", \"Firefox\", \"Edge\", \"Safari\", \"Other\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, browser: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'browser',\n });\n },\n path: \"access_login_attachment\",\n },\n\n // Step 4: Ask about attachment (options)\n access_login_attachment: {\n message: \"Would you like to attach a screenshot?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes\") {\n return \"access_login_upload\";\n }\n // Skip to user info collection based on what's missing\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"access_login_email\";\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 5: File upload (component + Continue button)\n access_login_upload: {\n message: \"Please upload your screenshot.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'file_upload',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"access_login_email\";\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 6: Email (text input)\n access_login_email: {\n message: \"What is your email?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 7: Name (text input)\n access_login_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 8: ACCESS ID (text input, optional)\n access_login_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'access_id',\n });\n },\n path: \"access_login_summary\",\n },\n\n // Step 9: Summary and confirmation (options)\n access_login_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'access_login_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n return `Thank you for providing your ACCESS login issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Identity Provider: ${currentForm.identityProvider || 'Not provided'}\\n` +\n `Browser: ${currentForm.browser || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n renderHtml: [\"BOT\", \"USER\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n email: formWithUserInfo.email || \"\",\n name: formWithUserInfo.name || \"\",\n accessId: formWithUserInfo.accessId || \"\",\n description: currentForm.description || \"\",\n identityProvider: currentForm.identityProvider || \"\",\n browser: currentForm.browser || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"access_login_success\" : \"start\",\n },\n\n // Step 10: Success message (options)\n access_login_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'ACCESS login ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n","/**\n * Resource/Affiliated Login Help Ticket Flow\n *\n * This flow handles ticket creation for users having trouble logging into\n * an ACCESS-affiliated resource (e.g., Expanse, Bridges-2, Anvil).\n *\n * Language matches: qa-bot/src/utils/flows/tickets/affiliated-login-flow.js\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n/**\n * Creates the Resource/Affiliated Login help ticket flow\n */\nexport function createResourceLoginFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'loginProvider', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'resource_login',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'resource_login',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component - wired to update form state\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Entry point - provides context and asks if user wants to create ticket\n resource_help: {\n message: \"If you're having trouble logging into an affiliated infrastructure or resource provider, here are some common issues:\\n\\n\" +\n \"• Ensure your allocation is active\\n\" +\n \"• Confirm you have the correct username for that resource\\n\" +\n \"• Check <a href=\\\"https://operations.access-ci.org/infrastructure_news_view\\\">System Status News</a> to see if the resource is undergoing maintenance\\n\\n\" +\n \"Would you like to submit a help ticket for resource provider login issues?\",\n options: [\"Yes, let's create a ticket\", \"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes, let's create a ticket\"\n ? \"resource_login_resource\"\n : \"start\",\n },\n\n // Step 1: Which resource (options)\n resource_login_resource: {\n message: \"Which ACCESS Resource are you trying to access?\",\n options: [\n \"ACES\",\n \"Anvil\",\n \"Bridges-2\",\n \"DARWIN\",\n \"Delta\",\n \"DeltaAI\",\n \"Derecho\",\n \"Expanse\",\n \"FASTER\",\n \"Granite\",\n \"Jetstream2\",\n \"KyRIC\",\n \"Launch\",\n \"Neocortex\",\n \"Ookami\",\n \"Open Science Grid\",\n \"Open Storage Network\",\n \"Ranch\",\n \"Stampede3\",\n ],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, resource: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'resource_selection',\n });\n },\n path: \"resource_login_userid\",\n },\n\n // Step 2: User ID at resource (text input)\n resource_login_userid: {\n message: \"What is your user ID at the resource?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, userIdResource: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'user_id',\n });\n },\n path: \"resource_login_description\",\n },\n\n // Step 3: Describe the issue (text input)\n resource_login_description: {\n message: \"Please describe the issue you're having logging in.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n description: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'description',\n });\n },\n path: \"resource_login_attachment\",\n },\n\n // Step 4: Ask about attachment (options)\n resource_login_attachment: {\n message: \"Would you like to attach a screenshot?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes\") {\n return \"resource_login_upload\";\n }\n // Skip to user info collection based on what's missing\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"resource_login_email\";\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 5: File upload (component + Continue button)\n resource_login_upload: {\n message: \"Please upload your screenshot.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'file_upload',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"resource_login_email\";\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 6: Email (text input)\n resource_login_email: {\n message: \"What is your email?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 7: Name (text input)\n resource_login_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 8: ACCESS ID (text input, optional)\n resource_login_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'access_id',\n });\n },\n path: \"resource_login_summary\",\n },\n\n // Step 9: Summary and confirmation (options)\n resource_login_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'resource_login_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n return `Thank you for providing your resource login issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Resource: ${currentForm.resource || 'Not provided'}\\n` +\n `Resource User ID: ${currentForm.userIdResource || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n email: formWithUserInfo.email || \"\",\n name: formWithUserInfo.name || \"\",\n accessId: formWithUserInfo.accessId || \"\",\n accessResource: currentForm.resource || \"\",\n description: currentForm.description || \"\",\n // ProForma field for request type 31\n userIdAtResource: currentForm.userIdResource || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"resource_login_success\" : \"start\",\n },\n\n // Step 10: Success message (options)\n resource_login_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'resource login ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n","/**\n * General Help Ticket Flow\n *\n * This flow handles ticket creation for general support questions.\n * Includes category selection, keywords, priority, and resource involvement.\n *\n * Language matches: qa-bot/src/utils/flows/tickets/general-help-flow.js\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n// Keywords list from old qa-bot\nconst KEYWORDS = [\n \" C, C++\",\n \"Abaqus\",\n \"ACCESS\",\n \"ACCESS-credits\",\n \"ACCESS-website\",\n \"Accounts\",\n \"ACLS\",\n \"Adding users\",\n \"Affiliations\",\n \"Affinity Groups\",\n \"AI\",\n \"Algorithms\",\n \"Allocation extension\",\n \"Allocation Management\",\n \"Allocation proposal\",\n \"Allocation Time\",\n \"Allocation users\",\n \"AMBER\",\n \"AMIE\",\n \"Anaconda\",\n \"Analysis\",\n \"API\",\n \"Application Status\",\n \"ARCGIS\",\n \"Architecture\",\n \"Archiving\",\n \"Astrophysics\",\n \"ATLAS\",\n \"Authentication\",\n \"AWS\",\n \"AZURE\",\n \"Backup\",\n \"BASH\",\n \"Batch Jobs\",\n \"Benchmarking\",\n \"Big Data\",\n \"Bioinformatics\",\n \"Biology\",\n \"Ceph\",\n \"CFD\",\n \"cgroups\",\n \"CHARMM\",\n \"Checkpoint\",\n \"cilogon\",\n \"citation\",\n \"Cloud\",\n \"Cloud Computing\",\n \"Cloud Lab\",\n \"Cloud Storage\",\n \"Cluster Management\",\n \"Cluster Support\",\n \"CMMC\",\n \"Community Outreach\",\n \"Compiling\",\n \"Composible Systems\",\n \"Computataional Chemistry\",\n \"COMSOL\",\n \"Conda\",\n \"Condo\",\n \"Containers\",\n \"Core dump\",\n \"Core hours\",\n \"CP2K\",\n \"CPU architecture\",\n \"CPU bound\",\n \"CUDA\",\n \"Cybersecurity\",\n \"CYVERSE\",\n \"Data\",\n \"Data Storage\",\n \"Data-access-protocols\",\n \"Data-analysis\",\n \"Data-compliance\",\n \"Data-lifecycle\",\n \"Data-management\",\n \"Data-management-software\",\n \"Data-provenance\",\n \"Data-reproducibility\",\n \"Data-retention\",\n \"Data-science\",\n \"Data-sharing\",\n \"Data-transfer\",\n \"Data-wrangling\",\n \"Database-update\",\n \"Debugging\",\n \"Debugging, Optimizatio and Profiling\",\n \"Deep-learning\",\n \"Dependencies\",\n \"Deployment\",\n \"DFT\",\n \"Distributed-computing\",\n \"DNS\",\n \"Docker\",\n \"Documentation\",\n \"DOI\",\n \"DTN\",\n \"Easybuild\",\n \"Email\",\n \"Encryption\",\n \"Environment-modules\",\n \"Errors\",\n \"Extension\",\n \"FastX\",\n \"Federated-authentication\",\n \"File transfers\",\n \"File-formats\",\n \"File-limits\",\n \"File-systems\",\n \"File-transfer\",\n \"Finite-element-analysis\",\n \"Firewall\",\n \"Fortran\",\n \"Frameworks and IDE's\",\n \"GAMESS\",\n \"Gateways\",\n \"GATK\",\n \"Gaussian\",\n \"GCC\",\n \"Genomics\",\n \"GIS\",\n \"Git\",\n \"Globus\",\n \"GPFS\",\n \"GPU\",\n \"Gravitational-waves\",\n \"Gridengine\",\n \"GROMACS\",\n \"Hadoop\",\n \"Hardware\",\n \"Image-processing\",\n \"Infiniband\",\n \"Interactive-mode\",\n \"Interconnect\",\n \"IO-Issue\",\n \"ISILON\",\n \"Java\",\n \"Jekyll\",\n \"Jetstream\",\n \"Job-accounting\",\n \"Job-array\",\n \"Job-charging\",\n \"Job-failure\",\n \"Job-sizing\",\n \"Job-submission\",\n \"Julia\",\n \"Jupyterhub\",\n \"Key-management\",\n \"Kubernetes\",\n \"KyRIC\",\n \"LAMMPS\",\n \"Library-paths\",\n \"License\",\n \"Linear-programming\",\n \"Linux\",\n \"LMOD\",\n \"login\",\n \"LSF\",\n \"Lustre\",\n \"Machine-learning\",\n \"Management\",\n \"Materials-science\",\n \"Mathematica\",\n \"MATLAB\",\n \"Memory\",\n \"Metadata\",\n \"Modules\",\n \"Molecular-dynamics\",\n \"Monte-carlo\",\n \"MPI\",\n \"NAMD\",\n \"NetCDF\",\n \"Networking\",\n \"Neural-networks\",\n \"NFS\",\n \"NLP\",\n \"NoMachine\",\n \"Nvidia\",\n \"Oceanography\",\n \"OnDemnad\",\n \"Open-science-grid\",\n \"Open-storage-network\",\n \"OpenCV\",\n \"Openfoam\",\n \"OpenMP\",\n \"OpenMPI\",\n \"OpenSHIFT\",\n \"Openstack\",\n \"Optimization\",\n \"OS\",\n \"OSG\",\n \"Parallelization\",\n \"Parameter-sweeps\",\n \"Paraview\",\n \"Particle-physics\",\n \"password\",\n \"PBS\",\n \"Pegasus\",\n \"Pending-jobs\",\n \"Performance-tuning\",\n \"Permissions\",\n \"Physiology\",\n \"PIP\",\n \"PODMAN\",\n \"Portals\",\n \"Pre-emption\",\n \"Professional and Workforce Development\",\n \"Professional-development\",\n \"Profile\",\n \"Profiling\",\n \"Programming\",\n \"Programming Languages\",\n \"Programming-best-practices\",\n \"Project-management\",\n \"Project-renewal\",\n \"Provisioning\",\n \"Pthreads\",\n \"Publication-database\",\n \"Putty\",\n \"Python\",\n \"Pytorch\",\n \"Quantum-computing\",\n \"Quantum-mechanics\",\n \"Quota\",\n \"R\",\n \"RDP\",\n \"React\",\n \"Reporting\",\n \"Research-facilitation\",\n \"Research-grants\",\n \"Resources\",\n \"Rstudio-server\",\n \"S3\",\n \"Samba\",\n \"SAS\",\n \"Scaling\",\n \"Schedulers\",\n \"Scheduling\",\n \"Science DMZ\",\n \"Science Gateways\",\n \"Scikit-learn\",\n \"Scratch\",\n \"screen\",\n \"scripting\",\n \"SDN\",\n \"Secure Computing and Data\",\n \"Secure-data-architecture\",\n \"Serverless-hpc\",\n \"setup\",\n \"sftp\",\n \"SGE\",\n \"Shell Scripting\",\n \"Shifter\",\n \"Singularity\",\n \"SLURM\",\n \"SMB\",\n \"Smrtanalysis\",\n \"Software Installations\",\n \"Software-carpentry\",\n \"SPACK\",\n \"SPARK\",\n \"Spectrum-scale\",\n \"SPSS\",\n \"SQL\",\n \"SSH\",\n \"Stampede2\",\n \"STATA\",\n \"Storage\",\n \"Supplement\",\n \"Support\",\n \"TCP\",\n \"Technical-training-for-hpc\",\n \"Tensorflow\",\n \"Terminal-emulation-and-window-management\",\n \"Tickets\",\n \"Timing-issue\",\n \"TMUX\",\n \"Tools\",\n \"Training\",\n \"Transfer SUs\",\n \"Trinity\",\n \"Tuning\",\n \"Unix-environment\",\n \"Upgrading\",\n \"Vectorization\",\n \"Version-control\",\n \"vim\",\n \"VNC\",\n \"VPN\",\n \"Workflow\",\n \"Workforce-development\",\n \"X11\",\n \"Xalt\",\n \"XDMoD\",\n \"XML\",\n \"XSEDE\",\n \"I don't see a relevant keyword\",\n];\n\n// Resource list (same as affiliated login)\nconst RESOURCES = [\n \"ACES\",\n \"Anvil\",\n \"Bridges-2\",\n \"DARWIN\",\n \"Delta\",\n \"DeltaAI\",\n \"Derecho\",\n \"Expanse\",\n \"FASTER\",\n \"Granite\",\n \"Jetstream2\",\n \"KyRIC\",\n \"Launch\",\n \"Neocortex\",\n \"Ookami\",\n \"Open Science Grid\",\n \"Open Storage Network\",\n \"Ranch\",\n \"Stampede3\",\n];\n\n/**\n * Creates the General Help ticket flow\n */\nexport function createGeneralHelpFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'support', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'general_help',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'general_help',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Step 1: Title/Summary (text input)\n general_help_summary_subject: {\n message: \"Provide a short title for your ticket.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n summary: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'title',\n });\n },\n path: \"general_help_category\",\n },\n\n // Step 2: Category (options)\n general_help_category: {\n message: \"What type of issue are you experiencing?\",\n options: [\n \"User Account Question\",\n \"Allocation Question\",\n \"User Support Question\",\n \"CSSN/CCEP Question\",\n \"Training Question\",\n \"Metrics Question\",\n \"OnDemand Question\",\n \"Pegasus Question\",\n \"XDMoD Question\",\n \"Some Other Question\",\n ],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, category: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'category',\n });\n },\n path: \"general_help_description\",\n },\n\n // Step 3: Description (text input)\n general_help_description: {\n message: \"Please describe your issue.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, description: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'description',\n });\n },\n path: \"general_help_attachment\",\n },\n\n // Step 4: Attachment? (options)\n general_help_attachment: {\n message: \"Would you like to attach a file to your ticket?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"general_help_upload\" : \"general_help_resource\",\n },\n\n // Step 5: File upload (conditional)\n general_help_upload: {\n message: \"Please upload your file.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'file_upload',\n });\n },\n path: \"general_help_resource\",\n },\n\n // Step 6: Involves resource? (options)\n general_help_resource: {\n message: \"Does your problem involve an ACCESS Resource?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, involvesResource: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"general_help_resource_details\" : \"general_help_keywords\",\n },\n\n // Step 7: Resource selection (conditional)\n general_help_resource_details: {\n message: \"Please select the ACCESS Resource involved with your issue:\",\n options: RESOURCES,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, resourceDetails: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_selection',\n });\n },\n path: \"general_help_user_id_at_resource\",\n },\n\n // Step 8: User ID at resource (conditional, optional)\n general_help_user_id_at_resource: {\n message: \"What is your User ID at the selected resource(s)? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, userIdAtResource: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_user_id',\n });\n },\n path: \"general_help_keywords\",\n },\n\n // Step 9: Keywords (checkboxes)\n general_help_keywords: {\n message: \"Please add up to 5 keywords to help route your ticket.\",\n checkboxes: {\n items: KEYWORDS,\n min: 0,\n max: 5,\n },\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, keywords: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'keywords',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput && chatState.userInput.includes(\"I don't see a relevant keyword\")) {\n return \"general_help_additional_keywords\";\n }\n return \"general_help_priority\";\n },\n },\n\n // Step 10: Additional keywords (conditional, text input)\n general_help_additional_keywords: {\n message: \"Please enter additional keywords, separated by commas:\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const currentKeywords = currentForm.keywords || [];\n const additionalKeywords = chatState.userInput;\n\n // Ensure we're working with arrays\n const keywordsArray = Array.isArray(currentKeywords)\n ? [...currentKeywords]\n : String(currentKeywords).split(',').map(k => k.trim());\n\n // Filter out \"I don't see a relevant keyword\"\n const filteredKeywords = keywordsArray.filter(k => k !== \"I don't see a relevant keyword\");\n\n // Combine keywords\n const formattedKeywords = filteredKeywords.length > 0\n ? [...filteredKeywords, additionalKeywords].join(\", \")\n : additionalKeywords;\n\n setTicketForm({\n ...currentForm,\n keywords: formattedKeywords,\n suggestedKeyword: additionalKeywords,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'additional_keywords',\n });\n },\n path: \"general_help_priority\",\n },\n\n // Step 11: Priority (options)\n general_help_priority: {\n message: \"Please select a priority for your issue:\",\n options: [\"Lowest\", \"Low\", \"Medium\", \"High\", \"Highest\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, priority: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'priority',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"general_help_email\";\n if (!formWithUserInfo.name) return \"general_help_name\";\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 12: Email (text input, conditional)\n general_help_email: {\n message: \"What is your email address?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"general_help_name\";\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 13: Name (text input, conditional)\n general_help_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 14: ACCESS ID (text input, optional)\n general_help_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'access_id',\n });\n },\n path: \"general_help_ticket_summary\",\n },\n\n // Step 15: Summary and confirmation\n general_help_ticket_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'general_help_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n let resourceInfo = '';\n if (currentForm.involvesResource === 'yes') {\n resourceInfo = `\\nResource: ${currentForm.resourceDetails || 'Not specified'}`;\n if (currentForm.userIdAtResource) {\n resourceInfo += `\\nUser ID at Resource: ${currentForm.userIdAtResource}`;\n }\n }\n\n return `Thank you for providing your issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Issue Summary: ${currentForm.summary || 'Not provided'}\\n` +\n `Category: ${currentForm.category || 'Not provided'}\\n` +\n `Priority: ${currentForm.priority || 'Not provided'}\\n` +\n `Keywords: ${currentForm.keywords || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${resourceInfo}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n // Regular JSM fields\n email: formWithUserInfo.email || \"\",\n summary: currentForm.summary || \"General Support Ticket\",\n description: currentForm.description || \"\",\n priority: currentForm.priority || \"medium\",\n accessId: formWithUserInfo.accessId || \"\",\n name: formWithUserInfo.name || \"\",\n issueType: currentForm.category || \"\",\n // ProForma fields for request type 17\n hasResourceProblem: currentForm.involvesResource === 'yes' ? 'Yes' : 'No',\n userIdAtResource: currentForm.userIdAtResource || \"\",\n resourceName: currentForm.resourceDetails || \"\",\n keywords: currentForm.keywords || \"\",\n noRelevantKeyword: currentForm.suggestedKeyword ? 'checked' : '',\n suggestedKeyword: currentForm.suggestedKeyword || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"general_help_success\" : \"start\",\n },\n\n // Step 16: Success message\n general_help_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'support ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n\n","/**\n * Ticket Flow Combiner\n *\n * Combines the ticket type selection with individual ticket flows.\n * This demonstrates the modular flow architecture.\n */\n\nimport { createAccessLoginFlow } from './access-login-flow';\nimport { createResourceLoginFlow } from './resource-login-flow';\nimport { createGeneralHelpFlow } from './general-help-flow';\nimport type { TicketFormData, UserInfo } from '../utils/flow-context';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n// Map user-facing options to ticket type identifiers for analytics\nconst TICKET_TYPE_MAP: Record<string, string> = {\n \"Logging into ACCESS website\": \"access_login\",\n \"Logging into a resource\": \"resource_login\",\n \"Another question\": \"general_help\",\n};\n\n/**\n * Creates the combined ticket flow with type selection and all ticket types\n */\nexport function createTicketFlow({ ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Create individual ticket flows\n const accessLoginFlow = createAccessLoginFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n const resourceLoginFlow = createResourceLoginFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n const generalHelpFlow = createGeneralHelpFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n\n return {\n // Ticket type selection\n help_ticket: {\n message: \"What is your help ticket related to?\",\n options: [\n \"Logging into ACCESS website\",\n \"Logging into a resource\",\n \"Another question\",\n ],\n function: (chatState: ChatState) => {\n setTicketForm(prev => ({ ...prev, ticketType: chatState.userInput }));\n \n // Track ticket started\n trackEvent({\n type: 'chatbot_ticket_started',\n ticketType: TICKET_TYPE_MAP[chatState.userInput] || chatState.userInput,\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Logging into ACCESS website\") {\n return \"access_help\";\n } else if (chatState.userInput === \"Logging into a resource\") {\n return \"resource_help\";\n } else if (chatState.userInput === \"Another question\") {\n return \"general_help_summary_subject\";\n }\n return \"help_ticket\";\n },\n },\n\n // Combine all ticket flows\n ...accessLoginFlow,\n ...resourceLoginFlow,\n ...generalHelpFlow,\n };\n}\n","/**\n * Security Incident Flow\n *\n * Multi-step form for reporting security incidents.\n * Based on the old qa-bot's security-flow.js with exact language preserved.\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport { getCurrentTicketForm, type TicketFormData, type UserInfo } from '../utils/flow-context';\nimport { submitTicket, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n/**\n * Gets current form merged with user info\n */\nfunction getCurrentFormWithUserInfo(userInfo: UserInfo): TicketFormData {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n return {\n ...currentForm,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n };\n}\n\n/**\n * Generates success message for security incidents\n */\nfunction generateSecuritySuccessMessage(result: TicketSubmissionResult | null): string {\n if (!result) {\n return `We apologize, but there was an error submitting your security incident report.\\n\\nPlease try again or contact our cybersecurity team directly.`;\n }\n\n if (!result.success) {\n return `We apologize, but there was an error submitting your security incident report: ${result.error}\\n\\nPlease try again or contact our cybersecurity team directly.`;\n }\n\n if (result.ticketUrl && result.ticketKey) {\n return `Your security incident report has been submitted successfully.\\n\\nTicket: <a href=\"${result.ticketUrl}\" target=\"_blank\">${result.ticketKey}</a>\\n\\nOur cybersecurity team will review your report and respond accordingly. Thank you for helping keep ACCESS secure.`;\n }\n\n return `Your security incident report has been submitted successfully.\\n\\nOur cybersecurity team will review your report and respond accordingly. Thank you for helping keep ACCESS secure.`;\n}\n\n/**\n * Creates the Security Incident flow\n */\nexport function createSecurityFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Store the most recent ACCESS ID input to handle timing issues\n let mostRecentAccessId: string | null = null;\n\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = [], priority?: string) => {\n submissionResult = await submitTicket(formData, 'security', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful security submission\n trackEvent({\n type: 'chatbot_security_submitted',\n success: true,\n priority: priority || 'unknown',\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track security submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'security',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Step 1: Summary (text input)\n security_incident: {\n message: \"You're reporting a security incident. Please provide a brief summary of the security concern.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({\n ...currentForm,\n summary: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'summary',\n });\n },\n path: \"security_priority\",\n },\n\n // Step 2: Priority (options)\n security_priority: {\n message: \"What is the priority level of this security incident?\",\n options: [\"Critical\", \"High\", \"Medium\", \"Low\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, priority: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'priority',\n });\n },\n path: \"security_description\",\n },\n\n // Step 3: Description (text input)\n security_description: {\n message: \"Please provide a detailed description of the security incident or concern.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, description: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'description',\n });\n },\n path: \"security_attachment\",\n },\n\n // Step 4: Attachment? (options)\n security_attachment: {\n message: \"Do you have any files (screenshots, logs, etc.) that would help with this security incident?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"security_upload\" : \"security_contact_check\",\n },\n\n // Step 5: File upload (conditional)\n security_upload: {\n message: \"Please upload your files.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'file_upload',\n });\n },\n path: \"security_contact_check\",\n },\n\n // Step 6: Check if we have user info (branching)\n security_contact_check: {\n message: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId) {\n return `I have your contact information:\\n\\nName: ${formWithUserInfo.name}\\nEmail: ${formWithUserInfo.email}\\nACCESS ID: ${formWithUserInfo.accessId}\\n\\nIs this correct?`;\n }\n return \"I need your contact information.\";\n },\n options: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId) {\n return [\"Yes, that's correct\", \"Let me update it\"];\n }\n return [];\n },\n chatDisabled: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n // Disable only when showing options (have all info)\n return !!(formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId);\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes, that's correct\") {\n return \"security_summary\";\n } else if (chatState.userInput === \"Let me update it\") {\n return \"security_name\";\n }\n // No user info - go collect it\n return \"security_email\";\n },\n },\n\n // Step 7: Email (text input, conditional)\n security_email: {\n message: \"What is your email address?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"security_name\";\n if (!formWithUserInfo.accessId) return \"security_accessid\";\n return \"security_summary\";\n },\n },\n\n // Step 8: Name (text input, conditional)\n security_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"security_email\";\n if (!formWithUserInfo.accessId) return \"security_accessid\";\n return \"security_summary\";\n },\n },\n\n // Step 9: ACCESS ID (text input, optional)\n security_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const finalInput = processOptionalInput(chatState.userInput);\n mostRecentAccessId = finalInput;\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, accessId: finalInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'access_id',\n });\n },\n path: \"security_summary\",\n },\n\n // Step 10: Summary and confirmation\n security_summary: {\n message: () => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n\n // Create a merged form with the most recent data\n const finalForm = {\n ...currentForm,\n name: formWithUserInfo.name || currentForm.name,\n email: formWithUserInfo.email || currentForm.email,\n accessId: mostRecentAccessId || formWithUserInfo.accessId || currentForm.accessId,\n };\n\n let fileInfo = '';\n if (currentForm.uploadedFiles && currentForm.uploadedFiles.length > 0) {\n fileInfo = `\\nAttachments: ${currentForm.uploadedFiles.length} file(s) attached`;\n }\n\n const accessIdDisplay = finalForm.accessId || 'Not provided';\n\n return `Here's a summary of your security incident report:\\n\\n` +\n `Summary: ${finalForm.summary || 'Not provided'}\\n` +\n `Priority: ${finalForm.priority || 'Not provided'}\\n` +\n `Name: ${finalForm.name || 'Not provided'}\\n` +\n `Email: ${finalForm.email || 'Not provided'}\\n` +\n `ACCESS ID: ${accessIdDisplay}\\n` +\n `Description: ${finalForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this security incident report?`;\n },\n options: [\"Submit Security Report\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Security Report\") {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n\n // Create final merged form\n const finalForm = {\n ...currentForm,\n name: formWithUserInfo.name || currentForm.name,\n email: formWithUserInfo.email || currentForm.email,\n accessId: mostRecentAccessId || formWithUserInfo.accessId || currentForm.accessId,\n };\n\n // Prepare form data for submission\n const formData = {\n summary: finalForm.summary || \"\",\n priority: finalForm.priority || \"\",\n description: finalForm.description || \"\",\n name: finalForm.name || \"\",\n email: finalForm.email || \"\",\n accessId: finalForm.accessId || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || [], finalForm.priority);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Security Report\" ? \"security_success\" : \"start\",\n },\n\n // Step 11: Success message\n security_success: {\n message: withHistoryFn(() => generateSecuritySuccessMessage(submissionResult)),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","/**\n * Metrics/XDMoD Flow\n *\n * Conversational flow for asking questions about usage and performance metrics.\n * Based on the old qa-bot's metrics-flow.js with exact language preserved.\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { API_CONFIG } from '../config/constants';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n sessionId: string;\n apiKey: string;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n injectMessage: (message: string) => Promise<void>;\n}\n\n/**\n * Process text response from API - basic markdown/HTML handling\n */\nfunction processResponse(text: string): string {\n // Basic processing - the core bot may handle this too\n return text;\n}\n\n/**\n * Creates the Metrics/XDMoD conversation flow\n */\nexport function createMetricsFlow({ sessionId, apiKey, trackEvent }: FlowParams) {\n // Track the query ID for the most recent response that can receive feedback\n let feedbackQueryId: string | null = null;\n\n return {\n // Entry point with instructions\n metrics_intro: {\n message: `Please type your question about usage and performance metrics (XDMoD) below. You can see some <a target=\"_blank\" href=\"${API_CONFIG.METRICS_QUESTIONS_URL}\">examples here</a>.\\n\\n<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href=\"https://support.access-ci.org/tools/access-qa-tool/privacy\">Privacy Notice</a>`,\n renderHtml: [\"BOT\"],\n path: \"metrics_loop\",\n },\n\n // Main question/answer loop\n metrics_loop: {\n message: async (chatState: ChatState) => {\n const { userInput } = chatState;\n\n // Handle feedback first if it's feedback\n if (userInput === \"👍 Helpful\" || userInput === \"👎 Not helpful\") {\n // Send feedback using the captured query ID\n if (apiKey && sessionId && feedbackQueryId) {\n const isPositive = userInput === \"👍 Helpful\";\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-Origin': 'metrics',\n 'X-API-KEY': apiKey,\n 'X-Session-ID': sessionId,\n 'X-Query-ID': feedbackQueryId,\n 'X-Feedback': isPositive ? '1' : '0',\n };\n\n try {\n await fetch(API_CONFIG.METRICS_RATING_ENDPOINT, {\n method: 'POST',\n headers,\n });\n } catch (error) {\n console.error('Error sending metrics feedback:', error);\n }\n }\n return \"Thanks for the feedback! Ask another question about usage and performance metrics (XDMoD) or start a new chat.\";\n } else {\n // Process as a question - fetch response directly\n try {\n // Generate our own query ID\n const queryId = uuidv4();\n feedbackQueryId = queryId;\n\n // Track metrics question\n trackEvent({\n type: 'chatbot_metrics_question_sent',\n queryId,\n });\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-Origin': 'metrics',\n 'X-API-KEY': apiKey,\n 'X-Session-ID': sessionId,\n 'X-Query-ID': queryId,\n };\n\n const response = await fetch(API_CONFIG.METRICS_API_ENDPOINT, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: userInput,\n }),\n });\n\n const body = await response.json();\n const text = body.response;\n const processedText = processResponse(text);\n\n // Inject the response\n await chatState.injectMessage(processedText);\n\n // Inject guidance message after a short delay\n setTimeout(async () => {\n await chatState.injectMessage(\"Ask another question about usage and performance metrics (XDMoD) or start a new chat.\");\n }, 100);\n\n return null;\n } catch (error) {\n console.error('Error in metrics flow:', error);\n return \"I'm sorry, there was an error processing your question. Please try again.\";\n }\n }\n },\n renderMarkdown: [\"BOT\"],\n options: (chatState: ChatState) => {\n // Only show feedback options if the input isn't already feedback\n if (chatState.userInput === \"👍 Helpful\" || chatState.userInput === \"👎 Not helpful\") {\n return []; // No options after feedback is given\n }\n return [\"👍 Helpful\", \"👎 Not helpful\"];\n },\n // Rating is optional - keep input enabled so user can type next question\n // without clicking a feedback button\n chatDisabled: false,\n path: \"metrics_loop\",\n },\n };\n}\n\n","import { v4 as uuidv4 } from 'uuid';\nimport { STORAGE_KEYS } from '../config/constants';\n\n/**\n * Get or create a session ID from localStorage\n */\nexport function getSessionId(): string {\n if (typeof window === 'undefined') {\n return uuidv4();\n }\n\n let sessionId = localStorage.getItem(STORAGE_KEYS.SESSION_ID);\n\n if (!sessionId) {\n sessionId = uuidv4();\n localStorage.setItem(STORAGE_KEYS.SESSION_ID, sessionId);\n }\n\n return sessionId;\n}\n\n/**\n * Clear the current session ID\n */\nexport function clearSession(): void {\n if (typeof window !== 'undefined') {\n localStorage.removeItem(STORAGE_KEYS.SESSION_ID);\n }\n}\n\n/**\n * Generate a new query ID for each Q&A interaction\n */\nexport function generateQueryId(): string {\n return uuidv4();\n}\n","/**\n * shadow-dom-styles.ts\n *\n * Injects qa-bot-core CSS overrides into a shadow root.\n *\n * qa-bot-core's rollup build injects its CSS into document.head via postcss.\n * In a shadow DOM (e.g. access-ci-ui), those styles don't cross the shadow\n * boundary, so react-chatbotify's defaults (like width: 80% on checkbox rows)\n * win. This utility re-injects the critical layout overrides directly into the\n * shadow root so they take effect.\n */\n\nconst SHADOW_STYLE_ID = 'access-qa-bot-shadow-overrides';\n\nconst SHADOW_CSS = `\n.rcb-checkbox-container {\n display: flex !important;\n flex-wrap: wrap !important;\n gap: 8px !important;\n margin-left: 16px !important;\n padding-top: 12px !important;\n max-width: 100% !important;\n}\n\n.rcb-checkbox-row-container {\n display: flex !important;\n align-items: center !important;\n background-color: #ffffff !important;\n border: 1px solid #d0d0d0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n padding: 8px 12px !important;\n margin: 0 !important;\n min-height: auto !important;\n max-height: auto !important;\n width: auto !important;\n flex: 0 0 auto !important;\n transition: all 0.2s ease !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--primaryColor, #107180) !important;\n text-align: center !important;\n box-sizing: border-box !important;\n}\n\n.rcb-checkbox-row-container:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--primaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-checkbox-row-container[data-checked=\"true\"] {\n background-color: var(--primaryColor, #107180) !important;\n border-color: var(--primaryColor, #107180) !important;\n color: white !important;\n}\n\n.rcb-checkbox-row {\n margin-left: 0px !important;\n}\n\n.rcb-checkbox-mark {\n width: 14px !important;\n height: 14px !important;\n margin-right: 6px !important;\n}\n\n.rcb-checkbox-label {\n font-size: 13px !important;\n margin: 0 !important;\n white-space: nowrap !important;\n}\n\n.rcb-checkbox-next-button {\n background-color: #ffffff !important;\n border: 1px solid #d0d0d0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n padding: 8px 12px !important;\n margin: 0 !important;\n min-height: auto !important;\n max-height: auto !important;\n width: auto !important;\n flex: 0 0 auto !important;\n transition: all 0.2s ease !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--secondaryColor, #107180) !important;\n text-align: center !important;\n box-sizing: border-box !important;\n}\n\n.rcb-checkbox-next-button:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--secondaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-options-container {\n display: flex !important;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n gap: 8px !important;\n margin: 16px 16px !important;\n padding: 0 !important;\n}\n\n.rcb-options {\n border: 1px solid #d0d0d0 !important;\n outline: none !important;\n background-color: #ffffff !important;\n border-radius: 6px !important;\n padding: 8px 12px !important;\n cursor: pointer !important;\n transition: all 0.2s ease !important;\n text-align: center !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--secondaryColor, #107180) !important;\n width: auto !important;\n flex: 0 0 auto !important;\n box-sizing: border-box !important;\n}\n\n.rcb-options:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--secondaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-options:active {\n background-color: var(--secondaryColor, #107180) !important;\n border-color: var(--secondaryColor, #107180) !important;\n color: white !important;\n transform: translateY(0) !important;\n}\n\n.rcb-bot-message a,\n.rcb-chat-window .rcb-bot-message a:link,\n.rcb-chat-window .rcb-bot-message a:visited {\n color: #ffffff !important;\n text-decoration: underline !important;\n}\n\n.rcb-bot-message a:hover {\n opacity: 0.85;\n text-decoration: underline !important;\n}\n\n.rcb-bot-message ul,\n.rcb-bot-message ol {\n list-style-position: outside !important;\n margin: 0.5em 0 !important;\n padding-left: 1.5em !important;\n}\n\n.rcb-bot-message li {\n margin-bottom: 0.25em !important;\n}\n\n.rcb-bot-message li > p {\n display: inline !important;\n margin: 0 !important;\n}\n`;\n\n/**\n * If the given element is inside a shadow DOM, inject CSS overrides\n * into the shadow root. No-op when running outside shadow DOM.\n */\nexport function injectShadowDomStyles(element: HTMLElement | null): void {\n if (!element) return;\n\n const root = element.getRootNode();\n if (!(root instanceof ShadowRoot)) return;\n\n // Don't inject twice\n if (root.getElementById(SHADOW_STYLE_ID)) return;\n\n const style = document.createElement('style');\n style.id = SHADOW_STYLE_ID;\n style.textContent = SHADOW_CSS;\n root.appendChild(style);\n}\n","import { forwardRef, useImperativeHandle, useRef, useState, useMemo, useEffect, useCallback } from 'react';\nimport { QABot, applyFlowSettings } from '@snf/qa-bot-core';\nimport type { AccessQABotProps, AccessQABotRef, CapabilitiesResponse } from '../types';\nimport { API_CONFIG, BOT_CONFIG } from '../config/constants';\nimport { createMainMenuFlow, createTicketFlow, createSecurityFlow, createMetricsFlow } from '../flows';\nimport { setCurrentFormContext, type TicketFormData, type UserInfo } from '../utils/flow-context';\nimport { getSessionId } from '../utils/session';\nimport type { TrackEventFn } from '../utils/analytics';\nimport { injectShadowDomStyles } from '../utils/shadow-dom-styles';\nimport '../styles/chatbot.css';\n\n/**\n * AccessQABot - Wrapper around @snf/qa-bot-core with ACCESS-specific functionality\n *\n * This component demonstrates how to extend qa-bot-core with custom flows:\n * 1. Main menu flow - provides top-level navigation from dynamic capabilities\n * 2. Ticket flows - handles ticket creation with file uploads\n *\n * The wrapper pattern keeps ACCESS-specific logic (JIRA integration, ticket forms,\n * capability fetching) separate from the generic qa-bot-core library.\n */\nexport const AccessQABot = forwardRef<AccessQABotRef, AccessQABotProps>(\n (props, ref) => {\n const {\n apiKey = API_CONFIG.DEFAULT_API_KEY,\n isLoggedIn = false,\n loginUrl = BOT_CONFIG.LOGIN_URL,\n // User context for pre-filling forms\n userEmail,\n userName,\n accessId,\n actingUser,\n // Unused props (accepted for API compatibility)\n ringEffect: _ringEffect,\n defaultOpen: _defaultOpen,\n onClose: _onClose,\n // Active props\n open,\n onOpenChange,\n embedded = false,\n welcome,\n // Endpoint overrides\n qaEndpoint,\n ratingEndpoint,\n agentEndpoint,\n backendId,\n // Resource scoping\n resourceContext,\n // Analytics\n onAnalyticsEvent,\n } = props;\n\n // Non-agentic mode: Q&A goes through qa-bot-proxy → UKY RAG directly,\n // and the agent's /capabilities + /capabilities/personalized endpoints\n // are never called. AGENT_ENABLED is baked at this library's publish\n // time (Vite env), so this is effectively a constant — flipping it\n // requires republishing.\n const agentEnabled = API_CONFIG.AGENT_ENABLED;\n const effectiveBackendId = backendId || API_CONFIG.BACKEND_ID;\n\n const botRef = useRef<any>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Ticket form state - managed here to persist across flow steps\n const [ticketForm, setTicketForm] = useState<TicketFormData>({});\n\n // Capabilities state — fetched from the agent when agent mode is enabled.\n // In non-agentic mode we initialize with an empty default so the loading\n // gate below passes immediately and no fetch is ever made.\n // null = still loading, object = loaded (even if empty categories on error)\n const [capabilities, setCapabilities] = useState<CapabilitiesResponse | null>(\n () => (agentEnabled ? null : { categories: [], is_authenticated: false })\n );\n\n // User info from props\n const userInfo: UserInfo = useMemo(() => ({\n email: userEmail,\n name: userName,\n accessId: accessId,\n }), [userEmail, userName, accessId]);\n\n // Inject CSS overrides into shadow DOM if needed\n useEffect(() => {\n injectShadowDomStyles(containerRef.current);\n }, []);\n\n // Keep form context in sync for flow utilities\n useEffect(() => {\n setCurrentFormContext({\n ticketForm,\n setTicketForm,\n });\n }, [ticketForm]);\n\n // Derive agent API URLs\n const agentBaseUrl = agentEndpoint || API_CONFIG.AGENT_ENDPOINT;\n const capabilitiesEndpoint = resourceContext\n ? `${agentBaseUrl}/capabilities?resource_context=${encodeURIComponent(resourceContext)}`\n : `${agentBaseUrl}/capabilities`;\n const agentRatingEndpoint = `${agentBaseUrl}/rating`;\n\n // Warn about common deployment misconfigurations\n useEffect(() => {\n if (agentEnabled && agentBaseUrl.includes('localhost') && !window.location.hostname.includes('localhost')) {\n console.warn(\n '[AccessQABot] VITE_AGENT_ENDPOINT not set — agent requests will go to localhost. ' +\n 'Set VITE_AGENT_ENDPOINT in your environment.'\n );\n }\n if (API_CONFIG.ALLOW_ANON_ACCESS && !API_CONFIG.TURNSTILE_SITE_KEY) {\n console.warn(\n '[AccessQABot] Anonymous access is enabled without Turnstile. ' +\n 'Set VITE_TURNSTILE_SITE_KEY for bot protection, or disable VITE_ALLOW_ANON_ACCESS.'\n );\n }\n }, [agentBaseUrl, agentEnabled]);\n\n // Fetch capabilities on mount (and when auth state changes).\n // Only runs in agent mode — in non-agentic mode, capabilities is\n // initialized to a default and no fetch is ever made.\n // REACTIVATION: when the agent is re-approved, set\n // VITE_AGENT_ENABLED=true (or flip the AGENT_ENABLED default in\n // constants.ts) and republish — this effect comes back to life.\n useEffect(() => {\n if (!agentEnabled) return;\n\n let cancelled = false;\n\n async function fetchCapabilities() {\n try {\n const response = await fetch(capabilitiesEndpoint, {\n credentials: 'include',\n });\n if (!response.ok) {\n throw new Error(`Capabilities API returned ${response.status}`);\n }\n const data: CapabilitiesResponse = await response.json();\n if (!cancelled) {\n setCapabilities(data);\n }\n } catch (error) {\n // Graceful degradation — render the bot with fallback \"Show my options\" button\n console.warn('Failed to fetch capabilities:', error);\n if (!cancelled) {\n setCapabilities({ categories: [], is_authenticated: false });\n }\n }\n }\n\n fetchCapabilities();\n return () => { cancelled = true; };\n }, [agentEnabled, capabilitiesEndpoint, isLoggedIn]);\n\n // Lazy-load personalized context for authenticated users (F.4 will use this).\n // Agent-only — skipped entirely in non-agentic mode.\n // REACTIVATION: re-enabled automatically when AGENT_ENABLED flips to true.\n useEffect(() => {\n if (!agentEnabled) return;\n if (!isLoggedIn) return;\n\n let cancelled = false;\n const personalizedUrl = `${agentBaseUrl}/capabilities/personalized`;\n\n async function fetchPersonalized() {\n try {\n const response = await fetch(personalizedUrl, {\n credentials: 'include',\n });\n if (!response.ok) return; // 401 for anonymous is expected\n const data = await response.json();\n if (!cancelled) {\n // TODO (F.4): Use highlighted_capabilities and context for\n // placeholder text rotation and agent system prompt enrichment\n console.debug('Personalized context loaded:', data);\n }\n } catch {\n // Non-critical — personalization is a nice-to-have\n }\n }\n\n fetchPersonalized();\n return () => { cancelled = true; };\n }, [agentEnabled, agentBaseUrl, isLoggedIn]);\n\n // Expose addMessage method via ref (maintains old API)\n useImperativeHandle(ref, () => ({\n addMessage: (message: string) => {\n botRef.current?.addMessage?.(message);\n },\n }));\n\n // Determine welcome message: explicit prop > capabilities response > default\n const welcomeMessage = welcome || capabilities?.welcome_message || BOT_CONFIG.WELCOME_MESSAGE;\n\n // Get session ID for analytics and metrics flow\n const sessionId = useMemo(() => getSessionId(), []);\n\n // Create analytics tracker that forwards events to consumer\n const trackEvent: TrackEventFn = useCallback((event) => {\n if (onAnalyticsEvent) {\n onAnalyticsEvent({\n ...event,\n type: event.type,\n timestamp: event.timestamp ?? Date.now(),\n sessionId: event.sessionId ?? sessionId,\n });\n }\n }, [onAnalyticsEvent, sessionId]);\n\n // Handler for core analytics events - forwards them to consumer\n const handleCoreAnalyticsEvent = useCallback((event: { type: string; [key: string]: unknown }) => {\n if (onAnalyticsEvent) {\n onAnalyticsEvent({\n ...event,\n type: event.type,\n timestamp: typeof event.timestamp === 'number' ? event.timestamp : Date.now(),\n sessionId: typeof event.sessionId === 'string' ? event.sessionId : sessionId,\n });\n }\n }, [onAnalyticsEvent, sessionId]);\n\n // Build custom flow by combining main menu + all specialized flows\n const customFlow = useMemo(() => {\n // Main menu provides top-level navigation. In non-agentic mode this\n // is a static 4-button menu (Ask / Ticket / Security / Metrics) — see\n // main-menu-flow.ts. setTicketForm is needed so the ticket and\n // security branches can reset form state on entry.\n const mainMenuFlow = createMainMenuFlow({\n welcome: welcomeMessage,\n setTicketForm,\n trackEvent,\n });\n\n // Ticket flows handle ticket creation\n const ticketFlows = createTicketFlow({\n ticketForm: {},\n setTicketForm,\n userInfo,\n trackEvent,\n });\n\n // Security flow for reporting security incidents\n const securityFlow = createSecurityFlow({\n ticketForm: {},\n setTicketForm,\n userInfo,\n trackEvent,\n });\n\n // Metrics flow for XDMoD questions\n const metricsFlow = createMetricsFlow({\n sessionId,\n apiKey,\n trackEvent,\n });\n\n // Merge all flows and apply settings\n const rawFlow = {\n ...mainMenuFlow,\n ...ticketFlows,\n ...securityFlow,\n ...metricsFlow,\n };\n\n // Auto-set chatDisabled based on whether step has options/checkboxes\n // BUT the start step explicitly sets chatDisabled: false to allow typing\n return applyFlowSettings(rawFlow, { disableOnOptions: true });\n }, [welcomeMessage, userInfo, sessionId, apiKey, isLoggedIn, trackEvent, capabilities]);\n\n // Wait for capabilities to load before rendering — the start step's\n // options are built from this data and react-chatbotify won't re-render\n // them if the flow object changes after initial mount. The capabilities\n // endpoint is in-memory (<10ms), so the delay is imperceptible.\n if (!capabilities) {\n return <div ref={containerRef} />;\n }\n\n return (\n <div ref={containerRef}>\n <QABot\n ref={botRef}\n // Login state - Q&A is gated when false unless anonymous access is enabled\n isLoggedIn={isLoggedIn}\n allowAnonAccess={API_CONFIG.ALLOW_ANON_ACCESS}\n actingUser={actingUser}\n\n // Analytics\n onAnalyticsEvent={handleCoreAnalyticsEvent}\n\n // API configuration\n apiKey={apiKey}\n qaEndpoint={qaEndpoint || API_CONFIG.QA_ENDPOINT}\n ratingEndpoint={ratingEndpoint || API_CONFIG.RATING_ENDPOINT}\n backendId={effectiveBackendId}\n // Agent-only endpoints — only forwarded when agent mode is enabled,\n // so qa-bot-core never makes capabilities or agent-rating requests\n // in non-agentic mode.\n // REACTIVATION: AGENT_ENABLED=true → these props start flowing again,\n // and the gated useEffects above resume populating `capabilities`.\n {...(agentEnabled ? { capabilitiesEndpoint, agentRatingEndpoint } : {})}\n\n // Branding\n botName={BOT_CONFIG.BOT_NAME}\n logo={BOT_CONFIG.LOGO}\n primaryColor={BOT_CONFIG.PRIMARY_COLOR}\n secondaryColor={BOT_CONFIG.SECONDARY_COLOR}\n welcomeMessage={welcomeMessage}\n tooltipText={BOT_CONFIG.TOOLTIP}\n\n // Turnstile bot protection (silent pre-verify when site key configured)\n turnstileSiteKey={API_CONFIG.TURNSTILE_SITE_KEY || undefined}\n\n // UI Control\n loginUrl={loginUrl}\n open={open}\n onOpenChange={onOpenChange}\n embedded={embedded}\n\n // Footer\n footerText=\"AI-powered · Privacy Notice\"\n footerLink=\"https://support.access-ci.org/tools/access-qa-tool/privacy\"\n\n // Resource scoping\n resourceContext={resourceContext}\n\n // Custom flows for tickets, etc.\n customFlow={customFlow}\n />\n </div>\n );\n }\n);\n\nAccessQABot.displayName = 'AccessQABot';\n\nexport default AccessQABot;\n"],"names":["w","e","t","n","r","b","A","E","P","B","D","C","x","k","S","T","I","Q","M","O","L","g","h","N","H","R","F","U","j","z","_","o","i","l","a","s","d","c","u","q","G","Y","f","W","V","X","K","p","m","v","y","J","Z","$","ee","te","ne","re","Ae","oe","ie","le","ae","se","ce","ue","de","fe","dt","pe","ge","he","me","ve","ye","we","Pe","be","Ee","Be","De","Ce","xe","ke","Se","Te","Ie","Qe","Me","Oe","Le","Ne","He","Re","Fe","Ue","je","ze","_e","qe","Ge","Ye","We","Ve","Xe","Ke","Je","Ze","$e","et","tt","At","nt","rt","ot","it","lt","at","st","ct","ut","ft","pt","gt","ht","mt","vt","yt","wt","bt","Et","Pt","Bt","Dt","Ct","xt","kt","St","Tt","It","Qt","Mt","Ot","Lt","Nt","Ht","Rt","Ft","jt","Ut","zt","_t","qt","Gt","Yt","Wt","Vt","Xt","Kt","Jt","Zt","$t","en","tn","nn","rn","An","on","ln","an","sn","cn","un","dn","fn","pn","gn","hn","mn","vn","yn","wn","bn","En","Pn","Bn","Dn","Cn","xn","kn","Sn","Tn","In","Qn","Mn","On","Ln","Nn","Hn","Rn","Fn","Un","jn","zn","_n","qn","Gn","Yn","$n","Wn","Vn","Xn","Kn","Jn","Zn","er","nr","rr","Ar","or","ir","lr","ar","sr","cr","ur","dr","fr","pr","gr","hr","mr","vr","yr","wr","br","Er","Pr","Br","Dr","Cr","xr","kr","Sr","Tr","Qr","Ir","Mr","Lr","Or","Nr","Hr","Rr","Fr","Ur","jr","zr","_r","qr","Gr","Yr","Jr","Kr","Xr","Wr","Vr","Zr","eA","$r","tA","nA","rA","AA","oA","iA","lA","aA","sA","cA","uA","dA","fA","pA","gA","hA","kA","mA","vA","yA","wA","bA","EA","PA","BA","DA","CA","xA","SA","TA","IA","QA","MA","OA","LA","NA","HA","RA","FA","UA","jA","zA","_A","qA","GA","YA","WA","VA","XA","KA","JA","ZA","$A","eo","to","no","ro","Ao","oo","io","lo","ao","so","co","uo","fo","po","go","ho","mo","vo","yo","wo","bo","Eo","Po","Do","Bo","Co","xo","ko","Qo","So","Io","To","Mo","Oo","Lo","No","Ho","Ro","Fo","Uo","jo","zo","_o","qo","Go","Yo","Wo","Xo","Jo","Vo","Ko","Zo","$o","ei","ti","ni","ri","Ai","oi","ii","li","ai","si","ci","ui","di","fi","pi","gi","hi","vi","mi","yi","wi","bi","Ei","Pi","Bi","Di","Ci","Ii","ki","Si","xi","Ti","Qi","Mi","Oi","Li","Ni","Hi","Ri","Fi","Ui","ji","zi","_i","qi","Gi","Yi","Wi","Xi","Vi","Ki","Ji","Zi","$i","rl","il","tl","nl","ol","Al","el","ll","al","sl","cl","ul","dl","fl","pl","gl","hl","ml","vl","yl","wl","bl","El","Pl","Bl","Dl","Cl","xl","kl","Sl","Tl","Il","Ql","Ml","Ol","Ll","Nl","Hl","Rl","Fl","Ul","jl","zl","_l","ql","Gl","Yl","Wl","Vl","Xl","Kl","Jl","Zl","$l","ea","ta","na","ra","Aa","oa","ia","la","aa","sa","ca","ua","da","__vite_import_meta_env__","fa","pa","ga","ha","ma","va","ya","wa","ba","Ea","Pa","Ba","Da","Ca","xa","ka","Ta","Ia","Qa","Oa","La","API_CONFIG","BOT_CONFIG","STORAGE_KEYS","createMainMenuFlow","welcome","setTicketForm","trackEvent","chatState","selection","currentFormContext","setCurrentFormContext","context","getCurrentTicketForm","getCurrentFormWithUserInfo","userInfo","currentForm","getFileInfo","uploadedFiles","REQUEST_TYPE_IDS","prepareApiSubmission","formData","ticketType","requestTypeId","submissionData","filesToBase64","sendToProxy","endpoint","proxyEndpoint","response","errorMessage","errorText","errorJson","data","_a","_b","error","submitTicket","generateSuccessMessage","result","validateEmail","email","createOptionalFieldValidator","processOptionalInput","input","createAccessLoginFlow","_ticketForm","submissionResult","handleSubmit","prev","formWithUserInfo","jsx","FileUploadComponent","files","file","fileInfo","finalAccessId","withHistoryFn","createResourceLoginFlow","KEYWORDS","RESOURCES","createGeneralHelpFlow","currentKeywords","additionalKeywords","filteredKeywords","formattedKeywords","resourceInfo","TICKET_TYPE_MAP","createTicketFlow","ticketForm","accessLoginFlow","resourceLoginFlow","generalHelpFlow","generateSecuritySuccessMessage","createSecurityFlow","mostRecentAccessId","priority","finalInput","finalForm","accessIdDisplay","byteToHex","unsafeStringify","arr","offset","getRandomValues","rnds8","rng","randomUUID","native","v4","options","buf","rnds","createMetricsFlow","sessionId","apiKey","feedbackQueryId","userInput","headers","queryId","uuidv4","text","processedText","getSessionId","SHADOW_STYLE_ID","SHADOW_CSS","injectShadowDomStyles","element","root","style","AccessQABot","forwardRef","props","ref","isLoggedIn","loginUrl","userEmail","userName","accessId","actingUser","_ringEffect","_defaultOpen","_onClose","open","onOpenChange","embedded","qaEndpoint","ratingEndpoint","agentEndpoint","backendId","resourceContext","onAnalyticsEvent","agentEnabled","effectiveBackendId","botRef","useRef","containerRef","useState","capabilities","setCapabilities","useMemo","useEffect","agentBaseUrl","capabilitiesEndpoint","agentRatingEndpoint","cancelled","fetchCapabilities","personalizedUrl","fetchPersonalized","useImperativeHandle","message","welcomeMessage","useCallback","event","handleCoreAnalyticsEvent","customFlow","mainMenuFlow","ticketFlows","securityFlow","metricsFlow","rawFlow","applyFlowSettings","QABot"],"mappings":"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;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA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","x_google_ignoreList":[0,11,12,13,14]}
|