@snf/access-qa-bot 3.3.8 → 3.3.9
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
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as ue, jsx as P, Fragment as Pe } from "react/jsx-runtime";
|
|
2
2
|
import * as he from "react";
|
|
3
|
-
import H, { forwardRef as Me, createContext as nt, useRef as
|
|
3
|
+
import H, { forwardRef as Me, createContext as nt, useRef as Ae, useEffect as re, useImperativeHandle as Ro, useState as te, useCallback as q, useMemo as Be, useContext as rt, isValidElement as cr, createElement as Ir, Fragment as ur } from "react";
|
|
4
4
|
import "react-dom/client";
|
|
5
|
-
import
|
|
5
|
+
import Zi from "react-dom/server";
|
|
6
6
|
function Ho(e, t) {
|
|
7
7
|
t === void 0 && (t = {});
|
|
8
8
|
var r = t.insertAt;
|
|
@@ -12,31 +12,31 @@ function Ho(e, t) {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
Ho('.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" });
|
|
15
|
-
const ge = { 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" }, Tr = "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", Qr = Me((e, t) => he.createElement("svg", { viewBox: "0 0 637 637", ref: t, ...e }, he.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" }), he.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" }))), Mr = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), Zi = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), $i = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), ea = Me((e, t) => he.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 100", ref: t, ...e }, he.createElement("g", { strokeLinecap: "round", strokeWidth: 10 }, he.createElement("path", { d: "m19 19 61 61M80 19 19 80" })))), ta = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.createElement("path", { d: "M94-136v-255l351-93-351-92v-253l816 346L94-136Z" }))), na = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), ra = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), Or = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), oa = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), ia = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), Uo = { 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: Qr }, header: { title: P("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: Tr, buttons: [ge.NOTIFICATION_BUTTON, ge.AUDIO_BUTTON, ge.CLOSE_CHAT_BUTTON], closeChatIcon: ea }, notification: { disabled: !1, defaultToggledOn: !0, volume: 0.2, icon: Zi, iconDisabled: $i, 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: oa, iconDisabled: ia }, 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: ta, blockSpam: !0, sendOptionOutput: !0, sendCheckboxOutput: !0, buttons: [ge.VOICE_MESSAGE_BUTTON, ge.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: Tr, simulateStream: !1, streamSpeed: 30 }, voice: { disabled: !0, defaultToggledOn: !1, language: "en-US", timeoutPeriod: 1e4, autoSendDisabled: !1, autoSendPeriod: 1e3, sendAsAudio: !1, icon: na, iconDisabled: ra }, footer: { text: ce("div", { style: { cursor: "pointer", display: "flex", flexDirection: "row", alignItems: "center", columnGap: 3 }, onClick: () => window.open("https://react-chatbotify.com", "_blank", "noopener,noreferrer"), children: [P("span", { children: "Powered By " }, 0), P("div", { style: { borderRadius: "50%", width: 14, height: 14, display: "flex", justifyContent: "center", alignItems: "center", background: "linear-gradient(to right, #42b0c5, #491d8d)" }, children: P(Qr, { style: { width: "80%", height: "80%", fill: "#fff" } }) }, 1), P("span", { style: { fontWeight: "bold" }, children: " React ChatBotify" }, 2)] }), buttons: [ge.FILE_ATTACHMENT_BUTTON, ge.EMOJI_PICKER_BUTTON] }, fileAttachment: { disabled: !1, multiple: !0, accept: ".png", icon: Mr, iconDisabled: Mr, sendFileName: !0, showMediaDisplay: !1 }, emoji: { disabled: !1, icon: Or, iconDisabled: Or, 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 } }, Fo = nt({ settings: {}, setSyncedSettings: () => null, syncedSettingsRef: { current: {} } }), ne = () => rt(Fo), aa = ({ children: e, settings: t = Uo, setSyncedSettings: r, syncedSettingsRef: n }) => P(Fo.Provider, { value: { settings: t, setSyncedSettings: r, syncedSettingsRef: n }, children: e }), zo = { 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: {} }, jo = nt({ styles: {}, setSyncedStyles: () => null, syncedStylesRef: { current: {} } }), se = () => rt(jo), Aa = ({ children: e, styles: t = zo, setSyncedStyles: r, syncedStylesRef: n }) => P(jo.Provider, { value: { styles: t, setSyncedStyles: r, syncedStylesRef: n }, children: e }), sa = ({ buttons: e }) => {
|
|
15
|
+
const ge = { 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" }, Tr = "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", Qr = Me((e, t) => he.createElement("svg", { viewBox: "0 0 637 637", ref: t, ...e }, he.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" }), he.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" }))), Mr = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), $i = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), ea = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), ta = Me((e, t) => he.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 100", ref: t, ...e }, he.createElement("g", { strokeLinecap: "round", strokeWidth: 10 }, he.createElement("path", { d: "m19 19 61 61M80 19 19 80" })))), na = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.createElement("path", { d: "M94-136v-255l351-93-351-92v-253l816 346L94-136Z" }))), ra = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), oa = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), Or = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), ia = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), aa = Me((e, t) => he.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, he.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" }))), Uo = { 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: Qr }, header: { title: P("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: Tr, buttons: [ge.NOTIFICATION_BUTTON, ge.AUDIO_BUTTON, ge.CLOSE_CHAT_BUTTON], closeChatIcon: ta }, notification: { disabled: !1, defaultToggledOn: !0, volume: 0.2, icon: $i, iconDisabled: ea, 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: ia, iconDisabled: aa }, 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: na, blockSpam: !0, sendOptionOutput: !0, sendCheckboxOutput: !0, buttons: [ge.VOICE_MESSAGE_BUTTON, ge.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: Tr, simulateStream: !1, streamSpeed: 30 }, voice: { disabled: !0, defaultToggledOn: !1, language: "en-US", timeoutPeriod: 1e4, autoSendDisabled: !1, autoSendPeriod: 1e3, sendAsAudio: !1, icon: ra, iconDisabled: oa }, footer: { text: ue("div", { style: { cursor: "pointer", display: "flex", flexDirection: "row", alignItems: "center", columnGap: 3 }, onClick: () => window.open("https://react-chatbotify.com", "_blank", "noopener,noreferrer"), children: [P("span", { children: "Powered By " }, 0), P("div", { style: { borderRadius: "50%", width: 14, height: 14, display: "flex", justifyContent: "center", alignItems: "center", background: "linear-gradient(to right, #42b0c5, #491d8d)" }, children: P(Qr, { style: { width: "80%", height: "80%", fill: "#fff" } }) }, 1), P("span", { style: { fontWeight: "bold" }, children: " React ChatBotify" }, 2)] }), buttons: [ge.FILE_ATTACHMENT_BUTTON, ge.EMOJI_PICKER_BUTTON] }, fileAttachment: { disabled: !1, multiple: !0, accept: ".png", icon: Mr, iconDisabled: Mr, sendFileName: !0, showMediaDisplay: !1 }, emoji: { disabled: !1, icon: Or, iconDisabled: Or, 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 } }, Fo = nt({ settings: {}, setSyncedSettings: () => null, syncedSettingsRef: { current: {} } }), ne = () => rt(Fo), Aa = ({ children: e, settings: t = Uo, setSyncedSettings: r, syncedSettingsRef: n }) => P(Fo.Provider, { value: { settings: t, setSyncedSettings: r, syncedSettingsRef: n }, children: e }), zo = { 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: {} }, jo = nt({ styles: {}, setSyncedStyles: () => null, syncedStylesRef: { current: {} } }), ce = () => rt(jo), sa = ({ children: e, styles: t = zo, setSyncedStyles: r, syncedStylesRef: n }) => P(jo.Provider, { value: { styles: t, setSyncedStyles: r, syncedStylesRef: n }, children: e }), la = ({ buttons: e }) => {
|
|
16
16
|
var t, r, n, o, i, s, A;
|
|
17
|
-
const { settings: a } = ne(), { styles: c } =
|
|
17
|
+
const { settings: a } = ne(), { styles: c } = ce(), l = { backgroundImage: `linear-gradient(to right, ${(t = a.general) == null ? void 0 : t.secondaryColor},
|
|
18
18
|
${(r = a.general) == null ? void 0 : r.primaryColor})`, ...c.headerStyle };
|
|
19
|
-
return
|
|
20
|
-
}, qo = nt({}), be = () => rt(qo),
|
|
21
|
-
const n =
|
|
19
|
+
return ue("div", { style: l, className: "rcb-chat-header-container", children: [ue("div", { className: "rcb-chat-header", children: [((n = a.header) == null ? void 0 : n.showAvatar) && P("div", { style: { backgroundImage: `url("${(o = a.header) == null ? void 0 : o.avatar}")` }, className: "rcb-bot-avatar" }), cr((i = a.header) == null ? void 0 : i.title) ? (s = a.header) == null ? void 0 : s.title : P("div", { style: { margin: 0, fontSize: 20, fontWeight: "bold" }, children: (A = a.header) == null ? void 0 : A.title })] }), P("div", { className: "rcb-chat-header", children: e == null ? void 0 : e.map((d, u) => P(ur, { children: d }, u)) })] });
|
|
20
|
+
}, qo = nt({}), be = () => rt(qo), ca = ({ children: e, botIdRef: t, flowRef: r }) => {
|
|
21
|
+
const n = Ae(null), o = Ae(""), i = Ae(null), s = Ae(/* @__PURE__ */ new Map()), A = Ae(null), a = Ae(""), c = Ae(!1), l = Ae(null), d = Ae(null), u = Ae(null);
|
|
22
22
|
return P(qo.Provider, { value: { botIdRef: t, flowRef: r, inputRef: n, timeoutIdRef: i, streamMessageMap: s, chatBodyRef: A, paramsInputRef: a, keepVoiceOnRef: c, audioContextRef: l, audioBufferRef: d, gainNodeRef: u, prevInputRef: o }, children: e });
|
|
23
23
|
}, Le = (e) => {
|
|
24
|
-
const [t, r] = te(e), n =
|
|
24
|
+
const [t, r] = te(e), n = Ae(e);
|
|
25
25
|
return [t, (o) => {
|
|
26
26
|
const i = typeof o == "function" ? o(n.current) : o;
|
|
27
27
|
n.current = i, r(i);
|
|
28
28
|
}, n];
|
|
29
|
-
}, Go = nt({}), ve = () => rt(Go),
|
|
29
|
+
}, Go = nt({}), ve = () => rt(Go), ua = ({ children: e, settings: t }) => {
|
|
30
30
|
var r, n, o, i, s, A;
|
|
31
|
-
const [a, c, l] = Le(!1), [d, u, p] = Le(((r = t == null ? void 0 : t.chatWindow) == null ? void 0 : r.defaultOpen) ?? !1), [f, m, h] = Le(((n = t == null ? void 0 : t.audio) == null ? void 0 : n.defaultToggledOn) ?? !1), [b, w, g] = Le(((o = t == null ? void 0 : t.voice) == null ? void 0 : o.defaultToggledOn) ?? !1), [x, k, E] = Le(((i = t == null ? void 0 : t.notification) == null ? void 0 : i.defaultToggledOn) ?? !0), [C, S] = te(!1), [T, B] = te(!1), [M, D, Q] = Le(!1), [R, _, U] = Le(!0), [O, L, y] = Le(!1), [X, v] = te(!1), [J, z] = te(!1), [F,
|
|
32
|
-
return P(Go.Provider, { value: { isBotTyping: a, setSyncedIsBotTyping: c, syncedIsBotTypingRef: l, isChatWindowOpen: d, setSyncedIsChatWindowOpen: u, syncedIsChatWindowOpenRef: p, audioToggledOn: f, setSyncedAudioToggledOn: m, syncedAudioToggledOnRef: h, voiceToggledOn: b, setSyncedVoiceToggledOn: w, syncedVoiceToggledOnRef: g, notificationsToggledOn: x, setSyncedNotificationsToggledOn: k, syncedNotificationsToggledOnRef: E, isLoadingChatHistory: C, setIsLoadingChatHistory: S, hasChatHistoryLoaded: T, setHasChatHistoryLoaded: B, isScrolling: M, setSyncedIsScrolling: D, syncedIsScrollingRef: Q, textAreaDisabled: R, setSyncedTextAreaDisabled: _, syncedTextAreaDisabledRef: U, textAreaSensitiveMode: O, setSyncedTextAreaSensitiveMode: L, syncedTextAreaSensitiveModeRef: y, hasInteractedPage: X, setHasInteractedPage: v, hasFlowStarted: J, setHasFlowStarted: z, unreadCount: F, setUnreadCount:
|
|
31
|
+
const [a, c, l] = Le(!1), [d, u, p] = Le(((r = t == null ? void 0 : t.chatWindow) == null ? void 0 : r.defaultOpen) ?? !1), [f, m, h] = Le(((n = t == null ? void 0 : t.audio) == null ? void 0 : n.defaultToggledOn) ?? !1), [b, w, g] = Le(((o = t == null ? void 0 : t.voice) == null ? void 0 : o.defaultToggledOn) ?? !1), [x, k, E] = Le(((i = t == null ? void 0 : t.notification) == null ? void 0 : i.defaultToggledOn) ?? !0), [C, S] = te(!1), [T, B] = te(!1), [M, D, Q] = Le(!1), [R, _, U] = Le(!0), [O, L, y] = Le(!1), [X, v] = te(!1), [J, z] = te(!1), [F, G] = te(0), [$, Z] = te(0), [le, ae] = te(!1), [de, Ce] = te(((s = window.visualViewport) == null ? void 0 : s.height) ?? window.innerHeight), [Ye, pt] = te(((A = window.visualViewport) == null ? void 0 : A.width) ?? window.innerWidth);
|
|
32
|
+
return P(Go.Provider, { value: { isBotTyping: a, setSyncedIsBotTyping: c, syncedIsBotTypingRef: l, isChatWindowOpen: d, setSyncedIsChatWindowOpen: u, syncedIsChatWindowOpenRef: p, audioToggledOn: f, setSyncedAudioToggledOn: m, syncedAudioToggledOnRef: h, voiceToggledOn: b, setSyncedVoiceToggledOn: w, syncedVoiceToggledOnRef: g, notificationsToggledOn: x, setSyncedNotificationsToggledOn: k, syncedNotificationsToggledOnRef: E, isLoadingChatHistory: C, setIsLoadingChatHistory: S, hasChatHistoryLoaded: T, setHasChatHistoryLoaded: B, isScrolling: M, setSyncedIsScrolling: D, syncedIsScrollingRef: Q, textAreaDisabled: R, setSyncedTextAreaDisabled: _, syncedTextAreaDisabledRef: U, textAreaSensitiveMode: O, setSyncedTextAreaSensitiveMode: L, syncedTextAreaSensitiveModeRef: y, hasInteractedPage: X, setHasInteractedPage: v, hasFlowStarted: J, setHasFlowStarted: z, unreadCount: F, setUnreadCount: G, inputLength: $, setInputLength: Z, blockAllowsAttachment: le, setBlockAllowsAttachment: ae, viewportHeight: de, setViewportHeight: Ce, viewportWidth: Ye, setViewportWidth: pt }, children: e });
|
|
33
33
|
};
|
|
34
34
|
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 || {});
|
|
35
|
-
const
|
|
36
|
-
const n = new CustomEvent(e, { detail: t, cancelable:
|
|
35
|
+
const da = { [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 }, Gn = async (e, t, r) => {
|
|
36
|
+
const n = new CustomEvent(e, { detail: t, cancelable: da[e] });
|
|
37
37
|
return n.data = r, n.promises = [], window.dispatchEvent(n), await Promise.all(n.promises), n;
|
|
38
38
|
}, Yo = nt({ paths: [], setSyncedPaths: () => {
|
|
39
|
-
}, syncedPathsRef: { current: [] } }), Wt = () => rt(Yo),
|
|
39
|
+
}, syncedPathsRef: { current: [] } }), Wt = () => rt(Yo), pa = ({ children: e }) => {
|
|
40
40
|
const [t, r, n] = Le([]);
|
|
41
41
|
return P(Yo.Provider, { value: { paths: t, setSyncedPaths: r, syncedPathsRef: n }, children: e });
|
|
42
42
|
}, Ge = () => {
|
|
@@ -70,9 +70,9 @@ const ua = { [j.START_SPEAK_AUDIO]: !0, [j.TOGGLE_AUDIO]: !0, [j.TOGGLE_VOICE]:
|
|
|
70
70
|
S();
|
|
71
71
|
}, [u]);
|
|
72
72
|
return { isChatWindowOpen: t, setSyncedIsChatWindowOpen: r, toggleChatWindow: m, viewportHeight: n, setViewportHeight: o, viewportWidth: i, setViewportWidth: s, toggleIsBotTyping: h, scrollToBottom: w, getIsChatBotVisible: f };
|
|
73
|
-
},
|
|
73
|
+
}, fa = () => {
|
|
74
74
|
var e, t, r;
|
|
75
|
-
const { settings: n } = ne(), { styles: o } =
|
|
75
|
+
const { settings: n } = ne(), { styles: o } = ce(), { unreadCount: i, isScrolling: s } = ve(), { chatBodyRef: A } = be(), { scrollToBottom: a } = Re(), [c, l] = te(!1), d = { color: (e = n.general) == null ? void 0 : e.primaryColor, borderColor: (t = n.general) == null ? void 0 : t.primaryColor, ...o.chatMessagePromptHoveredStyle };
|
|
76
76
|
return P("div", { className: "rcb-message-prompt-container " + (A.current && ((u = n.chatWindow) != null && u.showMessagePrompt) && s && i > 0 ? "visible" : "hidden"), children: P("div", { onMouseEnter: () => {
|
|
77
77
|
l(!0);
|
|
78
78
|
}, onMouseLeave: () => {
|
|
@@ -82,38 +82,38 @@ const ua = { [j.START_SPEAK_AUDIO]: !0, [j.TOGGLE_AUDIO]: !0, [j.TOGGLE_VOICE]:
|
|
|
82
82
|
}, className: "rcb-message-prompt-text", children: (r = n.chatWindow) == null ? void 0 : r.messagePromptText }) });
|
|
83
83
|
var u;
|
|
84
84
|
}, Wo = nt({ messages: [], setSyncedMessages: () => {
|
|
85
|
-
}, syncedMessagesRef: { current: [] } }), dr = () => rt(Wo),
|
|
85
|
+
}, syncedMessagesRef: { current: [] } }), dr = () => rt(Wo), ha = ({ children: e }) => {
|
|
86
86
|
const [t, r, n] = Le([]);
|
|
87
87
|
return P(Wo.Provider, { value: { messages: t, setSyncedMessages: r, syncedMessagesRef: n }, children: e });
|
|
88
|
-
}, ha = ({ message: e, isNewSender: t }) => {
|
|
89
|
-
var r, n, o, i, s, A;
|
|
90
|
-
const { settings: a } = ne(), { styles: c } = se(), l = typeof e.content == "string", d = e.content, u = e.contentWrapper ? P(e.contentWrapper, { children: d }) : d, p = { backgroundColor: (r = a.general) == null ? void 0 : r.primaryColor, color: "#fff", maxWidth: (n = a.userBubble) != null && n.showAvatar ? "65%" : "70%", ...c.userBubbleStyle }, f = (o = a.userBubble) != null && o.animate ? "rcb-user-message-entry" : "", m = ((i = a.userBubble) == null ? void 0 : i.showAvatar) && t, h = "rcb-user-message" + (!t && (s = a.userBubble) != null && s.showAvatar ? " rcb-user-message-offset" : "");
|
|
91
|
-
return ce("div", { className: "rcb-user-message-container", children: [l ? P("div", { style: p, className: `${h} ${f}`, children: u }) : P(Pe, { children: u }), m && P("div", { style: { backgroundImage: `url("${(A = a.userBubble) == null ? void 0 : A.avatar}")` }, className: "rcb-message-user-avatar" })] });
|
|
92
88
|
}, ga = ({ message: e, isNewSender: t }) => {
|
|
93
89
|
var r, n, o, i, s, A;
|
|
94
|
-
const { settings: a } = ne(), { styles: c } =
|
|
95
|
-
return
|
|
96
|
-
}, ma = () => {
|
|
90
|
+
const { settings: a } = ne(), { styles: c } = ce(), l = typeof e.content == "string", d = e.content, u = e.contentWrapper ? P(e.contentWrapper, { children: d }) : d, p = { backgroundColor: (r = a.general) == null ? void 0 : r.primaryColor, color: "#fff", maxWidth: (n = a.userBubble) != null && n.showAvatar ? "65%" : "70%", ...c.userBubbleStyle }, f = (o = a.userBubble) != null && o.animate ? "rcb-user-message-entry" : "", m = ((i = a.userBubble) == null ? void 0 : i.showAvatar) && t, h = "rcb-user-message" + (!t && (s = a.userBubble) != null && s.showAvatar ? " rcb-user-message-offset" : "");
|
|
91
|
+
return ue("div", { className: "rcb-user-message-container", children: [l ? P("div", { style: p, className: `${h} ${f}`, children: u }) : P(Pe, { children: u }), m && P("div", { style: { backgroundImage: `url("${(A = a.userBubble) == null ? void 0 : A.avatar}")` }, className: "rcb-message-user-avatar" })] });
|
|
92
|
+
}, ma = ({ message: e, isNewSender: t }) => {
|
|
93
|
+
var r, n, o, i, s, A;
|
|
94
|
+
const { settings: a } = ne(), { styles: c } = ce(), l = typeof e.content == "string", d = e.content, u = e.contentWrapper ? P(e.contentWrapper, { children: d }) : d, p = { backgroundColor: (r = a.general) == null ? void 0 : r.secondaryColor, color: "#fff", maxWidth: (n = a.botBubble) != null && n.showAvatar ? "65%" : "70%", ...c.botBubbleStyle }, f = (o = a.botBubble) != null && o.animate ? "rcb-bot-message-entry" : "", m = ((i = a.botBubble) == null ? void 0 : i.showAvatar) && t, h = "rcb-bot-message" + (!t && (s = a.botBubble) != null && s.showAvatar ? " rcb-bot-message-offset" : "");
|
|
95
|
+
return ue("div", { className: "rcb-bot-message-container", children: [m && P("div", { style: { backgroundImage: `url("${(A = a.botBubble) == null ? void 0 : A.avatar}")` }, className: "rcb-message-bot-avatar" }), l ? P("div", { style: p, className: `${h} ${f}`, children: u }) : P(Pe, { children: u })] });
|
|
96
|
+
}, ya = () => {
|
|
97
97
|
var e, t, r;
|
|
98
|
-
const { settings: n } = ne(), { styles: o } =
|
|
99
|
-
return
|
|
98
|
+
const { settings: n } = ne(), { styles: o } = ce(), i = (e = n.botBubble) != null && e.animate ? "rcb-bot-message-entry" : "";
|
|
99
|
+
return ue("div", { className: "rcb-bot-message-container", children: [((t = n.botBubble) == null ? void 0 : t.showAvatar) && P("div", { style: { backgroundImage: `url("${(r = n.botBubble) == null ? void 0 : r.avatar}")` }, className: "rcb-message-bot-avatar" }), P("div", { onMouseDown: (s) => {
|
|
100
100
|
s.preventDefault();
|
|
101
|
-
}, className: `rcb-bot-message ${i}`, children:
|
|
102
|
-
},
|
|
101
|
+
}, className: `rcb-bot-message ${i}`, children: ue("div", { className: "rcb-typing-indicator", style: { ...o == null ? void 0 : o.rcbTypingIndicatorContainerStyle }, children: [P("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } }), P("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } }), P("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } })] }) })] });
|
|
102
|
+
}, ba = () => {
|
|
103
103
|
var e, t, r;
|
|
104
|
-
const { settings: n } = ne(), { styles: o } =
|
|
104
|
+
const { settings: n } = ne(), { styles: o } = ce(), { messages: i } = dr(), { scrollToBottom: s } = Re(), { isBotTyping: A, syncedIsScrollingRef: a } = ve(), { chatBodyRef: c } = be(), l = { ...o == null ? void 0 : o.bodyStyle, scrollbarWidth: (e = n.chatWindow) != null && e.showScrollbar ? "auto" : "none" };
|
|
105
105
|
return re(() => {
|
|
106
106
|
a.current || s();
|
|
107
|
-
}, [(t = c.current) == null ? void 0 : t.scrollHeight]),
|
|
107
|
+
}, [(t = c.current) == null ? void 0 : t.scrollHeight]), ue("div", { style: l, className: "rcb-chat-body-container", ref: c, children: [i.map((d, u) => {
|
|
108
108
|
const p = ((f) => f === 0 || i[f].sender !== i[f - 1].sender)(u);
|
|
109
|
-
return d.sender.toUpperCase() === "USER" ? P(
|
|
110
|
-
}), A && ((r = n.chatWindow) == null ? void 0 : r.showTypingIndicator) && P(
|
|
111
|
-
},
|
|
109
|
+
return d.sender.toUpperCase() === "USER" ? P(ga, { message: d, isNewSender: p }, u) : d.sender.toUpperCase() === "BOT" ? P(ma, { message: d, isNewSender: p }, u) : P("div", { children: d.content }, u);
|
|
110
|
+
}), A && ((r = n.chatWindow) == null ? void 0 : r.showTypingIndicator) && P(ya, {}), P(fa, {})] });
|
|
111
|
+
}, va = ({ checkboxes: e, checkedItems: t, path: r }) => {
|
|
112
112
|
var n, o, i, s, A, a, c, l, d, u, p;
|
|
113
|
-
const { settings: f } = ne(), { styles: m } =
|
|
113
|
+
const { settings: f } = ne(), { styles: m } = ce(), { paths: h } = Wt(), { handleSubmitText: b } = Tt(), [w, g] = te(/* @__PURE__ */ new Set()), [x, k] = te(!1), E = { cursor: x ? `url("${(n = f.general) == null ? void 0 : n.actionDisabledIcon}"), auto` : "pointer", color: (o = f.general) == null ? void 0 : o.primaryColor, borderColor: (i = f.general) == null ? void 0 : i.primaryColor, ...m.botCheckboxRowStyle }, C = { cursor: x || w.size < e.min ? `url("${(s = f.general) == null ? void 0 : s.actionDisabledIcon}"), auto` : "pointer", color: (A = f.general) == null ? void 0 : A.primaryColor, borderColor: (a = f.general) == null ? void 0 : a.primaryColor, ...m.botCheckboxNextStyle }, S = { cursor: x ? `url("${(c = f.general) == null ? void 0 : c.actionDisabledIcon}"), auto` : "pointer", color: "transparent", ...m.botCheckMarkStyle }, T = { cursor: x ? `url("${(l = f.general) == null ? void 0 : l.actionDisabledIcon}"), auto` : "pointer", color: "#fff", borderColor: (d = f.general) == null ? void 0 : d.primaryColor, backgroundColor: (u = f.general) == null ? void 0 : u.primaryColor, ...m.botCheckMarkSelectedStyle };
|
|
114
114
|
return re(() => {
|
|
115
115
|
h.length > 0 && h[h.length - 1] !== r && k(!e.reusable);
|
|
116
|
-
}, [h]),
|
|
116
|
+
}, [h]), ue("div", { className: "rcb-checkbox-container " + ((p = f.botBubble) != null && p.showAvatar ? "rcb-checkbox-offset" : ""), children: [e.items.map((B) => P("div", { onMouseDown: (M) => {
|
|
117
117
|
M.preventDefault(), ((D) => {
|
|
118
118
|
x || g((Q) => {
|
|
119
119
|
const R = new Set(Q);
|
|
@@ -125,35 +125,35 @@ const ua = { [j.START_SPEAK_AUDIO]: !0, [j.TOGGLE_AUDIO]: !0, [j.TOGGLE_VOICE]:
|
|
|
125
125
|
return R;
|
|
126
126
|
});
|
|
127
127
|
})(B);
|
|
128
|
-
}, style: E, className: "rcb-checkbox-row-container", children:
|
|
128
|
+
}, style: E, className: "rcb-checkbox-row-container", children: ue("div", { className: "rcb-checkbox-row", children: [P("div", { style: w.has(B) ? T : S, className: "rcb-checkbox-mark" }), P("div", { className: "rcb-checkbox-label", children: B })] }) }, B)), P("div", { style: C, className: "rcb-checkbox-next-button", onMouseDown: (B) => {
|
|
129
129
|
var M;
|
|
130
130
|
if (B.preventDefault(), x || w.size < e.min) return;
|
|
131
131
|
const D = Array.from(t).join(", ");
|
|
132
132
|
let Q;
|
|
133
133
|
k(!e.reusable), Q = e.sendOutput != null ? e.sendOutput : ((M = f.chatInput) == null ? void 0 : M.sendCheckboxOutput) ?? !0, b(D, Q);
|
|
134
134
|
} })] });
|
|
135
|
-
},
|
|
135
|
+
}, wa = async (e, t) => {
|
|
136
136
|
const r = e.checkboxes;
|
|
137
137
|
if (!r) return;
|
|
138
138
|
let n;
|
|
139
139
|
if (typeof r == "function" ? (n = r(t), n instanceof Promise && (n = await n)) : n = r, Array.isArray(n) && (n = { items: n }), !("items" in n) || n.items.length == 0) return;
|
|
140
140
|
n.min == null && (n.min = 1), n.max == null && (n.max = n.items.length), n.min > n.max && (n.min = n.max), n.reusable == null && (n.reusable = !1);
|
|
141
|
-
const o = /* @__PURE__ */ new Set(), i = t.currPath, s = P(
|
|
141
|
+
const o = /* @__PURE__ */ new Set(), i = t.currPath, s = P(va, { checkboxes: n, checkedItems: o, path: i });
|
|
142
142
|
await t.injectMessage(s);
|
|
143
|
-
},
|
|
143
|
+
}, xa = async (e, t) => {
|
|
144
144
|
const r = e.function;
|
|
145
145
|
if (!r) return;
|
|
146
146
|
const n = r(t);
|
|
147
147
|
return n instanceof Promise ? await n : n;
|
|
148
|
-
},
|
|
148
|
+
}, Ea = async (e, t, r) => {
|
|
149
149
|
const n = e.message;
|
|
150
150
|
if (!n) return;
|
|
151
151
|
if (typeof n == "string") return void (n.trim() !== "" && (r ? await t.simulateStreamMessage(n) : await t.injectMessage(n)));
|
|
152
152
|
let o = n(t);
|
|
153
153
|
o instanceof Promise && (o = await o), typeof o == "string" && o.trim() !== "" && (r ? await t.simulateStreamMessage(o) : await t.injectMessage(o));
|
|
154
|
-
},
|
|
154
|
+
}, ka = ({ options: e, path: t }) => {
|
|
155
155
|
var r, n, o, i, s, A;
|
|
156
|
-
const { settings: a } = ne(), { styles: c } =
|
|
156
|
+
const { settings: a } = ne(), { styles: c } = ce(), { paths: l } = Wt(), { handleSubmitText: d } = Tt(), [u, p] = te([]), [f, m] = te(!1), h = { cursor: f ? `url("${(r = a.general) == null ? void 0 : r.actionDisabledIcon}"), auto` : "pointer", color: (n = a.general) == null ? void 0 : n.primaryColor, borderColor: (o = a.general) == null ? void 0 : o.primaryColor, backgroundColor: "#fff", ...c.botOptionStyle }, b = { color: "#fff", borderColor: (i = a.general) == null ? void 0 : i.primaryColor, backgroundColor: (s = a.general) == null ? void 0 : s.primaryColor, ...c.botOptionHoveredStyle };
|
|
157
157
|
return re(() => {
|
|
158
158
|
l.length > 0 && l[l.length - 1] !== t && m(!e.reusable);
|
|
159
159
|
}, [l]), P("div", { className: "rcb-options-container " + ((A = a.botBubble) != null && A.showAvatar ? "rcb-options-offset" : ""), children: e.items.map((w, g) => {
|
|
@@ -175,15 +175,15 @@ const ua = { [j.START_SPEAK_AUDIO]: !0, [j.TOGGLE_AUDIO]: !0, [j.TOGGLE_VOICE]:
|
|
|
175
175
|
m(!e.reusable), C = e.sendOutput != null ? e.sendOutput : ((E = a.chatInput) == null ? void 0 : E.sendOptionOutput) ?? !0, d(w, C);
|
|
176
176
|
}, children: w }, w);
|
|
177
177
|
}) });
|
|
178
|
-
},
|
|
178
|
+
}, Pa = async (e, t) => {
|
|
179
179
|
const r = e.options;
|
|
180
180
|
if (!r) return;
|
|
181
181
|
let n;
|
|
182
182
|
if (typeof r == "function" ? (n = r(t), n instanceof Promise && (n = await n)) : n = r, Array.isArray(n) && (n = { items: n }), !("items" in n) || n.items.length == 0) return;
|
|
183
183
|
n.reusable == null && (n.reusable = !1);
|
|
184
|
-
const o = t.currPath, i = P(
|
|
184
|
+
const o = t.currPath, i = P(ka, { options: n, path: o });
|
|
185
185
|
await t.injectMessage(i);
|
|
186
|
-
},
|
|
186
|
+
}, Ca = async (e, t) => {
|
|
187
187
|
const r = e.component;
|
|
188
188
|
if (r) {
|
|
189
189
|
if (typeof r == "function") {
|
|
@@ -192,7 +192,7 @@ const ua = { [j.START_SPEAK_AUDIO]: !0, [j.TOGGLE_AUDIO]: !0, [j.TOGGLE_VOICE]:
|
|
|
192
192
|
}
|
|
193
193
|
await t.injectMessage(r);
|
|
194
194
|
}
|
|
195
|
-
},
|
|
195
|
+
}, Da = async (e, t, r, n) => {
|
|
196
196
|
const o = e.transition;
|
|
197
197
|
let i;
|
|
198
198
|
if (typeof o == "function" ? (i = o(t), i instanceof Promise && (i = await i)) : i = o, typeof i == "number" && (i = { duration: i }), !i || i instanceof Promise || i.duration == null || typeof i.duration != "number") return;
|
|
@@ -202,7 +202,7 @@ const ua = { [j.START_SPEAK_AUDIO]: !0, [j.TOGGLE_AUDIO]: !0, [j.TOGGLE_VOICE]:
|
|
|
202
202
|
A && await Xo(A, t);
|
|
203
203
|
}, i.duration);
|
|
204
204
|
i.interruptable && (r.current = s);
|
|
205
|
-
},
|
|
205
|
+
}, Ba = async (e, t, r) => {
|
|
206
206
|
const n = e.chatDisabled;
|
|
207
207
|
if (n == null) return;
|
|
208
208
|
let o;
|
|
@@ -215,7 +215,7 @@ const ua = { [j.START_SPEAK_AUDIO]: !0, [j.TOGGLE_AUDIO]: !0, [j.TOGGLE_VOICE]:
|
|
|
215
215
|
}, Xo = async (e, t) => {
|
|
216
216
|
if (!e) throw new Error("Block is not valid.");
|
|
217
217
|
const r = Object.keys(e);
|
|
218
|
-
for (const n of r) n === "function" && await
|
|
218
|
+
for (const n of r) n === "function" && await xa(e, t);
|
|
219
219
|
r.includes("path") && await (async (n, o) => {
|
|
220
220
|
const i = n.path;
|
|
221
221
|
if (!i) return !1;
|
|
@@ -225,13 +225,13 @@ const ua = { [j.START_SPEAK_AUDIO]: !0, [j.TOGGLE_AUDIO]: !0, [j.TOGGLE_VOICE]:
|
|
|
225
225
|
const A = s;
|
|
226
226
|
return await o.goToPath(A), !0;
|
|
227
227
|
})(e, t);
|
|
228
|
-
},
|
|
228
|
+
}, Sa = () => {
|
|
229
229
|
var e;
|
|
230
|
-
const { settings: t } = ne(), { styles: r } =
|
|
230
|
+
const { settings: t } = ne(), { styles: r } = ce();
|
|
231
231
|
return P("div", { className: "rcb-line-break-container", children: P("div", { style: { ...r.chatHistoryLineBreakStyle }, className: "rcb-line-break-text", "data-testid": "chat-history-line-break-text", children: (e = t.chatHistory) == null ? void 0 : e.chatHistoryLineBreakText }) });
|
|
232
|
-
},
|
|
232
|
+
}, Ia = () => {
|
|
233
233
|
var e;
|
|
234
|
-
const { settings: t } = ne(), { styles: r } =
|
|
234
|
+
const { settings: t } = ne(), { styles: r } = ce(), n = { borderTop: `4px solid ${(e = t.general) == null ? void 0 : e.primaryColor}`, ...r.loadingSpinnerStyle };
|
|
235
235
|
return P("div", { className: "rcb-spinner-container", children: P("div", { style: n, className: "rcb-spinner" }) });
|
|
236
236
|
}, ln = () => {
|
|
237
237
|
try {
|
|
@@ -260,7 +260,7 @@ const jt = () => hn, Yn = (e) => {
|
|
|
260
260
|
}
|
|
261
261
|
return [];
|
|
262
262
|
})(ut.getItem(cn));
|
|
263
|
-
},
|
|
263
|
+
}, Ta = (e) => cr(e.content) ? structuredClone({ id: e.id, content: Zi.renderToString(e.content), type: e.type, sender: e.sender.toUpperCase(), timestamp: e.timestamp, tags: e.tags }) : e, $o = (e, t, r) => {
|
|
264
264
|
const n = new DOMParser().parseFromString(e, "text/html");
|
|
265
265
|
return Array.from(n.body.childNodes).map((o, i) => {
|
|
266
266
|
var s;
|
|
@@ -280,7 +280,7 @@ const jt = () => hn, Yn = (e) => {
|
|
|
280
280
|
}, {});
|
|
281
281
|
if (Object.prototype.hasOwnProperty.call(a, "class")) {
|
|
282
282
|
const c = o.classList;
|
|
283
|
-
a.className = c.toString(), delete a.class, (s = t.botBubble) != null && s.showAvatar && (a =
|
|
283
|
+
a.className = c.toString(), delete a.class, (s = t.botBubble) != null && s.showAvatar && (a = Qa(c, a)), a = Ma(c, a, t, r), a = Oa(c, a, t, r), a = _a(c, a, t, r), a = La(c, a, t, r);
|
|
284
284
|
}
|
|
285
285
|
if (["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "source", "track", "wbr"].includes(A)) return Ir(A, { key: i, ...a });
|
|
286
286
|
{
|
|
@@ -289,16 +289,16 @@ const jt = () => hn, Yn = (e) => {
|
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
});
|
|
292
|
-
},
|
|
292
|
+
}, Qa = (e, t) => ((e.contains("rcb-options-container") || e.contains("rcb-checkbox-container")) && (t.className = `${e.toString()} rcb-options-offset`), t), Ma = (e, t, r, n) => {
|
|
293
293
|
var o, i, s, A, a;
|
|
294
294
|
return e.contains("rcb-options") && (t.style = { ...t.style, color: ((o = n.botOptionStyle) == null ? void 0 : o.color) ?? ((i = r.general) == null ? void 0 : i.primaryColor), borderColor: ((s = n.botOptionStyle) == null ? void 0 : s.color) ?? ((A = r.general) == null ? void 0 : A.primaryColor), cursor: `url("${(a = r.general) == null ? void 0 : a.actionDisabledIcon}"), auto`, ...n.botOptionStyle }), t;
|
|
295
|
-
},
|
|
295
|
+
}, Oa = (e, t, r, n) => {
|
|
296
296
|
var o, i, s, A, a;
|
|
297
297
|
return e.contains("rcb-checkbox-row-container") && (t.style = { ...t.style, color: ((o = n.botCheckboxRowStyle) == null ? void 0 : o.color) ?? ((i = r.general) == null ? void 0 : i.primaryColor), borderColor: ((s = n.botCheckboxRowStyle) == null ? void 0 : s.color) ?? ((A = r.general) == null ? void 0 : A.primaryColor), cursor: `url("${(a = r.general) == null ? void 0 : a.actionDisabledIcon}"), auto`, ...n.botCheckboxRowStyle }), t;
|
|
298
|
-
},
|
|
298
|
+
}, _a = (e, t, r, n) => {
|
|
299
299
|
var o, i, s, A, a;
|
|
300
300
|
return e.contains("rcb-checkbox-next-button") && (t.style = { ...t.style, color: ((o = n.botCheckboxNextStyle) == null ? void 0 : o.color) ?? ((i = r.general) == null ? void 0 : i.primaryColor), borderColor: ((s = n.botCheckboxNextStyle) == null ? void 0 : s.color) ?? ((A = r.general) == null ? void 0 : A.primaryColor), cursor: `url("${(a = r.general) == null ? void 0 : a.actionDisabledIcon}"), auto`, ...n.botCheckboxNextStyle }), t;
|
|
301
|
-
},
|
|
301
|
+
}, La = (e, t, r, n) => {
|
|
302
302
|
var o, i;
|
|
303
303
|
return (e.contains("rcb-media-display-image-container") || e.contains("rcb-media-display-video-container")) && (t.style = { ...t.style, backgroundColor: (o = r.general) == null ? void 0 : o.primaryColor, maxWidth: (i = r.userBubble) != null && i.showAvatar ? "65%" : "70%", ...n.mediaDisplayContainerStyle }), t;
|
|
304
304
|
}, pr = () => {
|
|
@@ -324,7 +324,7 @@ const jt = () => hn, Yn = (e) => {
|
|
|
324
324
|
var f;
|
|
325
325
|
p !== s.current && ((f = e.event) != null && f.rcbToggleNotifications && (await l(j.TOGGLE_NOTIFICATIONS, { currState: s.current, newState: !s.current })).defaultPrevented || r((m) => !m));
|
|
326
326
|
}, [s]), playNotificationSound: u, setUpNotifications: d };
|
|
327
|
-
},
|
|
327
|
+
}, Na = (e, t) => {
|
|
328
328
|
var r, n, o, i;
|
|
329
329
|
((s, A, a, c, l) => {
|
|
330
330
|
if (!window.SpeechSynthesisUtterance) return void console.info("Speech Synthesis API is not supported in this environment.");
|
|
@@ -353,7 +353,7 @@ const jt = () => hn, Yn = (e) => {
|
|
|
353
353
|
if (d.defaultPrevented) return;
|
|
354
354
|
l = d.data.textToRead;
|
|
355
355
|
}
|
|
356
|
-
|
|
356
|
+
Na(e, l);
|
|
357
357
|
}, [e, n]);
|
|
358
358
|
return { audioToggledOn: t, speakAudio: s, toggleAudio: i };
|
|
359
359
|
}, bt = () => {
|
|
@@ -372,7 +372,7 @@ const jt = () => hn, Yn = (e) => {
|
|
|
372
372
|
const y = _[L];
|
|
373
373
|
if (y.sender.toUpperCase() !== "SYSTEM" && (y.content !== "" && U.unshift(y), U.length === an)) break;
|
|
374
374
|
}
|
|
375
|
-
let O = U.map(
|
|
375
|
+
let O = U.map(Ta);
|
|
376
376
|
if (!Ko && O.length < an) {
|
|
377
377
|
const L = an - O.length;
|
|
378
378
|
O = [...hn.slice(-L), ...O];
|
|
@@ -393,35 +393,35 @@ const jt = () => hn, Yn = (e) => {
|
|
|
393
393
|
Q = Q.toUpperCase();
|
|
394
394
|
let X = lt(D, Q);
|
|
395
395
|
if ((_ = n.event) != null && _.rcbStartSimulateStreamMessage) {
|
|
396
|
-
const
|
|
397
|
-
if (
|
|
398
|
-
R =
|
|
396
|
+
const Z = await h(j.START_SIMULATE_STREAM_MESSAGE, { message: X });
|
|
397
|
+
if (Z.defaultPrevented) return null;
|
|
398
|
+
R = Z.data.simulateStreamChunker || R, X = Z.data.message;
|
|
399
399
|
}
|
|
400
400
|
A(!1);
|
|
401
401
|
let v = 30;
|
|
402
402
|
v = Q === "BOT" ? (U = n.botBubble) == null ? void 0 : U.streamSpeed : (O = n.userBubble) == null ? void 0 : O.streamSpeed;
|
|
403
403
|
const J = { ...X, content: "" };
|
|
404
|
-
i((
|
|
404
|
+
i((Z) => [...Z, J]), x(s.current);
|
|
405
405
|
let z = X.content;
|
|
406
406
|
R && (z = R(z));
|
|
407
407
|
let F = 0;
|
|
408
|
-
const
|
|
408
|
+
const G = z.length;
|
|
409
409
|
X.sender.toUpperCase() === "BOT" && (l.current || (L = n.general) != null && L.embedded) && typeof X.content == "string" && X.content.trim() !== "" && b(X.content);
|
|
410
|
-
const
|
|
411
|
-
const
|
|
412
|
-
if (F >=
|
|
413
|
-
i((
|
|
414
|
-
const
|
|
415
|
-
for (let Ce =
|
|
410
|
+
const $ = new Promise((Z) => {
|
|
411
|
+
const le = setInterval(() => {
|
|
412
|
+
if (F >= G) return clearInterval(le), void Z();
|
|
413
|
+
i((ae) => {
|
|
414
|
+
const de = [...ae];
|
|
415
|
+
for (let Ce = de.length - 1; Ce >= 0; Ce--) if (de[Ce].id === J.id) {
|
|
416
416
|
const Ye = z[F];
|
|
417
|
-
Ye && (J.content += Ye,
|
|
417
|
+
Ye && (J.content += Ye, de[Ce] = J), F++;
|
|
418
418
|
break;
|
|
419
419
|
}
|
|
420
|
-
return
|
|
420
|
+
return de;
|
|
421
421
|
});
|
|
422
422
|
}, v);
|
|
423
423
|
});
|
|
424
|
-
return (c.current || !l.current) && a((
|
|
424
|
+
return (c.current || !l.current) && a((Z) => Z + 1), await $, g(s.current), (y = n.event) != null && y.rcbStopSimulateStreamMessage && await h(j.STOP_SIMULATE_STREAM_MESSAGE, { message: X }), Q === "USER" && (p.current = D), X;
|
|
425
425
|
}, [n, h, x, s, p, A, a, l, b]), E = q(async (D, Q = "BOT") => {
|
|
426
426
|
var R, _, U;
|
|
427
427
|
Q = Q.toUpperCase();
|
|
@@ -482,7 +482,7 @@ const fr = () => {
|
|
|
482
482
|
Pn = e != null ? new e() : null;
|
|
483
483
|
}
|
|
484
484
|
return Pn;
|
|
485
|
-
},
|
|
485
|
+
}, Ra = (e, t, r, n, o, i) => {
|
|
486
486
|
var s, A, a;
|
|
487
487
|
const c = fr();
|
|
488
488
|
if (!c) return;
|
|
@@ -503,7 +503,7 @@ const fr = () => {
|
|
|
503
503
|
}, c.onend = () => {
|
|
504
504
|
ct ? (c.start(), !Xe && l && (Xe = setTimeout(async () => await Cn(t, i), l))) : (clearTimeout(Xe), Xe = null, clearTimeout(An));
|
|
505
505
|
}, l && (Xe = setTimeout(async () => await Cn(t, i), l));
|
|
506
|
-
},
|
|
506
|
+
}, Ha = (e, t) => {
|
|
507
507
|
navigator.mediaDevices.getUserMedia({ audio: !0 }).then((r) => {
|
|
508
508
|
if (et = new MediaRecorder(r), !ct) try {
|
|
509
509
|
ct = !0, et.start();
|
|
@@ -562,7 +562,7 @@ const fr = () => {
|
|
|
562
562
|
}, [c]);
|
|
563
563
|
return { textAreaDisabled: o, setSyncedTextAreaDisabled: i, textAreaSensitiveMode: s, setSyncedTextAreaSensitiveMode: A, inputLength: r, setInputLength: n, getTextAreaValue: g, setTextAreaValue: m, updateTextAreaFocus: h, focusTextArea: b, blurTextArea: w, toggleTextAreaDisabled: x, toggleTextAreaSensitiveMode: k };
|
|
564
564
|
}, ti = nt({ toasts: [], setSyncedToasts: () => {
|
|
565
|
-
}, syncedToastsRef: { current: [] } }), ni = () => rt(ti),
|
|
565
|
+
}, syncedToastsRef: { current: [] } }), ni = () => rt(ti), Ua = ({ children: e }) => {
|
|
566
566
|
const [t, r, n] = Le([]);
|
|
567
567
|
return P(ti.Provider, { value: { toasts: t, setSyncedToasts: r, syncedToastsRef: n }, children: e });
|
|
568
568
|
}, It = () => {
|
|
@@ -608,46 +608,46 @@ const fr = () => {
|
|
|
608
608
|
}
|
|
609
609
|
return v;
|
|
610
610
|
}, [(e = i.event) == null ? void 0 : e.rcbPostProcessBlock, g]), U = q(async (v, J) => {
|
|
611
|
-
var z, F,
|
|
611
|
+
var z, F, G, $;
|
|
612
612
|
if (!v) return;
|
|
613
|
-
let
|
|
614
|
-
if (
|
|
613
|
+
let Z = c.current[v];
|
|
614
|
+
if (!Z) return void f(!1);
|
|
615
615
|
if ((z = i.event) != null && z.rcbPreProcessBlock) {
|
|
616
|
-
const
|
|
617
|
-
if (
|
|
618
|
-
|
|
616
|
+
const ae = await g(j.PRE_PROCESS_BLOCK, { block: Z });
|
|
617
|
+
if (ae.defaultPrevented) return;
|
|
618
|
+
Z = ae.data.block;
|
|
619
619
|
}
|
|
620
620
|
f(!0), (F = i.chatInput) != null && F.blockSpam && m(!0), h(!1);
|
|
621
|
-
const
|
|
622
|
-
await (async (
|
|
623
|
-
if (!
|
|
624
|
-
for (const xt of Object.keys(
|
|
621
|
+
const le = { prevPath: J, currPath: v, goToPath: y, setTextAreaValue: Q, userInput: d.current, endStreamMessage: x, injectMessage: k, removeMessage: E, simulateStreamMessage: C, streamMessage: S, toggleChatWindow: M, showToast: T, dismissToast: B };
|
|
622
|
+
await (async (ae, de, Ce, Ye, pt, Se, je) => {
|
|
623
|
+
if (!ae) throw new Error("Block is not valid.");
|
|
624
|
+
for (const xt of Object.keys(ae)) switch (xt) {
|
|
625
625
|
case "message":
|
|
626
|
-
await
|
|
626
|
+
await Ea(ae, de, Ce);
|
|
627
627
|
break;
|
|
628
628
|
case "options":
|
|
629
|
-
await
|
|
629
|
+
await Pa(ae, de);
|
|
630
630
|
break;
|
|
631
631
|
case "checkboxes":
|
|
632
|
-
await
|
|
632
|
+
await wa(ae, de);
|
|
633
633
|
break;
|
|
634
634
|
case "component":
|
|
635
|
-
await
|
|
635
|
+
await Ca(ae, de);
|
|
636
636
|
break;
|
|
637
637
|
case "chatDisabled":
|
|
638
|
-
await
|
|
638
|
+
await Ba(ae, de, pt);
|
|
639
639
|
break;
|
|
640
640
|
case "isSensitive":
|
|
641
|
-
await Vo(
|
|
641
|
+
await Vo(ae, de, Se);
|
|
642
642
|
break;
|
|
643
643
|
case "transition":
|
|
644
|
-
await
|
|
644
|
+
await Da(ae, de, Ye, je);
|
|
645
645
|
}
|
|
646
|
-
})(
|
|
646
|
+
})(Z, le, ((G = i.botBubble) == null ? void 0 : G.simulateStream) ?? !1, p, m, h, _), f(!1), "chatDisabled" in Z || m(($ = i.chatInput) == null ? void 0 : $.disabled), "isSensitive" in Z || h(!1), w(typeof Z.file == "function"), D(v), R(u.current && !Z.chatDisabled), v !== J && l.current.clear();
|
|
647
647
|
}, [c, D, R, (t = i.botBubble) == null ? void 0 : t.simulateStream, (r = i.chatInput) == null ? void 0 : r.disabled, d, x, k, E, C, S, M, T, B, u, l]), O = q(() => a.current.length > 0 ? a.current.at(-1) ?? null : null, []), L = q(() => a.current.length > 1 ? a.current.at(-2) ?? null : null, []), y = q(async (v) => {
|
|
648
648
|
var J;
|
|
649
649
|
const z = O(), F = L();
|
|
650
|
-
return ((J = i.event) == null || !J.rcbChangePath || !(await g(j.CHANGE_PATH, { currPath: z, prevPath: F, nextPath: v })).defaultPrevented) && (A((
|
|
650
|
+
return ((J = i.event) == null || !J.rcbChangePath || !(await g(j.CHANGE_PATH, { currPath: z, prevPath: F, nextPath: v })).defaultPrevented) && (A((G) => [...G, v]), await U(v, z), !0);
|
|
651
651
|
}, [(n = i.chatInput) == null ? void 0 : n.blockSpam, (o = i.event) == null ? void 0 : o.rcbChangePath, U, g]), X = q((v) => {
|
|
652
652
|
const J = typeof v == "function" ? v(a.current) : v;
|
|
653
653
|
A(J);
|
|
@@ -656,14 +656,14 @@ const fr = () => {
|
|
|
656
656
|
}, Tt = () => {
|
|
657
657
|
var e, t, r, n;
|
|
658
658
|
const { settings: o } = ne(), { endStreamMessage: i, injectMessage: s, removeMessage: A, simulateStreamMessage: a, streamMessage: c } = bt(), { syncedPathsRef: l } = Wt(), { getCurrPath: d, getPrevPath: u, goToPath: p, firePostProcessBlockEvent: f } = gn(), { setSyncedTextAreaSensitiveMode: m, setSyncedTextAreaDisabled: h, setSyncedIsBotTyping: b, setBlockAllowsAttachment: w, setInputLength: g, syncedVoiceToggledOnRef: x, syncedTextAreaSensitiveModeRef: k } = ve(), { flowRef: E, inputRef: C, keepVoiceOnRef: S, paramsInputRef: T, timeoutIdRef: B } = be(), { showToast: M, dismissToast: D } = It(), { dispatchRcbEvent: Q } = Ge(), { syncVoice: R } = gr(), { setTextAreaValue: _ } = vt(), { toggleChatWindow: U } = Re(), O = q(async (y) => {
|
|
659
|
-
var X, v, J, z, F,
|
|
660
|
-
const
|
|
661
|
-
if (
|
|
659
|
+
var X, v, J, z, F, G;
|
|
660
|
+
const $ = d();
|
|
661
|
+
if ($ && E.current[$]) {
|
|
662
662
|
if (k.current) {
|
|
663
663
|
if ((X = o == null ? void 0 : o.sensitiveInput) != null && X.hideInUserBubble) return;
|
|
664
664
|
if ((v = o == null ? void 0 : o.sensitiveInput) != null && v.maskInUserBubble) return void ((J = o.userBubble) != null && J.simulateStream ? await a("*".repeat(((z = o.sensitiveInput) == null ? void 0 : z.asterisksCount) ?? 10), "USER") : await s("*".repeat(((F = o.sensitiveInput) == null ? void 0 : F.asterisksCount) ?? 10), "USER"));
|
|
665
665
|
}
|
|
666
|
-
(
|
|
666
|
+
(G = o.userBubble) != null && G.simulateStream ? await a(y, "USER") : await s(y, "USER");
|
|
667
667
|
}
|
|
668
668
|
}, [E, d, o, s, a, k]), L = q(async (y, X = !0) => {
|
|
669
669
|
var v, J;
|
|
@@ -672,13 +672,13 @@ const fr = () => {
|
|
|
672
672
|
const z = d();
|
|
673
673
|
if (!z) return;
|
|
674
674
|
let F = E.current[z];
|
|
675
|
-
const
|
|
676
|
-
|
|
675
|
+
const G = await f(F);
|
|
676
|
+
G && ((v = o.chatInput) != null && v.blockSpam && h(!0), S.current = x.current, R(!1), setTimeout(() => {
|
|
677
677
|
b(!0);
|
|
678
678
|
}, 400), m(!1), setTimeout(async () => {
|
|
679
|
-
var
|
|
680
|
-
const
|
|
681
|
-
await Xo(
|
|
679
|
+
var $;
|
|
680
|
+
const Z = { prevPath: u(), currPath: d(), goToPath: p, setTextAreaValue: _, userInput: T.current, injectMessage: s, simulateStreamMessage: a, streamMessage: c, removeMessage: A, endStreamMessage: i, toggleChatWindow: U, showToast: M, dismissToast: D }, le = l.current.length;
|
|
681
|
+
await Xo(G, Z), l.current.length === le && (h("chatDisabled" in F ? !!F.chatDisabled : !(($ = o.chatInput) == null || !$.disabled)), Vo(F, Z, m), w(typeof F.file == "function"), R(S.current), b(!1));
|
|
682
682
|
}, (J = o.chatInput) == null ? void 0 : J.botDelay));
|
|
683
683
|
}, [B, (e = o.chatInput) == null ? void 0 : e.blockSpam, (t = o.chatInput) == null ? void 0 : t.botDelay, (r = o.chatInput) == null ? void 0 : r.disabled, S, x, R, O, u, d, p, s, a, c, A, i, U, M, D, E]);
|
|
684
684
|
return { handleSubmitText: q(async (y, X = !0) => {
|
|
@@ -695,9 +695,9 @@ const fr = () => {
|
|
|
695
695
|
const n = navigator.userAgent, o = !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n), i = window.innerWidth >= 768;
|
|
696
696
|
return o && i;
|
|
697
697
|
}, [(e = t.device) == null ? void 0 : e.applyMobileOptimizations]);
|
|
698
|
-
},
|
|
698
|
+
}, Fa = ({ buttons: e }) => {
|
|
699
699
|
var t, r, n, o, i, s, A, a, c, l, d;
|
|
700
|
-
const u = mn(), { settings: p } = ne(), { styles: f } =
|
|
700
|
+
const u = mn(), { settings: p } = ne(), { styles: f } = ce(), { textAreaDisabled: m, textAreaSensitiveMode: h, inputLength: b, hasFlowStarted: w, setHasFlowStarted: g, setInputLength: x } = ve(), { inputRef: k } = be(), [E, C] = te(!1), [S, T] = te(!1), { handleSubmitText: B } = Tt(), { setTextAreaValue: M } = vt(), D = { boxSizing: u ? "content-box" : "border-box", ...f.chatInputAreaStyle }, Q = { outline: m ? "" : "none", boxShadow: m ? "" : `0 0 5px ${(t = p.general) == null ? void 0 : t.primaryColor}`, boxSizing: u ? "content-box" : "border-box", ...f.chatInputAreaStyle, ...f.chatInputAreaFocusedStyle }, R = { cursor: `url("${(r = p.general) == null ? void 0 : r.actionDisabledIcon}"), auto`, caretColor: "transparent", boxSizing: u ? "content-box" : "border-box", ...f.chatInputAreaStyle, ...f.chatInputAreaDisabledStyle }, _ = { color: "#989898", ...f.characterLimitStyle }, U = { color: "#ff0000", ...f.characterLimitReachedStyle }, O = m ? (n = p.chatInput) == null ? void 0 : n.disabledPlaceholderText : (o = p.chatInput) == null ? void 0 : o.enabledPlaceholderText, L = () => {
|
|
701
701
|
m || C(!0);
|
|
702
702
|
}, y = () => {
|
|
703
703
|
C(!1);
|
|
@@ -706,27 +706,27 @@ const fr = () => {
|
|
|
706
706
|
}, v = () => {
|
|
707
707
|
T(!1);
|
|
708
708
|
}, J = async (F) => {
|
|
709
|
-
var
|
|
709
|
+
var G;
|
|
710
710
|
if (!S && F.key === "Enter") {
|
|
711
|
-
if (F.shiftKey) return void ((
|
|
711
|
+
if (F.shiftKey) return void ((G = p.chatInput) != null && G.allowNewline || F.preventDefault());
|
|
712
712
|
F.preventDefault(), await B();
|
|
713
713
|
}
|
|
714
714
|
}, z = (F) => {
|
|
715
715
|
k.current && (M(F.target.value), x(k.current.value.length));
|
|
716
716
|
};
|
|
717
|
-
return
|
|
718
|
-
var
|
|
719
|
-
F.stopPropagation(), !w && ((
|
|
720
|
-
}, style: { ...f.chatInputContainerStyle }, className: "rcb-chat-input", children: [h && (s = p.sensitiveInput) != null && s.maskInTextArea ? P("input", { ref: k, type: "password", className: "rcb-chat-input-textarea", style: m ? R : E ? Q : D, placeholder: O, onChange: z, onKeyDown: J, onFocus: L, onBlur: y, onCompositionStart: X, onCompositionEnd: v }) : P("textarea", { ref: k, style: m ? R : E ? Q : D, rows: 1, className: "rcb-chat-input-textarea", placeholder: O, onChange: z, onKeyDown: J, onFocus: L, onBlur: y, onCompositionStart: X, onCompositionEnd: v }),
|
|
721
|
-
},
|
|
717
|
+
return ue("div", { "aria-label": ((i = p.ariaLabel) == null ? void 0 : i.inputTextArea) ?? "input text area", role: "textbox", onMouseDown: (F) => {
|
|
718
|
+
var G;
|
|
719
|
+
F.stopPropagation(), !w && ((G = p.general) == null ? void 0 : G.flowStartTrigger) === "ON_CHATBOT_INTERACT" && g(!0);
|
|
720
|
+
}, style: { ...f.chatInputContainerStyle }, className: "rcb-chat-input", children: [h && (s = p.sensitiveInput) != null && s.maskInTextArea ? P("input", { ref: k, type: "password", className: "rcb-chat-input-textarea", style: m ? R : E ? Q : D, placeholder: O, onChange: z, onKeyDown: J, onFocus: L, onBlur: y, onCompositionStart: X, onCompositionEnd: v }) : P("textarea", { ref: k, style: m ? R : E ? Q : D, rows: 1, className: "rcb-chat-input-textarea", placeholder: O, onChange: z, onKeyDown: J, onFocus: L, onBlur: y, onCompositionStart: X, onCompositionEnd: v }), ue(Pe, { children: [e == null ? void 0 : e.map((F, G) => P(ur, { children: F }, G)), ((A = p.chatInput) == null ? void 0 : A.showCharacterCount) && ((a = p.chatInput) == null ? void 0 : a.characterLimit) != null && ((c = p.chatInput) == null ? void 0 : c.characterLimit) > 0 && ue("div", { className: "rcb-chat-input-char-counter", style: b >= ((l = p.chatInput) == null ? void 0 : l.characterLimit) ? U : _, children: [b, "/", (d = p.chatInput) == null ? void 0 : d.characterLimit] })] })] });
|
|
721
|
+
}, za = ({ buttons: e }) => {
|
|
722
722
|
var t;
|
|
723
|
-
const { settings: r } = ne(), { styles: n } =
|
|
724
|
-
return
|
|
725
|
-
},
|
|
723
|
+
const { settings: r } = ne(), { styles: n } = ce();
|
|
724
|
+
return ue("div", { "data-testid": "chatbot-footer-container", style: { ...n.footerStyle }, className: "rcb-chat-footer-container", children: [P("div", { className: "rcb-chat-footer", children: e == null ? void 0 : e.map((o, i) => P(ur, { children: o }, i)) }), P("span", { children: (t = r.footer) == null ? void 0 : t.text })] });
|
|
725
|
+
}, ja = () => {
|
|
726
726
|
var e, t, r, n, o, i, s;
|
|
727
|
-
const { settings: A } = ne(), { styles: a } =
|
|
727
|
+
const { settings: A } = ne(), { styles: a } = ce(), { unreadCount: c } = ve(), { isChatWindowOpen: l, toggleChatWindow: d } = Re(), [u, p] = te(!1), f = { backgroundImage: `linear-gradient(to right, ${(e = A.general) == null ? void 0 : e.secondaryColor},
|
|
728
728
|
${(t = A.general) == null ? void 0 : t.primaryColor})`, ...a.chatButtonStyle }, m = { transform: "scale(1.05)", ...f, ...a.chatButtonHoveredStyle }, h = { backgroundImage: `url(${(r = A.chatButton) == null ? void 0 : r.icon})`, fill: "#fff", width: 75, height: 75, ...a.chatIconStyle };
|
|
729
|
-
return P(Pe, { children: !((n = A.general) != null && n.embedded) &&
|
|
729
|
+
return P(Pe, { children: !((n = A.general) != null && n.embedded) && ue("div", { "aria-label": ((o = A.ariaLabel) == null ? void 0 : o.chatButton) ?? "open chat", role: "button", style: u ? m : f, className: "rcb-toggle-button " + (l ? "rcb-button-hide" : "rcb-button-show"), onMouseEnter: () => {
|
|
730
730
|
p(!0);
|
|
731
731
|
}, onMouseLeave: () => {
|
|
732
732
|
p(!1);
|
|
@@ -735,9 +735,9 @@ const fr = () => {
|
|
|
735
735
|
const w = (b = A.chatButton) == null ? void 0 : b.icon;
|
|
736
736
|
return w && typeof w != "string" ? w && P("span", { className: "rcb-toggle-icon", children: P(w, { style: h }) }) : P("span", { className: "rcb-toggle-icon", style: h });
|
|
737
737
|
})(), !((i = A.notification) != null && i.disabled) && ((s = A.notification) == null ? void 0 : s.showCount) && P("span", { style: { ...a.notificationBadgeStyle }, className: "rcb-badge", children: c })] }) });
|
|
738
|
-
},
|
|
738
|
+
}, qa = () => {
|
|
739
739
|
var e, t, r, n, o, i;
|
|
740
|
-
const s = mn(), { settings: A } = ne(), { styles: a } =
|
|
740
|
+
const s = mn(), { settings: A } = ne(), { styles: a } = ce(), { chatBodyRef: c } = be(), { isChatWindowOpen: l, toggleChatWindow: d } = Re(), [u, p] = te(!1), [f, m] = te(!1), [h, b] = te(0);
|
|
741
741
|
re(() => {
|
|
742
742
|
var x, k, E;
|
|
743
743
|
const C = (x = A.tooltip) == null ? void 0 : x.mode;
|
|
@@ -748,10 +748,10 @@ const fr = () => {
|
|
|
748
748
|
else C === "NEVER" ? p(!1) : C === "START" ? f ? p(!1) : (m(!0), p(!0)) : C === "CLOSE" && p(!l);
|
|
749
749
|
}, [l, s, f, (e = a.chatButtonStyle) == null ? void 0 : e.width, (t = A.tooltip) == null ? void 0 : t.mode]);
|
|
750
750
|
const w = { transform: `translateX(-${h}px)`, right: (((r = a.chatButtonStyle) == null ? void 0 : r.width) ?? 75) + 40, bottom: 30, backgroundColor: (n = A.general) == null ? void 0 : n.secondaryColor, color: "#fff", ...a.tooltipStyle }, g = { borderColor: `transparent transparent transparent ${w.backgroundColor}` };
|
|
751
|
-
return P(Pe, { children: !((o = A.general) != null && o.embedded) &&
|
|
752
|
-
},
|
|
751
|
+
return P(Pe, { children: !((o = A.general) != null && o.embedded) && ue("div", { "data-testid": "chat-tooltip", style: w, className: "rcb-chat-tooltip " + (u ? "rcb-tooltip-show" : "rcb-tooltip-hide"), onClick: () => d(!0), children: [P("span", { children: (i = A.tooltip) == null ? void 0 : i.text }), P("span", { className: "rcb-chat-tooltip-tail", style: g })] }) });
|
|
752
|
+
}, Ga = ({ id: e, content: t, timeout: r }) => {
|
|
753
753
|
var n, o;
|
|
754
|
-
const { settings: i } = ne(), { styles: s } =
|
|
754
|
+
const { settings: i } = ne(), { styles: s } = ce(), [A] = te({ toastPromptStyle: { ...s.toastPromptStyle }, toastPromptHoveredStyle: { ...s.toastPromptHoveredStyle } }), { dismissToast: a } = It(), [c, l] = te(!1), d = { color: (n = i.general) == null ? void 0 : n.primaryColor, borderColor: (o = i.general) == null ? void 0 : o.primaryColor, ...A.toastPromptHoveredStyle };
|
|
755
755
|
return re(() => {
|
|
756
756
|
if (r) {
|
|
757
757
|
const u = setTimeout(() => {
|
|
@@ -767,14 +767,14 @@ const fr = () => {
|
|
|
767
767
|
var p;
|
|
768
768
|
(p = i.toast) != null && p.dismissOnClick && (u.preventDefault(), await a(e));
|
|
769
769
|
}, className: "rcb-toast-prompt", children: t }) : P(Pe, { children: t });
|
|
770
|
-
},
|
|
770
|
+
}, Ya = () => {
|
|
771
771
|
var e, t, r, n, o, i, s, A, a, c, l, d;
|
|
772
|
-
const { styles: u } =
|
|
773
|
-
return P("div", { className: "rcb-toast-prompt-container", style: f, children: p.map((m) => P(
|
|
772
|
+
const { styles: u } = ce(), { toasts: p } = ni(), f = { bottom: `calc(${typeof ((e = u.footerStyle) == null ? void 0 : e.height) == "number" ? `${(t = u.footerStyle) == null ? void 0 : t.height}px` : ((r = u.footerStyle) == null ? void 0 : r.height) ?? "50px"} + ${typeof ((n = u.chatInputContainerStyle) == null ? void 0 : n.height) == "number" ? `${(o = u.chatInputContainerStyle) == null ? void 0 : o.height}px` : ((i = u.chatInputContainerStyle) == null ? void 0 : i.height) ?? "70px"} + 20px)`, width: 300, minWidth: `calc(${typeof ((s = u.chatWindowStyle) == null ? void 0 : s.width) == "number" ? `${(A = u.chatWindowStyle) == null ? void 0 : A.width}px` : ((a = u.chatWindowStyle) == null ? void 0 : a.width) ?? "375px"} / 2)`, maxWidth: `calc(${typeof ((c = u.chatWindowStyle) == null ? void 0 : c.width) == "number" ? `${(l = u.chatWindowStyle) == null ? void 0 : l.width}px` : ((d = u.chatWindowStyle) == null ? void 0 : d.width) ?? "375px"} - 50px)`, ...u.toastPromptContainerStyle };
|
|
773
|
+
return P("div", { className: "rcb-toast-prompt-container", style: f, children: p.map((m) => P(Ga, { id: m.id, content: m.content, timeout: m.timeout }, m.id)) });
|
|
774
774
|
}, ri = ({ file: e, fileType: t, fileUrl: r }) => {
|
|
775
775
|
var n, o, i;
|
|
776
|
-
const { settings: s } = ne(), { styles: A } =
|
|
777
|
-
return P(Pe, { children: r ?
|
|
776
|
+
const { settings: s } = ne(), { styles: A } = ce(), a = { backgroundColor: (n = s.general) == null ? void 0 : n.primaryColor, maxWidth: (o = s.userBubble) != null && o.showAvatar ? "65%" : "70%", ...A.mediaDisplayContainerStyle };
|
|
777
|
+
return P(Pe, { children: r ? ue(Pe, { children: [t === "image" && r && P("div", { style: a, className: "rcb-media-display-image-container rcb-media-entry", "data-testid": "media-display-image-container", children: P("img", { src: r, alt: "Image Display", className: "rcb-media-display-image" }) }), t === "video" && r && P("div", { style: a, className: "rcb-media-display-video-container rcb-media-entry", "data-testid": "media-display-video-container", children: ue("video", { controls: !0, className: "rcb-media-display-video", children: [P("source", { src: r, type: e.type }), "Your browser does not support the video tag."] }) }), t === "audio" && r && ue("audio", { "data-testid": "media-display-audio-container", style: { maxWidth: (i = s.userBubble) != null && i.showAvatar ? "65%" : "70%" }, controls: !0, className: "rcb-media-display-audio rcb-media-entry", children: [P("source", { src: r, type: e.type }), "Your browser does not support the audio tag."] })] }) : P(Pe, {}) });
|
|
778
778
|
}, oi = async (e) => {
|
|
779
779
|
if (!e) return { fileType: null, fileUrl: null };
|
|
780
780
|
const t = e.type.split("/")[0];
|
|
@@ -787,10 +787,10 @@ const fr = () => {
|
|
|
787
787
|
} catch (r) {
|
|
788
788
|
return console.error(r), { fileType: null, fileUrl: null };
|
|
789
789
|
}
|
|
790
|
-
},
|
|
790
|
+
}, Wa = () => {
|
|
791
791
|
var e, t, r, n, o, i;
|
|
792
|
-
const { settings: s } = ne(), { styles: A } =
|
|
793
|
-
return
|
|
792
|
+
const { settings: s } = ne(), { styles: A } = ce(), { injectMessage: a, simulateStreamMessage: c, streamMessage: l, removeMessage: d, endStreamMessage: u } = bt(), { getCurrPath: p, getPrevPath: f, goToPath: m, blockAllowsAttachment: h } = gn(), { flowRef: b, inputRef: w } = be(), g = b.current, { showToast: x, dismissToast: k } = It(), { dispatchRcbEvent: E } = Ge(), { toggleChatWindow: C } = Re(), { setTextAreaValue: S } = vt(), { handleSubmitText: T } = Tt(), B = { cursor: `url("${(e = s.general) == null ? void 0 : e.actionDisabledIcon}"), auto`, ...A.fileAttachmentButtonStyle, ...A.fileAttachmentButtonDisabledStyle }, M = { backgroundImage: `url(${(t = s.fileAttachment) == null ? void 0 : t.icon})`, fill: "#a6a6a6", ...A.fileAttachmentIconStyle }, D = { backgroundImage: `url(${(r = s.fileAttachment) == null ? void 0 : r.icon})`, fill: "#a6a6a6", ...A.fileAttachmentIconStyle, ...A.fileAttachmentIconDisabledStyle };
|
|
793
|
+
return ue("label", { "aria-label": ((n = s.ariaLabel) == null ? void 0 : n.fileAttachmentButton) ?? "upload file", role: "button", className: h ? "rcb-attach-button-enabled" : "rcb-attach-button-disabled", style: h ? { ...A.fileAttachmentButtonStyle } : B, children: [P("input", { className: "rcb-attach-input", role: "file", type: "file", onChange: async (Q) => {
|
|
794
794
|
var R, _, U, O;
|
|
795
795
|
const L = Q.target.files;
|
|
796
796
|
if (!L) return;
|
|
@@ -805,8 +805,8 @@ const fr = () => {
|
|
|
805
805
|
const z = [];
|
|
806
806
|
for (let F = 0; F < y.length; F++) {
|
|
807
807
|
if (z.push(y[F].name), (_ = s.fileAttachment) == null || !_.showMediaDisplay) continue;
|
|
808
|
-
const
|
|
809
|
-
!
|
|
808
|
+
const G = await oi(y[F]);
|
|
809
|
+
!G.fileType || !G.fileUrl || await a(P(ri, { file: y[F], fileType: G.fileType, fileUrl: G.fileUrl }), "USER");
|
|
810
810
|
}
|
|
811
811
|
await T("📄 " + z.join(", "), (U = s.fileAttachment) == null ? void 0 : U.sendFileName), await J({ userInput: (O = w.current) == null ? void 0 : O.value, prevPath: f(), currPath: p(), goToPath: m, setTextAreaValue: S, injectMessage: a, simulateStreamMessage: c, streamMessage: l, removeMessage: d, endStreamMessage: u, toggleChatWindow: C, showToast: x, dismissToast: k, files: y });
|
|
812
812
|
}
|
|
@@ -815,9 +815,9 @@ const fr = () => {
|
|
|
815
815
|
const _ = h ? (Q = s.fileAttachment) == null ? void 0 : Q.icon : (R = s.fileAttachment) == null ? void 0 : R.iconDisabled;
|
|
816
816
|
return _ && typeof _ != "string" ? _ && P("span", { className: h ? "rcb-attach-icon-enabled" : "rcb-attach-icon-disabled", children: P(_, { style: h ? M : D }) }) : P("span", { className: h ? "rcb-attach-icon-enabled" : "rcb-attach-icon-disabled", style: h ? M : D });
|
|
817
817
|
})()] });
|
|
818
|
-
},
|
|
818
|
+
}, Va = () => {
|
|
819
819
|
var e, t, r, n, o, i;
|
|
820
|
-
const { settings: s } = ne(), { styles: A } =
|
|
820
|
+
const { settings: s } = ne(), { styles: A } = ce(), { syncedTextAreaDisabledRef: a } = ve(), { inputRef: c } = be(), { textAreaDisabled: l, setTextAreaValue: d } = vt(), u = Ae(null), p = Ae(null), [f, m] = te(!1), h = { cursor: `url("${(e = s.general) == null ? void 0 : e.actionDisabledIcon}"), auto`, ...A.emojiButtonStyle, ...A.emojiButtonDisabledStyle }, b = { backgroundImage: `url(${(t = s.emoji) == null ? void 0 : t.icon})`, fill: "#a6a6a6", ...A.emojiIconStyle }, w = { backgroundImage: `url(${(r = s.emoji) == null ? void 0 : r.icon})`, fill: "#a6a6a6", ...A.emojiIconStyle, ...A.emojiIconDisabledStyle };
|
|
821
821
|
return re(() => {
|
|
822
822
|
const g = (k) => {
|
|
823
823
|
const E = k.composedPath();
|
|
@@ -833,7 +833,7 @@ const fr = () => {
|
|
|
833
833
|
return document.addEventListener("mousedown", g), window.addEventListener("resize", x), () => {
|
|
834
834
|
document.removeEventListener("mousedown", g), window.removeEventListener("resize", x);
|
|
835
835
|
};
|
|
836
|
-
}, []),
|
|
836
|
+
}, []), ue(Pe, { children: [P("div", { "aria-label": ((n = s.ariaLabel) == null ? void 0 : n.emojiButton) ?? "emoji picker", role: "button", ref: p, className: l ? "rcb-emoji-button-disabled" : "rcb-emoji-button-enabled", style: l ? h : { ...A.emojiButtonStyle }, onMouseDown: (g) => {
|
|
837
837
|
g.preventDefault(), a.current ? m(!1) : m((x) => !x);
|
|
838
838
|
}, children: (() => {
|
|
839
839
|
var g, x;
|
|
@@ -849,9 +849,9 @@ const fr = () => {
|
|
|
849
849
|
}
|
|
850
850
|
}, 50)), m(!1);
|
|
851
851
|
})(k, g), children: g }, x)) })] });
|
|
852
|
-
},
|
|
852
|
+
}, Xa = () => {
|
|
853
853
|
var e, t, r;
|
|
854
|
-
const { settings: n } = ne(), { styles: o } =
|
|
854
|
+
const { settings: n } = ne(), { styles: o } = ce(), { audioToggledOn: i, toggleAudio: s } = ei(), A = { backgroundImage: `url(${(e = n.audio) == null ? void 0 : e.icon})`, fill: "#fcec3d", ...o.audioIconStyle }, a = { backgroundImage: `url(${(t = n.audio) == null ? void 0 : t.iconDisabled})`, fill: "#e8eaed", ...o.audioIconStyle, ...o.audioIconDisabledStyle };
|
|
855
855
|
return P("div", { "aria-label": ((r = n.ariaLabel) == null ? void 0 : r.audioButton) ?? "toggle audio", role: "button", onMouseDown: async (c) => {
|
|
856
856
|
c.preventDefault(), await s();
|
|
857
857
|
}, style: i ? { ...o.audioButtonStyle } : { ...o.audioButtonStyle, ...o.audioButtonDisabledStyle }, children: (() => {
|
|
@@ -859,9 +859,9 @@ const fr = () => {
|
|
|
859
859
|
const d = i ? (c = n.audio) == null ? void 0 : c.icon : (l = n.audio) == null ? void 0 : l.iconDisabled;
|
|
860
860
|
return d && typeof d != "string" ? d && P("span", { className: "rcb-audio-icon", "data-testid": "rcb-audio-icon", children: P(d, { style: i ? A : a, "data-testid": "rcb-audio-icon-svg" }) }) : P("span", { className: "rcb-audio-icon", "data-testid": "rcb-audio-icon", style: i ? A : a });
|
|
861
861
|
})() });
|
|
862
|
-
},
|
|
862
|
+
}, Ka = () => {
|
|
863
863
|
var e, t;
|
|
864
|
-
const { settings: r } = ne(), { styles: n } =
|
|
864
|
+
const { settings: r } = ne(), { styles: n } = ce(), { toggleChatWindow: o } = Re(), i = { backgroundImage: `url(${(e = r.header) == null ? void 0 : e.closeChatIcon})`, fill: "#e8eaed", stroke: "#e8eaed", ...n.closeChatIconStyle };
|
|
865
865
|
return P("div", { "aria-label": ((t = r.ariaLabel) == null ? void 0 : t.closeChatButton) ?? "close chat", role: "button", onMouseDown: (s) => {
|
|
866
866
|
s.stopPropagation(), o(!1);
|
|
867
867
|
}, style: { ...n.closeChatButtonStyle }, children: (() => {
|
|
@@ -869,9 +869,9 @@ const fr = () => {
|
|
|
869
869
|
const A = (s = r.header) == null ? void 0 : s.closeChatIcon;
|
|
870
870
|
return A && typeof A != "string" ? A && P("span", { className: "rcb-close-chat-icon", "data-testid": "rcb-close-chat-icon", children: P(A, { style: i }) }) : P("span", { className: "rcb-close-chat-icon", "data-testid": "rcb-close-chat-icon", style: i });
|
|
871
871
|
})() });
|
|
872
|
-
},
|
|
872
|
+
}, Ja = () => {
|
|
873
873
|
var e, t, r;
|
|
874
|
-
const { settings: n } = ne(), { styles: o } =
|
|
874
|
+
const { settings: n } = ne(), { styles: o } = ce(), { notificationsToggledOn: i, toggleNotifications: s } = (() => {
|
|
875
875
|
const { notificationsToggledOn: c, toggleNotifications: l, playNotificationSound: d } = pr();
|
|
876
876
|
return { notificationsToggledOn: c, toggleNotifications: l, playNotificationSound: d };
|
|
877
877
|
})(), A = { backgroundImage: `url(${(e = n.notification) == null ? void 0 : e.icon})`, fill: "#fcec3d", ...o.notificationIconStyle }, a = { backgroundImage: `url(${(t = n.notification) == null ? void 0 : t.iconDisabled})`, fill: "#e8eaed", ...o.notificationIconStyle, ...o.notificationIconDisabledStyle };
|
|
@@ -882,16 +882,16 @@ const fr = () => {
|
|
|
882
882
|
const d = i ? (c = n.notification) == null ? void 0 : c.icon : (l = n.notification) == null ? void 0 : l.iconDisabled;
|
|
883
883
|
return d && typeof d != "string" ? d && P("span", { className: "rcb-notification-icon", "data-testid": "rcb-notification-icon", children: P(d, { style: i ? A : a, "data-testid": "rcb-notification-icon-svg" }) }) : P("span", { className: "rcb-notification-icon", "data-testid": "rcb-notification-icon", style: i ? A : a });
|
|
884
884
|
})() });
|
|
885
|
-
},
|
|
885
|
+
}, Za = () => {
|
|
886
886
|
var e, t, r;
|
|
887
|
-
const { settings: n } = ne(), { styles: o } =
|
|
887
|
+
const { settings: n } = ne(), { styles: o } = ce(), { injectMessage: i } = bt(), { inputRef: s } = be(), { voiceToggledOn: A, toggleVoice: a } = gr(), { setInputLength: c, setTextAreaValue: l, textAreaDisabled: d } = vt(), { handleSubmitText: u } = Tt(), p = Ae([]), [f, m] = te(!1);
|
|
888
888
|
re(() => {
|
|
889
889
|
var x;
|
|
890
890
|
(x = n.voice) != null && x.sendAsAudio ? (g(), p.current = []) : u();
|
|
891
891
|
}, [f]), re(() => {
|
|
892
892
|
A ? ((x, k, E, C, S, T, B) => {
|
|
893
893
|
var M;
|
|
894
|
-
(M = x.voice) != null && M.sendAsAudio ?
|
|
894
|
+
(M = x.voice) != null && M.sendAsAudio ? Ha(E, T) : Ra(x, k, E, C, S, B);
|
|
895
895
|
})(n, a, w, l, c, p, s) : hr();
|
|
896
896
|
}, [A]);
|
|
897
897
|
const h = { backgroundImage: `url(${(e = n.voice) == null ? void 0 : e.icon})`, fill: "#9aa0a6", ...o.voiceIconStyle }, b = { backgroundImage: `url(${(t = n.voice) == null ? void 0 : t.iconDisabled})`, fill: "#9aa0a6", ...o.voiceIconStyle, ...o.voiceIconDisabledStyle }, w = () => {
|
|
@@ -907,9 +907,9 @@ const fr = () => {
|
|
|
907
907
|
const E = A ? (x = n.voice) == null ? void 0 : x.icon : (k = n.voice) == null ? void 0 : k.iconDisabled;
|
|
908
908
|
return E && typeof E != "string" ? E && P("span", { className: "rcb-voice-icon " + (A && !d ? "on" : ""), children: P(E, { style: A && !d ? h : b }) }) : P("span", { className: "rcb-voice-icon" + (A && !d ? "-on" : ""), "data-testid": "rcb-voice-icon", style: A && !d ? h : b });
|
|
909
909
|
})() });
|
|
910
|
-
},
|
|
910
|
+
}, $a = () => {
|
|
911
911
|
var e, t, r, n, o, i, s, A;
|
|
912
|
-
const { settings: a } = ne(), { styles: c } =
|
|
912
|
+
const { settings: a } = ne(), { styles: c } = ce(), { textAreaDisabled: l } = ve(), [d, u] = te(!1), { handleSubmitText: p } = Tt(), f = { backgroundColor: (e = a.general) == null ? void 0 : e.primaryColor, ...c.sendButtonStyle }, m = { cursor: `url("${(t = a.general) == null ? void 0 : t.actionDisabledIcon}"), auto`, backgroundColor: (r = a.general) == null ? void 0 : r.primaryColor, ...c.sendButtonStyle, ...c.sendButtonDisabledStyle }, h = { backgroundColor: (n = a.general) == null ? void 0 : n.secondaryColor, ...c.sendButtonStyle, ...c.sendButtonHoveredStyle }, b = { backgroundImage: `url(${(o = a.chatInput) == null ? void 0 : o.sendButtonIcon})`, fill: "#fff", ...c.sendIconStyle }, w = { backgroundImage: `url(${(i = a.chatInput) == null ? void 0 : i.sendButtonIcon})`, fill: "#fff", ...c.sendIconStyle, ...c.sendIconDisabledStyle }, g = { backgroundImage: `url(${(s = a.chatInput) == null ? void 0 : s.sendButtonIcon})`, fill: "#fff", ...c.sendIconStyle, ...c.sendIconHoveredStyle };
|
|
913
913
|
return P("div", { "aria-label": ((A = a.ariaLabel) == null ? void 0 : A.sendButton) ?? "send message", role: "button", onMouseEnter: () => {
|
|
914
914
|
u(!0);
|
|
915
915
|
}, onMouseLeave: () => {
|
|
@@ -921,7 +921,7 @@ const fr = () => {
|
|
|
921
921
|
const k = (x = a.chatInput) == null ? void 0 : x.sendButtonIcon;
|
|
922
922
|
return k && typeof k != "string" ? k && P("span", { className: "rcb-send-icon", "data-testid": "rcb-send-icon", children: P(k, { style: l ? w : d ? g : b }) }) : P("span", { className: "rcb-send-icon", "data-testid": "rcb-send-icon", style: l ? w : d ? g : b });
|
|
923
923
|
})() });
|
|
924
|
-
},
|
|
924
|
+
}, eA = (e, t) => {
|
|
925
925
|
var r, n, o, i, s, A, a, c, l;
|
|
926
926
|
const d = { [ge.AUDIO_BUTTON]: (r = e.audio) == null ? void 0 : r.disabled, [ge.CLOSE_CHAT_BUTTON]: (n = e.general) == null ? void 0 : n.embedded, [ge.EMOJI_PICKER_BUTTON]: (o = e.emoji) == null ? void 0 : o.disabled, [ge.FILE_ATTACHMENT_BUTTON]: (i = e.fileAttachment) == null ? void 0 : i.disabled, [ge.NOTIFICATION_BUTTON]: (s = e.notification) == null ? void 0 : s.disabled, [ge.SEND_MESSAGE_BUTTON]: !1, [ge.VOICE_MESSAGE_BUTTON]: (A = e.voice) == null ? void 0 : A.disabled }, u = {}, p = (f) => f ? f.map((m) => {
|
|
927
927
|
if (typeof m == "string") {
|
|
@@ -939,11 +939,11 @@ const fr = () => {
|
|
|
939
939
|
return m;
|
|
940
940
|
}).filter((m) => m !== null) : [];
|
|
941
941
|
return { header: p((a = e.header) == null ? void 0 : a.buttons), chatInput: p((c = e.chatInput) == null ? void 0 : c.buttons), footer: p((l = e.footer) == null ? void 0 : l.buttons) };
|
|
942
|
-
},
|
|
943
|
-
const { settings: e } = ne(), t = Be(() => ({ [ge.CLOSE_CHAT_BUTTON]: () => P(
|
|
942
|
+
}, tA = () => {
|
|
943
|
+
const { settings: e } = ne(), t = Be(() => ({ [ge.CLOSE_CHAT_BUTTON]: () => P(Ka, {}), [ge.AUDIO_BUTTON]: () => P(Xa, {}), [ge.NOTIFICATION_BUTTON]: () => P(Ja, {}), [ge.EMOJI_PICKER_BUTTON]: () => P(Va, {}), [ge.FILE_ATTACHMENT_BUTTON]: () => P(Wa, {}), [ge.SEND_MESSAGE_BUTTON]: () => P($a, {}), [ge.VOICE_MESSAGE_BUTTON]: () => P(Za, {}) }), []), { header: r, chatInput: n, footer: o } = Be(() => eA(e, t), [e, t]);
|
|
944
944
|
return { headerButtons: Be(() => r, [r]), chatInputButtons: Be(() => n, [n]), footerButtons: Be(() => o, [o]) };
|
|
945
945
|
}, mr = () => {
|
|
946
|
-
const { settings: e } = ne(), { styles: t } =
|
|
946
|
+
const { settings: e } = ne(), { styles: t } = ce(), { setSyncedMessages: r, syncedMessagesRef: n } = dr(), { isLoadingChatHistory: o, setIsLoadingChatHistory: i, hasChatHistoryLoaded: s, setHasChatHistoryLoaded: A } = ve(), { chatBodyRef: a } = be(), { dispatchRcbEvent: c } = Ge(), l = q(async () => {
|
|
947
947
|
var d, u;
|
|
948
948
|
const p = jt();
|
|
949
949
|
if (!p || (d = e.event) != null && d.rcbLoadChatHistory && (await c(j.LOAD_CHAT_HISTORY, {})).defaultPrevented) return;
|
|
@@ -952,7 +952,7 @@ const fr = () => {
|
|
|
952
952
|
((m, h, b, w, g, x, k, E, C) => {
|
|
953
953
|
var S;
|
|
954
954
|
if (Ko = !0, b != null) try {
|
|
955
|
-
const T = lt(P(
|
|
955
|
+
const T = lt(P(Ia, {}), "SYSTEM"), B = g.current.slice(1);
|
|
956
956
|
w([T, ...B]);
|
|
957
957
|
const M = b.map((D) => {
|
|
958
958
|
if (D.type === "object") {
|
|
@@ -964,7 +964,7 @@ const fr = () => {
|
|
|
964
964
|
setTimeout(() => {
|
|
965
965
|
var D;
|
|
966
966
|
const Q = g.current.slice(1);
|
|
967
|
-
let R = (D = m.chatHistory) != null && D.autoLoad ? lt(P(Pe, {}), "SYSTEM") : lt(P(
|
|
967
|
+
let R = (D = m.chatHistory) != null && D.autoLoad ? lt(P(Pe, {}), "SYSTEM") : lt(P(Sa, {}), "SYSTEM");
|
|
968
968
|
w([...M, R, ...Q]), C(!0);
|
|
969
969
|
}, 500), setTimeout(() => {
|
|
970
970
|
if (!x.current) return;
|
|
@@ -977,9 +977,9 @@ const fr = () => {
|
|
|
977
977
|
})(e, t, p, r, n, a, f, i, A);
|
|
978
978
|
}, [e, t, c, n, a, i, A]);
|
|
979
979
|
return { isLoadingChatHistory: o, setIsLoadingChatHistory: i, hasChatHistoryLoaded: s, showChatHistory: l };
|
|
980
|
-
},
|
|
980
|
+
}, nA = () => {
|
|
981
981
|
var e, t, r;
|
|
982
|
-
const { settings: n } = ne(), { styles: o } =
|
|
982
|
+
const { settings: n } = ne(), { styles: o } = ce(), { showChatHistory: i } = mr(), [s, A] = te(!1), a = { color: (e = n.general) == null ? void 0 : e.primaryColor, borderColor: (t = n.general) == null ? void 0 : t.primaryColor, ...o.chatHistoryButtonStyle, ...o.chatHistoryButtonHoveredStyle };
|
|
983
983
|
return P("div", { className: "rcb-view-history-container", children: P("div", { onMouseEnter: () => {
|
|
984
984
|
A(!0);
|
|
985
985
|
}, onMouseLeave: () => {
|
|
@@ -987,7 +987,7 @@ const fr = () => {
|
|
|
987
987
|
}, style: s ? a : { ...o.chatHistoryButtonStyle }, onMouseDown: (c) => {
|
|
988
988
|
c.preventDefault(), i();
|
|
989
989
|
}, className: "rcb-view-history-button", role: "button", tabIndex: 0, children: P("p", { children: (r = n.chatHistory) == null ? void 0 : r.viewChatHistoryButtonText }) }) });
|
|
990
|
-
},
|
|
990
|
+
}, rA = () => {
|
|
991
991
|
var e, t, r, n;
|
|
992
992
|
const o = mn(), { settings: i } = ne(), { replaceMessages: s } = bt(), { isBotTyping: A, isChatWindowOpen: a, setUnreadCount: c, setSyncedIsChatWindowOpen: l, setSyncedTextAreaDisabled: d, setSyncedAudioToggledOn: u, setSyncedVoiceToggledOn: p, setSyncedIsScrolling: f, syncedIsScrollingRef: m, syncedIsChatWindowOpenRef: h } = ve(), { chatBodyRef: b } = be(), { viewportHeight: w, setViewportHeight: g, setViewportWidth: x, scrollToBottom: k } = Re(), { setUpNotifications: E } = pr(), { handleFirstInteraction: C } = (() => {
|
|
993
993
|
var M;
|
|
@@ -1000,7 +1000,7 @@ const fr = () => {
|
|
|
1000
1000
|
}, window.speechSynthesis.speak(y);
|
|
1001
1001
|
}, [_, (M = D.general) == null ? void 0 : M.flowStartTrigger]);
|
|
1002
1002
|
return { hasInteractedPage: Q, handleFirstInteraction: O };
|
|
1003
|
-
})(), { showChatHistory: S } = mr(), T =
|
|
1003
|
+
})(), { showChatHistory: S } = mr(), T = Ae(0), B = Ae(!1);
|
|
1004
1004
|
re(() => (window.addEventListener("click", C), window.addEventListener("keydown", C), window.addEventListener("touchstart", C), () => {
|
|
1005
1005
|
window.removeEventListener("click", C), window.removeEventListener("keydown", C), window.removeEventListener("touchstart", C);
|
|
1006
1006
|
}), []), re(() => {
|
|
@@ -1032,7 +1032,7 @@ const fr = () => {
|
|
|
1032
1032
|
var M, D;
|
|
1033
1033
|
if ((M = i.chatHistory) != null && M.disabled) ut && ut.removeItem(cn);
|
|
1034
1034
|
else if (Wn(i), jt().length > 0) {
|
|
1035
|
-
const Q = lt(P(
|
|
1035
|
+
const Q = lt(P(nA, {}), "SYSTEM");
|
|
1036
1036
|
s([Q]), (D = i.chatHistory) != null && D.autoLoad && S();
|
|
1037
1037
|
}
|
|
1038
1038
|
}, [(t = i.chatHistory) == null ? void 0 : t.storageKey, (r = i.chatHistory) == null ? void 0 : r.maxEntries, (n = i.chatHistory) == null ? void 0 : n.disabled]), re(() => {
|
|
@@ -1064,8 +1064,8 @@ const fr = () => {
|
|
|
1064
1064
|
};
|
|
1065
1065
|
return a ? (L(), document.body.style.position = "fixed", window.addEventListener("scroll", _), (Q = window.visualViewport) == null || Q.addEventListener("resize", O)) : (document.body.style.position = "static", L(), window.scrollTo({ top: T.current, left: 0, behavior: "auto" }), window.addEventListener("scroll", U), (R = window.visualViewport) == null || R.removeEventListener("resize", O)), L;
|
|
1066
1066
|
}, [a, o]);
|
|
1067
|
-
},
|
|
1068
|
-
const { id: r, version: n, baseUrl: o =
|
|
1067
|
+
}, oA = "https://cdn.jsdelivr.net/gh/react-chatbotify/community-themes/themes", iA = "2592000", _r = "RCB_THEME_CACHE_DATA", Lr = async (e, t) => {
|
|
1068
|
+
const { id: r, version: n, baseUrl: o = oA, cacheDuration: i = iA } = t, s = n || await (async (b, w) => {
|
|
1069
1069
|
const g = `${w}/${b}/meta.json`;
|
|
1070
1070
|
try {
|
|
1071
1071
|
const x = await fetch(g);
|
|
@@ -1106,7 +1106,7 @@ const fr = () => {
|
|
|
1106
1106
|
const n = r.trim();
|
|
1107
1107
|
return n.startsWith("@import") || n.startsWith("@keyframes") || n.startsWith("@media") ? n : n ? `#${e} ${n}` : "";
|
|
1108
1108
|
}).join(`
|
|
1109
|
-
`),
|
|
1109
|
+
`), aA = async (e, t, r, n) => {
|
|
1110
1110
|
var o, i;
|
|
1111
1111
|
let s = un(Uo), A = un(zo), a = "";
|
|
1112
1112
|
if (n != null) if (Array.isArray(n)) for (const c of n) {
|
|
@@ -1162,17 +1162,17 @@ const fr = () => {
|
|
|
1162
1162
|
}, [r]);
|
|
1163
1163
|
return { settings: e, replaceSettings: o, updateSettings: n };
|
|
1164
1164
|
}, ai = () => {
|
|
1165
|
-
const { styles: e, setSyncedStyles: t, syncedStylesRef: r } =
|
|
1165
|
+
const { styles: e, setSyncedStyles: t, syncedStylesRef: r } = ce(), n = q((i) => {
|
|
1166
1166
|
!i || Object.keys(i).length === 0 || t(un(Je(i, e)));
|
|
1167
1167
|
}, [e]), o = q((i) => {
|
|
1168
1168
|
const s = typeof i == "function" ? i(r.current) : i;
|
|
1169
1169
|
t(s);
|
|
1170
1170
|
}, [r]);
|
|
1171
1171
|
return { styles: e, replaceStyles: o, updateStyles: n };
|
|
1172
|
-
},
|
|
1172
|
+
}, AA = ({ plugins: e, slots: t }) => {
|
|
1173
1173
|
var r, n;
|
|
1174
|
-
const o = mn(), { settings: i } = ne(), { styles: s } =
|
|
1175
|
-
|
|
1174
|
+
const o = mn(), { settings: i } = ne(), { styles: s } = ce(), { hasFlowStarted: A, setHasFlowStarted: a } = ve(), { inputRef: c } = be(), { viewportHeight: l, viewportWidth: d, isChatWindowOpen: u } = Re(), { goToPath: p } = gn(), { headerButtons: f, chatInputButtons: m, footerButtons: h } = tA();
|
|
1175
|
+
rA(), ((w) => {
|
|
1176
1176
|
const { updateSettings: g } = ii(), { updateStyles: x } = ai(), k = w == null ? void 0 : w.map((E) => E());
|
|
1177
1177
|
re(() => {
|
|
1178
1178
|
let E = {}, C = {};
|
|
@@ -1192,10 +1192,10 @@ const fr = () => {
|
|
|
1192
1192
|
return P(Pe, { children: (() => {
|
|
1193
1193
|
var w, g;
|
|
1194
1194
|
return o && ((w = i.device) == null ? void 0 : w.desktopEnabled) || !o && ((g = i.device) == null ? void 0 : g.mobileEnabled);
|
|
1195
|
-
})() &&
|
|
1195
|
+
})() && ue("div", { onMouseDown: (w) => {
|
|
1196
1196
|
var g, x;
|
|
1197
1197
|
!A && ((g = i.general) == null ? void 0 : g.flowStartTrigger) === "ON_CHATBOT_INTERACT" && a(!0), o ? (x = c.current) == null || x.blur() : w == null || w.preventDefault();
|
|
1198
|
-
}, className: b, children: [P(
|
|
1198
|
+
}, className: b, children: [P(qa, {}), P(ja, {}), u && !o && !((n = i.general) != null && n.embedded) && ue(Pe, { children: [P("style", { children: `
|
|
1199
1199
|
html {
|
|
1200
1200
|
overflow: hidden !important;
|
|
1201
1201
|
touch-action: none !important;
|
|
@@ -1206,20 +1206,20 @@ const fr = () => {
|
|
|
1206
1206
|
return o || (w = i.general) != null && w.embedded ? (g = i.general) != null && g.embedded ? { ...s.chatWindowStyle } : { ...s.chatWindowStyle, zIndex: 1e4 } : { ...s.chatWindowStyle, borderRadius: "0px", left: "0px", right: "auto", top: "0px", bottom: "auto", width: `${d}px`, height: `${l}px`, zIndex: 1e4 };
|
|
1207
1207
|
})(), className: "rcb-chat-window", children: (() => {
|
|
1208
1208
|
var w, g, x;
|
|
1209
|
-
const k = (t == null ? void 0 : t.chatBotHeader) ||
|
|
1210
|
-
return
|
|
1209
|
+
const k = (t == null ? void 0 : t.chatBotHeader) || la, E = (t == null ? void 0 : t.chatBotBody) || ba, C = (t == null ? void 0 : t.chatBotInput) || Fa, S = (t == null ? void 0 : t.chatBotFooter) || za;
|
|
1210
|
+
return ue(Pe, { children: [((w = i.general) == null ? void 0 : w.showHeader) && P(k, { buttons: f }), P(E, {}), P(Ya, {}), ((g = i.general) == null ? void 0 : g.showInputRow) && P(C, { buttons: m }), ((x = i.general) == null ? void 0 : x.showFooter) && P(S, { buttons: h })] });
|
|
1211
1211
|
})() })] }) });
|
|
1212
1212
|
}, Ai = nt(void 0), si = () => rt(Ai), li = ({ children: e }) => {
|
|
1213
1213
|
var t;
|
|
1214
|
-
const r =
|
|
1214
|
+
const r = Ae(""), n = Ae({}), [o, i, s] = Le({}), [A, a, c] = Le({}), [l, d] = te(!1);
|
|
1215
1215
|
return re(() => {
|
|
1216
1216
|
d(!0);
|
|
1217
1217
|
}, []), l ? P("div", { style: { fontFamily: (t = o.general) == null ? void 0 : t.fontFamily }, children: P(Ai.Provider, { value: { loadConfig: async (u, p, f, m, h, b) => {
|
|
1218
1218
|
r.current = u, n.current = p;
|
|
1219
|
-
const w = await
|
|
1219
|
+
const w = await aA(u, f, m, h);
|
|
1220
1220
|
b.current && (b.current.textContent = w.cssStylesText), i(w.settings), a(w.inlineStyles);
|
|
1221
|
-
} }, children: P(
|
|
1222
|
-
},
|
|
1221
|
+
} }, children: P(Aa, { settings: o, setSyncedSettings: i, syncedSettingsRef: s, children: P(sa, { styles: A, setSyncedStyles: a, syncedStylesRef: c, children: P(Ua, { children: P(ca, { botIdRef: r, flowRef: n, children: P(pa, { children: P(ua, { settings: o, children: P(ha, { children: e }) }) }) }) }) }) }) }) }) : null;
|
|
1222
|
+
}, sA = ({ id: e, flow: t, settings: r, styles: n, themes: o, plugins: i, setConfigLoaded: s, styleRootRef: A }) => {
|
|
1223
1223
|
const a = Be(() => e, []), c = si(), { flowRef: l } = be();
|
|
1224
1224
|
return l && l.current !== t && (l.current = t), re(() => {
|
|
1225
1225
|
(async () => {
|
|
@@ -1227,7 +1227,7 @@ const fr = () => {
|
|
|
1227
1227
|
(d = r.event) != null && d.rcbPreLoadChatBot && (await Gn(j.PRE_LOAD_CHATBOT, { botId: a, currPath: null, prevPath: null }, { flow: t, settings: r, styles: n, themes: o, plugins: i })).defaultPrevented || (c != null && c.loadConfig && (await c.loadConfig(a, t, r, n, o, A), s(!0)), (u = r.event) != null && u.rcbPostLoadChatBot && Gn(j.POST_LOAD_CHATBOT, { botId: a, currPath: null, prevPath: null }, { flow: t, settings: r, styles: n, themes: o, plugins: i }));
|
|
1228
1228
|
})();
|
|
1229
1229
|
}, [o]), null;
|
|
1230
|
-
}, Dn = ["Quickstart", "API Docs", "Examples", "Github", "Discord"],
|
|
1230
|
+
}, Dn = ["Quickstart", "API Docs", "Examples", "Github", "Discord"], lA = { 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: Dn, path: "process_options" }, prompt_again: { message: "Do you need any other help?", options: Dn, 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: Dn, path: "process_options" }, process_options: { transition: { duration: 0 }, path: (e) => {
|
|
1231
1231
|
let t = "";
|
|
1232
1232
|
switch (e.userInput) {
|
|
1233
1233
|
case "Quickstart":
|
|
@@ -1251,14 +1251,14 @@ const fr = () => {
|
|
|
1251
1251
|
return e.injectMessage("Sit tight! I'll send you right there!"), setTimeout(() => {
|
|
1252
1252
|
window.open(t);
|
|
1253
1253
|
}, 1e3), "repeat";
|
|
1254
|
-
} }, repeat: { transition: { duration: 3e3 }, path: "prompt_again" } },
|
|
1255
|
-
const A = Be(() => e || "rcb-" + ln(), []), a = t && Object.keys(t).length !== 0 ? t :
|
|
1254
|
+
} }, repeat: { transition: { duration: 3e3 }, path: "prompt_again" } }, cA = ({ id: e, flow: t, settings: r, styles: n, themes: o, plugins: i, slots: s }) => {
|
|
1255
|
+
const A = Be(() => e || "rcb-" + ln(), []), a = t && Object.keys(t).length !== 0 ? t : lA, c = r || {}, l = n || {}, d = i || [], [u, p] = te(!1), f = si(), m = Ae(null), [h, b] = te(o || []);
|
|
1256
1256
|
re(() => {
|
|
1257
1257
|
o && b(o);
|
|
1258
1258
|
}, [o]);
|
|
1259
|
-
const w = () =>
|
|
1260
|
-
return
|
|
1261
|
-
},
|
|
1259
|
+
const w = () => ue(Pe, { children: [P(sA, { styleRootRef: m, id: A, flow: a, settings: c, styles: l, themes: h, plugins: d, setConfigLoaded: p }), u && P(AA, { plugins: i, slots: s })] });
|
|
1260
|
+
return ue(f == null ? li : Pe, { children: [P("style", { ref: m }), P("div", { id: A, children: w() })] });
|
|
1261
|
+
}, uA = () => {
|
|
1262
1262
|
const { getBotId: e } = (() => {
|
|
1263
1263
|
const { botIdRef: t } = be();
|
|
1264
1264
|
return { getBotId: q(() => t.current, [t]) };
|
|
@@ -1276,7 +1276,7 @@ const fr = () => {
|
|
|
1276
1276
|
const { endStreamMessage: e, injectMessage: t, removeMessage: r, simulateStreamMessage: n, streamMessage: o, messages: i, replaceMessages: s, getMessages: A } = bt();
|
|
1277
1277
|
return { endStreamMessage: e, injectMessage: t, removeMessage: r, simulateStreamMessage: n, streamMessage: o, messages: i, replaceMessages: s, getMessages: A };
|
|
1278
1278
|
}, ze = (e, t) => {
|
|
1279
|
-
const { getBotId: r } =
|
|
1279
|
+
const { getBotId: r } = uA();
|
|
1280
1280
|
re(() => {
|
|
1281
1281
|
const n = (o) => {
|
|
1282
1282
|
o.detail.botId === r() && t(o);
|
|
@@ -1301,7 +1301,7 @@ function ht(e) {
|
|
|
1301
1301
|
};
|
|
1302
1302
|
}
|
|
1303
1303
|
["address", "main", "div", "figure", "p", "pre"].forEach(ht({ 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(ht({ content: 8, type: 73 })), ["p", "pre"].forEach(ht({ content: 8, type: 65 })), ["s", "small", "span", "del", "ins"].forEach(ht({ content: 8, type: 9 })), ["article", "aside", "footer", "header", "nav", "section", "blockquote"].forEach(ht({ content: 1, type: 67 })), ["h1", "h2", "h3", "h4", "h5", "h6"].forEach(ht({ content: 8, type: 69 })), ["audio", "canvas", "iframe", "img", "video"].forEach(ht({ type: 89 }));
|
|
1304
|
-
const Xn = Object.freeze(Vn),
|
|
1304
|
+
const Xn = Object.freeze(Vn), dA = ["applet", "base", "body", "command", "embed", "frame", "frameset", "head", "html", "link", "meta", "noscript", "object", "script", "style", "title"], pA = Object.keys(Xn).filter((e) => e !== "canvas" && e !== "iframe"), Rr = 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 }), fA = Object.freeze({ class: "className", colspan: "colSpan", datetime: "dateTime", rowspan: "rowSpan", srclang: "srcLang", srcset: "srcSet", tabindex: "tabIndex" });
|
|
1305
1305
|
function dn() {
|
|
1306
1306
|
return dn = Object.assign || function(e) {
|
|
1307
1307
|
for (var t = 1; t < arguments.length; t++) {
|
|
@@ -1315,7 +1315,7 @@ function pi({ attributes: e = {}, className: t, children: r = null, selfClose: n
|
|
|
1315
1315
|
const i = o;
|
|
1316
1316
|
return n ? H.createElement(i, dn({ className: t }, e)) : H.createElement(i, dn({ className: t }, e), r);
|
|
1317
1317
|
}
|
|
1318
|
-
class
|
|
1318
|
+
class hA {
|
|
1319
1319
|
attribute(t, r) {
|
|
1320
1320
|
return r;
|
|
1321
1321
|
}
|
|
@@ -1323,7 +1323,7 @@ class fA {
|
|
|
1323
1323
|
return r;
|
|
1324
1324
|
}
|
|
1325
1325
|
}
|
|
1326
|
-
function
|
|
1326
|
+
function gA(e) {
|
|
1327
1327
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
1328
1328
|
}
|
|
1329
1329
|
/*!
|
|
@@ -1334,7 +1334,7 @@ function hA(e) {
|
|
|
1334
1334
|
* MIT Licensed
|
|
1335
1335
|
*/
|
|
1336
1336
|
var Hr, Ur;
|
|
1337
|
-
const
|
|
1337
|
+
const mA = gA(function() {
|
|
1338
1338
|
if (Ur) return Hr;
|
|
1339
1339
|
Ur = 1;
|
|
1340
1340
|
var e = /["'&<>]/;
|
|
@@ -1370,23 +1370,23 @@ const gA = hA(function() {
|
|
|
1370
1370
|
function it(e, t, r) {
|
|
1371
1371
|
return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e;
|
|
1372
1372
|
}
|
|
1373
|
-
const
|
|
1374
|
-
class
|
|
1373
|
+
const yA = /(url|image|image-set)\(/i;
|
|
1374
|
+
class bA extends hA {
|
|
1375
1375
|
attribute(t, r) {
|
|
1376
1376
|
return t === "style" && Object.keys(r).forEach((n) => {
|
|
1377
|
-
String(r[n]).match(
|
|
1377
|
+
String(r[n]).match(yA) && delete r[n];
|
|
1378
1378
|
}), r;
|
|
1379
1379
|
}
|
|
1380
1380
|
}
|
|
1381
|
-
const
|
|
1382
|
-
function
|
|
1381
|
+
const vA = /^<(!doctype|(html|head|body)(\s|>))/i, wA = /^(aria-|data-|\w+:)/iu, xA = /{{{(\w+)\/?}}}/;
|
|
1382
|
+
function EA() {
|
|
1383
1383
|
if (!(typeof window > "u" || typeof document > "u")) return document.implementation.createHTMLDocument("Interweave");
|
|
1384
1384
|
}
|
|
1385
1385
|
let fi = class {
|
|
1386
1386
|
constructor(e, t = {}, r = [], n = []) {
|
|
1387
1387
|
var o;
|
|
1388
1388
|
if (it(this, "allowed", void 0), it(this, "banned", void 0), it(this, "blocked", void 0), it(this, "container", void 0), it(this, "content", []), it(this, "props", void 0), it(this, "matchers", void 0), it(this, "filters", void 0), it(this, "keyIndex", void 0), process.env.NODE_ENV !== "production" && e && typeof e != "string") throw new TypeError("Interweave parser requires a valid string.");
|
|
1389
|
-
this.props = t, this.matchers = r, this.filters = [...n, new
|
|
1389
|
+
this.props = t, this.matchers = r, this.filters = [...n, new bA()], this.keyIndex = -1, this.container = this.createContainer(e || ""), this.allowed = new Set((o = t.allowList) !== null && o !== void 0 ? o : pA), this.banned = new Set(dA), this.blocked = new Set(t.blockList);
|
|
1390
1390
|
}
|
|
1391
1391
|
applyAttributeFilters(e, t) {
|
|
1392
1392
|
return this.filters.reduce((r, n) => r !== null && typeof n.attribute == "function" ? n.attribute(e, r) : r, t);
|
|
@@ -1423,12 +1423,12 @@ let fi = class {
|
|
|
1423
1423
|
}
|
|
1424
1424
|
createContainer(e) {
|
|
1425
1425
|
var t;
|
|
1426
|
-
const r = (typeof global < "u" && global.INTERWEAVE_SSR_POLYFILL ||
|
|
1426
|
+
const r = (typeof global < "u" && global.INTERWEAVE_SSR_POLYFILL || EA)();
|
|
1427
1427
|
if (!r) return;
|
|
1428
1428
|
const n = (t = this.props.containerTagName) !== null && t !== void 0 ? t : "body", o = n === "body" || n === "fragment" ? r.body : r.createElement(n);
|
|
1429
|
-
if (e.match(
|
|
1429
|
+
if (e.match(vA)) {
|
|
1430
1430
|
if (process.env.NODE_ENV !== "production") throw new Error("HTML documents as Interweave content are not supported.");
|
|
1431
|
-
} else o.innerHTML = this.convertLineBreaks(this.props.escapeHtml ?
|
|
1431
|
+
} else o.innerHTML = this.convertLineBreaks(this.props.escapeHtml ? mA(e) : e);
|
|
1432
1432
|
return o;
|
|
1433
1433
|
}
|
|
1434
1434
|
extractAttributes(e) {
|
|
@@ -1436,9 +1436,9 @@ let fi = class {
|
|
|
1436
1436
|
let n = 0;
|
|
1437
1437
|
return e.nodeType === 1 && e.attributes && ([...e.attributes].forEach((o) => {
|
|
1438
1438
|
const { name: i, value: s } = o, A = i.toLowerCase(), a = Rr[A] || Rr[i];
|
|
1439
|
-
if (!this.isSafe(e) || !A.match(
|
|
1439
|
+
if (!this.isSafe(e) || !A.match(wA) && (!t && (!a || a === 2) || A.startsWith("on") || s.replace(/(\s|\0|�([9AD]);)/, "").match(/(javascript|vbscript|livescript|xss):/i))) return;
|
|
1440
1440
|
let c = A === "style" ? this.extractStyleAttribute(e) : s;
|
|
1441
|
-
a === 4 ? c = !0 : a === 3 ? c = Number.parseFloat(String(c)) : a !== 5 && (c = String(c)), r[
|
|
1441
|
+
a === 4 ? c = !0 : a === 3 ? c = Number.parseFloat(String(c)) : a !== 5 && (c = String(c)), r[fA[A] || A] = this.applyAttributeFilters(A, c), n += 1;
|
|
1442
1442
|
}), n !== 0) ? r : null;
|
|
1443
1443
|
}
|
|
1444
1444
|
extractStyleAttribute(e) {
|
|
@@ -1504,7 +1504,7 @@ let fi = class {
|
|
|
1504
1504
|
if (!e.includes("{{{")) return e;
|
|
1505
1505
|
const r = [];
|
|
1506
1506
|
let n = e, o = null;
|
|
1507
|
-
for (; o = n.match(
|
|
1507
|
+
for (; o = n.match(xA); ) {
|
|
1508
1508
|
const [i, s] = o, A = o.index, a = i.includes("/");
|
|
1509
1509
|
if (process.env.NODE_ENV !== "production" && !t[s]) throw new Error(`Token "${s}" found but no matching element to replace with.`);
|
|
1510
1510
|
A > 0 && (r.push(n.slice(0, A)), n = n.slice(A));
|
|
@@ -1521,7 +1521,7 @@ let fi = class {
|
|
|
1521
1521
|
return n.length > 0 && r.push(n), r.length === 0 ? "" : r.length === 1 && typeof r[0] == "string" ? r[0] : r;
|
|
1522
1522
|
}
|
|
1523
1523
|
};
|
|
1524
|
-
function
|
|
1524
|
+
function kA(e) {
|
|
1525
1525
|
var t;
|
|
1526
1526
|
const { attributes: r, className: n, containerTagName: o, content: i, emptyContent: s, parsedContent: A, tagName: a, noWrap: c } = e, l = (t = o ?? a) !== null && t !== void 0 ? t : "span", d = l === "fragment" || c;
|
|
1527
1527
|
let u;
|
|
@@ -1532,7 +1532,7 @@ function EA(e) {
|
|
|
1532
1532
|
}
|
|
1533
1533
|
return u || (u = s), d ? H.createElement(H.Fragment, null, u) : H.createElement(pi, { attributes: r, className: n, tagName: l }, u);
|
|
1534
1534
|
}
|
|
1535
|
-
function
|
|
1535
|
+
function PA(e) {
|
|
1536
1536
|
const { attributes: t, className: r, content: n = "", disableFilters: o = !1, disableMatchers: i = !1, emptyContent: s = null, filters: A = [], matchers: a = [], onAfterParse: c = null, onBeforeParse: l = null, tagName: d = "span", noWrap: u = !1, ...p } = e, f = i ? [] : a, m = o ? [] : A, h = l ? [l] : [], b = c ? [c] : [];
|
|
1537
1537
|
f.forEach((k) => {
|
|
1538
1538
|
k.onBeforeParse && h.push(k.onBeforeParse.bind(k)), k.onAfterParse && b.push(k.onAfterParse.bind(k));
|
|
@@ -1546,14 +1546,14 @@ function kA(e) {
|
|
|
1546
1546
|
if (process.env.NODE_ENV !== "production" && !Array.isArray(C)) throw new TypeError("Interweave `onAfterParse` must return an array of strings and React elements.");
|
|
1547
1547
|
return C;
|
|
1548
1548
|
}, g.parse());
|
|
1549
|
-
return H.createElement(
|
|
1549
|
+
return H.createElement(kA, { attributes: t, className: r, containerTagName: e.containerTagName, emptyContent: s, noWrap: u, parsedContent: x.length === 0 ? void 0 : x, tagName: d });
|
|
1550
1550
|
}
|
|
1551
|
-
const
|
|
1551
|
+
const CA = ({ children: e }) => P("div", { style: { whiteSpace: "normal" }, children: P(PA, { content: typeof e == "string" ? e : "" }) }), DA = { autoConfig: !0 }, Fr = (e, t, r) => {
|
|
1552
1552
|
var n;
|
|
1553
1553
|
if (!e.detail.currPath) return !1;
|
|
1554
1554
|
const o = t[e.detail.currPath];
|
|
1555
1555
|
return !!o && (((n = o.renderHtml) == null ? void 0 : n.map((i) => i.toUpperCase()).includes(r)) ?? !1);
|
|
1556
|
-
},
|
|
1556
|
+
}, BA = (e) => {
|
|
1557
1557
|
const t = [];
|
|
1558
1558
|
let r = "", n = !1;
|
|
1559
1559
|
for (let o = 0; o < e.length; o++) {
|
|
@@ -1561,8 +1561,8 @@ const PA = ({ children: e }) => P("div", { style: { whiteSpace: "normal" }, chil
|
|
|
1561
1561
|
i === "<" ? n ? (t.push(r), r = i) : (n = !0, r = i) : i === ">" ? (r += i, t.push(r), r = "", n = !1) : n ? r += i : t.push(i);
|
|
1562
1562
|
}
|
|
1563
1563
|
return r !== "" && t.push(r), t;
|
|
1564
|
-
},
|
|
1565
|
-
const { getFlow: t } = yn(), { messages: r, replaceMessages: n } = Vt(), { settings: o } = ci(), { hasChatHistoryLoaded: i } = di(), s = { ...e, ...
|
|
1564
|
+
}, SA = (e) => {
|
|
1565
|
+
const { getFlow: t } = yn(), { messages: r, replaceMessages: n } = Vt(), { settings: o } = ci(), { hasChatHistoryLoaded: i } = di(), s = { ...e, ...DA }, A = s.htmlComponent ? s.htmlComponent : CA;
|
|
1566
1566
|
re(() => {
|
|
1567
1567
|
var l, d;
|
|
1568
1568
|
if (i) {
|
|
@@ -1577,20 +1577,20 @@ const PA = ({ children: e }) => P("div", { style: { whiteSpace: "normal" }, chil
|
|
|
1577
1577
|
const a = async (l) => {
|
|
1578
1578
|
var d;
|
|
1579
1579
|
const u = (d = l.data.message) == null ? void 0 : d.sender.toUpperCase();
|
|
1580
|
-
typeof l.data.message.content == "string" && Fr(l, t(), u) && (l.type === "rcb-start-simulate-stream-message" && (l.data.simulateStreamChunker =
|
|
1580
|
+
typeof l.data.message.content == "string" && Fr(l, t(), u) && (l.type === "rcb-start-simulate-stream-message" && (l.data.simulateStreamChunker = BA), l.data.message.contentWrapper = A, l.data.message.tags || (l.data.message.tags = []), l.data.message.tags.push("rcb-html-renderer-plugin:parsed"));
|
|
1581
1581
|
};
|
|
1582
1582
|
ze(j.PRE_INJECT_MESSAGE, a), ze(j.CHUNK_STREAM_MESSAGE, a), ze(j.START_STREAM_MESSAGE, a), ze(j.START_SIMULATE_STREAM_MESSAGE, a), ze(j.START_SPEAK_AUDIO, async (l) => {
|
|
1583
1583
|
Fr(l, t(), "BOT") && (l.data.textToRead = ((d) => typeof window.DOMParser < "u" ? new DOMParser().parseFromString(d, "text/html").body.textContent || "" : d.replace(/<\/?[^>]+(>|$)/g, ""))(l.data.textToRead));
|
|
1584
1584
|
});
|
|
1585
1585
|
const c = { name: "@rcb-plugins/html-renderer" };
|
|
1586
1586
|
return s != null && s.autoConfig && (c.settings = { event: { rcbPreInjectMessage: !0, rcbChunkStreamMessage: !0, rcbStartSimulateStreamMessage: !0, rcbStartStreamMessage: !0, rcbStartSpeakAudio: !0 } }), c;
|
|
1587
|
-
},
|
|
1587
|
+
}, IA = /^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u, TA = /^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u, QA = {};
|
|
1588
1588
|
function zr(e, t) {
|
|
1589
|
-
return (
|
|
1589
|
+
return (QA.jsx ? TA : IA).test(e);
|
|
1590
1590
|
}
|
|
1591
|
-
const
|
|
1591
|
+
const MA = /[ \t\n\f\r]/g;
|
|
1592
1592
|
function jr(e) {
|
|
1593
|
-
return e.replace(
|
|
1593
|
+
return e.replace(MA, "") === "";
|
|
1594
1594
|
}
|
|
1595
1595
|
class Ut {
|
|
1596
1596
|
constructor(t, r, n) {
|
|
@@ -1613,12 +1613,12 @@ class Ue {
|
|
|
1613
1613
|
}
|
|
1614
1614
|
}
|
|
1615
1615
|
Ue.prototype.space = null, Ue.prototype.boolean = !1, Ue.prototype.booleanish = !1, Ue.prototype.overloadedBoolean = !1, Ue.prototype.number = !1, Ue.prototype.commaSeparated = !1, Ue.prototype.spaceSeparated = !1, Ue.prototype.commaOrSpaceSeparated = !1, Ue.prototype.mustUseProperty = !1, Ue.prototype.defined = !1;
|
|
1616
|
-
let
|
|
1617
|
-
const ee = wt(), ye = wt(), gi = wt(), N = wt(),
|
|
1616
|
+
let OA = 0;
|
|
1617
|
+
const ee = wt(), ye = wt(), gi = wt(), N = wt(), pe = wt(), Bt = wt(), _e = wt();
|
|
1618
1618
|
function wt() {
|
|
1619
|
-
return 2 ** ++
|
|
1619
|
+
return 2 ** ++OA;
|
|
1620
1620
|
}
|
|
1621
|
-
const Jn = Object.freeze(Object.defineProperty({ __proto__: null, boolean: ee, booleanish: ye, commaOrSpaceSeparated: _e, commaSeparated: Bt, number: N, overloadedBoolean: gi, spaceSeparated:
|
|
1621
|
+
const Jn = Object.freeze(Object.defineProperty({ __proto__: null, boolean: ee, booleanish: ye, commaOrSpaceSeparated: _e, commaSeparated: Bt, number: N, overloadedBoolean: gi, spaceSeparated: pe }, Symbol.toStringTag, { value: "Module" })), Bn = Object.keys(Jn);
|
|
1622
1622
|
class yr extends Ue {
|
|
1623
1623
|
constructor(t, r, n, o) {
|
|
1624
1624
|
let i = -1;
|
|
@@ -1632,11 +1632,11 @@ function qr(e, t, r) {
|
|
|
1632
1632
|
r && (e[t] = r);
|
|
1633
1633
|
}
|
|
1634
1634
|
yr.prototype.defined = !0;
|
|
1635
|
-
const
|
|
1635
|
+
const _A = {}.hasOwnProperty;
|
|
1636
1636
|
function Qt(e) {
|
|
1637
1637
|
const t = {}, r = {};
|
|
1638
1638
|
let n;
|
|
1639
|
-
for (n in e.properties) if (
|
|
1639
|
+
for (n in e.properties) if (_A.call(e.properties, n)) {
|
|
1640
1640
|
const o = e.properties[n], i = new yr(n, e.transform(e.attributes || {}, n), o, e.space);
|
|
1641
1641
|
e.mustUseProperty && e.mustUseProperty.includes(n) && (i.mustUseProperty = !0), t[n] = i, r[Kn(n)] = n, r[Kn(i.attribute)] = n;
|
|
1642
1642
|
}
|
|
@@ -1649,18 +1649,18 @@ function bi(e, t) {
|
|
|
1649
1649
|
function vi(e, t) {
|
|
1650
1650
|
return bi(e, t.toLowerCase());
|
|
1651
1651
|
}
|
|
1652
|
-
const wi = Qt({ space: "xmlns", attributes: { xmlnsxlink: "xmlns:xlink" }, transform: vi, properties: { xmlns: null, xmlnsXLink: null } }), xi = Qt({ transform: (e, t) => t === "role" ? t : "aria-" + t.slice(4).toLowerCase(), properties: { ariaActiveDescendant: null, ariaAtomic: ye, ariaAutoComplete: null, ariaBusy: ye, ariaChecked: ye, ariaColCount: N, ariaColIndex: N, ariaColSpan: N, ariaControls: de, ariaCurrent: null, ariaDescribedBy: de, ariaDetails: null, ariaDisabled: ye, ariaDropEffect: de, ariaErrorMessage: null, ariaExpanded: ye, ariaFlowTo: de, ariaGrabbed: ye, ariaHasPopup: null, ariaHidden: ye, ariaInvalid: null, ariaKeyShortcuts: null, ariaLabel: null, ariaLabelledBy: de, ariaLevel: N, ariaLive: null, ariaModal: ye, ariaMultiLine: ye, ariaMultiSelectable: ye, ariaOrientation: null, ariaOwns: de, ariaPlaceholder: null, ariaPosInSet: N, ariaPressed: ye, ariaReadOnly: ye, ariaRelevant: null, ariaRequired: ye, ariaRoleDescription: de, ariaRowCount: N, ariaRowIndex: N, ariaRowSpan: N, ariaSelected: ye, ariaSetSize: N, ariaSort: null, ariaValueMax: N, ariaValueMin: N, ariaValueNow: N, ariaValueText: null, role: null } }), _A = Qt({ space: "html", attributes: { acceptcharset: "accept-charset", classname: "class", htmlfor: "for", httpequiv: "http-equiv" }, transform: vi, mustUseProperty: ["checked", "multiple", "muted", "selected"], properties: { abbr: null, accept: Bt, acceptCharset: de, accessKey: de, action: null, allow: null, allowFullScreen: ee, allowPaymentRequest: ee, allowUserMedia: ee, alt: null, as: null, async: ee, autoCapitalize: null, autoComplete: de, autoFocus: ee, autoPlay: ee, blocking: de, capture: null, charSet: null, checked: ee, cite: null, className: de, cols: N, colSpan: null, content: null, contentEditable: ye, controls: ee, controlsList: de, coords: N | Bt, crossOrigin: null, data: null, dateTime: null, decoding: null, default: ee, defer: ee, dir: null, dirName: null, disabled: ee, download: gi, draggable: ye, encType: null, enterKeyHint: null, fetchPriority: null, form: null, formAction: null, formEncType: null, formMethod: null, formNoValidate: ee, formTarget: null, headers: de, height: N, hidden: ee, high: N, href: null, hrefLang: null, htmlFor: de, httpEquiv: de, id: null, imageSizes: null, imageSrcSet: null, inert: ee, inputMode: null, integrity: null, is: null, isMap: ee, itemId: null, itemProp: de, itemRef: de, itemScope: ee, itemType: de, kind: null, label: null, lang: null, language: null, list: null, loading: null, loop: ee, low: N, manifest: null, max: null, maxLength: N, media: null, method: null, min: null, minLength: N, multiple: ee, muted: ee, name: null, nonce: null, noModule: ee, noValidate: ee, 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: ee, optimum: N, pattern: null, ping: de, placeholder: null, playsInline: ee, popover: null, popoverTarget: null, popoverTargetAction: null, poster: null, preload: null, readOnly: ee, referrerPolicy: null, rel: de, required: ee, reversed: ee, rows: N, rowSpan: N, sandbox: de, scope: null, scoped: ee, seamless: ee, selected: ee, shadowRootClonable: ee, shadowRootDelegatesFocus: ee, shadowRootMode: null, shape: null, size: N, sizes: null, slot: null, span: N, spellCheck: ye, src: null, srcDoc: null, srcLang: null, srcSet: null, start: N, step: null, style: null, tabIndex: N, target: null, title: null, translate: null, type: null, typeMustMatch: ee, useMap: null, value: ye, width: N, wrap: null, writingSuggestions: null, align: null, aLink: null, archive: de, axis: null, background: null, bgColor: null, border: N, borderColor: null, bottomMargin: N, cellPadding: null, cellSpacing: null, char: null, charOff: null, classId: null, clear: null, code: null, codeBase: null, codeType: null, color: null, compact: ee, declare: ee, event: null, face: null, frame: null, frameBorder: null, hSpace: N, leftMargin: N, link: null, longDesc: null, lowSrc: null, marginHeight: N, marginWidth: N, noResize: ee, noHref: ee, noShade: ee, noWrap: ee, object: null, profile: null, prompt: null, rev: null, rightMargin: N, rules: null, scheme: null, scrolling: ye, standby: null, summary: null, text: null, topMargin: N, valueType: null, version: null, vAlign: null, vLink: null, vSpace: N, allowTransparency: null, autoCorrect: null, autoSave: null, disablePictureInPicture: ee, disableRemotePlayback: ee, prefix: null, property: null, results: N, security: null, unselectable: null } }), LA = Qt({ 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: bi, properties: { about: _e, accentHeight: N, accumulate: null, additive: null, alignmentBaseline: null, alphabetic: N, amplitude: N, arabicForm: null, ascent: N, attributeName: null, attributeType: null, azimuth: N, bandwidth: null, baselineShift: null, baseFrequency: null, baseProfile: null, bbox: null, begin: null, bias: N, by: null, calcMode: null, capHeight: N, className: de, 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: N, diffuseConstant: N, direction: null, display: null, dur: null, divisor: N, dominantBaseline: null, download: ee, dx: null, dy: null, edgeMode: null, editable: null, elevation: N, enableBackground: null, end: null, event: null, exponent: N, externalResourcesRequired: null, fill: null, fillOpacity: N, 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: Bt, g2: Bt, glyphName: Bt, glyphOrientationHorizontal: null, glyphOrientationVertical: null, glyphRef: null, gradientTransform: null, gradientUnits: null, handler: null, hanging: N, hatchContentUnits: null, hatchUnits: null, height: null, href: null, hrefLang: null, horizAdvX: N, horizOriginX: N, horizOriginY: N, id: null, ideographic: N, imageRendering: null, initialVisibility: null, in: null, in2: null, intercept: N, k: N, k1: N, k2: N, k3: N, k4: N, kernelMatrix: _e, kernelUnitLength: null, keyPoints: null, keySplines: null, keyTimes: null, kerning: null, lang: null, lengthAdjust: null, letterSpacing: null, lightingColor: null, limitingConeAngle: N, 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: N, 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: N, overlineThickness: N, paintOrder: null, panose1: null, path: null, pathLength: N, patternContentUnits: null, patternTransform: null, patternUnits: null, phase: null, ping: de, pitch: null, playbackOrder: null, pointerEvents: null, points: null, pointsAtX: N, pointsAtY: N, pointsAtZ: N, preserveAlpha: null, preserveAspectRatio: null, primitiveUnits: null, propagate: null, property: _e, r: null, radius: null, referrerPolicy: null, refX: null, refY: null, rel: _e, rev: _e, renderingIntent: null, repeatCount: null, repeatDur: null, requiredExtensions: _e, requiredFeatures: _e, requiredFonts: _e, requiredFormats: _e, 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: N, specularExponent: N, spreadMethod: null, spacing: null, startOffset: null, stdDeviation: null, stemh: null, stemv: null, stitchTiles: null, stopColor: null, stopOpacity: null, strikethroughPosition: N, strikethroughThickness: N, string: null, stroke: null, strokeDashArray: _e, strokeDashOffset: null, strokeLineCap: null, strokeLineJoin: null, strokeMiterLimit: N, strokeOpacity: N, strokeWidth: null, style: null, surfaceScale: N, syncBehavior: null, syncBehaviorDefault: null, syncMaster: null, syncTolerance: null, syncToleranceDefault: null, systemLanguage: _e, tabIndex: N, tableValues: null, target: null, targetX: N, targetY: N, textAnchor: null, textDecoration: null, textRendering: null, textLength: null, timelineBegin: null, title: null, transformBehavior: null, type: null, typeOf: _e, to: null, transform: null, transformOrigin: null, u1: null, u2: null, underlinePosition: N, underlineThickness: N, unicode: null, unicodeBidi: null, unicodeRange: null, unitsPerEm: N, values: null, vAlphabetic: N, vMathematical: N, vectorEffect: null, vHanging: N, vIdeographic: N, version: null, vertAdvY: N, vertOriginX: N, vertOriginY: N, viewBox: null, viewTarget: null, visibility: null, width: null, widths: null, wordSpacing: null, writingMode: null, x: null, x1: null, x2: null, xChannelSelector: null, xHeight: N, y: null, y1: null, y2: null, yChannelSelector: null, z: null, zoomAndPan: null } }), NA = /^data[-\w.:]+$/i, Gr = /-[a-z]/g, RA = /[A-Z]/g;
|
|
1653
|
-
function
|
|
1652
|
+
const wi = Qt({ space: "xmlns", attributes: { xmlnsxlink: "xmlns:xlink" }, transform: vi, properties: { xmlns: null, xmlnsXLink: null } }), xi = Qt({ transform: (e, t) => t === "role" ? t : "aria-" + t.slice(4).toLowerCase(), properties: { ariaActiveDescendant: null, ariaAtomic: ye, ariaAutoComplete: null, ariaBusy: ye, ariaChecked: ye, ariaColCount: N, ariaColIndex: N, ariaColSpan: N, ariaControls: pe, ariaCurrent: null, ariaDescribedBy: pe, ariaDetails: null, ariaDisabled: ye, ariaDropEffect: pe, ariaErrorMessage: null, ariaExpanded: ye, ariaFlowTo: pe, ariaGrabbed: ye, ariaHasPopup: null, ariaHidden: ye, ariaInvalid: null, ariaKeyShortcuts: null, ariaLabel: null, ariaLabelledBy: pe, ariaLevel: N, ariaLive: null, ariaModal: ye, ariaMultiLine: ye, ariaMultiSelectable: ye, ariaOrientation: null, ariaOwns: pe, ariaPlaceholder: null, ariaPosInSet: N, ariaPressed: ye, ariaReadOnly: ye, ariaRelevant: null, ariaRequired: ye, ariaRoleDescription: pe, ariaRowCount: N, ariaRowIndex: N, ariaRowSpan: N, ariaSelected: ye, ariaSetSize: N, ariaSort: null, ariaValueMax: N, ariaValueMin: N, ariaValueNow: N, ariaValueText: null, role: null } }), LA = Qt({ space: "html", attributes: { acceptcharset: "accept-charset", classname: "class", htmlfor: "for", httpequiv: "http-equiv" }, transform: vi, mustUseProperty: ["checked", "multiple", "muted", "selected"], properties: { abbr: null, accept: Bt, acceptCharset: pe, accessKey: pe, action: null, allow: null, allowFullScreen: ee, allowPaymentRequest: ee, allowUserMedia: ee, alt: null, as: null, async: ee, autoCapitalize: null, autoComplete: pe, autoFocus: ee, autoPlay: ee, blocking: pe, capture: null, charSet: null, checked: ee, cite: null, className: pe, cols: N, colSpan: null, content: null, contentEditable: ye, controls: ee, controlsList: pe, coords: N | Bt, crossOrigin: null, data: null, dateTime: null, decoding: null, default: ee, defer: ee, dir: null, dirName: null, disabled: ee, download: gi, draggable: ye, encType: null, enterKeyHint: null, fetchPriority: null, form: null, formAction: null, formEncType: null, formMethod: null, formNoValidate: ee, formTarget: null, headers: pe, height: N, hidden: ee, high: N, href: null, hrefLang: null, htmlFor: pe, httpEquiv: pe, id: null, imageSizes: null, imageSrcSet: null, inert: ee, inputMode: null, integrity: null, is: null, isMap: ee, itemId: null, itemProp: pe, itemRef: pe, itemScope: ee, itemType: pe, kind: null, label: null, lang: null, language: null, list: null, loading: null, loop: ee, low: N, manifest: null, max: null, maxLength: N, media: null, method: null, min: null, minLength: N, multiple: ee, muted: ee, name: null, nonce: null, noModule: ee, noValidate: ee, 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: ee, optimum: N, pattern: null, ping: pe, placeholder: null, playsInline: ee, popover: null, popoverTarget: null, popoverTargetAction: null, poster: null, preload: null, readOnly: ee, referrerPolicy: null, rel: pe, required: ee, reversed: ee, rows: N, rowSpan: N, sandbox: pe, scope: null, scoped: ee, seamless: ee, selected: ee, shadowRootClonable: ee, shadowRootDelegatesFocus: ee, shadowRootMode: null, shape: null, size: N, sizes: null, slot: null, span: N, spellCheck: ye, src: null, srcDoc: null, srcLang: null, srcSet: null, start: N, step: null, style: null, tabIndex: N, target: null, title: null, translate: null, type: null, typeMustMatch: ee, useMap: null, value: ye, width: N, wrap: null, writingSuggestions: null, align: null, aLink: null, archive: pe, axis: null, background: null, bgColor: null, border: N, borderColor: null, bottomMargin: N, cellPadding: null, cellSpacing: null, char: null, charOff: null, classId: null, clear: null, code: null, codeBase: null, codeType: null, color: null, compact: ee, declare: ee, event: null, face: null, frame: null, frameBorder: null, hSpace: N, leftMargin: N, link: null, longDesc: null, lowSrc: null, marginHeight: N, marginWidth: N, noResize: ee, noHref: ee, noShade: ee, noWrap: ee, object: null, profile: null, prompt: null, rev: null, rightMargin: N, rules: null, scheme: null, scrolling: ye, standby: null, summary: null, text: null, topMargin: N, valueType: null, version: null, vAlign: null, vLink: null, vSpace: N, allowTransparency: null, autoCorrect: null, autoSave: null, disablePictureInPicture: ee, disableRemotePlayback: ee, prefix: null, property: null, results: N, security: null, unselectable: null } }), NA = Qt({ 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: bi, properties: { about: _e, accentHeight: N, accumulate: null, additive: null, alignmentBaseline: null, alphabetic: N, amplitude: N, arabicForm: null, ascent: N, attributeName: null, attributeType: null, azimuth: N, bandwidth: null, baselineShift: null, baseFrequency: null, baseProfile: null, bbox: null, begin: null, bias: N, by: null, calcMode: null, capHeight: N, className: pe, 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: N, diffuseConstant: N, direction: null, display: null, dur: null, divisor: N, dominantBaseline: null, download: ee, dx: null, dy: null, edgeMode: null, editable: null, elevation: N, enableBackground: null, end: null, event: null, exponent: N, externalResourcesRequired: null, fill: null, fillOpacity: N, 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: Bt, g2: Bt, glyphName: Bt, glyphOrientationHorizontal: null, glyphOrientationVertical: null, glyphRef: null, gradientTransform: null, gradientUnits: null, handler: null, hanging: N, hatchContentUnits: null, hatchUnits: null, height: null, href: null, hrefLang: null, horizAdvX: N, horizOriginX: N, horizOriginY: N, id: null, ideographic: N, imageRendering: null, initialVisibility: null, in: null, in2: null, intercept: N, k: N, k1: N, k2: N, k3: N, k4: N, kernelMatrix: _e, kernelUnitLength: null, keyPoints: null, keySplines: null, keyTimes: null, kerning: null, lang: null, lengthAdjust: null, letterSpacing: null, lightingColor: null, limitingConeAngle: N, 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: N, 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: N, overlineThickness: N, paintOrder: null, panose1: null, path: null, pathLength: N, patternContentUnits: null, patternTransform: null, patternUnits: null, phase: null, ping: pe, pitch: null, playbackOrder: null, pointerEvents: null, points: null, pointsAtX: N, pointsAtY: N, pointsAtZ: N, preserveAlpha: null, preserveAspectRatio: null, primitiveUnits: null, propagate: null, property: _e, r: null, radius: null, referrerPolicy: null, refX: null, refY: null, rel: _e, rev: _e, renderingIntent: null, repeatCount: null, repeatDur: null, requiredExtensions: _e, requiredFeatures: _e, requiredFonts: _e, requiredFormats: _e, 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: N, specularExponent: N, spreadMethod: null, spacing: null, startOffset: null, stdDeviation: null, stemh: null, stemv: null, stitchTiles: null, stopColor: null, stopOpacity: null, strikethroughPosition: N, strikethroughThickness: N, string: null, stroke: null, strokeDashArray: _e, strokeDashOffset: null, strokeLineCap: null, strokeLineJoin: null, strokeMiterLimit: N, strokeOpacity: N, strokeWidth: null, style: null, surfaceScale: N, syncBehavior: null, syncBehaviorDefault: null, syncMaster: null, syncTolerance: null, syncToleranceDefault: null, systemLanguage: _e, tabIndex: N, tableValues: null, target: null, targetX: N, targetY: N, textAnchor: null, textDecoration: null, textRendering: null, textLength: null, timelineBegin: null, title: null, transformBehavior: null, type: null, typeOf: _e, to: null, transform: null, transformOrigin: null, u1: null, u2: null, underlinePosition: N, underlineThickness: N, unicode: null, unicodeBidi: null, unicodeRange: null, unitsPerEm: N, values: null, vAlphabetic: N, vMathematical: N, vectorEffect: null, vHanging: N, vIdeographic: N, version: null, vertAdvY: N, vertOriginX: N, vertOriginY: N, viewBox: null, viewTarget: null, visibility: null, width: null, widths: null, wordSpacing: null, writingMode: null, x: null, x1: null, x2: null, xChannelSelector: null, xHeight: N, y: null, y1: null, y2: null, yChannelSelector: null, z: null, zoomAndPan: null } }), RA = /^data[-\w.:]+$/i, Gr = /-[a-z]/g, HA = /[A-Z]/g;
|
|
1653
|
+
function UA(e) {
|
|
1654
1654
|
return "-" + e.toLowerCase();
|
|
1655
1655
|
}
|
|
1656
|
-
function
|
|
1656
|
+
function FA(e) {
|
|
1657
1657
|
return e.charAt(1).toUpperCase();
|
|
1658
1658
|
}
|
|
1659
|
-
const
|
|
1659
|
+
const zA = { 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" }, jA = hi([yi, mi, wi, xi, LA], "html"), Zn = hi([yi, mi, wi, xi, NA], "svg");
|
|
1660
1660
|
function Ei(e) {
|
|
1661
1661
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
1662
1662
|
}
|
|
1663
|
-
var Sn, Yr, Wr, kt = {},
|
|
1663
|
+
var Sn, Yr, Wr, kt = {}, qA = function() {
|
|
1664
1664
|
if (Wr) return kt;
|
|
1665
1665
|
Wr = 1;
|
|
1666
1666
|
var e = kt && kt.__importDefault || function(r) {
|
|
@@ -1750,7 +1750,7 @@ var Sn, Yr, Wr, kt = {}, jA = function() {
|
|
|
1750
1750
|
}());
|
|
1751
1751
|
return kt;
|
|
1752
1752
|
}();
|
|
1753
|
-
const Vr = Ei(
|
|
1753
|
+
const Vr = Ei(qA), GA = Vr.default || Vr, ki = Pi("end"), br = Pi("start");
|
|
1754
1754
|
function Pi(e) {
|
|
1755
1755
|
return function(t) {
|
|
1756
1756
|
const r = t && t.position && t.position[e] || {};
|
|
@@ -1786,8 +1786,8 @@ class De extends Error {
|
|
|
1786
1786
|
}
|
|
1787
1787
|
}
|
|
1788
1788
|
De.prototype.file = "", De.prototype.name = "", De.prototype.reason = "", De.prototype.message = "", De.prototype.stack = "", De.prototype.column = void 0, De.prototype.line = void 0, De.prototype.ancestors = void 0, De.prototype.cause = void 0, De.prototype.fatal = void 0, De.prototype.place = void 0, De.prototype.ruleId = void 0, De.prototype.source = void 0;
|
|
1789
|
-
const vr = {}.hasOwnProperty,
|
|
1790
|
-
function
|
|
1789
|
+
const vr = {}.hasOwnProperty, YA = /* @__PURE__ */ new Map(), WA = /[A-Z]/g, VA = /-([a-z])/g, XA = /* @__PURE__ */ new Set(["table", "tbody", "thead", "tfoot", "tr"]), KA = /* @__PURE__ */ new Set(["td", "th"]), Ci = "https://github.com/syntax-tree/hast-util-to-jsx-runtime";
|
|
1790
|
+
function JA(e, t) {
|
|
1791
1791
|
if (!t || t.Fragment === void 0) throw new TypeError("Expected `Fragment` in options");
|
|
1792
1792
|
const r = t.filePath || void 0;
|
|
1793
1793
|
let n;
|
|
@@ -1811,7 +1811,7 @@ function KA(e, t) {
|
|
|
1811
1811
|
}
|
|
1812
1812
|
}(0, t.jsx, t.jsxs);
|
|
1813
1813
|
}
|
|
1814
|
-
const o = { Fragment: t.Fragment, ancestors: [], components: t.components || {}, create: n, elementAttributeNameCase: t.elementAttributeNameCase || "react", evaluater: t.createEvaluater ? t.createEvaluater() : void 0, filePath: r, ignoreInvalidStyle: t.ignoreInvalidStyle || !1, passKeys: t.passKeys !== !1, passNode: t.passNode || !1, schema: t.space === "svg" ? Zn :
|
|
1814
|
+
const o = { Fragment: t.Fragment, ancestors: [], components: t.components || {}, create: n, elementAttributeNameCase: t.elementAttributeNameCase || "react", evaluater: t.createEvaluater ? t.createEvaluater() : void 0, filePath: r, ignoreInvalidStyle: t.ignoreInvalidStyle || !1, passKeys: t.passKeys !== !1, passNode: t.passNode || !1, schema: t.space === "svg" ? Zn : jA, stylePropertyNameCase: t.stylePropertyNameCase || "dom", tableCellAlignToStyle: t.tableCellAlignToStyle !== !1 }, i = Di(o, e, void 0);
|
|
1815
1815
|
return i && typeof i != "string" ? i : o.create(e, o.Fragment, { children: i || void 0 }, void 0);
|
|
1816
1816
|
}
|
|
1817
1817
|
function Di(e, t, r) {
|
|
@@ -1823,16 +1823,16 @@ function Di(e, t, r) {
|
|
|
1823
1823
|
const p = {};
|
|
1824
1824
|
let f, m;
|
|
1825
1825
|
for (m in u.properties) if (m !== "children" && vr.call(u.properties, m)) {
|
|
1826
|
-
const h =
|
|
1826
|
+
const h = ZA(d, m, u.properties[m]);
|
|
1827
1827
|
if (h) {
|
|
1828
1828
|
const [b, w] = h;
|
|
1829
|
-
d.tableCellAlignToStyle && b === "align" && typeof w == "string" &&
|
|
1829
|
+
d.tableCellAlignToStyle && b === "align" && typeof w == "string" && KA.has(u.tagName) ? f = w : p[b] = w;
|
|
1830
1830
|
}
|
|
1831
1831
|
}
|
|
1832
1832
|
return f && ((p.style || (p.style = {}))[d.stylePropertyNameCase === "css" ? "text-align" : "textAlign"] = f), p;
|
|
1833
1833
|
}(n, o);
|
|
1834
1834
|
let l = Tn(n, o);
|
|
1835
|
-
return
|
|
1835
|
+
return XA.has(o.tagName) && (l = l.filter(function(d) {
|
|
1836
1836
|
return typeof d != "string" || !function(u) {
|
|
1837
1837
|
return typeof u == "object" ? u.type === "text" && jr(u.value) : jr(u);
|
|
1838
1838
|
}(d);
|
|
@@ -1892,7 +1892,7 @@ function In(e, t) {
|
|
|
1892
1892
|
function Tn(e, t) {
|
|
1893
1893
|
const r = [];
|
|
1894
1894
|
let n = -1;
|
|
1895
|
-
const o = e.passKeys ? /* @__PURE__ */ new Map() :
|
|
1895
|
+
const o = e.passKeys ? /* @__PURE__ */ new Map() : YA;
|
|
1896
1896
|
for (; ++n < t.children.length; ) {
|
|
1897
1897
|
const i = t.children[n];
|
|
1898
1898
|
let s;
|
|
@@ -1908,19 +1908,19 @@ function Tn(e, t) {
|
|
|
1908
1908
|
}
|
|
1909
1909
|
return r;
|
|
1910
1910
|
}
|
|
1911
|
-
function
|
|
1911
|
+
function ZA(e, t, r) {
|
|
1912
1912
|
const n = function(o, i) {
|
|
1913
1913
|
const s = Kn(i);
|
|
1914
1914
|
let A = i, a = Ue;
|
|
1915
1915
|
if (s in o.normal) return o.property[o.normal[s]];
|
|
1916
|
-
if (s.length > 4 && s.slice(0, 4) === "data" &&
|
|
1916
|
+
if (s.length > 4 && s.slice(0, 4) === "data" && RA.test(i)) {
|
|
1917
1917
|
if (i.charAt(4) === "-") {
|
|
1918
|
-
const c = i.slice(5).replace(Gr,
|
|
1918
|
+
const c = i.slice(5).replace(Gr, FA);
|
|
1919
1919
|
A = "data" + c.charAt(0).toUpperCase() + c.slice(1);
|
|
1920
1920
|
} else {
|
|
1921
1921
|
const c = i.slice(4);
|
|
1922
1922
|
if (!Gr.test(c)) {
|
|
1923
|
-
let l = c.replace(
|
|
1923
|
+
let l = c.replace(HA, UA);
|
|
1924
1924
|
l.charAt(0) !== "-" && (l = "-" + l), i = "data" + l;
|
|
1925
1925
|
}
|
|
1926
1926
|
}
|
|
@@ -1938,7 +1938,7 @@ function JA(e, t, r) {
|
|
|
1938
1938
|
let o = typeof r == "object" ? r : function(i, s) {
|
|
1939
1939
|
const A = {};
|
|
1940
1940
|
try {
|
|
1941
|
-
|
|
1941
|
+
GA(s, a);
|
|
1942
1942
|
} catch (c) {
|
|
1943
1943
|
if (!i.ignoreInvalidStyle) {
|
|
1944
1944
|
const l = c, d = new De("Cannot parse `style` attribute", { ancestors: i.ancestors, cause: l, ruleId: "style", source: "hast-util-to-jsx-runtime" });
|
|
@@ -1948,17 +1948,17 @@ function JA(e, t, r) {
|
|
|
1948
1948
|
return A;
|
|
1949
1949
|
function a(c, l) {
|
|
1950
1950
|
let d = c;
|
|
1951
|
-
d.slice(0, 2) !== "--" && (d.slice(0, 4) === "-ms-" && (d = "ms-" + d.slice(4)), d = d.replace(
|
|
1951
|
+
d.slice(0, 2) !== "--" && (d.slice(0, 4) === "-ms-" && (d = "ms-" + d.slice(4)), d = d.replace(VA, es)), A[d] = l;
|
|
1952
1952
|
}
|
|
1953
1953
|
}(e, String(r));
|
|
1954
1954
|
return e.stylePropertyNameCase === "css" && (o = function(i) {
|
|
1955
1955
|
const s = {};
|
|
1956
1956
|
let A;
|
|
1957
|
-
for (A in i) vr.call(i, A) && (s[
|
|
1957
|
+
for (A in i) vr.call(i, A) && (s[$A(A)] = i[A]);
|
|
1958
1958
|
return s;
|
|
1959
1959
|
}(o)), ["style", o];
|
|
1960
1960
|
}
|
|
1961
|
-
return [e.elementAttributeNameCase === "react" && n.space ?
|
|
1961
|
+
return [e.elementAttributeNameCase === "react" && n.space ? zA[n.property] || n.property : n.attribute, r];
|
|
1962
1962
|
}
|
|
1963
1963
|
}
|
|
1964
1964
|
function Zr(e, t, r) {
|
|
@@ -1984,14 +1984,14 @@ function Ht(e, t) {
|
|
|
1984
1984
|
const r = new De("Cannot handle MDX estrees without `createEvaluater`", { ancestors: e.ancestors, place: t, ruleId: "mdx-estree", source: "hast-util-to-jsx-runtime" });
|
|
1985
1985
|
throw r.file = e.filePath || void 0, r.url = Ci + "#cannot-handle-mdx-estrees-without-createevaluater", r;
|
|
1986
1986
|
}
|
|
1987
|
-
function
|
|
1988
|
-
let t = e.replace(
|
|
1987
|
+
function $A(e) {
|
|
1988
|
+
let t = e.replace(WA, ts);
|
|
1989
1989
|
return t.slice(0, 3) === "ms-" && (t = "-" + t), t;
|
|
1990
1990
|
}
|
|
1991
|
-
function
|
|
1991
|
+
function es(e, t) {
|
|
1992
1992
|
return t.toUpperCase();
|
|
1993
1993
|
}
|
|
1994
|
-
function
|
|
1994
|
+
function ts(e) {
|
|
1995
1995
|
return "-" + e.toLowerCase();
|
|
1996
1996
|
}
|
|
1997
1997
|
const Qn = { 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"] }, Zt = {};
|
|
@@ -2028,13 +2028,13 @@ function Fe(e, t) {
|
|
|
2028
2028
|
return e.length > 0 ? (tt(e, e.length, 0, t), e) : t;
|
|
2029
2029
|
}
|
|
2030
2030
|
const to = {}.hasOwnProperty;
|
|
2031
|
-
function
|
|
2031
|
+
function ns(e) {
|
|
2032
2032
|
const t = {};
|
|
2033
2033
|
let r = -1;
|
|
2034
|
-
for (; ++r < e.length; )
|
|
2034
|
+
for (; ++r < e.length; ) rs(t, e[r]);
|
|
2035
2035
|
return t;
|
|
2036
2036
|
}
|
|
2037
|
-
function
|
|
2037
|
+
function rs(e, t) {
|
|
2038
2038
|
let r;
|
|
2039
2039
|
for (r in t) {
|
|
2040
2040
|
const n = (to.call(e, r) ? e[r] : void 0) || (e[r] = {}), o = t[r];
|
|
@@ -2042,11 +2042,11 @@ function ns(e, t) {
|
|
|
2042
2042
|
if (o) for (i in o) {
|
|
2043
2043
|
to.call(n, i) || (n[i] = []);
|
|
2044
2044
|
const s = o[i];
|
|
2045
|
-
|
|
2045
|
+
os(n[i], Array.isArray(s) ? s : s ? [s] : []);
|
|
2046
2046
|
}
|
|
2047
2047
|
}
|
|
2048
2048
|
}
|
|
2049
|
-
function
|
|
2049
|
+
function os(e, t) {
|
|
2050
2050
|
let r = -1;
|
|
2051
2051
|
const n = [];
|
|
2052
2052
|
for (; ++r < t.length; ) (t[r].add === "after" ? e : n).push(t[r]);
|
|
@@ -2059,21 +2059,21 @@ function Si(e, t) {
|
|
|
2059
2059
|
function St(e) {
|
|
2060
2060
|
return e.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
|
|
2061
2061
|
}
|
|
2062
|
-
const $e = dt(/[A-Za-z]/), Ne = dt(/[\dA-Za-z]/),
|
|
2062
|
+
const $e = dt(/[A-Za-z]/), Ne = dt(/[\dA-Za-z]/), is = dt(/[#-'*+\--9=?A-Z^-~]/);
|
|
2063
2063
|
function er(e) {
|
|
2064
2064
|
return e !== null && (e < 32 || e === 127);
|
|
2065
2065
|
}
|
|
2066
|
-
const tr = dt(/\d/),
|
|
2066
|
+
const tr = dt(/\d/), as = dt(/[\dA-Fa-f]/), As = dt(/[!-/:-@[-`{-~]/);
|
|
2067
2067
|
function K(e) {
|
|
2068
2068
|
return e !== null && e < -2;
|
|
2069
2069
|
}
|
|
2070
2070
|
function Qe(e) {
|
|
2071
2071
|
return e !== null && (e < 0 || e === 32);
|
|
2072
2072
|
}
|
|
2073
|
-
function
|
|
2073
|
+
function se(e) {
|
|
2074
2074
|
return e === -2 || e === -1 || e === 32;
|
|
2075
2075
|
}
|
|
2076
|
-
const
|
|
2076
|
+
const ss = dt(new RegExp("\\p{P}|\\p{S}", "u")), ls = dt(/\s/);
|
|
2077
2077
|
function dt(e) {
|
|
2078
2078
|
return function(t) {
|
|
2079
2079
|
return t !== null && t > -1 && e.test(String.fromCharCode(t));
|
|
@@ -2095,19 +2095,19 @@ function Dt(e) {
|
|
|
2095
2095
|
}
|
|
2096
2096
|
return t.join("") + e.slice(n);
|
|
2097
2097
|
}
|
|
2098
|
-
function
|
|
2098
|
+
function fe(e, t, r, n) {
|
|
2099
2099
|
const o = n ? n - 1 : Number.POSITIVE_INFINITY;
|
|
2100
2100
|
let i = 0;
|
|
2101
2101
|
return function(A) {
|
|
2102
|
-
return
|
|
2102
|
+
return se(A) ? (e.enter(r), s(A)) : t(A);
|
|
2103
2103
|
};
|
|
2104
2104
|
function s(A) {
|
|
2105
|
-
return
|
|
2105
|
+
return se(A) && i++ < o ? (e.consume(A), s) : (e.exit(r), t(A));
|
|
2106
2106
|
}
|
|
2107
2107
|
}
|
|
2108
|
-
const
|
|
2108
|
+
const cs = { tokenize: function(e) {
|
|
2109
2109
|
const t = e.attempt(this.parser.constructs.contentInitial, function(i) {
|
|
2110
|
-
return i === null ? void e.consume(i) : (e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"),
|
|
2110
|
+
return i === null ? void e.consume(i) : (e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), fe(e, t, "linePrefix"));
|
|
2111
2111
|
}, function(i) {
|
|
2112
2112
|
return e.enter("paragraph"), n(i);
|
|
2113
2113
|
});
|
|
@@ -2120,7 +2120,7 @@ const ls = { tokenize: function(e) {
|
|
|
2120
2120
|
function o(i) {
|
|
2121
2121
|
return i === null ? (e.exit("chunkText"), e.exit("paragraph"), void e.consume(i)) : K(i) ? (e.consume(i), e.exit("chunkText"), n) : (e.consume(i), o);
|
|
2122
2122
|
}
|
|
2123
|
-
} },
|
|
2123
|
+
} }, us = { tokenize: function(e) {
|
|
2124
2124
|
const t = this, r = [];
|
|
2125
2125
|
let n, o, i, s = 0;
|
|
2126
2126
|
return A;
|
|
@@ -2203,10 +2203,10 @@ const ls = { tokenize: function(e) {
|
|
|
2203
2203
|
n.write([null]), o = void 0, n = void 0, t.containerState._closeFlow = void 0;
|
|
2204
2204
|
}
|
|
2205
2205
|
} }, no = { tokenize: function(e, t, r) {
|
|
2206
|
-
return
|
|
2206
|
+
return fe(e, e.attempt(this.parser.constructs.document, t, r), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
|
|
2207
2207
|
} };
|
|
2208
2208
|
function ro(e) {
|
|
2209
|
-
return e === null || Qe(e) ||
|
|
2209
|
+
return e === null || Qe(e) || ls(e) ? 1 : ss(e) ? 2 : void 0;
|
|
2210
2210
|
}
|
|
2211
2211
|
function xr(e, t, r) {
|
|
2212
2212
|
const n = [];
|
|
@@ -2245,7 +2245,7 @@ const nr = { name: "attention", resolveAll: function(e, t) {
|
|
|
2245
2245
|
function oo(e, t) {
|
|
2246
2246
|
e.column += t, e.offset += t, e._bufferIndex += t;
|
|
2247
2247
|
}
|
|
2248
|
-
const
|
|
2248
|
+
const ds = { name: "autolink", tokenize: function(e, t, r) {
|
|
2249
2249
|
let n = 0;
|
|
2250
2250
|
return function(u) {
|
|
2251
2251
|
return e.enter("autolink"), e.enter("autolinkMarker"), e.consume(u), e.exit("autolinkMarker"), e.enter("autolinkProtocol"), o;
|
|
@@ -2263,7 +2263,7 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2263
2263
|
return u === 62 ? (e.exit("autolinkProtocol"), e.enter("autolinkMarker"), e.consume(u), e.exit("autolinkMarker"), e.exit("autolink"), t) : u === null || u === 32 || u === 60 || er(u) ? r(u) : (e.consume(u), A);
|
|
2264
2264
|
}
|
|
2265
2265
|
function a(u) {
|
|
2266
|
-
return u === 64 ? (e.consume(u), c) :
|
|
2266
|
+
return u === 64 ? (e.consume(u), c) : is(u) ? (e.consume(u), a) : r(u);
|
|
2267
2267
|
}
|
|
2268
2268
|
function c(u) {
|
|
2269
2269
|
return Ne(u) ? l(u) : r(u);
|
|
@@ -2280,7 +2280,7 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2280
2280
|
}
|
|
2281
2281
|
} }, pn = { partial: !0, tokenize: function(e, t, r) {
|
|
2282
2282
|
return function(o) {
|
|
2283
|
-
return
|
|
2283
|
+
return se(o) ? fe(e, n, "linePrefix")(o) : n(o);
|
|
2284
2284
|
};
|
|
2285
2285
|
function n(o) {
|
|
2286
2286
|
return o === null || K(o) ? t(o) : r(o);
|
|
@@ -2288,7 +2288,7 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2288
2288
|
} }, Ii = { continuation: { tokenize: function(e, t, r) {
|
|
2289
2289
|
const n = this;
|
|
2290
2290
|
return function(i) {
|
|
2291
|
-
return
|
|
2291
|
+
return se(i) ? fe(e, o, "linePrefix", n.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(i) : o(i);
|
|
2292
2292
|
};
|
|
2293
2293
|
function o(i) {
|
|
2294
2294
|
return e.attempt(Ii, t, r)(i);
|
|
@@ -2305,14 +2305,14 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2305
2305
|
return r(i);
|
|
2306
2306
|
};
|
|
2307
2307
|
function o(i) {
|
|
2308
|
-
return
|
|
2308
|
+
return se(i) ? (e.enter("blockQuotePrefixWhitespace"), e.consume(i), e.exit("blockQuotePrefixWhitespace"), e.exit("blockQuotePrefix"), t) : (e.exit("blockQuotePrefix"), t(i));
|
|
2309
2309
|
}
|
|
2310
2310
|
} }, Ti = { name: "characterEscape", tokenize: function(e, t, r) {
|
|
2311
2311
|
return function(o) {
|
|
2312
2312
|
return e.enter("characterEscape"), e.enter("escapeMarker"), e.consume(o), e.exit("escapeMarker"), n;
|
|
2313
2313
|
};
|
|
2314
2314
|
function n(o) {
|
|
2315
|
-
return
|
|
2315
|
+
return As(o) ? (e.enter("characterEscapeValue"), e.consume(o), e.exit("characterEscapeValue"), e.exit("characterEscape"), t) : r(o);
|
|
2316
2316
|
}
|
|
2317
2317
|
} }, Qi = { name: "characterReference", tokenize: function(e, t, r) {
|
|
2318
2318
|
const n = this;
|
|
@@ -2324,7 +2324,7 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2324
2324
|
return l === 35 ? (e.enter("characterReferenceMarkerNumeric"), e.consume(l), e.exit("characterReferenceMarkerNumeric"), a) : (e.enter("characterReferenceValue"), o = 31, i = Ne, c(l));
|
|
2325
2325
|
}
|
|
2326
2326
|
function a(l) {
|
|
2327
|
-
return l === 88 || l === 120 ? (e.enter("characterReferenceMarkerHexadecimal"), e.consume(l), e.exit("characterReferenceMarkerHexadecimal"), e.enter("characterReferenceValue"), o = 6, i =
|
|
2327
|
+
return l === 88 || l === 120 ? (e.enter("characterReferenceMarkerHexadecimal"), e.consume(l), e.exit("characterReferenceMarkerHexadecimal"), e.enter("characterReferenceValue"), o = 6, i = as, c) : (e.enter("characterReferenceValue"), o = 7, i = tr, c(l));
|
|
2328
2328
|
}
|
|
2329
2329
|
function c(l) {
|
|
2330
2330
|
if (l === 59 && s) {
|
|
@@ -2349,13 +2349,13 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2349
2349
|
return g.enter("lineEnding"), g.consume(D), g.exit("lineEnding"), S;
|
|
2350
2350
|
}
|
|
2351
2351
|
function S(D) {
|
|
2352
|
-
return g.enter("codeFencedFence"),
|
|
2352
|
+
return g.enter("codeFencedFence"), se(D) ? fe(g, T, "linePrefix", n.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(D) : T(D);
|
|
2353
2353
|
}
|
|
2354
2354
|
function T(D) {
|
|
2355
2355
|
return D === i ? (g.enter("codeFencedFenceSequence"), B(D)) : k(D);
|
|
2356
2356
|
}
|
|
2357
2357
|
function B(D) {
|
|
2358
|
-
return D === i ? (E++, g.consume(D), B) : E >= A ? (g.exit("codeFencedFenceSequence"),
|
|
2358
|
+
return D === i ? (E++, g.consume(D), B) : E >= A ? (g.exit("codeFencedFenceSequence"), se(D) ? fe(g, M, "whitespace")(D) : M(D)) : k(D);
|
|
2359
2359
|
}
|
|
2360
2360
|
function M(D) {
|
|
2361
2361
|
return D === null || K(D) ? (g.exit("codeFencedFence"), x(D)) : k(D);
|
|
@@ -2369,13 +2369,13 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2369
2369
|
}(g);
|
|
2370
2370
|
};
|
|
2371
2371
|
function a(g) {
|
|
2372
|
-
return g === i ? (A++, e.consume(g), a) : A < 3 ? r(g) : (e.exit("codeFencedFenceSequence"),
|
|
2372
|
+
return g === i ? (A++, e.consume(g), a) : A < 3 ? r(g) : (e.exit("codeFencedFenceSequence"), se(g) ? fe(e, c, "whitespace")(g) : c(g));
|
|
2373
2373
|
}
|
|
2374
2374
|
function c(g) {
|
|
2375
2375
|
return g === null || K(g) ? (e.exit("codeFencedFence"), n.interrupt ? t(g) : e.check(io, p, w)(g)) : (e.enter("codeFencedFenceInfo"), e.enter("chunkString", { contentType: "string" }), l(g));
|
|
2376
2376
|
}
|
|
2377
2377
|
function l(g) {
|
|
2378
|
-
return g === null || K(g) ? (e.exit("chunkString"), e.exit("codeFencedFenceInfo"), c(g)) :
|
|
2378
|
+
return g === null || K(g) ? (e.exit("chunkString"), e.exit("codeFencedFenceInfo"), c(g)) : se(g) ? (e.exit("chunkString"), e.exit("codeFencedFenceInfo"), fe(e, d, "whitespace")(g)) : g === 96 && g === i ? r(g) : (e.consume(g), l);
|
|
2379
2379
|
}
|
|
2380
2380
|
function d(g) {
|
|
2381
2381
|
return g === null || K(g) ? c(g) : (e.enter("codeFencedFenceMeta"), e.enter("chunkString", { contentType: "string" }), u(g));
|
|
@@ -2390,7 +2390,7 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2390
2390
|
return e.enter("lineEnding"), e.consume(g), e.exit("lineEnding"), m;
|
|
2391
2391
|
}
|
|
2392
2392
|
function m(g) {
|
|
2393
|
-
return s > 0 &&
|
|
2393
|
+
return s > 0 && se(g) ? fe(e, h, "linePrefix", s + 1)(g) : h(g);
|
|
2394
2394
|
}
|
|
2395
2395
|
function h(g) {
|
|
2396
2396
|
return g === null || K(g) ? e.check(io, p, w)(g) : (e.enter("codeFlowValue"), b(g));
|
|
@@ -2404,14 +2404,14 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2404
2404
|
} }, Mn = { name: "codeIndented", tokenize: function(e, t, r) {
|
|
2405
2405
|
const n = this;
|
|
2406
2406
|
return function(a) {
|
|
2407
|
-
return e.enter("codeIndented"),
|
|
2407
|
+
return e.enter("codeIndented"), fe(e, o, "linePrefix", 5)(a);
|
|
2408
2408
|
};
|
|
2409
2409
|
function o(a) {
|
|
2410
2410
|
const c = n.events[n.events.length - 1];
|
|
2411
2411
|
return c && c[1].type === "linePrefix" && c[2].sliceSerialize(c[1], !0).length >= 4 ? i(a) : r(a);
|
|
2412
2412
|
}
|
|
2413
2413
|
function i(a) {
|
|
2414
|
-
return a === null ? A(a) : K(a) ? e.attempt(
|
|
2414
|
+
return a === null ? A(a) : K(a) ? e.attempt(ps, i, A)(a) : (e.enter("codeFlowValue"), s(a));
|
|
2415
2415
|
}
|
|
2416
2416
|
function s(a) {
|
|
2417
2417
|
return a === null || K(a) ? (e.exit("codeFlowValue"), i(a)) : (e.consume(a), s);
|
|
@@ -2419,17 +2419,17 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2419
2419
|
function A(a) {
|
|
2420
2420
|
return e.exit("codeIndented"), t(a);
|
|
2421
2421
|
}
|
|
2422
|
-
} },
|
|
2422
|
+
} }, ps = { partial: !0, tokenize: function(e, t, r) {
|
|
2423
2423
|
const n = this;
|
|
2424
2424
|
return o;
|
|
2425
2425
|
function o(s) {
|
|
2426
|
-
return n.parser.lazy[n.now().line] ? r(s) : K(s) ? (e.enter("lineEnding"), e.consume(s), e.exit("lineEnding"), o) :
|
|
2426
|
+
return n.parser.lazy[n.now().line] ? r(s) : K(s) ? (e.enter("lineEnding"), e.consume(s), e.exit("lineEnding"), o) : fe(e, i, "linePrefix", 5)(s);
|
|
2427
2427
|
}
|
|
2428
2428
|
function i(s) {
|
|
2429
2429
|
const A = n.events[n.events.length - 1];
|
|
2430
2430
|
return A && A[1].type === "linePrefix" && A[2].sliceSerialize(A[1], !0).length >= 4 ? t(s) : K(s) ? o(s) : r(s);
|
|
2431
2431
|
}
|
|
2432
|
-
} },
|
|
2432
|
+
} }, fs = { name: "codeText", previous: function(e) {
|
|
2433
2433
|
return e !== 96 || this.events[this.events.length - 1][1].type === "characterEscape";
|
|
2434
2434
|
}, resolve: function(e) {
|
|
2435
2435
|
let t, r, n = e.length - 4, o = 3;
|
|
@@ -2459,7 +2459,7 @@ const us = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2459
2459
|
return l === 96 ? (e.consume(l), n++, c) : n === i ? (e.exit("codeTextSequence"), e.exit("codeText"), t(l)) : (o.type = "codeTextData", a(l));
|
|
2460
2460
|
}
|
|
2461
2461
|
} };
|
|
2462
|
-
class
|
|
2462
|
+
class hs {
|
|
2463
2463
|
constructor(t) {
|
|
2464
2464
|
this.left = t ? [...t] : [], this.right = [];
|
|
2465
2465
|
}
|
|
@@ -2516,11 +2516,11 @@ function Lt(e, t) {
|
|
|
2516
2516
|
function Mi(e) {
|
|
2517
2517
|
const t = {};
|
|
2518
2518
|
let r, n, o, i, s, A, a, c = -1;
|
|
2519
|
-
const l = new
|
|
2519
|
+
const l = new hs(e);
|
|
2520
2520
|
for (; ++c < l.length; ) {
|
|
2521
2521
|
for (; c in t; ) c = t[c];
|
|
2522
2522
|
if (r = l.get(c), c && r[1].type === "chunkFlow" && l.get(c - 1)[1].type === "listItemPrefix" && (A = r[1]._tokenizer.events, o = 0, o < A.length && A[o][1].type === "lineEndingBlank" && (o += 2), o < A.length && A[o][1].type === "content")) for (; ++o < A.length && A[o][1].type !== "content"; ) A[o][1].type === "chunkText" && (A[o][1]._isInFirstContentOfListItem = !0, o++);
|
|
2523
|
-
if (r[0] === "enter") r[1].contentType && (Object.assign(t,
|
|
2523
|
+
if (r[0] === "enter") r[1].contentType && (Object.assign(t, gs(l, c)), c = t[c], a = !0);
|
|
2524
2524
|
else if (r[1]._container) {
|
|
2525
2525
|
for (o = c, n = void 0; o--; ) if (i = l.get(o), i[1].type === "lineEnding" || i[1].type === "lineEndingBlank") i[0] === "enter" && (n && (l.get(n)[1].type = "lineEndingBlank"), i[1].type = "lineEnding", n = o);
|
|
2526
2526
|
else if (i[1].type !== "linePrefix") break;
|
|
@@ -2529,7 +2529,7 @@ function Mi(e) {
|
|
|
2529
2529
|
}
|
|
2530
2530
|
return tt(e, 0, Number.POSITIVE_INFINITY, l.slice(0)), !a;
|
|
2531
2531
|
}
|
|
2532
|
-
function
|
|
2532
|
+
function gs(e, t) {
|
|
2533
2533
|
const r = e.get(t)[1], n = e.get(t)[2];
|
|
2534
2534
|
let o = t - 1;
|
|
2535
2535
|
const i = [], s = r._tokenizer || n.parser[r.contentType](r.start), A = s.events, a = [], c = {};
|
|
@@ -2547,7 +2547,7 @@ function hs(e, t) {
|
|
|
2547
2547
|
for (a.reverse(), u = -1; ++u < a.length; ) c[f + a[u][0]] = f + a[u][1], f += a[u][1] - a[u][0] - 1;
|
|
2548
2548
|
return c;
|
|
2549
2549
|
}
|
|
2550
|
-
const
|
|
2550
|
+
const ms = { resolve: function(e) {
|
|
2551
2551
|
return Mi(e), e;
|
|
2552
2552
|
}, tokenize: function(e, t) {
|
|
2553
2553
|
let r;
|
|
@@ -2555,7 +2555,7 @@ const gs = { resolve: function(e) {
|
|
|
2555
2555
|
return e.enter("content"), r = e.enter("chunkContent", { contentType: "content" }), n(s);
|
|
2556
2556
|
};
|
|
2557
2557
|
function n(s) {
|
|
2558
|
-
return s === null ? o(s) : K(s) ? e.check(
|
|
2558
|
+
return s === null ? o(s) : K(s) ? e.check(ys, i, o)(s) : (e.consume(s), n);
|
|
2559
2559
|
}
|
|
2560
2560
|
function o(s) {
|
|
2561
2561
|
return e.exit("chunkContent"), e.exit("content"), t(s);
|
|
@@ -2563,10 +2563,10 @@ const gs = { resolve: function(e) {
|
|
|
2563
2563
|
function i(s) {
|
|
2564
2564
|
return e.consume(s), e.exit("chunkContent"), r.next = e.enter("chunkContent", { contentType: "content", previous: r }), r = r.next, n;
|
|
2565
2565
|
}
|
|
2566
|
-
} },
|
|
2566
|
+
} }, ys = { partial: !0, tokenize: function(e, t, r) {
|
|
2567
2567
|
const n = this;
|
|
2568
2568
|
return function(i) {
|
|
2569
|
-
return e.exit("chunkContent"), e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"),
|
|
2569
|
+
return e.exit("chunkContent"), e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), fe(e, o, "linePrefix");
|
|
2570
2570
|
};
|
|
2571
2571
|
function o(i) {
|
|
2572
2572
|
if (i === null || K(i)) return r(i);
|
|
@@ -2606,7 +2606,7 @@ function _i(e, t, r, n, o, i) {
|
|
|
2606
2606
|
return a > 999 || u === null || u === 91 || u === 93 && !A || u === 94 && !a && "_hiddenFootnoteSupport" in s.parser.constructs ? r(u) : u === 93 ? (e.exit(i), e.enter(o), e.consume(u), e.exit(o), e.exit(n), t) : K(u) ? (e.enter("lineEnding"), e.consume(u), e.exit("lineEnding"), c) : (e.enter("chunkString", { contentType: "string" }), l(u));
|
|
2607
2607
|
}
|
|
2608
2608
|
function l(u) {
|
|
2609
|
-
return u === null || u === 91 || u === 93 || K(u) || a++ > 999 ? (e.exit("chunkString"), c(u)) : (e.consume(u), A || (A = !
|
|
2609
|
+
return u === null || u === 91 || u === 93 || K(u) || a++ > 999 ? (e.exit("chunkString"), c(u)) : (e.consume(u), A || (A = !se(u)), u === 92 ? d : l);
|
|
2610
2610
|
}
|
|
2611
2611
|
function d(u) {
|
|
2612
2612
|
return u === 91 || u === 92 || u === 93 ? (e.consume(u), a++, l) : l(u);
|
|
@@ -2621,7 +2621,7 @@ function Li(e, t, r, n, o, i) {
|
|
|
2621
2621
|
return d === s ? (e.enter(o), e.consume(d), e.exit(o), e.exit(n), t) : (e.enter(i), a(d));
|
|
2622
2622
|
}
|
|
2623
2623
|
function a(d) {
|
|
2624
|
-
return d === s ? (e.exit(i), A(s)) : d === null ? r(d) : K(d) ? (e.enter("lineEnding"), e.consume(d), e.exit("lineEnding"),
|
|
2624
|
+
return d === s ? (e.exit(i), A(s)) : d === null ? r(d) : K(d) ? (e.enter("lineEnding"), e.consume(d), e.exit("lineEnding"), fe(e, a, "linePrefix")) : (e.enter("chunkString", { contentType: "string" }), c(d));
|
|
2625
2625
|
}
|
|
2626
2626
|
function c(d) {
|
|
2627
2627
|
return d === s || d === null || K(d) ? (e.exit("chunkString"), a(d)) : (e.consume(d), d === 92 ? l : c);
|
|
@@ -2633,10 +2633,10 @@ function Li(e, t, r, n, o, i) {
|
|
|
2633
2633
|
function zt(e, t) {
|
|
2634
2634
|
let r;
|
|
2635
2635
|
return function n(o) {
|
|
2636
|
-
return K(o) ? (e.enter("lineEnding"), e.consume(o), e.exit("lineEnding"), r = !0, n) :
|
|
2636
|
+
return K(o) ? (e.enter("lineEnding"), e.consume(o), e.exit("lineEnding"), r = !0, n) : se(o) ? fe(e, n, r ? "linePrefix" : "lineSuffix")(o) : t(o);
|
|
2637
2637
|
};
|
|
2638
2638
|
}
|
|
2639
|
-
const
|
|
2639
|
+
const bs = { name: "definition", tokenize: function(e, t, r) {
|
|
2640
2640
|
const n = this;
|
|
2641
2641
|
let o;
|
|
2642
2642
|
return function(d) {
|
|
@@ -2654,15 +2654,15 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2654
2654
|
return Oi(e, a, r, "definitionDestination", "definitionDestinationLiteral", "definitionDestinationLiteralMarker", "definitionDestinationRaw", "definitionDestinationString")(d);
|
|
2655
2655
|
}
|
|
2656
2656
|
function a(d) {
|
|
2657
|
-
return e.attempt(
|
|
2657
|
+
return e.attempt(vs, c, c)(d);
|
|
2658
2658
|
}
|
|
2659
2659
|
function c(d) {
|
|
2660
|
-
return
|
|
2660
|
+
return se(d) ? fe(e, l, "whitespace")(d) : l(d);
|
|
2661
2661
|
}
|
|
2662
2662
|
function l(d) {
|
|
2663
2663
|
return d === null || K(d) ? (e.exit("definition"), n.parser.defined.push(o), t(d)) : r(d);
|
|
2664
2664
|
}
|
|
2665
|
-
} },
|
|
2665
|
+
} }, vs = { partial: !0, tokenize: function(e, t, r) {
|
|
2666
2666
|
return function(s) {
|
|
2667
2667
|
return Qe(s) ? zt(e, n)(s) : r(s);
|
|
2668
2668
|
};
|
|
@@ -2670,19 +2670,19 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2670
2670
|
return Li(e, o, r, "definitionTitle", "definitionTitleMarker", "definitionTitleString")(s);
|
|
2671
2671
|
}
|
|
2672
2672
|
function o(s) {
|
|
2673
|
-
return
|
|
2673
|
+
return se(s) ? fe(e, i, "whitespace")(s) : i(s);
|
|
2674
2674
|
}
|
|
2675
2675
|
function i(s) {
|
|
2676
2676
|
return s === null || K(s) ? t(s) : r(s);
|
|
2677
2677
|
}
|
|
2678
|
-
} },
|
|
2678
|
+
} }, ws = { name: "hardBreakEscape", tokenize: function(e, t, r) {
|
|
2679
2679
|
return function(o) {
|
|
2680
2680
|
return e.enter("hardBreakEscape"), e.consume(o), n;
|
|
2681
2681
|
};
|
|
2682
2682
|
function n(o) {
|
|
2683
2683
|
return K(o) ? (e.exit("hardBreakEscape"), t(o)) : r(o);
|
|
2684
2684
|
}
|
|
2685
|
-
} },
|
|
2685
|
+
} }, xs = { name: "headingAtx", resolve: function(e, t) {
|
|
2686
2686
|
let r, n, o = e.length - 2, i = 3;
|
|
2687
2687
|
return e[i][1].type === "whitespace" && (i += 2), o - 2 > i && e[o][1].type === "whitespace" && (o -= 2), e[o][1].type === "atxHeadingSequence" && (i === o - 1 || o - 4 > i && e[o - 2][1].type === "whitespace") && (o -= i + 1 === o ? 2 : 4), o > i && (r = { type: "atxHeadingText", start: e[i][1].start, end: e[o][1].end }, n = { type: "chunkText", start: e[i][1].start, end: e[o][1].end, contentType: "text" }, tt(e, i, o - i + 1, [["enter", r, t], ["enter", n, t], ["exit", n, t], ["exit", r, t]])), e;
|
|
2688
2688
|
}, tokenize: function(e, t, r) {
|
|
@@ -2696,7 +2696,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2696
2696
|
return a === 35 && n++ < 6 ? (e.consume(a), o) : a === null || Qe(a) ? (e.exit("atxHeadingSequence"), i(a)) : r(a);
|
|
2697
2697
|
}
|
|
2698
2698
|
function i(a) {
|
|
2699
|
-
return a === 35 ? (e.enter("atxHeadingSequence"), s(a)) : a === null || K(a) ? (e.exit("atxHeading"), t(a)) :
|
|
2699
|
+
return a === 35 ? (e.enter("atxHeadingSequence"), s(a)) : a === null || K(a) ? (e.exit("atxHeading"), t(a)) : se(a) ? fe(e, i, "whitespace")(a) : (e.enter("atxHeadingText"), A(a));
|
|
2700
2700
|
}
|
|
2701
2701
|
function s(a) {
|
|
2702
2702
|
return a === 35 ? (e.consume(a), s) : (e.exit("atxHeadingSequence"), i(a));
|
|
@@ -2704,7 +2704,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2704
2704
|
function A(a) {
|
|
2705
2705
|
return a === null || a === 35 || Qe(a) ? (e.exit("atxHeadingText"), i(a)) : (e.consume(a), A);
|
|
2706
2706
|
}
|
|
2707
|
-
} },
|
|
2707
|
+
} }, Es = ["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"], Ao = ["pre", "script", "style", "textarea"], ks = { concrete: !0, name: "htmlFlow", resolveTo: function(e) {
|
|
2708
2708
|
let t = e.length;
|
|
2709
2709
|
for (; t-- && (e[t][0] !== "enter" || e[t][1].type !== "htmlFlow"); ) ;
|
|
2710
2710
|
return t > 1 && e[t - 2][1].type === "linePrefix" && (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;
|
|
@@ -2734,7 +2734,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2734
2734
|
function f(v) {
|
|
2735
2735
|
if (v === null || v === 47 || v === 62 || Qe(v)) {
|
|
2736
2736
|
const J = v === 47, z = s.toLowerCase();
|
|
2737
|
-
return J || i || !Ao.includes(z) ?
|
|
2737
|
+
return J || i || !Ao.includes(z) ? Es.includes(s.toLowerCase()) ? (o = 6, J ? (e.consume(v), m) : n.interrupt ? t(v) : B(v)) : (o = 7, n.interrupt && !n.parser.lazy[n.now().line] ? r(v) : i ? h(v) : b(v)) : (o = 1, n.interrupt ? t(v) : B(v));
|
|
2738
2738
|
}
|
|
2739
2739
|
return v === 45 || Ne(v) ? (e.consume(v), s += String.fromCharCode(v), f) : r(v);
|
|
2740
2740
|
}
|
|
@@ -2742,19 +2742,19 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2742
2742
|
return v === 62 ? (e.consume(v), n.interrupt ? t : B) : r(v);
|
|
2743
2743
|
}
|
|
2744
2744
|
function h(v) {
|
|
2745
|
-
return
|
|
2745
|
+
return se(v) ? (e.consume(v), h) : S(v);
|
|
2746
2746
|
}
|
|
2747
2747
|
function b(v) {
|
|
2748
|
-
return v === 47 ? (e.consume(v), S) : v === 58 || v === 95 || $e(v) ? (e.consume(v), w) :
|
|
2748
|
+
return v === 47 ? (e.consume(v), S) : v === 58 || v === 95 || $e(v) ? (e.consume(v), w) : se(v) ? (e.consume(v), b) : S(v);
|
|
2749
2749
|
}
|
|
2750
2750
|
function w(v) {
|
|
2751
2751
|
return v === 45 || v === 46 || v === 58 || v === 95 || Ne(v) ? (e.consume(v), w) : g(v);
|
|
2752
2752
|
}
|
|
2753
2753
|
function g(v) {
|
|
2754
|
-
return v === 61 ? (e.consume(v), x) :
|
|
2754
|
+
return v === 61 ? (e.consume(v), x) : se(v) ? (e.consume(v), g) : b(v);
|
|
2755
2755
|
}
|
|
2756
2756
|
function x(v) {
|
|
2757
|
-
return v === null || v === 60 || v === 61 || v === 62 || v === 96 ? r(v) : v === 34 || v === 39 ? (e.consume(v), a = v, k) :
|
|
2757
|
+
return v === null || v === 60 || v === 61 || v === 62 || v === 96 ? r(v) : v === 34 || v === 39 ? (e.consume(v), a = v, k) : se(v) ? (e.consume(v), x) : E(v);
|
|
2758
2758
|
}
|
|
2759
2759
|
function k(v) {
|
|
2760
2760
|
return v === a ? (e.consume(v), a = null, C) : v === null || K(v) ? r(v) : (e.consume(v), k);
|
|
@@ -2763,19 +2763,19 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2763
2763
|
return v === null || v === 34 || v === 39 || v === 47 || v === 60 || v === 61 || v === 62 || v === 96 || Qe(v) ? g(v) : (e.consume(v), E);
|
|
2764
2764
|
}
|
|
2765
2765
|
function C(v) {
|
|
2766
|
-
return v === 47 || v === 62 ||
|
|
2766
|
+
return v === 47 || v === 62 || se(v) ? b(v) : r(v);
|
|
2767
2767
|
}
|
|
2768
2768
|
function S(v) {
|
|
2769
2769
|
return v === 62 ? (e.consume(v), T) : r(v);
|
|
2770
2770
|
}
|
|
2771
2771
|
function T(v) {
|
|
2772
|
-
return v === null || K(v) ? B(v) :
|
|
2772
|
+
return v === null || K(v) ? B(v) : se(v) ? (e.consume(v), T) : r(v);
|
|
2773
2773
|
}
|
|
2774
2774
|
function B(v) {
|
|
2775
|
-
return v === 45 && o === 2 ? (e.consume(v), R) : v === 60 && o === 1 ? (e.consume(v), _) : v === 62 && o === 4 ? (e.consume(v), y) : v === 63 && o === 3 ? (e.consume(v), L) : v === 93 && o === 5 ? (e.consume(v), O) : !K(v) || o !== 6 && o !== 7 ? v === null || K(v) ? (e.exit("htmlFlowData"), M(v)) : (e.consume(v), B) : (e.exit("htmlFlowData"), e.check(
|
|
2775
|
+
return v === 45 && o === 2 ? (e.consume(v), R) : v === 60 && o === 1 ? (e.consume(v), _) : v === 62 && o === 4 ? (e.consume(v), y) : v === 63 && o === 3 ? (e.consume(v), L) : v === 93 && o === 5 ? (e.consume(v), O) : !K(v) || o !== 6 && o !== 7 ? v === null || K(v) ? (e.exit("htmlFlowData"), M(v)) : (e.consume(v), B) : (e.exit("htmlFlowData"), e.check(Ps, X, M)(v));
|
|
2776
2776
|
}
|
|
2777
2777
|
function M(v) {
|
|
2778
|
-
return e.check(
|
|
2778
|
+
return e.check(Cs, D, X)(v);
|
|
2779
2779
|
}
|
|
2780
2780
|
function D(v) {
|
|
2781
2781
|
return e.enter("lineEnding"), e.consume(v), e.exit("lineEnding"), Q;
|
|
@@ -2808,11 +2808,11 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2808
2808
|
function X(v) {
|
|
2809
2809
|
return e.exit("htmlFlow"), t(v);
|
|
2810
2810
|
}
|
|
2811
|
-
} },
|
|
2811
|
+
} }, Ps = { partial: !0, tokenize: function(e, t, r) {
|
|
2812
2812
|
return function(n) {
|
|
2813
2813
|
return e.enter("lineEnding"), e.consume(n), e.exit("lineEnding"), e.attempt(pn, t, r);
|
|
2814
2814
|
};
|
|
2815
|
-
} },
|
|
2815
|
+
} }, Cs = { partial: !0, tokenize: function(e, t, r) {
|
|
2816
2816
|
const n = this;
|
|
2817
2817
|
return function(i) {
|
|
2818
2818
|
return K(i) ? (e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), o) : r(i);
|
|
@@ -2820,7 +2820,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2820
2820
|
function o(i) {
|
|
2821
2821
|
return n.parser.lazy[n.now().line] ? r(i) : t(i);
|
|
2822
2822
|
}
|
|
2823
|
-
} },
|
|
2823
|
+
} }, Ds = { name: "htmlText", tokenize: function(e, t, r) {
|
|
2824
2824
|
const n = this;
|
|
2825
2825
|
let o, i, s;
|
|
2826
2826
|
return function(y) {
|
|
@@ -2872,22 +2872,22 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2872
2872
|
return y === 45 || Ne(y) ? (e.consume(y), k) : E(y);
|
|
2873
2873
|
}
|
|
2874
2874
|
function E(y) {
|
|
2875
|
-
return K(y) ? (s = E, U(y)) :
|
|
2875
|
+
return K(y) ? (s = E, U(y)) : se(y) ? (e.consume(y), E) : _(y);
|
|
2876
2876
|
}
|
|
2877
2877
|
function C(y) {
|
|
2878
2878
|
return y === 45 || Ne(y) ? (e.consume(y), C) : y === 47 || y === 62 || Qe(y) ? S(y) : r(y);
|
|
2879
2879
|
}
|
|
2880
2880
|
function S(y) {
|
|
2881
|
-
return y === 47 ? (e.consume(y), _) : y === 58 || y === 95 || $e(y) ? (e.consume(y), T) : K(y) ? (s = S, U(y)) :
|
|
2881
|
+
return y === 47 ? (e.consume(y), _) : y === 58 || y === 95 || $e(y) ? (e.consume(y), T) : K(y) ? (s = S, U(y)) : se(y) ? (e.consume(y), S) : _(y);
|
|
2882
2882
|
}
|
|
2883
2883
|
function T(y) {
|
|
2884
2884
|
return y === 45 || y === 46 || y === 58 || y === 95 || Ne(y) ? (e.consume(y), T) : B(y);
|
|
2885
2885
|
}
|
|
2886
2886
|
function B(y) {
|
|
2887
|
-
return y === 61 ? (e.consume(y), M) : K(y) ? (s = B, U(y)) :
|
|
2887
|
+
return y === 61 ? (e.consume(y), M) : K(y) ? (s = B, U(y)) : se(y) ? (e.consume(y), B) : S(y);
|
|
2888
2888
|
}
|
|
2889
2889
|
function M(y) {
|
|
2890
|
-
return y === null || y === 60 || y === 61 || y === 62 || y === 96 ? r(y) : y === 34 || y === 39 ? (e.consume(y), o = y, D) : K(y) ? (s = M, U(y)) :
|
|
2890
|
+
return y === null || y === 60 || y === 61 || y === 62 || y === 96 ? r(y) : y === 34 || y === 39 ? (e.consume(y), o = y, D) : K(y) ? (s = M, U(y)) : se(y) ? (e.consume(y), M) : (e.consume(y), Q);
|
|
2891
2891
|
}
|
|
2892
2892
|
function D(y) {
|
|
2893
2893
|
return y === o ? (e.consume(y), o = void 0, R) : y === null ? r(y) : K(y) ? (s = D, U(y)) : (e.consume(y), D);
|
|
@@ -2905,7 +2905,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2905
2905
|
return e.exit("htmlTextData"), e.enter("lineEnding"), e.consume(y), e.exit("lineEnding"), O;
|
|
2906
2906
|
}
|
|
2907
2907
|
function O(y) {
|
|
2908
|
-
return
|
|
2908
|
+
return se(y) ? fe(e, L, "linePrefix", n.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(y) : L(y);
|
|
2909
2909
|
}
|
|
2910
2910
|
function L(y) {
|
|
2911
2911
|
return e.enter("htmlTextData"), s(y);
|
|
@@ -2945,10 +2945,10 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2945
2945
|
return o ? o._inactive ? l(d) : (i = n.parser.defined.includes(St(n.sliceSerialize({ start: o.end, end: n.now() }))), e.enter("labelEnd"), e.enter("labelMarker"), e.consume(d), e.exit("labelMarker"), e.exit("labelEnd"), A) : r(d);
|
|
2946
2946
|
};
|
|
2947
2947
|
function A(d) {
|
|
2948
|
-
return d === 40 ? e.attempt(
|
|
2948
|
+
return d === 40 ? e.attempt(Bs, c, i ? c : l)(d) : d === 91 ? e.attempt(Ss, c, i ? a : l)(d) : i ? c(d) : l(d);
|
|
2949
2949
|
}
|
|
2950
2950
|
function a(d) {
|
|
2951
|
-
return e.attempt(
|
|
2951
|
+
return e.attempt(Is, c, l)(d);
|
|
2952
2952
|
}
|
|
2953
2953
|
function c(d) {
|
|
2954
2954
|
return t(d);
|
|
@@ -2956,7 +2956,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2956
2956
|
function l(d) {
|
|
2957
2957
|
return o._balanced = !0, r(d);
|
|
2958
2958
|
}
|
|
2959
|
-
} },
|
|
2959
|
+
} }, Bs = { tokenize: function(e, t, r) {
|
|
2960
2960
|
return function(l) {
|
|
2961
2961
|
return e.enter("resource"), e.enter("resourceMarker"), e.consume(l), e.exit("resourceMarker"), n;
|
|
2962
2962
|
};
|
|
@@ -2981,7 +2981,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2981
2981
|
function c(l) {
|
|
2982
2982
|
return l === 41 ? (e.enter("resourceMarker"), e.consume(l), e.exit("resourceMarker"), e.exit("resource"), t) : r(l);
|
|
2983
2983
|
}
|
|
2984
|
-
} },
|
|
2984
|
+
} }, Ss = { tokenize: function(e, t, r) {
|
|
2985
2985
|
const n = this;
|
|
2986
2986
|
return function(s) {
|
|
2987
2987
|
return _i.call(n, e, o, i, "reference", "referenceMarker", "referenceString")(s);
|
|
@@ -2992,14 +2992,14 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2992
2992
|
function i(s) {
|
|
2993
2993
|
return r(s);
|
|
2994
2994
|
}
|
|
2995
|
-
} },
|
|
2995
|
+
} }, Is = { tokenize: function(e, t, r) {
|
|
2996
2996
|
return function(o) {
|
|
2997
2997
|
return e.enter("reference"), e.enter("referenceMarker"), e.consume(o), e.exit("referenceMarker"), n;
|
|
2998
2998
|
};
|
|
2999
2999
|
function n(o) {
|
|
3000
3000
|
return o === 93 ? (e.enter("referenceMarker"), e.consume(o), e.exit("referenceMarker"), e.exit("reference"), t) : r(o);
|
|
3001
3001
|
}
|
|
3002
|
-
} },
|
|
3002
|
+
} }, Ts = { name: "labelStartImage", resolveAll: Er.resolveAll, tokenize: function(e, t, r) {
|
|
3003
3003
|
const n = this;
|
|
3004
3004
|
return function(s) {
|
|
3005
3005
|
return e.enter("labelImage"), e.enter("labelImageMarker"), e.consume(s), e.exit("labelImageMarker"), o;
|
|
@@ -3010,7 +3010,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
3010
3010
|
function i(s) {
|
|
3011
3011
|
return s === 94 && "_hiddenFootnoteSupport" in n.parser.constructs ? r(s) : t(s);
|
|
3012
3012
|
}
|
|
3013
|
-
} },
|
|
3013
|
+
} }, Qs = { name: "labelStartLink", resolveAll: Er.resolveAll, tokenize: function(e, t, r) {
|
|
3014
3014
|
const n = this;
|
|
3015
3015
|
return function(i) {
|
|
3016
3016
|
return e.enter("labelLink"), e.enter("labelMarker"), e.consume(i), e.exit("labelMarker"), e.exit("labelLink"), o;
|
|
@@ -3020,7 +3020,7 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
3020
3020
|
}
|
|
3021
3021
|
} }, On = { name: "lineEnding", tokenize: function(e, t) {
|
|
3022
3022
|
return function(r) {
|
|
3023
|
-
return e.enter("lineEnding"), e.consume(r), e.exit("lineEnding"),
|
|
3023
|
+
return e.enter("lineEnding"), e.consume(r), e.exit("lineEnding"), fe(e, t, "linePrefix");
|
|
3024
3024
|
};
|
|
3025
3025
|
} }, sn = { name: "thematicBreak", tokenize: function(e, t, r) {
|
|
3026
3026
|
let n, o = 0;
|
|
@@ -3033,17 +3033,17 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
3033
3033
|
return A === n ? (e.enter("thematicBreakSequence"), s(A)) : o >= 3 && (A === null || K(A)) ? (e.exit("thematicBreak"), t(A)) : r(A);
|
|
3034
3034
|
}
|
|
3035
3035
|
function s(A) {
|
|
3036
|
-
return A === n ? (e.consume(A), o++, s) : (e.exit("thematicBreakSequence"),
|
|
3036
|
+
return A === n ? (e.consume(A), o++, s) : (e.exit("thematicBreakSequence"), se(A) ? fe(e, i, "whitespace")(A) : i(A));
|
|
3037
3037
|
}
|
|
3038
3038
|
} }, Te = { continuation: { tokenize: function(e, t, r) {
|
|
3039
3039
|
const n = this;
|
|
3040
3040
|
return n.containerState._closeFlow = void 0, e.check(pn, function(i) {
|
|
3041
|
-
return n.containerState.furtherBlankLines = n.containerState.furtherBlankLines || n.containerState.initialBlankLine,
|
|
3041
|
+
return n.containerState.furtherBlankLines = n.containerState.furtherBlankLines || n.containerState.initialBlankLine, fe(e, t, "listItemIndent", n.containerState.size + 1)(i);
|
|
3042
3042
|
}, function(i) {
|
|
3043
|
-
return n.containerState.furtherBlankLines || !
|
|
3043
|
+
return n.containerState.furtherBlankLines || !se(i) ? (n.containerState.furtherBlankLines = void 0, n.containerState.initialBlankLine = void 0, o(i)) : (n.containerState.furtherBlankLines = void 0, n.containerState.initialBlankLine = void 0, e.attempt(Os, t, o)(i));
|
|
3044
3044
|
});
|
|
3045
3045
|
function o(i) {
|
|
3046
|
-
return n.containerState._closeFlow = !0, n.interrupt = void 0,
|
|
3046
|
+
return n.containerState._closeFlow = !0, n.interrupt = void 0, fe(e, e.attempt(Te, t, r), "linePrefix", n.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(i);
|
|
3047
3047
|
}
|
|
3048
3048
|
} }, exit: function(e) {
|
|
3049
3049
|
e.exit(this.containerState.type);
|
|
@@ -3062,26 +3062,26 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
3062
3062
|
return tr(u) && ++s < 10 ? (e.consume(u), A) : (!n.interrupt || s < 2) && (n.containerState.marker ? u === n.containerState.marker : u === 41 || u === 46) ? (e.exit("listItemValue"), a(u)) : r(u);
|
|
3063
3063
|
}
|
|
3064
3064
|
function a(u) {
|
|
3065
|
-
return e.enter("listItemMarker"), e.consume(u), e.exit("listItemMarker"), n.containerState.marker = n.containerState.marker || u, e.check(pn, n.interrupt ? r : c, e.attempt(
|
|
3065
|
+
return e.enter("listItemMarker"), e.consume(u), e.exit("listItemMarker"), n.containerState.marker = n.containerState.marker || u, e.check(pn, n.interrupt ? r : c, e.attempt(Ms, d, l));
|
|
3066
3066
|
}
|
|
3067
3067
|
function c(u) {
|
|
3068
3068
|
return n.containerState.initialBlankLine = !0, i++, d(u);
|
|
3069
3069
|
}
|
|
3070
3070
|
function l(u) {
|
|
3071
|
-
return
|
|
3071
|
+
return se(u) ? (e.enter("listItemPrefixWhitespace"), e.consume(u), e.exit("listItemPrefixWhitespace"), d) : r(u);
|
|
3072
3072
|
}
|
|
3073
3073
|
function d(u) {
|
|
3074
3074
|
return n.containerState.size = i + n.sliceSerialize(e.exit("listItemPrefix"), !0).length, t(u);
|
|
3075
3075
|
}
|
|
3076
|
-
} },
|
|
3076
|
+
} }, Ms = { partial: !0, tokenize: function(e, t, r) {
|
|
3077
3077
|
const n = this;
|
|
3078
|
-
return
|
|
3078
|
+
return fe(e, function(o) {
|
|
3079
3079
|
const i = n.events[n.events.length - 1];
|
|
3080
|
-
return !
|
|
3080
|
+
return !se(o) && i && i[1].type === "listItemPrefixWhitespace" ? t(o) : r(o);
|
|
3081
3081
|
}, "listItemPrefixWhitespace", n.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 5);
|
|
3082
|
-
} },
|
|
3082
|
+
} }, Os = { partial: !0, tokenize: function(e, t, r) {
|
|
3083
3083
|
const n = this;
|
|
3084
|
-
return
|
|
3084
|
+
return fe(e, function(o) {
|
|
3085
3085
|
const i = n.events[n.events.length - 1];
|
|
3086
3086
|
return i && i[1].type === "listItemIndent" && i[2].sliceSerialize(i[1], !0).length === n.containerState.size ? t(o) : r(o);
|
|
3087
3087
|
}, "listItemIndent", n.containerState.size + 1);
|
|
@@ -3110,23 +3110,23 @@ const ys = { name: "definition", tokenize: function(e, t, r) {
|
|
|
3110
3110
|
}(A));
|
|
3111
3111
|
};
|
|
3112
3112
|
function i(A) {
|
|
3113
|
-
return A === o ? (e.consume(A), i) : (e.exit("setextHeadingLineSequence"),
|
|
3113
|
+
return A === o ? (e.consume(A), i) : (e.exit("setextHeadingLineSequence"), se(A) ? fe(e, s, "lineSuffix")(A) : s(A));
|
|
3114
3114
|
}
|
|
3115
3115
|
function s(A) {
|
|
3116
3116
|
return A === null || K(A) ? (e.exit("setextHeadingLine"), t(A)) : r(A);
|
|
3117
3117
|
}
|
|
3118
|
-
} },
|
|
3118
|
+
} }, _s = { tokenize: function(e) {
|
|
3119
3119
|
const t = this, r = e.attempt(pn, function(o) {
|
|
3120
3120
|
return o === null ? void e.consume(o) : (e.enter("lineEndingBlank"), e.consume(o), e.exit("lineEndingBlank"), t.currentConstruct = void 0, r);
|
|
3121
|
-
}, e.attempt(this.parser.constructs.flowInitial, n,
|
|
3121
|
+
}, e.attempt(this.parser.constructs.flowInitial, n, fe(e, e.attempt(this.parser.constructs.flow, n, e.attempt(ms, n)), "linePrefix")));
|
|
3122
3122
|
return r;
|
|
3123
3123
|
function n(o) {
|
|
3124
3124
|
if (o !== null) return e.enter("lineEnding"), e.consume(o), e.exit("lineEnding"), t.currentConstruct = void 0, r;
|
|
3125
3125
|
e.consume(o);
|
|
3126
3126
|
}
|
|
3127
|
-
} },
|
|
3127
|
+
} }, Ls = { resolveAll: Ri() }, Ns = Ni("string"), Rs = Ni("text");
|
|
3128
3128
|
function Ni(e) {
|
|
3129
|
-
return { resolveAll: Ri(e === "text" ?
|
|
3129
|
+
return { resolveAll: Ri(e === "text" ? Hs : void 0), tokenize: function(t) {
|
|
3130
3130
|
const r = this, n = this.parser.constructs[e], o = t.attempt(n, i, s);
|
|
3131
3131
|
return i;
|
|
3132
3132
|
function i(c) {
|
|
@@ -3158,7 +3158,7 @@ function Ri(e) {
|
|
|
3158
3158
|
return e ? e(t, r) : t;
|
|
3159
3159
|
};
|
|
3160
3160
|
}
|
|
3161
|
-
function
|
|
3161
|
+
function Hs(e, t) {
|
|
3162
3162
|
let r = 0;
|
|
3163
3163
|
for (; ++r <= e.length; ) if ((r === e.length || e[r][1].type === "lineEnding") && e[r - 1][1].type === "data") {
|
|
3164
3164
|
const n = e[r - 1][1], o = t.sliceStream(n);
|
|
@@ -3183,8 +3183,8 @@ function Rs(e, t) {
|
|
|
3183
3183
|
}
|
|
3184
3184
|
return e;
|
|
3185
3185
|
}
|
|
3186
|
-
const
|
|
3187
|
-
function
|
|
3186
|
+
const Us = { 42: Te, 43: Te, 45: Te, 48: Te, 49: Te, 50: Te, 51: Te, 52: Te, 53: Te, 54: Te, 55: Te, 56: Te, 57: Te, 62: Ii }, Fs = { 91: bs }, zs = { [-2]: Mn, [-1]: Mn, 32: Mn }, js = { 35: xs, 42: sn, 45: [so, sn], 60: ks, 61: so, 95: sn, 96: ao, 126: ao }, qs = { 38: Qi, 92: Ti }, Gs = { [-5]: On, [-4]: On, [-3]: On, 33: Ts, 38: Qi, 42: nr, 60: [ds, Ds], 91: Qs, 92: [ws, Ti], 93: Er, 95: nr, 96: fs }, Ys = { null: [nr, Ls] }, Ws = Object.freeze(Object.defineProperty({ __proto__: null, attentionMarkers: { null: [42, 95] }, contentInitial: Fs, disable: { null: [] }, document: Us, flow: js, flowInitial: zs, insideSpan: Ys, string: qs, text: Gs }, Symbol.toStringTag, { value: "Module" }));
|
|
3187
|
+
function Vs(e, t, r) {
|
|
3188
3188
|
let n = { _bufferIndex: -1, _index: 0, line: r && r.line || 1, column: r && r.column || 1, offset: r && r.offset || 0 };
|
|
3189
3189
|
const o = {}, i = [];
|
|
3190
3190
|
let s = [], A = [];
|
|
@@ -3311,8 +3311,8 @@ function Ws(e, t, r) {
|
|
|
3311
3311
|
n.line in o && n.column < 2 && (n.column = o[n.line], n.offset += o[n.line] - 1);
|
|
3312
3312
|
}
|
|
3313
3313
|
}
|
|
3314
|
-
const lo = /[\0\t\n\r]/g,
|
|
3315
|
-
function
|
|
3314
|
+
const lo = /[\0\t\n\r]/g, Xs = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
|
|
3315
|
+
function Ks(e, t, r) {
|
|
3316
3316
|
if (t) return t;
|
|
3317
3317
|
if (r.charCodeAt(0) === 35) {
|
|
3318
3318
|
const n = r.charCodeAt(1), o = n === 120 || n === 88;
|
|
@@ -3321,15 +3321,15 @@ function Xs(e, t, r) {
|
|
|
3321
3321
|
return wr(r) || e;
|
|
3322
3322
|
}
|
|
3323
3323
|
const Hi = {}.hasOwnProperty;
|
|
3324
|
-
function
|
|
3324
|
+
function Js(e, t, r) {
|
|
3325
3325
|
return typeof t != "string" && (r = t, t = void 0), function(n) {
|
|
3326
|
-
const o = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: a(Xt), autolinkProtocol: D, autolinkEmail: D, atxHeading: a(We), blockQuote: a(pt), characterEscape: D, characterReference: D, codeFenced: a(Se), codeFencedFenceInfo: c, codeFencedFenceMeta: c, codeIndented: a(Se, c), codeText: a(je, c), codeTextData: D, data: D, codeFlowValue: D, definition: a(xt), definitionDestinationString: c, definitionLabelString: c, definitionTitleString: c, emphasis: a(at), hardBreakEscape: a(we), hardBreakTrailing: a(we), htmlFlow: a(He, c), htmlFlowData: D, htmlText: a(He, c), htmlTextData: D, image: a(Ve), label: c, link: a(Xt), listItem: a(Mt), listItemValue: m, listOrdered: a(Kt, f), listUnordered: a(Kt), paragraph: a(kn), reference:
|
|
3326
|
+
const o = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: a(Xt), autolinkProtocol: D, autolinkEmail: D, atxHeading: a(We), blockQuote: a(pt), characterEscape: D, characterReference: D, codeFenced: a(Se), codeFencedFenceInfo: c, codeFencedFenceMeta: c, codeIndented: a(Se, c), codeText: a(je, c), codeTextData: D, data: D, codeFlowValue: D, definition: a(xt), definitionDestinationString: c, definitionLabelString: c, definitionTitleString: c, emphasis: a(at), hardBreakEscape: a(we), hardBreakTrailing: a(we), htmlFlow: a(He, c), htmlFlowData: D, htmlText: a(He, c), htmlTextData: D, image: a(Ve), label: c, link: a(Xt), listItem: a(Mt), listItemValue: m, listOrdered: a(Kt, f), listUnordered: a(Kt), paragraph: a(kn), reference: $, referenceString: c, resourceDestinationString: c, resourceTitleString: c, setextHeading: a(We), strong: a(ft), thematicBreak: a(Jt) }, exit: { atxHeading: d(), atxHeadingSequence: S, autolink: d(), autolinkEmail: Ye, autolinkProtocol: Ce, blockQuote: d(), characterEscapeValue: Q, characterReferenceMarkerHexadecimal: le, characterReferenceMarkerNumeric: le, characterReferenceValue: ae, characterReference: de, codeFenced: d(g), codeFencedFence: w, codeFencedFenceInfo: h, codeFencedFenceMeta: b, codeFlowValue: Q, codeIndented: d(x), codeText: d(L), codeTextData: Q, data: Q, definition: d(), definitionDestinationString: C, definitionLabelString: k, definitionTitleString: E, emphasis: d(), hardBreakEscape: d(_), hardBreakTrailing: d(_), htmlFlow: d(U), htmlFlowData: Q, htmlText: d(O), htmlTextData: Q, image: d(X), label: J, labelText: v, lineEnding: R, link: d(y), listItem: d(), listOrdered: d(), listUnordered: d(), paragraph: d(), referenceString: Z, resourceDestinationString: z, resourceTitleString: F, resource: G, setextHeading: d(M), setextHeadingLineSequence: B, setextHeadingText: T, strong: d(), thematicBreak: d() } };
|
|
3327
3327
|
Ui(o, (n || {}).mdastExtensions || []);
|
|
3328
3328
|
const i = {};
|
|
3329
3329
|
return s;
|
|
3330
3330
|
function s(I) {
|
|
3331
|
-
let
|
|
3332
|
-
const W = { stack: [
|
|
3331
|
+
let Y = { type: "root", children: [] };
|
|
3332
|
+
const W = { stack: [Y], tokenStack: [], config: o, enter: l, exit: u, buffer: c, resume: p, data: i }, oe = [];
|
|
3333
3333
|
let ie = -1;
|
|
3334
3334
|
for (; ++ie < I.length; ) (I[ie][1].type === "listOrdered" || I[ie][1].type === "listUnordered") && (I[ie][0] === "enter" ? oe.push(ie) : ie = A(I, oe.pop(), ie));
|
|
3335
3335
|
for (ie = -1; ++ie < I.length; ) {
|
|
@@ -3340,11 +3340,11 @@ function Ks(e, t, r) {
|
|
|
3340
3340
|
const me = W.tokenStack[W.tokenStack.length - 1];
|
|
3341
3341
|
(me[1] || co).call(W, void 0, me[0]);
|
|
3342
3342
|
}
|
|
3343
|
-
for (
|
|
3344
|
-
return
|
|
3343
|
+
for (Y.position = { start: At(I.length > 0 ? I[0][1].start : { line: 1, column: 1, offset: 0 }), end: At(I.length > 0 ? I[I.length - 2][1].end : { line: 1, column: 1, offset: 0 }) }, ie = -1; ++ie < o.transforms.length; ) Y = o.transforms[ie](Y) || Y;
|
|
3344
|
+
return Y;
|
|
3345
3345
|
}
|
|
3346
|
-
function A(I,
|
|
3347
|
-
let oe, ie, me, Ie, qe =
|
|
3346
|
+
function A(I, Y, W) {
|
|
3347
|
+
let oe, ie, me, Ie, qe = Y - 1, _t = -1, Sr = !1;
|
|
3348
3348
|
for (; ++qe <= W; ) {
|
|
3349
3349
|
const Oe = I[qe];
|
|
3350
3350
|
switch (Oe[1].type) {
|
|
@@ -3383,30 +3383,30 @@ function Ks(e, t, r) {
|
|
|
3383
3383
|
}
|
|
3384
3384
|
}
|
|
3385
3385
|
}
|
|
3386
|
-
return I[
|
|
3386
|
+
return I[Y][1]._spread = Sr, W;
|
|
3387
3387
|
}
|
|
3388
|
-
function a(I,
|
|
3388
|
+
function a(I, Y) {
|
|
3389
3389
|
return W;
|
|
3390
3390
|
function W(oe) {
|
|
3391
|
-
l.call(this, I(oe), oe),
|
|
3391
|
+
l.call(this, I(oe), oe), Y && Y.call(this, oe);
|
|
3392
3392
|
}
|
|
3393
3393
|
}
|
|
3394
3394
|
function c() {
|
|
3395
3395
|
this.stack.push({ type: "fragment", children: [] });
|
|
3396
3396
|
}
|
|
3397
|
-
function l(I,
|
|
3398
|
-
this.stack[this.stack.length - 1].children.push(I), this.stack.push(I), this.tokenStack.push([
|
|
3397
|
+
function l(I, Y, W) {
|
|
3398
|
+
this.stack[this.stack.length - 1].children.push(I), this.stack.push(I), this.tokenStack.push([Y, W || void 0]), I.position = { start: At(Y.start), end: void 0 };
|
|
3399
3399
|
}
|
|
3400
3400
|
function d(I) {
|
|
3401
|
-
return
|
|
3402
|
-
function
|
|
3401
|
+
return Y;
|
|
3402
|
+
function Y(W) {
|
|
3403
3403
|
I && I.call(this, W), u.call(this, W);
|
|
3404
3404
|
}
|
|
3405
3405
|
}
|
|
3406
|
-
function u(I,
|
|
3406
|
+
function u(I, Y) {
|
|
3407
3407
|
const W = this.stack.pop(), oe = this.tokenStack.pop();
|
|
3408
3408
|
if (!oe) throw new Error("Cannot close `" + I.type + "` (" + Ft({ start: I.start, end: I.end }) + "): it’s not open");
|
|
3409
|
-
oe[0].type !== I.type && (
|
|
3409
|
+
oe[0].type !== I.type && (Y ? Y.call(this, I, oe[0]) : (oe[1] || co).call(this, I, oe[0])), W.position.end = At(I.end);
|
|
3410
3410
|
}
|
|
3411
3411
|
function p() {
|
|
3412
3412
|
return function(I) {
|
|
@@ -3439,8 +3439,8 @@ function Ks(e, t, r) {
|
|
|
3439
3439
|
this.stack[this.stack.length - 1].value = I.replace(/(\r?\n|\r)$/g, "");
|
|
3440
3440
|
}
|
|
3441
3441
|
function k(I) {
|
|
3442
|
-
const
|
|
3443
|
-
W.label =
|
|
3442
|
+
const Y = this.resume(), W = this.stack[this.stack.length - 1];
|
|
3443
|
+
W.label = Y, W.identifier = St(this.sliceSerialize(I)).toLowerCase();
|
|
3444
3444
|
}
|
|
3445
3445
|
function E() {
|
|
3446
3446
|
const I = this.resume();
|
|
@@ -3451,10 +3451,10 @@ function Ks(e, t, r) {
|
|
|
3451
3451
|
this.stack[this.stack.length - 1].url = I;
|
|
3452
3452
|
}
|
|
3453
3453
|
function S(I) {
|
|
3454
|
-
const
|
|
3455
|
-
if (!
|
|
3454
|
+
const Y = this.stack[this.stack.length - 1];
|
|
3455
|
+
if (!Y.depth) {
|
|
3456
3456
|
const W = this.sliceSerialize(I).length;
|
|
3457
|
-
|
|
3457
|
+
Y.depth = W;
|
|
3458
3458
|
}
|
|
3459
3459
|
}
|
|
3460
3460
|
function T() {
|
|
@@ -3467,19 +3467,19 @@ function Ks(e, t, r) {
|
|
|
3467
3467
|
this.data.setextHeadingSlurpLineEnding = void 0;
|
|
3468
3468
|
}
|
|
3469
3469
|
function D(I) {
|
|
3470
|
-
const
|
|
3471
|
-
let W =
|
|
3472
|
-
(!W || W.type !== "text") && (W = Ot(), W.position = { start: At(I.start), end: void 0 },
|
|
3470
|
+
const Y = this.stack[this.stack.length - 1].children;
|
|
3471
|
+
let W = Y[Y.length - 1];
|
|
3472
|
+
(!W || W.type !== "text") && (W = Ot(), W.position = { start: At(I.start), end: void 0 }, Y.push(W)), this.stack.push(W);
|
|
3473
3473
|
}
|
|
3474
3474
|
function Q(I) {
|
|
3475
|
-
const
|
|
3476
|
-
|
|
3475
|
+
const Y = this.stack.pop();
|
|
3476
|
+
Y.value += this.sliceSerialize(I), Y.position.end = At(I.end);
|
|
3477
3477
|
}
|
|
3478
3478
|
function R(I) {
|
|
3479
|
-
const
|
|
3479
|
+
const Y = this.stack[this.stack.length - 1];
|
|
3480
3480
|
if (this.data.atHardBreak)
|
|
3481
|
-
return
|
|
3482
|
-
!this.data.setextHeadingSlurpLineEnding && o.canContainEols.includes(
|
|
3481
|
+
return Y.children[Y.children.length - 1].position.end = At(I.end), void (this.data.atHardBreak = void 0);
|
|
3482
|
+
!this.data.setextHeadingSlurpLineEnding && o.canContainEols.includes(Y.type) && (D.call(this, I), Q.call(this, I));
|
|
3483
3483
|
}
|
|
3484
3484
|
function _() {
|
|
3485
3485
|
this.data.atHardBreak = !0;
|
|
@@ -3499,31 +3499,31 @@ function Ks(e, t, r) {
|
|
|
3499
3499
|
function y() {
|
|
3500
3500
|
const I = this.stack[this.stack.length - 1];
|
|
3501
3501
|
if (this.data.inReference) {
|
|
3502
|
-
const
|
|
3503
|
-
I.type += "Reference", I.referenceType =
|
|
3502
|
+
const Y = this.data.referenceType || "shortcut";
|
|
3503
|
+
I.type += "Reference", I.referenceType = Y, delete I.url, delete I.title;
|
|
3504
3504
|
} else delete I.identifier, delete I.label;
|
|
3505
3505
|
this.data.referenceType = void 0;
|
|
3506
3506
|
}
|
|
3507
3507
|
function X() {
|
|
3508
3508
|
const I = this.stack[this.stack.length - 1];
|
|
3509
3509
|
if (this.data.inReference) {
|
|
3510
|
-
const
|
|
3511
|
-
I.type += "Reference", I.referenceType =
|
|
3510
|
+
const Y = this.data.referenceType || "shortcut";
|
|
3511
|
+
I.type += "Reference", I.referenceType = Y, delete I.url, delete I.title;
|
|
3512
3512
|
} else delete I.identifier, delete I.label;
|
|
3513
3513
|
this.data.referenceType = void 0;
|
|
3514
3514
|
}
|
|
3515
3515
|
function v(I) {
|
|
3516
|
-
const
|
|
3516
|
+
const Y = this.sliceSerialize(I), W = this.stack[this.stack.length - 2];
|
|
3517
3517
|
W.label = function(oe) {
|
|
3518
|
-
return oe.replace(
|
|
3519
|
-
}(
|
|
3518
|
+
return oe.replace(Xs, Ks);
|
|
3519
|
+
}(Y), W.identifier = St(Y).toLowerCase();
|
|
3520
3520
|
}
|
|
3521
3521
|
function J() {
|
|
3522
|
-
const I = this.stack[this.stack.length - 1],
|
|
3522
|
+
const I = this.stack[this.stack.length - 1], Y = this.resume(), W = this.stack[this.stack.length - 1];
|
|
3523
3523
|
if (this.data.inReference = !0, W.type === "link") {
|
|
3524
3524
|
const oe = I.children;
|
|
3525
3525
|
W.children = oe;
|
|
3526
|
-
} else W.alt =
|
|
3526
|
+
} else W.alt = Y;
|
|
3527
3527
|
}
|
|
3528
3528
|
function z() {
|
|
3529
3529
|
const I = this.resume();
|
|
@@ -3533,25 +3533,25 @@ function Ks(e, t, r) {
|
|
|
3533
3533
|
const I = this.resume();
|
|
3534
3534
|
this.stack[this.stack.length - 1].title = I;
|
|
3535
3535
|
}
|
|
3536
|
-
function
|
|
3536
|
+
function G() {
|
|
3537
3537
|
this.data.inReference = void 0;
|
|
3538
3538
|
}
|
|
3539
|
-
function
|
|
3539
|
+
function $() {
|
|
3540
3540
|
this.data.referenceType = "collapsed";
|
|
3541
3541
|
}
|
|
3542
|
-
function
|
|
3543
|
-
const
|
|
3544
|
-
W.label =
|
|
3542
|
+
function Z(I) {
|
|
3543
|
+
const Y = this.resume(), W = this.stack[this.stack.length - 1];
|
|
3544
|
+
W.label = Y, W.identifier = St(this.sliceSerialize(I)).toLowerCase(), this.data.referenceType = "full";
|
|
3545
3545
|
}
|
|
3546
|
-
function
|
|
3546
|
+
function le(I) {
|
|
3547
3547
|
this.data.characterReferenceType = I.type;
|
|
3548
3548
|
}
|
|
3549
|
-
function
|
|
3550
|
-
const
|
|
3549
|
+
function ae(I) {
|
|
3550
|
+
const Y = this.sliceSerialize(I), W = this.data.characterReferenceType;
|
|
3551
3551
|
let oe;
|
|
3552
|
-
W ? (oe = Si(
|
|
3552
|
+
W ? (oe = Si(Y, W === "characterReferenceMarkerNumeric" ? 10 : 16), this.data.characterReferenceType = void 0) : oe = wr(Y), this.stack[this.stack.length - 1].value += oe;
|
|
3553
3553
|
}
|
|
3554
|
-
function
|
|
3554
|
+
function de(I) {
|
|
3555
3555
|
this.stack.pop().position.end = At(I.end);
|
|
3556
3556
|
}
|
|
3557
3557
|
function Ce(I) {
|
|
@@ -3612,11 +3612,11 @@ function Ks(e, t, r) {
|
|
|
3612
3612
|
for (; !Mi(n); ) ;
|
|
3613
3613
|
return n;
|
|
3614
3614
|
}(function(n) {
|
|
3615
|
-
const o = { constructs:
|
|
3615
|
+
const o = { constructs: ns([Ws, ...(n || {}).extensions || []]), content: i(cs), defined: [], document: i(us), flow: i(_s), lazy: {}, string: i(Ns), text: i(Rs) };
|
|
3616
3616
|
return o;
|
|
3617
3617
|
function i(s) {
|
|
3618
3618
|
return function(A) {
|
|
3619
|
-
return
|
|
3619
|
+
return Vs(o, s, A);
|
|
3620
3620
|
};
|
|
3621
3621
|
}
|
|
3622
3622
|
}(r).document().write((/* @__PURE__ */ function() {
|
|
@@ -3656,10 +3656,10 @@ function Ui(e, t) {
|
|
|
3656
3656
|
let r = -1;
|
|
3657
3657
|
for (; ++r < t.length; ) {
|
|
3658
3658
|
const n = t[r];
|
|
3659
|
-
Array.isArray(n) ? Ui(e, n) :
|
|
3659
|
+
Array.isArray(n) ? Ui(e, n) : Zs(e, n);
|
|
3660
3660
|
}
|
|
3661
3661
|
}
|
|
3662
|
-
function
|
|
3662
|
+
function Zs(e, t) {
|
|
3663
3663
|
let r;
|
|
3664
3664
|
for (r in t) if (Hi.call(t, r)) switch (r) {
|
|
3665
3665
|
case "canContainEols": {
|
|
@@ -3683,10 +3683,10 @@ function Js(e, t) {
|
|
|
3683
3683
|
function co(e, t) {
|
|
3684
3684
|
throw e ? new Error("Cannot close `" + e.type + "` (" + Ft({ start: e.start, end: e.end }) + "): a different token (`" + t.type + "`, " + Ft({ start: t.start, end: t.end }) + ") is open") : new Error("Cannot close document, a token (`" + t.type + "`, " + Ft({ start: t.start, end: t.end }) + ") is still open");
|
|
3685
3685
|
}
|
|
3686
|
-
function
|
|
3686
|
+
function $s(e) {
|
|
3687
3687
|
const t = this;
|
|
3688
3688
|
t.parser = function(r) {
|
|
3689
|
-
return
|
|
3689
|
+
return Js(r, { ...t.data("settings"), ...e, extensions: t.data("micromarkExtensions") || [], mdastExtensions: t.data("fromMarkdownExtensions") || [] });
|
|
3690
3690
|
};
|
|
3691
3691
|
}
|
|
3692
3692
|
function uo(e, t) {
|
|
@@ -3701,7 +3701,7 @@ function uo(e, t) {
|
|
|
3701
3701
|
function po(e) {
|
|
3702
3702
|
return e.spread ?? e.children.length > 1;
|
|
3703
3703
|
}
|
|
3704
|
-
function
|
|
3704
|
+
function el(e) {
|
|
3705
3705
|
const t = String(e), r = /\r?\n|\r/g;
|
|
3706
3706
|
let n = r.exec(t), o = 0;
|
|
3707
3707
|
const i = [];
|
|
@@ -3720,7 +3720,7 @@ function fo(e, t, r) {
|
|
|
3720
3720
|
}
|
|
3721
3721
|
return o > n ? e.slice(n, o) : "";
|
|
3722
3722
|
}
|
|
3723
|
-
const
|
|
3723
|
+
const tl = { blockquote: function(e, t) {
|
|
3724
3724
|
const r = { type: "element", tagName: "blockquote", properties: {}, children: e.wrap(e.all(t), !0) };
|
|
3725
3725
|
return e.patch(t, r), e.applyData(t, r);
|
|
3726
3726
|
}, break: function(e, t) {
|
|
@@ -3860,7 +3860,7 @@ const el = { blockquote: function(e, t) {
|
|
|
3860
3860
|
const c = { type: "element", tagName: "tr", properties: {}, children: e.wrap(a, !0) };
|
|
3861
3861
|
return e.patch(t, c), e.applyData(t, c);
|
|
3862
3862
|
}, text: function(e, t) {
|
|
3863
|
-
const r = { type: "text", value:
|
|
3863
|
+
const r = { type: "text", value: el(String(t.value)) };
|
|
3864
3864
|
return e.patch(t, r), e.applyData(t, r);
|
|
3865
3865
|
}, thematicBreak: function(e, t) {
|
|
3866
3866
|
const r = { type: "element", tagName: "hr", properties: {}, children: [] };
|
|
@@ -3920,10 +3920,10 @@ const ho = typeof self == "object" ? self : globalThis, go = (e) => (/* @__PURE_
|
|
|
3920
3920
|
return n(new ho[s](A), i);
|
|
3921
3921
|
};
|
|
3922
3922
|
return o;
|
|
3923
|
-
})(/* @__PURE__ */ new Map(), e))(0), Pt = "", { toString:
|
|
3923
|
+
})(/* @__PURE__ */ new Map(), e))(0), Pt = "", { toString: nl } = {}, { keys: rl } = Object, Nt = (e) => {
|
|
3924
3924
|
const t = typeof e;
|
|
3925
3925
|
if (t !== "object" || !e) return [0, t];
|
|
3926
|
-
const r =
|
|
3926
|
+
const r = nl.call(e).slice(8, -1);
|
|
3927
3927
|
switch (r) {
|
|
3928
3928
|
case "Array":
|
|
3929
3929
|
return [1, Pt];
|
|
@@ -3987,7 +3987,7 @@ const ho = typeof self == "object" ? self : globalThis, go = (e) => (/* @__PURE_
|
|
|
3987
3987
|
}
|
|
3988
3988
|
if (i && "toJSON" in l) return c(l.toJSON());
|
|
3989
3989
|
const f = [], m = a([d, f], l);
|
|
3990
|
-
for (const h of
|
|
3990
|
+
for (const h of rl(l)) (o || !en(Nt(l[h]))) && f.push([c(h), c(l[h])]);
|
|
3991
3991
|
return m;
|
|
3992
3992
|
}
|
|
3993
3993
|
case 3:
|
|
@@ -4013,15 +4013,15 @@ const ho = typeof self == "object" ? self : globalThis, go = (e) => (/* @__PURE_
|
|
|
4013
4013
|
return c;
|
|
4014
4014
|
})(!(t || r), !!t, /* @__PURE__ */ new Map(), n))(e), n;
|
|
4015
4015
|
}, fn = typeof structuredClone == "function" ? (e, t) => t && ("json" in t || "lossy" in t) ? go(mo(e, t)) : structuredClone(e) : (e, t) => go(mo(e, t));
|
|
4016
|
-
function
|
|
4016
|
+
function ol(e, t) {
|
|
4017
4017
|
const r = [{ type: "text", value: "↩" }];
|
|
4018
4018
|
return t > 1 && r.push({ type: "element", tagName: "sup", properties: {}, children: [{ type: "text", value: String(t) }] }), r;
|
|
4019
4019
|
}
|
|
4020
|
-
function
|
|
4020
|
+
function il(e, t) {
|
|
4021
4021
|
return "Back to reference " + (e + 1) + (t > 1 ? "-" + t : "");
|
|
4022
4022
|
}
|
|
4023
4023
|
const Fi = function(e) {
|
|
4024
|
-
if (e == null) return
|
|
4024
|
+
if (e == null) return al;
|
|
4025
4025
|
if (typeof e == "function") return tn(e);
|
|
4026
4026
|
if (typeof e == "object") return Array.isArray(e) ? function(t) {
|
|
4027
4027
|
const r = [];
|
|
@@ -4058,11 +4058,11 @@ function tn(e) {
|
|
|
4058
4058
|
}(t) || !e.call(this, t, typeof r == "number" ? r : void 0, n || void 0));
|
|
4059
4059
|
};
|
|
4060
4060
|
}
|
|
4061
|
-
function
|
|
4061
|
+
function al() {
|
|
4062
4062
|
return !0;
|
|
4063
4063
|
}
|
|
4064
|
-
const yo = [],
|
|
4065
|
-
function
|
|
4064
|
+
const yo = [], Al = !0, bo = !1;
|
|
4065
|
+
function sl(e, t, r, n) {
|
|
4066
4066
|
let o;
|
|
4067
4067
|
typeof t == "function" && typeof r != "function" ? (n = r, r = t) : o = t;
|
|
4068
4068
|
const i = Fi(o), s = n ? -1 : 1;
|
|
@@ -4076,7 +4076,7 @@ function Al(e, t, r, n) {
|
|
|
4076
4076
|
function u() {
|
|
4077
4077
|
let p, f, m, h = yo;
|
|
4078
4078
|
if ((!t || i(a, c, l[l.length - 1] || void 0)) && (h = function(b) {
|
|
4079
|
-
return Array.isArray(b) ? b : typeof b == "number" ? [
|
|
4079
|
+
return Array.isArray(b) ? b : typeof b == "number" ? [Al, b] : b == null ? yo : [b];
|
|
4080
4080
|
}(r(a, l)), h[0] === bo)) return h;
|
|
4081
4081
|
if ("children" in a && a.children) {
|
|
4082
4082
|
const b = a;
|
|
@@ -4092,14 +4092,14 @@ function Al(e, t, r, n) {
|
|
|
4092
4092
|
}
|
|
4093
4093
|
function zi(e, t, r, n) {
|
|
4094
4094
|
let o, i, s;
|
|
4095
|
-
typeof t == "function" ? (i = void 0, s = t, o = r) : (i = t, s = r, o = n),
|
|
4095
|
+
typeof t == "function" ? (i = void 0, s = t, o = r) : (i = t, s = r, o = n), sl(e, i, function(A, a) {
|
|
4096
4096
|
const c = a[a.length - 1], l = c ? c.children.indexOf(A) : void 0;
|
|
4097
4097
|
return s(A, l, c);
|
|
4098
4098
|
}, o);
|
|
4099
4099
|
}
|
|
4100
|
-
const rr = {}.hasOwnProperty,
|
|
4101
|
-
function
|
|
4102
|
-
const r = t ||
|
|
4100
|
+
const rr = {}.hasOwnProperty, ll = {};
|
|
4101
|
+
function cl(e, t) {
|
|
4102
|
+
const r = t || ll, n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), s = { ...tl, ...r.handlers }, A = { all: function(a) {
|
|
4103
4103
|
const c = [];
|
|
4104
4104
|
if ("children" in a) {
|
|
4105
4105
|
const l = a.children;
|
|
@@ -4116,7 +4116,7 @@ function ll(e, t) {
|
|
|
4116
4116
|
}
|
|
4117
4117
|
}
|
|
4118
4118
|
return c;
|
|
4119
|
-
}, applyData:
|
|
4119
|
+
}, applyData: dl, definitionById: n, footnoteById: o, footnoteCounts: i, footnoteOrder: [], handlers: s, one: function(a, c) {
|
|
4120
4120
|
const l = a.type, d = A.handlers[l];
|
|
4121
4121
|
if (rr.call(A.handlers, l) && d) return d(A, a, c);
|
|
4122
4122
|
if (A.options.passThrough && A.options.passThrough.includes(l)) {
|
|
@@ -4126,8 +4126,8 @@ function ll(e, t) {
|
|
|
4126
4126
|
}
|
|
4127
4127
|
return fn(a);
|
|
4128
4128
|
}
|
|
4129
|
-
return (A.options.unknownHandler ||
|
|
4130
|
-
}, options: r, patch:
|
|
4129
|
+
return (A.options.unknownHandler || pl)(A, a, c);
|
|
4130
|
+
}, options: r, patch: ul, wrap: fl };
|
|
4131
4131
|
return zi(e, function(a) {
|
|
4132
4132
|
if (a.type === "definition" || a.type === "footnoteDefinition") {
|
|
4133
4133
|
const c = a.type === "definition" ? n : o, l = String(a.identifier).toUpperCase();
|
|
@@ -4135,13 +4135,13 @@ function ll(e, t) {
|
|
|
4135
4135
|
}
|
|
4136
4136
|
}), A;
|
|
4137
4137
|
}
|
|
4138
|
-
function
|
|
4138
|
+
function ul(e, t) {
|
|
4139
4139
|
e.position && (t.position = function(r) {
|
|
4140
4140
|
const n = br(r), o = ki(r);
|
|
4141
4141
|
if (n && o) return { start: n, end: o };
|
|
4142
4142
|
}(e));
|
|
4143
4143
|
}
|
|
4144
|
-
function
|
|
4144
|
+
function dl(e, t) {
|
|
4145
4145
|
let r = t;
|
|
4146
4146
|
if (e && e.data) {
|
|
4147
4147
|
const n = e.data.hName, o = e.data.hChildren, i = e.data.hProperties;
|
|
@@ -4149,11 +4149,11 @@ function ul(e, t) {
|
|
|
4149
4149
|
}
|
|
4150
4150
|
return r;
|
|
4151
4151
|
}
|
|
4152
|
-
function
|
|
4152
|
+
function pl(e, t) {
|
|
4153
4153
|
const r = t.data || {}, n = !("value" in t) || rr.call(r, "hProperties") || rr.call(r, "hChildren") ? { type: "element", tagName: "div", properties: {}, children: e.all(t) } : { type: "text", value: t.value };
|
|
4154
4154
|
return e.patch(t, n), e.applyData(t, n);
|
|
4155
4155
|
}
|
|
4156
|
-
function
|
|
4156
|
+
function fl(e, t) {
|
|
4157
4157
|
const r = [];
|
|
4158
4158
|
let n = -1;
|
|
4159
4159
|
for (t && r.push({ type: "text", value: `
|
|
@@ -4168,8 +4168,8 @@ function vo(e) {
|
|
|
4168
4168
|
return e.slice(t);
|
|
4169
4169
|
}
|
|
4170
4170
|
function wo(e, t) {
|
|
4171
|
-
const r =
|
|
4172
|
-
const A = typeof s.options.clobberPrefix == "string" ? s.options.clobberPrefix : "user-content-", a = s.options.footnoteBackContent ||
|
|
4171
|
+
const r = cl(e, t), n = r.one(e, void 0), o = function(s) {
|
|
4172
|
+
const A = typeof s.options.clobberPrefix == "string" ? s.options.clobberPrefix : "user-content-", a = s.options.footnoteBackContent || ol, c = s.options.footnoteBackLabel || il, l = s.options.footnoteLabel || "Footnotes", d = s.options.footnoteLabelTagName || "h2", u = s.options.footnoteLabelProperties || { className: ["sr-only"] }, p = [];
|
|
4173
4173
|
let f = -1;
|
|
4174
4174
|
for (; ++f < s.footnoteOrder.length; ) {
|
|
4175
4175
|
const m = s.footnoteById.get(s.footnoteOrder[f]);
|
|
@@ -4197,7 +4197,7 @@ function wo(e, t) {
|
|
|
4197
4197
|
return o && i.children.push({ type: "text", value: `
|
|
4198
4198
|
` }, o), i;
|
|
4199
4199
|
}
|
|
4200
|
-
function
|
|
4200
|
+
function hl(e, t) {
|
|
4201
4201
|
return e && "run" in e ? async function(r, n) {
|
|
4202
4202
|
const o = wo(r, { file: n, ...t });
|
|
4203
4203
|
await e.run(o, n);
|
|
@@ -4208,7 +4208,7 @@ function fl(e, t) {
|
|
|
4208
4208
|
function xo(e) {
|
|
4209
4209
|
if (e) throw e;
|
|
4210
4210
|
}
|
|
4211
|
-
var _n, Eo,
|
|
4211
|
+
var _n, Eo, gl = function() {
|
|
4212
4212
|
if (Eo) return _n;
|
|
4213
4213
|
Eo = 1;
|
|
4214
4214
|
var e = Object.prototype.hasOwnProperty, t = Object.prototype.toString, r = Object.defineProperty, n = Object.getOwnPropertyDescriptor, o = function(a) {
|
|
@@ -4234,13 +4234,13 @@ var _n, Eo, hl = function() {
|
|
|
4234
4234
|
return m;
|
|
4235
4235
|
}, _n;
|
|
4236
4236
|
}();
|
|
4237
|
-
const Ln = Ei(
|
|
4237
|
+
const Ln = Ei(gl);
|
|
4238
4238
|
function or(e) {
|
|
4239
4239
|
if (typeof e != "object" || e === null) return !1;
|
|
4240
4240
|
const t = Object.getPrototypeOf(e);
|
|
4241
4241
|
return !(t !== null && t !== Object.prototype && Object.getPrototypeOf(t) !== null || Symbol.toStringTag in e || Symbol.iterator in e);
|
|
4242
4242
|
}
|
|
4243
|
-
function
|
|
4243
|
+
function ml() {
|
|
4244
4244
|
const e = [], t = { run: function(...r) {
|
|
4245
4245
|
let n = -1;
|
|
4246
4246
|
const o = r.pop();
|
|
@@ -4365,13 +4365,13 @@ const Ke = { basename: function(e, t) {
|
|
|
4365
4365
|
function Rt(e) {
|
|
4366
4366
|
if (typeof e != "string") throw new TypeError("Path must be a string. Received " + JSON.stringify(e));
|
|
4367
4367
|
}
|
|
4368
|
-
const
|
|
4368
|
+
const yl = { cwd: function() {
|
|
4369
4369
|
return "/";
|
|
4370
4370
|
} };
|
|
4371
4371
|
function ir(e) {
|
|
4372
4372
|
return !!(e !== null && typeof e == "object" && "href" in e && e.href && "protocol" in e && e.protocol && e.auth === void 0);
|
|
4373
4373
|
}
|
|
4374
|
-
function
|
|
4374
|
+
function bl(e) {
|
|
4375
4375
|
if (typeof e == "string") e = new URL(e);
|
|
4376
4376
|
else if (!ir(e)) {
|
|
4377
4377
|
const t = new TypeError('The "path" argument must be of type string or an instance of URL. Received `' + e + "`");
|
|
@@ -4403,7 +4403,7 @@ class ji {
|
|
|
4403
4403
|
constructor(t) {
|
|
4404
4404
|
let r;
|
|
4405
4405
|
var n;
|
|
4406
|
-
r = t ? ir(t) ? { path: t } : typeof t == "string" || (n = t) && typeof n == "object" && "byteLength" in n && "byteOffset" in n ? { value: t } : t : {}, this.cwd = "cwd" in r ? "" :
|
|
4406
|
+
r = t ? ir(t) ? { path: t } : typeof t == "string" || (n = t) && typeof n == "object" && "byteLength" in n && "byteOffset" in n ? { value: t } : t : {}, this.cwd = "cwd" in r ? "" : yl.cwd(), this.data = {}, this.history = [], this.messages = [], this.value, this.map, this.result, this.stored;
|
|
4407
4407
|
let o, i = -1;
|
|
4408
4408
|
for (; ++i < Nn.length; ) {
|
|
4409
4409
|
const s = Nn[i];
|
|
@@ -4437,7 +4437,7 @@ class ji {
|
|
|
4437
4437
|
return this.history[this.history.length - 1];
|
|
4438
4438
|
}
|
|
4439
4439
|
set path(t) {
|
|
4440
|
-
ir(t) && (t =
|
|
4440
|
+
ir(t) && (t = bl(t)), Hn(t, "path"), this.path !== t && this.history.push(t);
|
|
4441
4441
|
}
|
|
4442
4442
|
get stem() {
|
|
4443
4443
|
return typeof this.path == "string" ? Ke.basename(this.path, this.extname) : void 0;
|
|
@@ -4470,15 +4470,15 @@ function Hn(e, t) {
|
|
|
4470
4470
|
function ko(e, t) {
|
|
4471
4471
|
if (!e) throw new Error("Setting `" + t + "` requires `path` to be set too");
|
|
4472
4472
|
}
|
|
4473
|
-
const
|
|
4473
|
+
const vl = function(e) {
|
|
4474
4474
|
const t = this.constructor.prototype, r = t[e], n = function() {
|
|
4475
4475
|
return r.apply(n, arguments);
|
|
4476
4476
|
};
|
|
4477
4477
|
return Object.setPrototypeOf(n, t), n;
|
|
4478
|
-
},
|
|
4479
|
-
class kr extends
|
|
4478
|
+
}, wl = {}.hasOwnProperty;
|
|
4479
|
+
class kr extends vl {
|
|
4480
4480
|
constructor() {
|
|
4481
|
-
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 =
|
|
4481
|
+
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 = ml();
|
|
4482
4482
|
}
|
|
4483
4483
|
copy() {
|
|
4484
4484
|
const t = new kr();
|
|
@@ -4490,7 +4490,7 @@ class kr extends bl {
|
|
|
4490
4490
|
return t.data(Ln(!0, {}, this.namespace)), t;
|
|
4491
4491
|
}
|
|
4492
4492
|
data(t, r) {
|
|
4493
|
-
return typeof t == "string" ? arguments.length === 2 ? (zn("data", this.frozen), this.namespace[t] = r, this) :
|
|
4493
|
+
return typeof t == "string" ? arguments.length === 2 ? (zn("data", this.frozen), this.namespace[t] = r, this) : wl.call(this.namespace, t) && this.namespace[t] || void 0 : t ? (zn("data", this.frozen), this.namespace = t, this) : this.namespace;
|
|
4494
4494
|
}
|
|
4495
4495
|
freeze() {
|
|
4496
4496
|
if (this.frozen) return this;
|
|
@@ -4601,7 +4601,7 @@ class kr extends bl {
|
|
|
4601
4601
|
}
|
|
4602
4602
|
}
|
|
4603
4603
|
}
|
|
4604
|
-
const
|
|
4604
|
+
const xl = new kr().freeze();
|
|
4605
4605
|
function Un(e, t) {
|
|
4606
4606
|
if (typeof t != "function") throw new TypeError("Cannot `" + e + "` without `parser`");
|
|
4607
4607
|
}
|
|
@@ -4622,11 +4622,11 @@ function nn(e) {
|
|
|
4622
4622
|
return !!(t && typeof t == "object" && "message" in t && "messages" in t);
|
|
4623
4623
|
}(e) ? e : new ji(e);
|
|
4624
4624
|
}
|
|
4625
|
-
const Do = [], Bo = { allowDangerousHtml: !0 },
|
|
4626
|
-
function
|
|
4627
|
-
const t = e.allowedElements, r = e.allowElement, n = e.children || "", o = e.className, i = e.components, s = e.disallowedElements, A = e.rehypePlugins || Do, a = e.remarkPlugins || Do, c = e.remarkRehypeOptions ? { ...e.remarkRehypeOptions, ...Bo } : Bo, l = e.skipHtml, d = e.unwrapDisallowed, u = e.urlTransform ||
|
|
4625
|
+
const Do = [], Bo = { allowDangerousHtml: !0 }, El = /^(https?|ircs?|mailto|xmpp)$/i, kl = [{ 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" }];
|
|
4626
|
+
function Pl(e) {
|
|
4627
|
+
const t = e.allowedElements, r = e.allowElement, n = e.children || "", o = e.className, i = e.components, s = e.disallowedElements, A = e.rehypePlugins || Do, a = e.remarkPlugins || Do, c = e.remarkRehypeOptions ? { ...e.remarkRehypeOptions, ...Bo } : Bo, l = e.skipHtml, d = e.unwrapDisallowed, u = e.urlTransform || Cl, p = xl().use($s).use(a).use(hl, c).use(A), f = new ji();
|
|
4628
4628
|
typeof n == "string" && (f.value = n);
|
|
4629
|
-
for (const b of
|
|
4629
|
+
for (const b of kl) Object.hasOwn(e, b.from) && (b.from, b.to && b.to, b.id);
|
|
4630
4630
|
const m = p.parse(f);
|
|
4631
4631
|
let h = p.runSync(m, f);
|
|
4632
4632
|
return o && (h = { type: "element", tagName: "div", properties: { className: o }, children: h.type === "root" ? h.children : [h] }), zi(h, function(b, w, g) {
|
|
@@ -4642,14 +4642,14 @@ function kl(e) {
|
|
|
4642
4642
|
let x = t ? !t.includes(b.tagName) : !!s && s.includes(b.tagName);
|
|
4643
4643
|
if (!x && r && typeof w == "number" && (x = !r(b, w, g)), x && g && typeof w == "number") return d && b.children ? g.children.splice(w, 1, ...b.children) : g.children.splice(w, 1), w;
|
|
4644
4644
|
}
|
|
4645
|
-
}),
|
|
4645
|
+
}), JA(h, { Fragment: Pe, components: i, ignoreInvalidStyle: !0, jsx: P, jsxs: ue, passKeys: !0, passNode: !0 });
|
|
4646
4646
|
}
|
|
4647
|
-
function
|
|
4647
|
+
function Cl(e) {
|
|
4648
4648
|
const t = e.indexOf(":"), r = e.indexOf("?"), n = e.indexOf("#"), o = e.indexOf("/");
|
|
4649
|
-
return t === -1 || o !== -1 && t > o || r !== -1 && t > r || n !== -1 && t > n ||
|
|
4649
|
+
return t === -1 || o !== -1 && t > o || r !== -1 && t > r || n !== -1 && t > n || El.test(e.slice(0, t)) ? e : "";
|
|
4650
4650
|
}
|
|
4651
|
-
const
|
|
4652
|
-
const { getFlow: r } = yn(), { messages: n, replaceMessages: o } = Vt(), { settings: i } = ci(), { hasChatHistoryLoaded: s } = di(), A = { ...t, ...
|
|
4651
|
+
const Dl = ({ children: e }) => P("div", { style: { whiteSpace: "normal" }, children: P(Pl, { components: { p: ({ ...t }) => P("p", { style: { margin: 0, marginBottom: "0.5em", lineHeight: 1.4, textAlign: "left" }, children: t.children }), ul: ({ ...t }) => P("ul", { style: { paddingLeft: "clamp(8px, 3.5vw, 16px)", margin: 0, listStylePosition: "inside" }, children: t.children }), ol: ({ ...t }) => P("ol", { style: { paddingLeft: "clamp(8px, 3.5vw, 16px)", margin: 0, listStylePosition: "inside" }, children: t.children }), li: ({ ...t }) => P("li", { style: { marginBottom: "1px", lineHeight: 1.4 }, children: t.children }), code: ({ inline: t, children: r }) => t ? P("code", { style: { backgroundColor: "rgba(0, 0, 0, 0.3)", padding: "2px 4px", borderRadius: "4px", fontFamily: "inherit", fontSize: "0.95em" }, children: r }) : P("pre", { style: { backgroundColor: "rgba(0, 0, 0, 0.3)", padding: "8px", borderRadius: "4px", overflowX: "auto", margin: "0.5em 0", whiteSpace: "pre-wrap" }, children: P("code", { children: r }) }), blockquote: ({ ...t }) => P("blockquote", { style: { margin: 0, paddingLeft: "10px", borderLeft: "2px solid #ccc", color: "#666", fontStyle: "italic" }, children: t.children }) }, children: typeof e == "string" ? e : "" }) }), Bl = { autoConfig: !0 }, Sl = (e) => () => ((t) => {
|
|
4652
|
+
const { getFlow: r } = yn(), { messages: n, replaceMessages: o } = Vt(), { settings: i } = ci(), { hasChatHistoryLoaded: s } = di(), A = { ...t, ...Bl }, a = A.markdownComponent ? A.markdownComponent : Dl;
|
|
4653
4653
|
re(() => {
|
|
4654
4654
|
var d, u;
|
|
4655
4655
|
if (s) {
|
|
@@ -4681,14 +4681,14 @@ const Cl = ({ children: e }) => P("div", { style: { whiteSpace: "normal" }, chil
|
|
|
4681
4681
|
if (!o) return;
|
|
4682
4682
|
const i = o[r];
|
|
4683
4683
|
return typeof i == "function" ? i : void 0;
|
|
4684
|
-
},
|
|
4684
|
+
}, Il = (e) => {
|
|
4685
4685
|
const { showToast: t } = (() => {
|
|
4686
4686
|
const { showToast: d, dismissToast: u, toasts: p, replaceToasts: f } = It();
|
|
4687
4687
|
return { showToast: d, dismissToast: u, toasts: p, replaceToasts: f };
|
|
4688
4688
|
})(), { getFlow: r } = yn(), { styles: n, updateStyles: o, replaceStyles: i } = (() => {
|
|
4689
4689
|
const { styles: d, replaceStyles: u, updateStyles: p } = ai();
|
|
4690
4690
|
return { styles: d, replaceStyles: u, updateStyles: p };
|
|
4691
|
-
})(), s = ((d) => ({ ...rn, ...d, promptBaseColors: { ...rn.promptBaseColors }, promptHoveredColors: { ...rn.promptHoveredColors }, textAreaHighlightColors: { ...rn.textAreaHighlightColors } }))(e), [A, a] = te(0), c =
|
|
4691
|
+
})(), s = ((d) => ({ ...rn, ...d, promptBaseColors: { ...rn.promptBaseColors }, promptHoveredColors: { ...rn.promptHoveredColors }, textAreaHighlightColors: { ...rn.textAreaHighlightColors } }))(e), [A, a] = te(0), c = Ae({});
|
|
4692
4692
|
ze(j.USER_SUBMIT_TEXT, (d) => {
|
|
4693
4693
|
const u = d, p = So(u, r(), "validateTextInput");
|
|
4694
4694
|
if (!p) return;
|
|
@@ -4724,7 +4724,7 @@ const Cl = ({ children: e }) => P("div", { style: { whiteSpace: "normal" }, chil
|
|
|
4724
4724
|
const s = Vt(), A = (() => {
|
|
4725
4725
|
const { isChatWindowOpen: l, toggleChatWindow: d, toggleIsBotTyping: u, scrollToBottom: p, getIsChatBotVisible: f } = Re();
|
|
4726
4726
|
return { isChatWindowOpen: l, toggleChatWindow: d, toggleIsBotTyping: u, scrollToBottom: p, getIsChatBotVisible: f };
|
|
4727
|
-
})(), a =
|
|
4727
|
+
})(), a = Ae(!1), c = Ae(!1);
|
|
4728
4728
|
return re(() => {
|
|
4729
4729
|
!r && A && A.toggleChatWindow && (a.current === n || c.current || (setTimeout(() => {
|
|
4730
4730
|
A && A.toggleChatWindow && A.toggleChatWindow(n);
|
|
@@ -4747,21 +4747,28 @@ const Cl = ({ children: e }) => P("div", { style: { whiteSpace: "normal" }, chil
|
|
|
4747
4747
|
} }), [s, A, r, i]), null;
|
|
4748
4748
|
});
|
|
4749
4749
|
qi.displayName = "BotController";
|
|
4750
|
-
const
|
|
4750
|
+
const Gi = nt(null), Tl = (e) => {
|
|
4751
|
+
let { trackEvent: t, children: r } = e;
|
|
4752
|
+
const n = Ae(t);
|
|
4753
|
+
return n.current = t, H.createElement(Gi.Provider, { value: { trackEvent: (o) => n.current(o) } }, r);
|
|
4754
|
+
}, Yi = () => rt(Gi) || { trackEvent: () => {
|
|
4755
|
+
} }, Io = (e) => {
|
|
4751
4756
|
let { loginUrl: t, className: r = "", style: n, isHeaderButton: o = !1 } = e;
|
|
4752
|
-
const i = 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: 0.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)" };
|
|
4757
|
+
const { trackEvent: i } = Yi(), s = 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: 0.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)" };
|
|
4753
4758
|
return H.createElement(H.Fragment, null, o && H.createElement("style", null, `
|
|
4754
4759
|
.rcb-chat-header-container .qa-bot-header-login-button:hover {
|
|
4755
4760
|
background-color: #0000001a !important;
|
|
4756
4761
|
opacity: 1 !important;
|
|
4757
4762
|
}
|
|
4758
|
-
`), H.createElement("a", { href: t, target: "_blank", rel: "noopener noreferrer", className: "qa-bot-login-button ".concat(o ? "qa-bot-header-login-button" : "", " ").concat(r), style: Object.assign(Object.assign({},
|
|
4759
|
-
|
|
4763
|
+
`), H.createElement("a", { href: t, target: "_blank", rel: "noopener noreferrer", className: "qa-bot-login-button ".concat(o ? "qa-bot-header-login-button" : "", " ").concat(r), style: Object.assign(Object.assign({}, s), n), onClick: () => {
|
|
4764
|
+
i({ type: "chatbot_login_clicked", loginUrl: t });
|
|
4765
|
+
} }, "Log In"));
|
|
4766
|
+
}, Ql = () => H.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" }, H.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" }, H.createElement("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }), H.createElement("circle", { cx: "12", cy: "7", r: "4" }))), xe = [];
|
|
4760
4767
|
for (let e = 0; e < 256; ++e) xe.push((e + 256).toString(16).slice(1));
|
|
4761
4768
|
let jn;
|
|
4762
|
-
const
|
|
4769
|
+
const Ml = new Uint8Array(16);
|
|
4763
4770
|
var To = { randomUUID: typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto) };
|
|
4764
|
-
function
|
|
4771
|
+
function Wi(e, t, r) {
|
|
4765
4772
|
var o;
|
|
4766
4773
|
if (To.randomUUID && !e) return To.randomUUID();
|
|
4767
4774
|
const n = (e = e || {}).random ?? ((o = e.rng) == null ? void 0 : o.call(e)) ?? function() {
|
|
@@ -4769,7 +4776,7 @@ function Gi(e, t, r) {
|
|
|
4769
4776
|
if (typeof crypto > "u" || !crypto.getRandomValues) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
4770
4777
|
jn = crypto.getRandomValues.bind(crypto);
|
|
4771
4778
|
}
|
|
4772
|
-
return jn(
|
|
4779
|
+
return jn(Ml);
|
|
4773
4780
|
}();
|
|
4774
4781
|
if (n.length < 16) throw new Error("Random bytes length must be >= 16");
|
|
4775
4782
|
return n[6] = 15 & n[6] | 64, n[8] = 63 & n[8] | 128, function(i, s = 0) {
|
|
@@ -4779,32 +4786,32 @@ function Gi(e, t, r) {
|
|
|
4779
4786
|
function bn() {
|
|
4780
4787
|
return typeof localStorage < "u" && localStorage.getItem("QA_BOT_DEBUG") === "true";
|
|
4781
4788
|
}
|
|
4782
|
-
const
|
|
4783
|
-
bn() && console.log("%c QA Bot Core %c v".concat("0.2.19", " "),
|
|
4789
|
+
const Ol = "background: #1a5b6e; color: white; padding: 2px 6px; border-radius: 3px;", _l = "background: #7c3aed; color: white; padding: 2px 6px; border-radius: 3px;", Ll = "background: #059669; color: white; padding: 2px 6px; border-radius: 3px;", Nl = "background: #f59e0b; color: #000; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;", Rl = "background: #fbbf24; color: #000; padding: 2px 6px; border-radius: 0 3px 3px 0;", Hl = () => {
|
|
4790
|
+
bn() && console.log("%c QA Bot Core %c v".concat("0.2.19", " "), Nl, Rl);
|
|
4784
4791
|
}, on = function(e) {
|
|
4785
4792
|
if (bn()) {
|
|
4786
4793
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n];
|
|
4787
|
-
console.log("%c[Session]%c ".concat(e),
|
|
4794
|
+
console.log("%c[Session]%c ".concat(e), Ol, "", ...r);
|
|
4788
4795
|
}
|
|
4789
4796
|
}, Ze = function(e) {
|
|
4790
4797
|
if (bn()) {
|
|
4791
4798
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n];
|
|
4792
|
-
console.log("%c[History]%c ".concat(e),
|
|
4799
|
+
console.log("%c[History]%c ".concat(e), _l, "", ...r);
|
|
4793
4800
|
}
|
|
4794
|
-
},
|
|
4795
|
-
bn() && console.log("%c[Message]%c ".concat(e),
|
|
4796
|
-
},
|
|
4801
|
+
}, Ul = (e, t) => {
|
|
4802
|
+
bn() && console.log("%c[Message]%c ".concat(e), Ll, "", t);
|
|
4803
|
+
}, Fl = function() {
|
|
4797
4804
|
console.warn(...arguments);
|
|
4798
4805
|
}, mt = function() {
|
|
4799
4806
|
console.error(...arguments);
|
|
4800
|
-
},
|
|
4807
|
+
}, Vi = "qa_bot_session_messages", Qo = () => "qa_bot_session_".concat(Wi()), qt = () => {
|
|
4801
4808
|
try {
|
|
4802
|
-
const e = localStorage.getItem(
|
|
4809
|
+
const e = localStorage.getItem(Vi);
|
|
4803
4810
|
return e ? JSON.parse(e) : {};
|
|
4804
4811
|
} catch {
|
|
4805
4812
|
return {};
|
|
4806
4813
|
}
|
|
4807
|
-
},
|
|
4814
|
+
}, zl = (e, t, r, n, o) => {
|
|
4808
4815
|
const i = qt();
|
|
4809
4816
|
if (!i[e] && (i[e] = { messages: [], startedAt: (/* @__PURE__ */ new Date()).toISOString(), preview: "" }, Ze("NEW session created", { sessionId: e.slice(-12) })), i[e].messages.some((c) => c.id === t)) return void Ze("DUPLICATE message skipped", { sessionId: e.slice(-12), messageId: t.slice(-8), sender: n });
|
|
4810
4817
|
const s = { id: t, content: r, sender: n, type: o, timestamp: Date.now() };
|
|
@@ -4837,23 +4844,23 @@ const Ql = "background: #1a5b6e; color: white; padding: 2px 6px; border-radius:
|
|
|
4837
4844
|
if (!u) break;
|
|
4838
4845
|
delete c[u];
|
|
4839
4846
|
}
|
|
4840
|
-
localStorage.setItem(
|
|
4847
|
+
localStorage.setItem(Vi, JSON.stringify(c));
|
|
4841
4848
|
})(i), Ze("STORAGE state", { ourSessions: Object.keys(i).length, ourTotalMessages: Object.values(i).reduce((c, l) => c + l.messages.length, 0) });
|
|
4842
|
-
},
|
|
4849
|
+
}, Xi = (e) => {
|
|
4843
4850
|
var t, r;
|
|
4844
4851
|
return (r = (t = qt()[e]) === null || t === void 0 ? void 0 : t.messages.length) !== null && r !== void 0 ? r : 0;
|
|
4845
|
-
},
|
|
4852
|
+
}, jl = (e) => {
|
|
4846
4853
|
const t = qt()[e];
|
|
4847
4854
|
return t != null && t.startedAt ? Date.now() - new Date(t.startedAt).getTime() : 0;
|
|
4848
|
-
},
|
|
4855
|
+
}, Ki = nt(void 0), ql = (e) => {
|
|
4849
4856
|
let { children: t, getSessionId: r, setSessionId: n, resetSession: o, clearResettingFlag: i } = e;
|
|
4850
|
-
return H.createElement(
|
|
4857
|
+
return H.createElement(Ki.Provider, { value: { getSessionId: r, setSessionId: n, resetSession: o, clearResettingFlag: i } }, t);
|
|
4851
4858
|
}, Pr = () => {
|
|
4852
|
-
const e = rt(
|
|
4859
|
+
const e = rt(Ki);
|
|
4853
4860
|
if (!e) throw new Error("useSession must be used within a SessionProvider");
|
|
4854
4861
|
return e;
|
|
4855
|
-
},
|
|
4856
|
-
const [e, t] = te(!1), [r, n] = te([]), [o, i] = te(null), [s, A] = te(0), a =
|
|
4862
|
+
}, Gl = () => {
|
|
4863
|
+
const [e, t] = te(!1), [r, n] = te([]), [o, i] = te(null), [s, A] = te(0), a = Ae(null), c = Ae(null), { replaceMessages: l } = Vt(), { toggleTextAreaDisabled: d } = ui(), { setSessionId: u, getSessionId: p } = Pr();
|
|
4857
4864
|
re(() => {
|
|
4858
4865
|
var m, h;
|
|
4859
4866
|
const b = (g) => {
|
|
@@ -4919,15 +4926,10 @@ function ar() {
|
|
|
4919
4926
|
return e;
|
|
4920
4927
|
}, ar.apply(null, arguments);
|
|
4921
4928
|
}
|
|
4922
|
-
const
|
|
4923
|
-
|
|
4924
|
-
const n = ae(t);
|
|
4925
|
-
return n.current = t, H.createElement(Ki.Provider, { value: { trackEvent: (o) => n.current(o) } }, r);
|
|
4926
|
-
}, Yl = () => {
|
|
4927
|
-
const { restartFlow: e } = yn(), { setTextAreaValue: t } = ui(), { messages: r } = Vt(), { getSessionId: n, resetSession: o, clearResettingFlag: i } = Pr(), { trackEvent: s } = rt(Ki) || { trackEvent: () => {
|
|
4928
|
-
} };
|
|
4929
|
+
const Ji = ({ width: e = 24, height: t = 24, color: r = "currentColor", children: n, ...o }) => H.createElement("svg", ar({ xmlns: "http://www.w3.org/2000/svg", width: e, height: t, viewBox: "0 0 24 24", fill: "none", stroke: r, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", focusable: "false" }, o), n), Yl = (e) => H.createElement(Ji, e, H.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" })), Wl = () => {
|
|
4930
|
+
const { restartFlow: e } = yn(), { setTextAreaValue: t } = ui(), { messages: r } = Vt(), { getSessionId: n, resetSession: o, clearResettingFlag: i } = Pr(), { trackEvent: s } = Yi();
|
|
4929
4931
|
return H.createElement("button", { onClick: async () => {
|
|
4930
|
-
const A = n(), a = A ?
|
|
4932
|
+
const A = n(), a = A ? Xi(A) : 0;
|
|
4931
4933
|
s({ type: "chatbot_new_chat", previousMessageCount: a }), o(), await t(""), await e(), setTimeout(() => {
|
|
4932
4934
|
i();
|
|
4933
4935
|
}, 100);
|
|
@@ -4935,7 +4937,7 @@ const Xi = ({ width: e = 24, height: t = 24, color: r = "currentColor", children
|
|
|
4935
4937
|
A.target.style.backgroundColor = "var(--secondaryColor, #0d5f6b)";
|
|
4936
4938
|
}, onMouseLeave: (A) => {
|
|
4937
4939
|
A.target.style.backgroundColor = "var(--primaryColor, #107180)";
|
|
4938
|
-
} }, H.createElement(
|
|
4940
|
+
} }, H.createElement(Yl, { width: 16, height: 16 }), "New Chat");
|
|
4939
4941
|
};
|
|
4940
4942
|
function Ar(e) {
|
|
4941
4943
|
if (typeof e == "string") return e;
|
|
@@ -4948,21 +4950,21 @@ function Ar(e) {
|
|
|
4948
4950
|
}
|
|
4949
4951
|
return "";
|
|
4950
4952
|
}
|
|
4951
|
-
const
|
|
4953
|
+
const Vl = () => {
|
|
4952
4954
|
const { getSessionId: e } = Pr(), t = q((r) => {
|
|
4953
4955
|
var n;
|
|
4954
4956
|
const o = (n = r.data) === null || n === void 0 ? void 0 : n.message;
|
|
4955
4957
|
if (!(o != null && o.id)) return;
|
|
4956
4958
|
const i = o.sender, s = o.type || "string";
|
|
4957
4959
|
let A;
|
|
4958
|
-
if (A = typeof o.content == "string" ? o.content : Ar(o.content),
|
|
4960
|
+
if (A = typeof o.content == "string" ? o.content : Ar(o.content), Ul("TRACKED", { id: o.id, sender: i, content: A.substring(0, 50) + (A.length > 50 ? "..." : "") }), A.includes("rcb-options-container") || !A.trim()) return;
|
|
4959
4961
|
const a = e();
|
|
4960
|
-
|
|
4962
|
+
zl(a, o.id, A, i, s);
|
|
4961
4963
|
}, [e]);
|
|
4962
4964
|
return re(() => (window.addEventListener("rcb-pre-inject-message", t), () => {
|
|
4963
4965
|
window.removeEventListener("rcb-pre-inject-message", t);
|
|
4964
4966
|
}), [t]), null;
|
|
4965
|
-
},
|
|
4967
|
+
}, Xl = () => (re(() => {
|
|
4966
4968
|
const e = (s) => {
|
|
4967
4969
|
if (!["ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight", "Enter", " ", "Home", "End"].includes(s.key)) return;
|
|
4968
4970
|
const A = document.activeElement;
|
|
@@ -5176,43 +5178,43 @@ const Wl = () => {
|
|
|
5176
5178
|
return () => {
|
|
5177
5179
|
document.removeEventListener("keydown", e), o.disconnect(), clearInterval(i);
|
|
5178
5180
|
};
|
|
5179
|
-
}, []), null),
|
|
5181
|
+
}, []), null), Kl = "#1a5b6e", Jl = "#107180", Zl = "Arial, sans-serif", Mo = "Q&A Bot", $l = "/chat-icon.svg", ec = "Type your question here...", tc = "Select an option to continue", nc = !1, rc = "Ask me a question!", Oo = "/login", oc = { general: { showHeader: !0, showFooter: !0 }, tooltip: { mode: "CLOSE" }, chatInput: { disabled: !1, characterLimit: 1e3, 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 } }, Cr = Me((e, t) => {
|
|
5180
5182
|
var r, n;
|
|
5181
|
-
const { apiKey: o, qaEndpoint: i, ratingEndpoint: s, welcomeMessage: A, open: a, onOpenChange: c, isLoggedIn: l, allowAnonAccess: d = !1, actingUser: u, primaryColor: p, secondaryColor: f, botName: m, logo: h, placeholder: b, errorMessage: w, embedded: g, footerText: x, footerLink: k, tooltipText: E, loginUrl: C, customFlow: S, onAnalyticsEvent: T } = e, B =
|
|
5183
|
+
const { apiKey: o, qaEndpoint: i, ratingEndpoint: s, welcomeMessage: A, open: a, onOpenChange: c, isLoggedIn: l, allowAnonAccess: d = !1, actingUser: u, primaryColor: p, secondaryColor: f, botName: m, logo: h, placeholder: b, errorMessage: w, embedded: g, footerText: x, footerLink: k, tooltipText: E, loginUrl: C, customFlow: S, onAnalyticsEvent: T } = e, B = Ae("bot_".concat(Math.random().toString(36).substr(2, 9)));
|
|
5182
5184
|
re(() => {
|
|
5183
|
-
|
|
5185
|
+
Hl();
|
|
5184
5186
|
}, []);
|
|
5185
|
-
const M =
|
|
5187
|
+
const M = Ae(null);
|
|
5186
5188
|
M.current === null && (M.current = Qo(), on("CREATED", M.current));
|
|
5187
|
-
const D =
|
|
5189
|
+
const D = Ae(!1), Q = Ae({ getSessionId: () => M.current, isResetting: () => D.current }), [R, _] = te(l);
|
|
5188
5190
|
re(() => {
|
|
5189
5191
|
_(l);
|
|
5190
5192
|
}, [l]);
|
|
5191
|
-
const U = g !== void 0 ? g :
|
|
5193
|
+
const U = g !== void 0 ? g : nc, O = q((z) => {
|
|
5192
5194
|
var F;
|
|
5193
5195
|
T && T(Object.assign(Object.assign({}, z), { timestamp: Date.now(), sessionId: (F = M.current) !== null && F !== void 0 ? F : void 0, pageUrl: typeof window < "u" ? window.location.href : void 0, isEmbedded: U }));
|
|
5194
5196
|
}, [T, U]), L = Be(() => {
|
|
5195
|
-
const z = Object.assign({},
|
|
5196
|
-
z.general = Object.assign(Object.assign({}, z.general), { primaryColor: p ||
|
|
5197
|
-
const F = R === !1 ? [H.createElement(Io, { key: "login-button", loginUrl: C || Oo, isHeaderButton: !0 })] : [H.createElement(
|
|
5198
|
-
z.header = { title: H.createElement("span", { style: { fontSize: 14, fontWeight: 500 } }, m || Mo), showAvatar: !0, avatar: h ||
|
|
5199
|
-
const
|
|
5200
|
-
return z.footer = { text:
|
|
5201
|
-
}, [p, f, m, h, b, w, U, E, R, C, x, k]), y =
|
|
5197
|
+
const z = Object.assign({}, oc);
|
|
5198
|
+
z.general = Object.assign(Object.assign({}, z.general), { primaryColor: p || Kl, secondaryColor: f || Jl, fontFamily: Zl, embedded: U });
|
|
5199
|
+
const F = R === !1 ? [H.createElement(Io, { key: "login-button", loginUrl: C || Oo, isHeaderButton: !0 })] : [H.createElement(Gl, { key: "history-button" }), H.createElement(Ql, { key: "user-icon" })];
|
|
5200
|
+
z.header = { title: H.createElement("span", { style: { fontSize: 14, fontWeight: 500 } }, m || Mo), showAvatar: !0, avatar: h || $l, buttons: [...F, ge.CLOSE_CHAT_BUTTON] }, z.chatInput = Object.assign(Object.assign({}, z.chatInput), { disabled: !1, enabledPlaceholderText: b || ec, disabledPlaceholderText: w || tc }), z.tooltip = Object.assign(Object.assign({}, z.tooltip), { text: E || rc });
|
|
5201
|
+
const G = x ? k ? H.createElement("a", { href: k, target: "_blank", rel: "noopener noreferrer", key: "footer-link" }, x) : H.createElement("span", { key: "footer-text" }, x) : null;
|
|
5202
|
+
return z.footer = { text: G, buttons: [H.createElement(Wl, { key: "new-chat-button" })] }, z.chatWindow = Object.assign(Object.assign({}, z.chatWindow), { defaultOpen: !!U }), z.event = { rcbPreInjectMessage: !0, rcbPostInjectMessage: !0, rcbUserSubmitText: !0, rcbChangePath: !0, rcbToggleChatWindow: !0 }, z;
|
|
5203
|
+
}, [p, f, m, h, b, w, U, E, R, C, x, k]), y = Ae(null), X = function(z) {
|
|
5202
5204
|
let F = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
5203
5205
|
return Be(() => {
|
|
5204
|
-
const
|
|
5206
|
+
const G = ($, Z) => {
|
|
5205
5207
|
if (z.current) {
|
|
5206
|
-
const
|
|
5207
|
-
if (
|
|
5208
|
+
const le = getComputedStyle(z.current).getPropertyValue($);
|
|
5209
|
+
if (le && le.trim() !== "") return le.trim();
|
|
5208
5210
|
if (z.current.parentElement) {
|
|
5209
|
-
const
|
|
5210
|
-
if (
|
|
5211
|
+
const ae = getComputedStyle(z.current.parentElement).getPropertyValue($);
|
|
5212
|
+
if (ae && ae.trim() !== "") return ae.trim();
|
|
5211
5213
|
}
|
|
5212
5214
|
}
|
|
5213
|
-
return
|
|
5215
|
+
return Z;
|
|
5214
5216
|
};
|
|
5215
|
-
return { primaryColor:
|
|
5217
|
+
return { primaryColor: G("--primaryColor", F.primaryColor), secondaryColor: G("--secondaryColor", F.secondaryColor), fontFamily: G("--fontFamily", F.fontFamily) };
|
|
5216
5218
|
}, [z, F]);
|
|
5217
5219
|
}(y, L.general);
|
|
5218
5220
|
((z, F) => {
|
|
@@ -5220,47 +5222,47 @@ const Wl = () => {
|
|
|
5220
5222
|
F.current && (z ? F.current.classList.add("bot-logged-in") : F.current.classList.remove("bot-logged-in"));
|
|
5221
5223
|
}, [z, F]);
|
|
5222
5224
|
})(R !== !1, y), ((z) => {
|
|
5223
|
-
let { settings: F, themeColors:
|
|
5225
|
+
let { settings: F, themeColors: G } = z;
|
|
5224
5226
|
re(() => {
|
|
5225
|
-
|
|
5226
|
-
let [
|
|
5227
|
-
|
|
5228
|
-
}),
|
|
5229
|
-
}, [
|
|
5230
|
-
var Z
|
|
5231
|
-
!((
|
|
5227
|
+
G && (Object.entries(G).forEach(($) => {
|
|
5228
|
+
let [Z, le] = $;
|
|
5229
|
+
le && document.documentElement.style.setProperty("--".concat(Z), le);
|
|
5230
|
+
}), G.primaryColor && document.documentElement.style.setProperty("--rcb-header-background", G.primaryColor), G.secondaryColor && document.documentElement.style.setProperty("--rcb-header-background-hover", G.secondaryColor));
|
|
5231
|
+
}, [G]), re(() => {
|
|
5232
|
+
var $, Z;
|
|
5233
|
+
!(($ = F.header) === null || $ === void 0) && $.title && typeof F.header.title == "string" && (F.header.title = H.createElement("div", { key: "header-title" }, H.createElement("h1", { className: "sr-only" }, F.header.title), H.createElement("span", { "aria-hidden": "true" }, F.header.title))), F.device = { desktopEnabled: !0, mobileEnabled: !0, applyMobileOptimizations: !1 }, F.chatHistory = { disabled: !0 }, F.chatButton = Object.assign(Object.assign({}, F.chatButton), { icon: (Z = F.header) === null || Z === void 0 ? void 0 : Z.avatar }), F.event = Object.assign(Object.assign({}, F.event), { rcbToggleChatWindow: !0 });
|
|
5232
5234
|
}, [F]);
|
|
5233
5235
|
})({ settings: L, themeColors: X });
|
|
5234
5236
|
const v = Be(() => {
|
|
5235
|
-
const z = ((
|
|
5236
|
-
let { endpoint:
|
|
5237
|
+
const z = ((G) => {
|
|
5238
|
+
let { endpoint: $, ratingEndpoint: Z, apiKey: le, sessionId: ae, isResetting: de = () => !1, isLoggedIn: Ce, allowAnonAccess: Ye = !1, loginUrl: pt = "/login", trackEvent: Se } = G;
|
|
5237
5239
|
if (Ce === !1 && !Ye) return Se == null || Se({ type: "chatbot_login_prompt_shown" }), { qa_loop: { message: "To ask questions, please log in first.", component: H.createElement(Io, { loginUrl: pt }), chatDisabled: !0, path: "qa_loop" } };
|
|
5238
5240
|
let je = null, xt = !1;
|
|
5239
|
-
if (
|
|
5241
|
+
if (!$) throw new Error("Q&A endpoint is required");
|
|
5240
5242
|
return { qa_loop: { message: async (at) => {
|
|
5241
5243
|
const { userInput: We } = at;
|
|
5242
|
-
if (
|
|
5244
|
+
if (de && de() || !We || We.trim() === "") return null;
|
|
5243
5245
|
if (We === "👍 Helpful" || We === "👎 Not helpful") {
|
|
5244
|
-
if (
|
|
5246
|
+
if (Z && je) try {
|
|
5245
5247
|
const we = We === "👍 Helpful", He = { "Content-Type": "application/json" };
|
|
5246
|
-
|
|
5247
|
-
const Ve =
|
|
5248
|
-
Ve && (He["X-Session-ID"] = Ve, He["X-Query-ID"] = je), await fetch(
|
|
5248
|
+
le && (He["X-API-KEY"] = le);
|
|
5249
|
+
const Ve = ae();
|
|
5250
|
+
Ve && (He["X-Session-ID"] = Ve, He["X-Query-ID"] = je), await fetch(Z, { method: "POST", headers: He, credentials: "include", body: JSON.stringify({ sessionId: Ve, queryId: je, rating: we ? 1 : 0 }) }), Se == null || Se({ type: "chatbot_rating_sent", queryId: je, rating: we ? "helpful" : "not_helpful" });
|
|
5249
5251
|
} catch (we) {
|
|
5250
5252
|
mt("Error sending feedback:", we);
|
|
5251
5253
|
}
|
|
5252
5254
|
return "Thanks for the feedback! Feel free to ask another question.";
|
|
5253
5255
|
}
|
|
5254
5256
|
try {
|
|
5255
|
-
const we =
|
|
5257
|
+
const we = Wi();
|
|
5256
5258
|
je = we, Se == null || Se({ type: "chatbot_question_sent", queryId: we, questionLength: We.length });
|
|
5257
5259
|
const He = { "Content-Type": "application/json" };
|
|
5258
|
-
|
|
5259
|
-
const Ve =
|
|
5260
|
+
le && (He["X-API-KEY"] = le);
|
|
5261
|
+
const Ve = ae();
|
|
5260
5262
|
Ve && (He["X-Session-ID"] = Ve, He["X-Query-ID"] = we);
|
|
5261
5263
|
const Xt = { query: We, session_id: Ve, question_id: we };
|
|
5262
5264
|
on("SENT to API", { session_id: Ve, question_id: we });
|
|
5263
|
-
const Kt = Date.now(), Mt = await fetch(
|
|
5265
|
+
const Kt = Date.now(), Mt = await fetch($, { method: "POST", headers: He, credentials: "include", body: JSON.stringify(Xt) }), kn = Date.now() - Kt;
|
|
5264
5266
|
if (!Mt.ok) throw new Error("API returned ".concat(Mt.status));
|
|
5265
5267
|
const ft = await Mt.json(), Ot = ft.response || ft.answer || ft.text || ft.message;
|
|
5266
5268
|
if (!Ot) throw new Error("Invalid response format from API");
|
|
@@ -5279,54 +5281,63 @@ const Wl = () => {
|
|
|
5279
5281
|
return oe && Ie.push("• Confidence: ".concat(oe)), ie && ie.length > 0 && Ie.push("• Tools used: ".concat(ie.join(", "))), me != null && me.agent && Ie.push("• Agent: ".concat(me.agent)), `---
|
|
5280
5282
|
`.concat(Ie.join(`
|
|
5281
5283
|
`));
|
|
5282
|
-
}(ft),
|
|
5284
|
+
}(ft), Y = I ? "".concat(Jt, `
|
|
5283
5285
|
|
|
5284
5286
|
`).concat(I) : Jt;
|
|
5285
|
-
return await at.injectMessage(
|
|
5287
|
+
return await at.injectMessage(Y), Se == null || Se({ type: "chatbot_answer_received", queryId: we, responseTimeMs: kn, success: !0, responseLength: Ot.length, hasMetadata: !!I }), xt = !0, setTimeout(async () => {
|
|
5286
5288
|
await at.injectMessage("Feel free to ask another question.");
|
|
5287
5289
|
}, 100), null;
|
|
5288
5290
|
} catch (we) {
|
|
5289
5291
|
return mt("Error in Q&A flow:", we), Se == null || Se({ type: "chatbot_answer_error", queryId: je ?? void 0, errorType: we instanceof Error ? we.message : "unknown" }), "I apologize, but I'm having trouble processing your question. Please try again later.";
|
|
5290
5292
|
}
|
|
5291
|
-
}, options: (at) =>
|
|
5293
|
+
}, options: (at) => de && de() || at.userInput === "👍 Helpful" || at.userInput === "👎 Not helpful" ? [] : Z && xt ? ["👍 Helpful", "👎 Not helpful"] : [], renderMarkdown: ["BOT"], chatDisabled: !1, path: "qa_loop" } };
|
|
5292
5294
|
})({ endpoint: i, ratingEndpoint: s, apiKey: o, sessionId: Q.current.getSessionId, isResetting: Q.current.isResetting, isLoggedIn: R, allowAnonAccess: d, loginUrl: C || Oo, trackEvent: O });
|
|
5293
5295
|
return Object.assign(Object.assign({ start: { message: A, renderMarkdown: ["BOT"], transition: { duration: 0 }, path: "qa_loop" } }, z), S || {});
|
|
5294
5296
|
}, [o, i, s, A, R, d, C, S, u, O]), J = Be(() => {
|
|
5295
|
-
return [() =>
|
|
5297
|
+
return [() => SA(F), Sl(), () => Il(z)];
|
|
5296
5298
|
var z, F;
|
|
5297
5299
|
}, []);
|
|
5298
5300
|
return re(() => {
|
|
5299
5301
|
const z = () => {
|
|
5300
|
-
const
|
|
5301
|
-
if (!
|
|
5302
|
-
const
|
|
5303
|
-
|
|
5304
|
-
if (
|
|
5305
|
-
|
|
5306
|
-
const
|
|
5307
|
-
if (
|
|
5308
|
-
const
|
|
5309
|
-
if (Ce && typeof Ce == "function") return void Ce(
|
|
5302
|
+
const G = document.querySelector(".rcb-chat-window");
|
|
5303
|
+
if (!G) return;
|
|
5304
|
+
const $ = G.querySelector(".rcb-send-button");
|
|
5305
|
+
$ && ($.hasAttribute("tabindex") || $.setAttribute("tabindex", "0"), $.hasAttribute("data-keyboard-enabled") || ($.setAttribute("data-keyboard-enabled", "true"), $.addEventListener("keydown", (Z) => {
|
|
5306
|
+
if (Z.key === "Enter" || Z.key === " ") {
|
|
5307
|
+
Z.preventDefault();
|
|
5308
|
+
const le = $ && Object.keys($).find((de) => de.startsWith("__reactProps"));
|
|
5309
|
+
if (le) {
|
|
5310
|
+
const de = $[le], Ce = de == null ? void 0 : de.onMouseDown;
|
|
5311
|
+
if (Ce && typeof Ce == "function") return void Ce(Z);
|
|
5310
5312
|
}
|
|
5311
|
-
const
|
|
5312
|
-
|
|
5313
|
+
const ae = new MouseEvent("mousedown", { bubbles: !0, cancelable: !0, view: window });
|
|
5314
|
+
$.dispatchEvent(ae);
|
|
5313
5315
|
}
|
|
5314
5316
|
})));
|
|
5315
5317
|
}, F = setInterval(z, 1e3);
|
|
5316
5318
|
return z(), () => clearInterval(F);
|
|
5317
|
-
}, []),
|
|
5319
|
+
}, []), Xl(), re(() => {
|
|
5320
|
+
const z = y.current;
|
|
5321
|
+
if (!z) return;
|
|
5322
|
+
const F = (G) => {
|
|
5323
|
+
var $, Z, le;
|
|
5324
|
+
const ae = (Z = ($ = G.target).closest) === null || Z === void 0 ? void 0 : Z.call($, "a");
|
|
5325
|
+
ae && ae.closest(".rcb-chat-body-container") && (ae.classList.contains("qa-bot-login-button") || ae.closest(".rcb-options-container") || O({ type: "chatbot_link_clicked", linkUrl: ae.href, linkText: ((le = ae.textContent) === null || le === void 0 ? void 0 : le.trim()) || "" }));
|
|
5326
|
+
};
|
|
5327
|
+
return z.addEventListener("click", F), () => z.removeEventListener("click", F);
|
|
5328
|
+
}, [O]), re(() => {
|
|
5318
5329
|
if (!U) {
|
|
5319
5330
|
const z = (F) => {
|
|
5320
|
-
const
|
|
5321
|
-
c == null || c(
|
|
5322
|
-
const
|
|
5323
|
-
O(
|
|
5331
|
+
const G = F.data.newState;
|
|
5332
|
+
c == null || c(G);
|
|
5333
|
+
const $ = M.current;
|
|
5334
|
+
O(G ? { type: "chatbot_open" } : { type: "chatbot_close", messageCount: $ ? Xi($) : 0, durationMs: $ ? jl($) : 0 });
|
|
5324
5335
|
};
|
|
5325
5336
|
return window.addEventListener("rcb-toggle-chat-window", z), () => {
|
|
5326
5337
|
window.removeEventListener("rcb-toggle-chat-window", z);
|
|
5327
5338
|
};
|
|
5328
5339
|
}
|
|
5329
|
-
}, [U, c, O]), H.createElement("div", { className: "qa-bot ".concat(!((r = L.general) === null || r === void 0) && r.embedded ? "embedded-qa-bot" : ""), ref: y, role: "region", "aria-label": m || Mo }, H.createElement(
|
|
5340
|
+
}, [U, c, O]), H.createElement("div", { className: "qa-bot ".concat(!((r = L.general) === null || r === void 0) && r.embedded ? "embedded-qa-bot" : ""), ref: y, role: "region", "aria-label": m || Mo }, H.createElement(ql, { getSessionId: () => M.current, setSessionId: (z) => {
|
|
5330
5341
|
const F = M.current;
|
|
5331
5342
|
M.current = z, on("RESTORED", "".concat(F == null ? void 0 : F.slice(-12), " -> ").concat(z.slice(-12)));
|
|
5332
5343
|
}, resetSession: () => {
|
|
@@ -5334,11 +5345,11 @@ const Wl = () => {
|
|
|
5334
5345
|
D.current = !0, M.current = Qo(), on("RESET", "".concat(z == null ? void 0 : z.slice(-12), " -> ").concat(M.current.slice(-12)));
|
|
5335
5346
|
}, clearResettingFlag: () => {
|
|
5336
5347
|
D.current = !1;
|
|
5337
|
-
} }, H.createElement(
|
|
5348
|
+
} }, H.createElement(Tl, { trackEvent: O }, H.createElement(li, null, H.createElement("div", null, H.createElement(Vl, null), H.createElement(qi, { ref: t, embedded: ((n = L.general) === null || n === void 0 ? void 0 : n.embedded) || !1, currentOpen: a || !1, enabled: R !== !1, onSetEnabled: (z) => _(!!z && void 0) }), H.createElement(cA, { key: "chatbot-".concat(B.current, "-").concat(R), settings: L, flow: v, plugins: J }), H.createElement("div", { role: "status", "aria-live": "polite", "aria-label": "Bot response updates", className: "sr-only", id: "bot-live-region" }), H.createElement("div", { id: "chat-input-help", className: "sr-only" }, "Type your message and press Enter to send. Use arrow keys to navigate through response options."))))));
|
|
5338
5349
|
});
|
|
5339
5350
|
Cr.displayName = "QABot";
|
|
5340
5351
|
Ho('.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%}@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-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" });
|
|
5341
|
-
const
|
|
5352
|
+
const ic = () => {
|
|
5342
5353
|
const [e, t] = te(!1), r = () => typeof navigator < "u" && navigator.mediaDevices !== void 0 && typeof navigator.mediaDevices.getDisplayMedia == "function";
|
|
5343
5354
|
return { captureScreenshot: async () => {
|
|
5344
5355
|
if (!r()) throw new Error("Screen capture is not available in this environment");
|
|
@@ -5363,20 +5374,20 @@ const oc = () => {
|
|
|
5363
5374
|
throw mt("Error capturing screenshot:", n), t(!1), n;
|
|
5364
5375
|
}
|
|
5365
5376
|
}, isCapturing: e, isScreenCaptureAvailable: r() };
|
|
5366
|
-
},
|
|
5377
|
+
}, ac = (e) => H.createElement(Ji, e, H.createElement("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), H.createElement("polyline", { points: "17 8 12 3 7 8" }), H.createElement("line", { x1: "12", y1: "3", x2: "12", y2: "15" })), Ac = (e) => new Promise((t, r) => {
|
|
5367
5378
|
const n = new FileReader();
|
|
5368
5379
|
n.onload = () => {
|
|
5369
5380
|
if (typeof n.result != "string") return void r(new Error("Failed to read file ".concat(e.name)));
|
|
5370
5381
|
const o = n.result.split(",")[1];
|
|
5371
5382
|
t({ fileName: e.name, contentType: e.type, size: e.size, fileData: o });
|
|
5372
5383
|
}, n.onerror = () => r(new Error("Failed to read file ".concat(e.name))), n.readAsDataURL(e);
|
|
5373
|
-
}),
|
|
5384
|
+
}), sc = (e) => Promise.all(e.map(Ac)), lc = (e) => e < 1024 ? "".concat(e, " B") : e < 1048576 ? "".concat((e / 1024).toFixed(1), " KB") : "".concat((e / 1048576).toFixed(1), " MB"), vn = (e) => {
|
|
5374
5385
|
let { onFileUpload: t, maxSizeMB: r = 10, acceptedTypes: n = "image/*,application/pdf,text/*,.doc,.docx", enableScreenshot: o = !1, className: i } = e;
|
|
5375
|
-
const [s, A] = te(!1), [a, c] = te([]), [l, d] = te(null), u =
|
|
5386
|
+
const [s, A] = te(!1), [a, c] = te([]), [l, d] = te(null), u = Ae(null), { captureScreenshot: p, isCapturing: f, isScreenCaptureAvailable: m } = ic(), h = (E) => {
|
|
5376
5387
|
const C = document.createElement("div");
|
|
5377
5388
|
C.setAttribute("aria-live", "assertive"), C.setAttribute("aria-atomic", "true"), C.className = "sr-only", C.textContent = E, document.body.appendChild(C), setTimeout(() => document.body.removeChild(C), 1e3);
|
|
5378
5389
|
}, b = (E) => {
|
|
5379
|
-
if (!E || E.length === 0) return void
|
|
5390
|
+
if (!E || E.length === 0) return void Fl("FileUploadComponent: No valid files provided to handleFiles");
|
|
5380
5391
|
let C;
|
|
5381
5392
|
try {
|
|
5382
5393
|
C = Array.from(E);
|
|
@@ -5427,7 +5438,7 @@ const oc = () => {
|
|
|
5427
5438
|
} catch (S) {
|
|
5428
5439
|
mt("FileUploadComponent: Error in handleFileSelect:", S), h("Error processing selected files. Please try again.");
|
|
5429
5440
|
}
|
|
5430
|
-
}, multiple: !0, style: { display: "none" }, "aria-label": "Select files to upload", accept: n }), H.createElement("div", { className: "upload-content", onClick: g, style: { cursor: "pointer", flexDirection: "column", alignItems: "center", display: "flex", textAlign: "center", padding: "12px" } }, H.createElement("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "8px" } }, H.createElement("div", { style: { display: "flex", flexDirection: "row", alignItems: "center", gap: "10px" } }, H.createElement(
|
|
5441
|
+
}, multiple: !0, style: { display: "none" }, "aria-label": "Select files to upload", accept: n }), H.createElement("div", { className: "upload-content", onClick: g, style: { cursor: "pointer", flexDirection: "column", alignItems: "center", display: "flex", textAlign: "center", padding: "12px" } }, H.createElement("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "8px" } }, H.createElement("div", { style: { display: "flex", flexDirection: "row", alignItems: "center", gap: "10px" } }, H.createElement(ac, null), H.createElement("p", { style: { margin: 0, fontWeight: "bold" } }, "Upload Files")), H.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)")), a.length > 0 && H.createElement("div", { className: "selected-files", style: { display: "flex", flexWrap: "wrap", gap: "8px", marginTop: "12px", alignItems: "center" } }, H.createElement("span", { style: { fontWeight: 400, color: "#888", fontSize: "13px", marginRight: "8px", alignSelf: "center" } }, "Selected files:"), a.map((E, C) => H.createElement("span", { key: C, 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: (S) => {
|
|
5431
5442
|
S.stopPropagation(), ((T) => {
|
|
5432
5443
|
d(T);
|
|
5433
5444
|
})(E);
|
|
@@ -5436,13 +5447,13 @@ const oc = () => {
|
|
|
5436
5447
|
const B = a.filter((M, D) => D !== T);
|
|
5437
5448
|
c(B), t && t(B);
|
|
5438
5449
|
})(C);
|
|
5439
|
-
}, 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, " (",
|
|
5450
|
+
}, 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, " (", lc(E.size), ")"))))), (() => {
|
|
5440
5451
|
if (!l) return null;
|
|
5441
5452
|
const E = l.type.startsWith("image/"), C = l.type.startsWith("text/"), S = l.type === "application/pdf";
|
|
5442
5453
|
return H.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: x }, H.createElement("div", { style: { backgroundColor: "white", padding: "20px", borderRadius: "8px", maxWidth: "90%", maxHeight: "90%", overflow: "auto", position: "relative" }, onClick: (T) => T.stopPropagation() }, H.createElement("button", { onClick: x, style: { position: "absolute", top: "10px", right: "10px", background: "none", border: "none", fontSize: "24px", cursor: "pointer", color: "#666" } }, "×"), H.createElement("h3", { style: { marginTop: 0, marginBottom: "16px" } }, l.name), E && H.createElement("img", { src: URL.createObjectURL(l), alt: l.name, style: { maxWidth: "100%", maxHeight: "70vh" } }), C && H.createElement("pre", { style: { whiteSpace: "pre-wrap", wordWrap: "break-word", maxHeight: "70vh", overflow: "auto", padding: "16px", backgroundColor: "#f5f5f5", borderRadius: "4px" } }, URL.createObjectURL(l)), S && H.createElement("iframe", { src: URL.createObjectURL(l), style: { width: "100%", height: "70vh", border: "none" }, title: l.name }), !E && !C && !S && H.createElement("div", { style: { padding: "20px", textAlign: "center" } }, "Preview not available for this file type")));
|
|
5443
5454
|
})());
|
|
5444
5455
|
};
|
|
5445
|
-
function
|
|
5456
|
+
function cc(e, t) {
|
|
5446
5457
|
if (!t || Object.keys(t).length === 0) return e;
|
|
5447
5458
|
const r = {};
|
|
5448
5459
|
for (const [n, o] of Object.entries(e)) {
|
|
@@ -5461,7 +5472,7 @@ function wn(e) {
|
|
|
5461
5472
|
await t.injectMessage(r);
|
|
5462
5473
|
};
|
|
5463
5474
|
}
|
|
5464
|
-
const
|
|
5475
|
+
const uc = H.forwardRef((e, t) => {
|
|
5465
5476
|
const [r, n] = H.useState(e.defaultOpen || !1), o = H.useRef(null);
|
|
5466
5477
|
return H.useImperativeHandle(t, () => ({ addMessage: (i) => {
|
|
5467
5478
|
var s;
|
|
@@ -5480,7 +5491,7 @@ const cc = H.forwardRef((e, t) => {
|
|
|
5480
5491
|
n((s) => !s), (i = o.current) === null || i === void 0 || i.toggleChat();
|
|
5481
5492
|
} }), []), H.createElement(Cr, { ref: o, apiKey: e.apiKey, qaEndpoint: e.qaEndpoint, ratingEndpoint: e.ratingEndpoint, welcomeMessage: e.welcomeMessage, primaryColor: e.primaryColor, secondaryColor: e.secondaryColor, botName: e.botName, logo: e.logo, placeholder: e.placeholder, errorMessage: e.errorMessage, embedded: e.embedded, isLoggedIn: e.isLoggedIn, allowAnonAccess: e.allowAnonAccess, open: r, onOpenChange: n, footerText: e.footerText, footerLink: e.footerLink, tooltipText: e.tooltipText, onAnalyticsEvent: e.onAnalyticsEvent });
|
|
5482
5493
|
});
|
|
5483
|
-
|
|
5494
|
+
uc.displayName = "ProgrammaticQABot";
|
|
5484
5495
|
const yt = {
|
|
5485
5496
|
// Q&A API endpoints
|
|
5486
5497
|
QA_ENDPOINT: "https://access-ai-grace1-external.ccs.uky.edu/access/chat/api/",
|
|
@@ -5505,7 +5516,7 @@ const yt = {
|
|
|
5505
5516
|
}, _o = {
|
|
5506
5517
|
SESSION_ID: "access-qa-bot-session-id"
|
|
5507
5518
|
};
|
|
5508
|
-
function
|
|
5519
|
+
function dc({ welcome: e, setTicketForm: t, isLoggedIn: r, trackEvent: n }) {
|
|
5509
5520
|
return {
|
|
5510
5521
|
start: {
|
|
5511
5522
|
message: e,
|
|
@@ -5533,7 +5544,7 @@ function uc({ welcome: e, setTicketForm: t, isLoggedIn: r, trackEvent: n }) {
|
|
|
5533
5544
|
};
|
|
5534
5545
|
}
|
|
5535
5546
|
let sr = null;
|
|
5536
|
-
function
|
|
5547
|
+
function pc(e) {
|
|
5537
5548
|
sr = e;
|
|
5538
5549
|
}
|
|
5539
5550
|
function V() {
|
|
@@ -5558,7 +5569,7 @@ const Ct = {
|
|
|
5558
5569
|
LOGIN_PROVIDER: 31,
|
|
5559
5570
|
SECURITY: 26
|
|
5560
5571
|
};
|
|
5561
|
-
async function
|
|
5572
|
+
async function fc(e, t = "support", r = []) {
|
|
5562
5573
|
const o = {
|
|
5563
5574
|
support: Ct.SUPPORT,
|
|
5564
5575
|
general_help: Ct.SUPPORT,
|
|
@@ -5570,9 +5581,9 @@ async function pc(e, t = "support", r = []) {
|
|
|
5570
5581
|
requestTypeId: o,
|
|
5571
5582
|
requestFieldValues: { ...e }
|
|
5572
5583
|
};
|
|
5573
|
-
return r.length > 0 && (s.attachments = await
|
|
5584
|
+
return r.length > 0 && (s.attachments = await sc(r)), s;
|
|
5574
5585
|
}
|
|
5575
|
-
async function
|
|
5586
|
+
async function hc(e, t) {
|
|
5576
5587
|
var o, i;
|
|
5577
5588
|
const n = `${yt.NETLIFY_BASE_URL}/api/v1/${t}`;
|
|
5578
5589
|
try {
|
|
@@ -5617,8 +5628,8 @@ async function fc(e, t) {
|
|
|
5617
5628
|
}
|
|
5618
5629
|
async function xn(e, t, r = []) {
|
|
5619
5630
|
try {
|
|
5620
|
-
const n = await
|
|
5621
|
-
return await
|
|
5631
|
+
const n = await fc(e, t, r);
|
|
5632
|
+
return await hc(n, t === "security" ? "security-incidents" : "tickets");
|
|
5622
5633
|
} catch (n) {
|
|
5623
5634
|
return {
|
|
5624
5635
|
success: !1,
|
|
@@ -5658,7 +5669,7 @@ function Gt() {
|
|
|
5658
5669
|
function Yt(e) {
|
|
5659
5670
|
return !e || e.trim() === "" || e.trim().toLowerCase() === "skip" ? "" : e.trim();
|
|
5660
5671
|
}
|
|
5661
|
-
function
|
|
5672
|
+
function gc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
5662
5673
|
let o = null;
|
|
5663
5674
|
const i = async (A, a = []) => {
|
|
5664
5675
|
o = await xn(A, "loginAccess", a), o.success ? (t((c) => ({
|
|
@@ -5880,7 +5891,7 @@ Would you like to submit this ticket?`;
|
|
|
5880
5891
|
}
|
|
5881
5892
|
};
|
|
5882
5893
|
}
|
|
5883
|
-
function
|
|
5894
|
+
function mc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
5884
5895
|
let o = null;
|
|
5885
5896
|
const i = async (A, a = []) => {
|
|
5886
5897
|
o = await xn(A, "loginProvider", a), o.success ? (t((c) => ({
|
|
@@ -6122,7 +6133,7 @@ Would you like to submit this ticket?`;
|
|
|
6122
6133
|
}
|
|
6123
6134
|
};
|
|
6124
6135
|
}
|
|
6125
|
-
const
|
|
6136
|
+
const yc = [
|
|
6126
6137
|
" C, C++",
|
|
6127
6138
|
"Abaqus",
|
|
6128
6139
|
"ACCESS",
|
|
@@ -6419,7 +6430,7 @@ const mc = [
|
|
|
6419
6430
|
"XML",
|
|
6420
6431
|
"XSEDE",
|
|
6421
6432
|
"I don't see a relevant keyword"
|
|
6422
|
-
],
|
|
6433
|
+
], bc = [
|
|
6423
6434
|
"ACES",
|
|
6424
6435
|
"Anvil",
|
|
6425
6436
|
"Bridges-2",
|
|
@@ -6440,7 +6451,7 @@ const mc = [
|
|
|
6440
6451
|
"Ranch",
|
|
6441
6452
|
"Stampede3"
|
|
6442
6453
|
];
|
|
6443
|
-
function
|
|
6454
|
+
function vc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
6444
6455
|
let o = null;
|
|
6445
6456
|
const i = async (A, a = []) => {
|
|
6446
6457
|
o = await xn(A, "support", a), o.success ? (t((c) => ({
|
|
@@ -6583,7 +6594,7 @@ function bc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
|
6583
6594
|
// Step 7: Resource selection (conditional)
|
|
6584
6595
|
general_help_resource_details: {
|
|
6585
6596
|
message: "Please select the ACCESS Resource involved with your issue:",
|
|
6586
|
-
options:
|
|
6597
|
+
options: bc,
|
|
6587
6598
|
function: (A) => {
|
|
6588
6599
|
const a = V();
|
|
6589
6600
|
t({ ...a, resourceDetails: A.userInput }), n({
|
|
@@ -6612,7 +6623,7 @@ function bc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
|
6612
6623
|
general_help_keywords: {
|
|
6613
6624
|
message: "Please add up to 5 keywords to help route your ticket.",
|
|
6614
6625
|
checkboxes: {
|
|
6615
|
-
items:
|
|
6626
|
+
items: yc,
|
|
6616
6627
|
min: 0,
|
|
6617
6628
|
max: 5
|
|
6618
6629
|
},
|
|
@@ -6760,13 +6771,13 @@ Would you like to submit this ticket?`;
|
|
|
6760
6771
|
}
|
|
6761
6772
|
};
|
|
6762
6773
|
}
|
|
6763
|
-
const
|
|
6774
|
+
const wc = {
|
|
6764
6775
|
"Logging into ACCESS website": "access_login",
|
|
6765
6776
|
"Logging into a resource": "resource_login",
|
|
6766
6777
|
"Another question": "general_help"
|
|
6767
6778
|
};
|
|
6768
|
-
function
|
|
6769
|
-
const o =
|
|
6779
|
+
function xc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
6780
|
+
const o = gc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }), i = mc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }), s = vc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n });
|
|
6770
6781
|
return {
|
|
6771
6782
|
// Ticket type selection
|
|
6772
6783
|
help_ticket: {
|
|
@@ -6779,7 +6790,7 @@ function wc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
|
6779
6790
|
function: (A) => {
|
|
6780
6791
|
t((a) => ({ ...a, ticketType: A.userInput })), n({
|
|
6781
6792
|
type: "chatbot_ticket_started",
|
|
6782
|
-
ticketType:
|
|
6793
|
+
ticketType: wc[A.userInput] || A.userInput
|
|
6783
6794
|
});
|
|
6784
6795
|
},
|
|
6785
6796
|
path: (A) => A.userInput === "Logging into ACCESS website" ? "access_help" : A.userInput === "Logging into a resource" ? "resource_help" : A.userInput === "Another question" ? "general_help_summary_subject" : "help_ticket"
|
|
@@ -6799,7 +6810,7 @@ function gt(e) {
|
|
|
6799
6810
|
accessId: e.accessId || t.accessId
|
|
6800
6811
|
};
|
|
6801
6812
|
}
|
|
6802
|
-
function
|
|
6813
|
+
function Ec(e) {
|
|
6803
6814
|
return e ? e.success ? e.ticketUrl && e.ticketKey ? `Your security incident report has been submitted successfully.
|
|
6804
6815
|
|
|
6805
6816
|
Ticket: <a href="${e.ticketUrl}" target="_blank">${e.ticketKey}</a>
|
|
@@ -6812,7 +6823,7 @@ Please try again or contact our cybersecurity team directly.` : `We apologize, b
|
|
|
6812
6823
|
|
|
6813
6824
|
Please try again or contact our cybersecurity team directly.`;
|
|
6814
6825
|
}
|
|
6815
|
-
function
|
|
6826
|
+
function kc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
6816
6827
|
let o = null, i = null;
|
|
6817
6828
|
const s = async (a, c = [], l) => {
|
|
6818
6829
|
i = await xn(a, "security", c), i.success ? (t((d) => ({
|
|
@@ -7045,7 +7056,7 @@ Would you like to submit this security incident report?`;
|
|
|
7045
7056
|
},
|
|
7046
7057
|
// Step 11: Success message
|
|
7047
7058
|
security_success: {
|
|
7048
|
-
message: wn(() =>
|
|
7059
|
+
message: wn(() => Ec(i)),
|
|
7049
7060
|
options: ["Back to Main Menu"],
|
|
7050
7061
|
renderHtml: ["BOT"],
|
|
7051
7062
|
path: "start"
|
|
@@ -7055,31 +7066,31 @@ Would you like to submit this security incident report?`;
|
|
|
7055
7066
|
const Ee = [];
|
|
7056
7067
|
for (let e = 0; e < 256; ++e)
|
|
7057
7068
|
Ee.push((e + 256).toString(16).slice(1));
|
|
7058
|
-
function
|
|
7069
|
+
function Pc(e, t = 0) {
|
|
7059
7070
|
return (Ee[e[t + 0]] + Ee[e[t + 1]] + Ee[e[t + 2]] + Ee[e[t + 3]] + "-" + Ee[e[t + 4]] + Ee[e[t + 5]] + "-" + Ee[e[t + 6]] + Ee[e[t + 7]] + "-" + Ee[e[t + 8]] + Ee[e[t + 9]] + "-" + Ee[e[t + 10]] + Ee[e[t + 11]] + Ee[e[t + 12]] + Ee[e[t + 13]] + Ee[e[t + 14]] + Ee[e[t + 15]]).toLowerCase();
|
|
7060
7071
|
}
|
|
7061
7072
|
let qn;
|
|
7062
|
-
const
|
|
7063
|
-
function
|
|
7073
|
+
const Cc = new Uint8Array(16);
|
|
7074
|
+
function Dc() {
|
|
7064
7075
|
if (!qn) {
|
|
7065
7076
|
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
7066
7077
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
7067
7078
|
qn = crypto.getRandomValues.bind(crypto);
|
|
7068
7079
|
}
|
|
7069
|
-
return qn(
|
|
7080
|
+
return qn(Cc);
|
|
7070
7081
|
}
|
|
7071
|
-
const
|
|
7082
|
+
const Bc = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Lo = { randomUUID: Bc };
|
|
7072
7083
|
function lr(e, t, r) {
|
|
7073
7084
|
var o;
|
|
7074
7085
|
if (Lo.randomUUID && !e)
|
|
7075
7086
|
return Lo.randomUUID();
|
|
7076
7087
|
e = e || {};
|
|
7077
|
-
const n = e.random ?? ((o = e.rng) == null ? void 0 : o.call(e)) ??
|
|
7088
|
+
const n = e.random ?? ((o = e.rng) == null ? void 0 : o.call(e)) ?? Dc();
|
|
7078
7089
|
if (n.length < 16)
|
|
7079
7090
|
throw new Error("Random bytes length must be >= 16");
|
|
7080
|
-
return n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128,
|
|
7091
|
+
return n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, Pc(n);
|
|
7081
7092
|
}
|
|
7082
|
-
function
|
|
7093
|
+
function Sc({ sessionId: e, apiKey: t, trackEvent: r }) {
|
|
7083
7094
|
let n = null;
|
|
7084
7095
|
return {
|
|
7085
7096
|
// Entry point with instructions
|
|
@@ -7150,13 +7161,13 @@ function Bc({ sessionId: e, apiKey: t, trackEvent: r }) {
|
|
|
7150
7161
|
}
|
|
7151
7162
|
};
|
|
7152
7163
|
}
|
|
7153
|
-
function
|
|
7164
|
+
function Ic() {
|
|
7154
7165
|
if (typeof window > "u")
|
|
7155
7166
|
return lr();
|
|
7156
7167
|
let e = localStorage.getItem(_o.SESSION_ID);
|
|
7157
7168
|
return e || (e = lr(), localStorage.setItem(_o.SESSION_ID, e)), e;
|
|
7158
7169
|
}
|
|
7159
|
-
const No = "access-qa-bot-shadow-overrides",
|
|
7170
|
+
const No = "access-qa-bot-shadow-overrides", Tc = `
|
|
7160
7171
|
.rcb-checkbox-container {
|
|
7161
7172
|
display: flex !important;
|
|
7162
7173
|
flex-wrap: wrap !important;
|
|
@@ -7294,14 +7305,14 @@ const No = "access-qa-bot-shadow-overrides", Ic = `
|
|
|
7294
7305
|
text-decoration: underline !important;
|
|
7295
7306
|
}
|
|
7296
7307
|
`;
|
|
7297
|
-
function
|
|
7308
|
+
function Qc(e) {
|
|
7298
7309
|
if (!e) return;
|
|
7299
7310
|
const t = e.getRootNode();
|
|
7300
7311
|
if (!(t instanceof ShadowRoot) || t.getElementById(No)) return;
|
|
7301
7312
|
const r = document.createElement("style");
|
|
7302
|
-
r.id = No, r.textContent =
|
|
7313
|
+
r.id = No, r.textContent = Tc, t.appendChild(r);
|
|
7303
7314
|
}
|
|
7304
|
-
const
|
|
7315
|
+
const Mc = Me(
|
|
7305
7316
|
(e, t) => {
|
|
7306
7317
|
const {
|
|
7307
7318
|
apiKey: r = yt.DEFAULT_API_KEY,
|
|
@@ -7326,15 +7337,15 @@ const Qc = Me(
|
|
|
7326
7337
|
ratingEndpoint: b,
|
|
7327
7338
|
// Analytics
|
|
7328
7339
|
onAnalyticsEvent: w
|
|
7329
|
-
} = e, g =
|
|
7340
|
+
} = e, g = Ae(null), x = Ae(null), [k, E] = te({}), C = Be(() => ({
|
|
7330
7341
|
email: i,
|
|
7331
7342
|
name: s,
|
|
7332
7343
|
accessId: A
|
|
7333
7344
|
}), [i, s, A]);
|
|
7334
7345
|
re(() => {
|
|
7335
|
-
|
|
7346
|
+
Qc(x.current);
|
|
7336
7347
|
}, []), re(() => {
|
|
7337
|
-
|
|
7348
|
+
pc({
|
|
7338
7349
|
ticketForm: k,
|
|
7339
7350
|
setTicketForm: E
|
|
7340
7351
|
});
|
|
@@ -7344,7 +7355,7 @@ const Qc = Me(
|
|
|
7344
7355
|
(_ = (R = g.current) == null ? void 0 : R.addMessage) == null || _.call(R, Q);
|
|
7345
7356
|
}
|
|
7346
7357
|
}));
|
|
7347
|
-
const S = m || (n ? st.WELCOME_MESSAGE : st.WELCOME_MESSAGE_LOGGED_OUT), T = Be(() =>
|
|
7358
|
+
const S = m || (n ? st.WELCOME_MESSAGE : st.WELCOME_MESSAGE_LOGGED_OUT), T = Be(() => Ic(), []), B = q((Q) => {
|
|
7348
7359
|
w && w({
|
|
7349
7360
|
...Q,
|
|
7350
7361
|
type: Q.type,
|
|
@@ -7359,22 +7370,22 @@ const Qc = Me(
|
|
|
7359
7370
|
sessionId: typeof Q.sessionId == "string" ? Q.sessionId : T
|
|
7360
7371
|
});
|
|
7361
7372
|
}, [w, T]), D = Be(() => {
|
|
7362
|
-
const Q =
|
|
7373
|
+
const Q = dc({
|
|
7363
7374
|
welcome: S,
|
|
7364
7375
|
setTicketForm: E,
|
|
7365
7376
|
isLoggedIn: n,
|
|
7366
7377
|
trackEvent: B
|
|
7367
|
-
}), R =
|
|
7378
|
+
}), R = xc({
|
|
7368
7379
|
ticketForm: {},
|
|
7369
7380
|
setTicketForm: E,
|
|
7370
7381
|
userInfo: C,
|
|
7371
7382
|
trackEvent: B
|
|
7372
|
-
}), _ =
|
|
7383
|
+
}), _ = kc({
|
|
7373
7384
|
ticketForm: {},
|
|
7374
7385
|
setTicketForm: E,
|
|
7375
7386
|
userInfo: C,
|
|
7376
7387
|
trackEvent: B
|
|
7377
|
-
}), U =
|
|
7388
|
+
}), U = Sc({
|
|
7378
7389
|
sessionId: T,
|
|
7379
7390
|
apiKey: r,
|
|
7380
7391
|
trackEvent: B
|
|
@@ -7384,7 +7395,7 @@ const Qc = Me(
|
|
|
7384
7395
|
..._,
|
|
7385
7396
|
...U
|
|
7386
7397
|
};
|
|
7387
|
-
return
|
|
7398
|
+
return cc(O, { disableOnOptions: !0 });
|
|
7388
7399
|
}, [S, C, T, r, n, B]);
|
|
7389
7400
|
return /* @__PURE__ */ P("div", { ref: x, children: /* @__PURE__ */ P(
|
|
7390
7401
|
Cr,
|
|
@@ -7413,11 +7424,11 @@ const Qc = Me(
|
|
|
7413
7424
|
) });
|
|
7414
7425
|
}
|
|
7415
7426
|
);
|
|
7416
|
-
|
|
7427
|
+
Mc.displayName = "AccessQABot";
|
|
7417
7428
|
export {
|
|
7418
7429
|
yt as API_CONFIG,
|
|
7419
|
-
|
|
7430
|
+
Mc as AccessQABot,
|
|
7420
7431
|
st as BOT_CONFIG,
|
|
7421
|
-
|
|
7432
|
+
Mc as QABot
|
|
7422
7433
|
};
|
|
7423
7434
|
//# sourceMappingURL=access-qa-bot.js.map
|